@ai-agent-forge/agent-forge 0.86.7 → 0.88.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +45 -0
- package/README.md +10 -11
- package/dist/artifacts/artifact-store.d.ts.map +1 -1
- package/dist/artifacts/artifact-store.js +9 -5
- package/dist/artifacts/artifact-store.js.map +1 -1
- package/dist/bundle/.build-manifest.json +430 -413
- package/dist/bundle/chunks/{chunk-A7GUOX2H.js → chunk-6ZKDNZHA.js} +5 -1
- package/dist/bundle/chunks/chunk-HLJEVRWP.js +13 -0
- package/dist/bundle/chunks/chunk-YGHQME4V.js +1456 -0
- package/dist/bundle/chunks/image-resize-worker.js +12 -1
- package/dist/bundle/chunks/{virtual-modules-3IZ4MYSQ.js → virtual-modules-KZ5DRH7Q.js} +1 -1
- package/dist/bundle/cli.js +1 -1
- package/dist/bundle/client.js +1 -1
- package/dist/bundle/index.js +2 -2
- package/dist/bundle/rpc-entry.js +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +231 -185
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/auth-check.d.ts.map +1 -1
- package/dist/cli/auth-check.js +17 -4
- package/dist/cli/auth-check.js.map +1 -1
- package/dist/cli/auth-command.d.ts.map +1 -1
- package/dist/cli/auth-command.js +15 -9
- package/dist/cli/auth-command.js.map +1 -1
- package/dist/cli/credential-print.d.ts.map +1 -1
- package/dist/cli/credential-print.js +14 -7
- package/dist/cli/credential-print.js.map +1 -1
- package/dist/cli/experimental/command.d.ts.map +1 -1
- package/dist/cli/experimental/command.js +6 -5
- package/dist/cli/experimental/command.js.map +1 -1
- package/dist/cli/list-models.d.ts.map +1 -1
- package/dist/cli/list-models.js +9 -8
- package/dist/cli/list-models.js.map +1 -1
- package/dist/cli/plugin-manager-controller.d.ts.map +1 -1
- package/dist/cli/plugin-manager-controller.js +2 -1
- package/dist/cli/plugin-manager-controller.js.map +1 -1
- package/dist/cli/serve.d.ts.map +1 -1
- package/dist/cli/serve.js +8 -5
- package/dist/cli/serve.js.map +1 -1
- package/dist/client/remote-session.d.ts.map +1 -1
- package/dist/client/remote-session.js +16 -9
- package/dist/client/remote-session.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -3
- package/dist/config.js.map +1 -1
- package/dist/core/agent-capability-contract.d.ts +0 -7
- package/dist/core/agent-capability-contract.d.ts.map +1 -1
- package/dist/core/agent-capability-contract.js +72 -68
- package/dist/core/agent-capability-contract.js.map +1 -1
- package/dist/core/agent-session-bash.d.ts.map +1 -1
- package/dist/core/agent-session-bash.js +5 -4
- package/dist/core/agent-session-bash.js.map +1 -1
- package/dist/core/agent-session-compaction.d.ts +6 -10
- package/dist/core/agent-session-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-compaction.js +35 -133
- package/dist/core/agent-session-compaction.js.map +1 -1
- package/dist/core/agent-session-context.d.ts.map +1 -1
- package/dist/core/agent-session-context.js +18 -13
- package/dist/core/agent-session-context.js.map +1 -1
- package/dist/core/agent-session-internal.d.ts +0 -6
- package/dist/core/agent-session-internal.d.ts.map +1 -1
- package/dist/core/agent-session-internal.js.map +1 -1
- package/dist/core/agent-session-model.d.ts.map +1 -1
- package/dist/core/agent-session-model.js +2 -1
- package/dist/core/agent-session-model.js.map +1 -1
- package/dist/core/agent-session-retry.d.ts.map +1 -1
- package/dist/core/agent-session-retry.js +3 -3
- package/dist/core/agent-session-retry.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +7 -6
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts +1 -1
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session-tools.d.ts.map +1 -1
- package/dist/core/agent-session-tools.js +3 -2
- package/dist/core/agent-session-tools.js.map +1 -1
- package/dist/core/agent-session.d.ts +40 -22
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +147 -67
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-guidance.d.ts.map +1 -1
- package/dist/core/auth-guidance.js +11 -5
- package/dist/core/auth-guidance.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +9 -6
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +2 -1
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/embedded-sdk.d.ts.map +1 -1
- package/dist/core/embedded-sdk.js +10 -6
- package/dist/core/embedded-sdk.js.map +1 -1
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js +9 -4
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/extensions/agent-composition.d.ts.map +1 -1
- package/dist/core/extensions/agent-composition.js +26 -19
- package/dist/core/extensions/agent-composition.js.map +1 -1
- package/dist/core/extensions/bootstrap-agent-loop.d.ts.map +1 -1
- package/dist/core/extensions/bootstrap-agent-loop.js +3 -2
- package/dist/core/extensions/bootstrap-agent-loop.js.map +1 -1
- package/dist/core/extensions/bootstrap-compaction-policy.d.ts.map +1 -1
- package/dist/core/extensions/bootstrap-compaction-policy.js +0 -34
- package/dist/core/extensions/bootstrap-compaction-policy.js.map +1 -1
- package/dist/core/extensions/bootstrap-lifecycle.d.ts.map +1 -1
- package/dist/core/extensions/bootstrap-lifecycle.js +20 -17
- package/dist/core/extensions/bootstrap-lifecycle.js.map +1 -1
- package/dist/core/extensions/bootstrap-overflow-policy.d.ts.map +1 -1
- package/dist/core/extensions/bootstrap-overflow-policy.js +2 -1
- package/dist/core/extensions/bootstrap-overflow-policy.js.map +1 -1
- package/dist/core/extensions/bootstrap-retry-policy.d.ts.map +1 -1
- package/dist/core/extensions/bootstrap-retry-policy.js +4 -3
- package/dist/core/extensions/bootstrap-retry-policy.js.map +1 -1
- package/dist/core/extensions/bootstrap-skills.d.ts.map +1 -1
- package/dist/core/extensions/bootstrap-skills.js +7 -6
- package/dist/core/extensions/bootstrap-skills.js.map +1 -1
- package/dist/core/extensions/bootstrap-tools.d.ts.map +1 -1
- package/dist/core/extensions/bootstrap-tools.js +2 -1
- package/dist/core/extensions/bootstrap-tools.js.map +1 -1
- package/dist/core/extensions/capability-plugin.d.ts.map +1 -1
- package/dist/core/extensions/capability-plugin.js +37 -13
- package/dist/core/extensions/capability-plugin.js.map +1 -1
- package/dist/core/extensions/capability-runtime-events.d.ts.map +1 -1
- package/dist/core/extensions/capability-runtime-events.js +17 -13
- package/dist/core/extensions/capability-runtime-events.js.map +1 -1
- package/dist/core/extensions/capability-runtime-guards.d.ts.map +1 -1
- package/dist/core/extensions/capability-runtime-guards.js +16 -15
- package/dist/core/extensions/capability-runtime-guards.js.map +1 -1
- package/dist/core/extensions/capability-runtime-manifest.d.ts.map +1 -1
- package/dist/core/extensions/capability-runtime-manifest.js +52 -30
- package/dist/core/extensions/capability-runtime-manifest.js.map +1 -1
- package/dist/core/extensions/capability-runtime-validation.d.ts.map +1 -1
- package/dist/core/extensions/capability-runtime-validation.js +66 -65
- package/dist/core/extensions/capability-runtime-validation.js.map +1 -1
- package/dist/core/extensions/capability-runtime.d.ts.map +1 -1
- package/dist/core/extensions/capability-runtime.js +147 -127
- package/dist/core/extensions/capability-runtime.js.map +1 -1
- package/dist/core/extensions/compaction-memory-failure-mode.d.ts.map +1 -1
- package/dist/core/extensions/compaction-memory-failure-mode.js +3 -2
- package/dist/core/extensions/compaction-memory-failure-mode.js.map +1 -1
- package/dist/core/extensions/context-strategy-binding.d.ts.map +1 -1
- package/dist/core/extensions/context-strategy-binding.js +7 -4
- package/dist/core/extensions/context-strategy-binding.js.map +1 -1
- package/dist/core/extensions/lifecycle-catalog.d.ts.map +1 -1
- package/dist/core/extensions/lifecycle-catalog.js +290 -279
- package/dist/core/extensions/lifecycle-catalog.js.map +1 -1
- package/dist/core/extensions/lifecycle-delivery-queue.d.ts.map +1 -1
- package/dist/core/extensions/lifecycle-delivery-queue.js +3 -2
- package/dist/core/extensions/lifecycle-delivery-queue.js.map +1 -1
- package/dist/core/extensions/provider-failover.d.ts +7 -3
- package/dist/core/extensions/provider-failover.d.ts.map +1 -1
- package/dist/core/extensions/provider-failover.js +9 -8
- package/dist/core/extensions/provider-failover.js.map +1 -1
- package/dist/core/facade/coding-agent-facade.d.ts +6 -6
- package/dist/core/facade/coding-agent-facade.d.ts.map +1 -1
- package/dist/core/facade/coding-agent-facade.js +2 -3
- package/dist/core/facade/coding-agent-facade.js.map +1 -1
- package/dist/core/http-dispatcher.d.ts.map +1 -1
- package/dist/core/http-dispatcher.js +2 -1
- package/dist/core/http-dispatcher.js.map +1 -1
- package/dist/core/i18n/index.d.ts +14 -0
- package/dist/core/i18n/index.d.ts.map +1 -0
- package/dist/core/i18n/index.js +67 -0
- package/dist/core/i18n/index.js.map +1 -0
- package/dist/core/i18n/locales/en/example.d.ts +7 -0
- package/dist/core/i18n/locales/en/example.d.ts.map +1 -0
- package/dist/core/i18n/locales/en/example.js +7 -0
- package/dist/core/i18n/locales/en/example.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/cli.d.ts +8 -0
- package/dist/core/i18n/locales/zh-cn/cli.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/cli.js +229 -0
- package/dist/core/i18n/locales/zh-cn/cli.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/common.d.ts +6 -0
- package/dist/core/i18n/locales/zh-cn/common.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/common.js +6 -0
- package/dist/core/i18n/locales/zh-cn/common.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-core.d.ts +13 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-core.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-core.js +173 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-core.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-extensions.d.ts +12 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-extensions.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-extensions.js +582 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-extensions.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-final.d.ts +9 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-final.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-final.js +55 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-final.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-plugins.d.ts +11 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-plugins.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-plugins.js +455 -0
- package/dist/core/i18n/locales/zh-cn/core-contract-plugins.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-errors.d.ts +9 -0
- package/dist/core/i18n/locales/zh-cn/core-errors.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/core-errors.js +191 -0
- package/dist/core/i18n/locales/zh-cn/core-errors.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/example.d.ts +7 -0
- package/dist/core/i18n/locales/zh-cn/example.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/example.js +10 -0
- package/dist/core/i18n/locales/zh-cn/example.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/index.d.ts +2 -0
- package/dist/core/i18n/locales/zh-cn/index.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/index.js +41 -0
- package/dist/core/i18n/locales/zh-cn/index.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/interactive-mode.d.ts +10 -0
- package/dist/core/i18n/locales/zh-cn/interactive-mode.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/interactive-mode.js +267 -0
- package/dist/core/i18n/locales/zh-cn/interactive-mode.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/keybindings.d.ts +11 -0
- package/dist/core/i18n/locales/zh-cn/keybindings.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/keybindings.js +67 -0
- package/dist/core/i18n/locales/zh-cn/keybindings.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/slash-commands.d.ts +7 -0
- package/dist/core/i18n/locales/zh-cn/slash-commands.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/slash-commands.js +39 -0
- package/dist/core/i18n/locales/zh-cn/slash-commands.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-builtin.d.ts +10 -0
- package/dist/core/i18n/locales/zh-cn/tui-builtin.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-builtin.js +15 -0
- package/dist/core/i18n/locales/zh-cn/tui-builtin.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-components-misc.d.ts +13 -0
- package/dist/core/i18n/locales/zh-cn/tui-components-misc.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-components-misc.js +102 -0
- package/dist/core/i18n/locales/zh-cn/tui-components-misc.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-components-selectors.d.ts +12 -0
- package/dist/core/i18n/locales/zh-cn/tui-components-selectors.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-components-selectors.js +286 -0
- package/dist/core/i18n/locales/zh-cn/tui-components-selectors.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.d.ts +9 -0
- package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.js +79 -0
- package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.js.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-self-owned.d.ts +8 -0
- package/dist/core/i18n/locales/zh-cn/tui-self-owned.d.ts.map +1 -0
- package/dist/core/i18n/locales/zh-cn/tui-self-owned.js +72 -0
- package/dist/core/i18n/locales/zh-cn/tui-self-owned.js.map +1 -0
- package/dist/core/keybindings.d.ts +15 -0
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +18 -0
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +5 -1
- package/dist/core/logger.js.map +1 -1
- package/dist/core/model-config.d.ts +0 -1
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +9 -1
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +2 -1
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +11 -7
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/package-install-host.d.ts.map +1 -1
- package/dist/core/package-install-host.js +4 -3
- package/dist/core/package-install-host.js.map +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +15 -10
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/package-resource-collection.d.ts.map +1 -1
- package/dist/core/package-resource-collection.js +2 -1
- package/dist/core/package-resource-collection.js.map +1 -1
- package/dist/core/package-source.d.ts.map +1 -1
- package/dist/core/package-source.js +3 -2
- package/dist/core/package-source.js.map +1 -1
- package/dist/core/provider-composer.d.ts +2 -2
- package/dist/core/provider-composer.d.ts.map +1 -1
- package/dist/core/provider-composer.js +29 -21
- package/dist/core/provider-composer.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +6 -2
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/resolve-config-value.d.ts.map +1 -1
- package/dist/core/resolve-config-value.js +15 -5
- package/dist/core/resolve-config-value.js.map +1 -1
- package/dist/core/sdk.d.ts +27 -5
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +80 -55
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-cwd.d.ts.map +1 -1
- package/dist/core/session-cwd.js +5 -2
- package/dist/core/session-cwd.js.map +1 -1
- package/dist/core/session-export.d.ts.map +1 -1
- package/dist/core/session-export.js +2 -1
- package/dist/core/session-export.js.map +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +39 -29
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-storage.d.ts.map +1 -1
- package/dist/core/session-storage.js +3 -3
- package/dist/core/session-storage.js.map +1 -1
- package/dist/core/settings-manager.d.ts +20 -20
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +47 -59
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +53 -32
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +25 -2
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +11 -7
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js +9 -4
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +4 -3
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +3 -2
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js +2 -1
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +6 -2
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +2 -1
- package/dist/core/tools/write.js.map +1 -1
- package/dist/durable/durable-service.d.ts.map +1 -1
- package/dist/durable/durable-service.js +25 -18
- package/dist/durable/durable-service.js.map +1 -1
- package/dist/host/checkpoint-commit.d.ts.map +1 -1
- package/dist/host/checkpoint-commit.js +2 -1
- package/dist/host/checkpoint-commit.js.map +1 -1
- package/dist/host/manual-compaction.d.ts.map +1 -1
- package/dist/host/manual-compaction.js +2 -1
- package/dist/host/manual-compaction.js.map +1 -1
- package/dist/host/output-projection.d.ts +0 -13
- package/dist/host/output-projection.d.ts.map +1 -1
- package/dist/host/output-projection.js +16 -2
- package/dist/host/output-projection.js.map +1 -1
- package/dist/host/summary-retry.d.ts.map +1 -1
- package/dist/host/summary-retry.js +3 -2
- package/dist/host/summary-retry.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +97 -60
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/agents-view.d.ts.map +1 -1
- package/dist/modes/interactive/components/agents-view.js +18 -15
- package/dist/modes/interactive/components/agents-view.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +6 -5
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js +12 -7
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.js +2 -1
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js +6 -5
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.js +9 -5
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +18 -15
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-entry.js +2 -1
- package/dist/modes/interactive/components/custom-entry.js.map +1 -1
- package/dist/modes/interactive/components/dialog-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/dialog-editor.js +5 -4
- package/dist/modes/interactive/components/dialog-editor.js.map +1 -1
- package/dist/modes/interactive/components/dialog-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/dialog-input.js +2 -1
- package/dist/modes/interactive/components/dialog-input.js.map +1 -1
- package/dist/modes/interactive/components/dialog-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/dialog-selector.js +4 -3
- package/dist/modes/interactive/components/dialog-selector.js.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.js +11 -10
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts +0 -2
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +8 -10
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts +1 -0
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js +1 -0
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.js +3 -2
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +12 -11
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/mermaid.d.ts.map +1 -1
- package/dist/modes/interactive/components/mermaid.js +6 -2
- package/dist/modes/interactive/components/mermaid.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +28 -16
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +10 -9
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/plugin-manager-entry.d.ts.map +1 -1
- package/dist/modes/interactive/components/plugin-manager-entry.js +22 -13
- package/dist/modes/interactive/components/plugin-manager-entry.js.map +1 -1
- package/dist/modes/interactive/components/plugin-selection-entry.d.ts.map +1 -1
- package/dist/modes/interactive/components/plugin-selection-entry.js +27 -12
- package/dist/modes/interactive/components/plugin-selection-entry.js.map +1 -1
- package/dist/modes/interactive/components/queue-manager-selector.d.ts +60 -0
- package/dist/modes/interactive/components/queue-manager-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/queue-manager-selector.js +166 -0
- package/dist/modes/interactive/components/queue-manager-selector.js.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +16 -14
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +43 -31
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +4 -6
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +115 -120
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.js +5 -4
- package/dist/modes/interactive/components/settings-submenu.js.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.js +3 -2
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js +4 -3
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
- package/dist/modes/interactive/components/status-indicator.js +14 -5
- package/dist/modes/interactive/components/status-indicator.js.map +1 -1
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/theme-selector.js +2 -1
- package/dist/modes/interactive/components/theme-selector.js.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +11 -4
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +8 -3
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-list.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-list.js +7 -6
- package/dist/modes/interactive/components/tree-list.js.map +1 -1
- package/dist/modes/interactive/components/tree-render.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-render.js +28 -23
- package/dist/modes/interactive/components/tree-render.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector.js +9 -7
- package/dist/modes/interactive/components/tree-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js +5 -4
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/components/workflow-view.d.ts.map +1 -1
- package/dist/modes/interactive/components/workflow-view.js +36 -21
- package/dist/modes/interactive/components/workflow-view.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js +2 -1
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-auth.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-auth.js +71 -40
- package/dist/modes/interactive/interactive-auth.js.map +1 -1
- package/dist/modes/interactive/interactive-commands.d.ts +1 -0
- package/dist/modes/interactive/interactive-commands.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-commands.js +3 -0
- package/dist/modes/interactive/interactive-commands.js.map +1 -1
- package/dist/modes/interactive/interactive-dialog-ui.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-dialog-ui.js +5 -5
- package/dist/modes/interactive/interactive-dialog-ui.js.map +1 -1
- package/dist/modes/interactive/interactive-format.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-format.js +34 -18
- package/dist/modes/interactive/interactive-format.js.map +1 -1
- package/dist/modes/interactive/interactive-helpers.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-helpers.js +7 -2
- package/dist/modes/interactive/interactive-helpers.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +4 -2
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +350 -279
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/interactive-selectors.d.ts +9 -0
- package/dist/modes/interactive/interactive-selectors.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-selectors.js +79 -25
- package/dist/modes/interactive/interactive-selectors.js.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.js +5 -1
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +26 -23
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/json-event.d.ts.map +1 -1
- package/dist/modes/json-event.js +3 -2
- package/dist/modes/json-event.js.map +1 -1
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +3 -2
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +0 -8
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +3 -14
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +0 -9
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +0 -19
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +28 -13
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/plugins/ecosystem/catalog.d.ts.map +1 -1
- package/dist/plugins/ecosystem/catalog.js +3 -2
- package/dist/plugins/ecosystem/catalog.js.map +1 -1
- package/dist/plugins/ecosystem/cli.d.ts.map +1 -1
- package/dist/plugins/ecosystem/cli.js +2 -1
- package/dist/plugins/ecosystem/cli.js.map +1 -1
- package/dist/plugins/ecosystem/default-plugin-market.d.ts.map +1 -1
- package/dist/plugins/ecosystem/default-plugin-market.js +3 -2
- package/dist/plugins/ecosystem/default-plugin-market.js.map +1 -1
- package/dist/plugins/ecosystem/distribution.d.ts.map +1 -1
- package/dist/plugins/ecosystem/distribution.js +2 -1
- package/dist/plugins/ecosystem/distribution.js.map +1 -1
- package/dist/plugins/ecosystem/installer.d.ts.map +1 -1
- package/dist/plugins/ecosystem/installer.js +3 -2
- package/dist/plugins/ecosystem/installer.js.map +1 -1
- package/dist/plugins/ecosystem/node-disk-registry-source.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-disk-registry-source.js +20 -17
- package/dist/plugins/ecosystem/node-disk-registry-source.js.map +1 -1
- package/dist/plugins/ecosystem/node-distribution-host.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-distribution-host.js +35 -34
- package/dist/plugins/ecosystem/node-distribution-host.js.map +1 -1
- package/dist/plugins/ecosystem/node-npm-registry-source.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-npm-registry-source.js +35 -34
- package/dist/plugins/ecosystem/node-npm-registry-source.js.map +1 -1
- package/dist/plugins/ecosystem/node-package-install-host.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-package-install-host.js +9 -8
- package/dist/plugins/ecosystem/node-package-install-host.js.map +1 -1
- package/dist/plugins/ecosystem/node-package-install-persistence.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-package-install-persistence.js +4 -3
- package/dist/plugins/ecosystem/node-package-install-persistence.js.map +1 -1
- package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts +9 -2
- package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-plugin-bootstrap.js +44 -5
- package/dist/plugins/ecosystem/node-plugin-bootstrap.js.map +1 -1
- package/dist/plugins/ecosystem/node-plugin-trust-root.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-plugin-trust-root.js +10 -9
- package/dist/plugins/ecosystem/node-plugin-trust-root.js.map +1 -1
- package/dist/plugins/ecosystem/node-registry-source.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-registry-source.js +31 -30
- package/dist/plugins/ecosystem/node-registry-source.js.map +1 -1
- package/dist/plugins/ecosystem/node-release-package-source.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-release-package-source.js +30 -29
- package/dist/plugins/ecosystem/node-release-package-source.js.map +1 -1
- package/dist/plugins/ecosystem/node-tar-writer.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-tar-writer.js +11 -10
- package/dist/plugins/ecosystem/node-tar-writer.js.map +1 -1
- package/dist/plugins/ecosystem/node-url-package-source.d.ts.map +1 -1
- package/dist/plugins/ecosystem/node-url-package-source.js +21 -20
- package/dist/plugins/ecosystem/node-url-package-source.js.map +1 -1
- package/dist/plugins/ecosystem/plugin-acquisition.d.ts.map +1 -1
- package/dist/plugins/ecosystem/plugin-acquisition.js +3 -2
- package/dist/plugins/ecosystem/plugin-acquisition.js.map +1 -1
- package/dist/plugins/ecosystem/plugin-bootstrap.d.ts +9 -1
- package/dist/plugins/ecosystem/plugin-bootstrap.d.ts.map +1 -1
- package/dist/plugins/ecosystem/plugin-bootstrap.js +5 -0
- package/dist/plugins/ecosystem/plugin-bootstrap.js.map +1 -1
- package/dist/plugins/ecosystem/registry-cli-adapter.d.ts.map +1 -1
- package/dist/plugins/ecosystem/registry-cli-adapter.js +2 -1
- package/dist/plugins/ecosystem/registry-cli-adapter.js.map +1 -1
- package/dist/plugins/ecosystem/registry.d.ts.map +1 -1
- package/dist/plugins/ecosystem/registry.js +35 -32
- package/dist/plugins/ecosystem/registry.js.map +1 -1
- package/dist/plugins/ecosystem/resolver.d.ts.map +1 -1
- package/dist/plugins/ecosystem/resolver.js +3 -2
- package/dist/plugins/ecosystem/resolver.js.map +1 -1
- package/dist/plugins/ecosystem/selection-store.d.ts.map +1 -1
- package/dist/plugins/ecosystem/selection-store.js +11 -10
- package/dist/plugins/ecosystem/selection-store.js.map +1 -1
- package/dist/plugins/ecosystem/selection.d.ts.map +1 -1
- package/dist/plugins/ecosystem/selection.js +8 -7
- package/dist/plugins/ecosystem/selection.js.map +1 -1
- package/dist/plugins/ecosystem/state.d.ts.map +1 -1
- package/dist/plugins/ecosystem/state.js +24 -23
- package/dist/plugins/ecosystem/state.js.map +1 -1
- package/dist/plugins/ecosystem/updates.d.ts.map +1 -1
- package/dist/plugins/ecosystem/updates.js +5 -4
- package/dist/plugins/ecosystem/updates.js.map +1 -1
- package/dist/plugins/mcp-http.d.ts +0 -17
- package/dist/plugins/mcp-http.d.ts.map +1 -1
- package/dist/plugins/mcp-http.js +30 -7
- package/dist/plugins/mcp-http.js.map +1 -1
- package/dist/plugins/plugin-supervisor.d.ts.map +1 -1
- package/dist/plugins/plugin-supervisor.js +19 -1
- package/dist/plugins/plugin-supervisor.js.map +1 -1
- package/dist/profile/first-roles.d.ts.map +1 -1
- package/dist/profile/first-roles.js +10 -1
- package/dist/profile/first-roles.js.map +1 -1
- package/dist/profile/goal-plugin.d.ts.map +1 -1
- package/dist/profile/goal-plugin.js +24 -5
- package/dist/profile/goal-plugin.js.map +1 -1
- package/dist/profile/identity.d.ts.map +1 -1
- package/dist/profile/identity.js +7 -6
- package/dist/profile/identity.js.map +1 -1
- package/dist/profile/lock.d.ts.map +1 -1
- package/dist/profile/lock.js +15 -1
- package/dist/profile/lock.js.map +1 -1
- package/dist/profile/plan-plugin.d.ts.map +1 -1
- package/dist/profile/plan-plugin.js +26 -13
- package/dist/profile/plan-plugin.js.map +1 -1
- package/dist/profile/plugin-profiles.d.ts.map +1 -1
- package/dist/profile/plugin-profiles.js +2 -1
- package/dist/profile/plugin-profiles.js.map +1 -1
- package/dist/profile/policy-manifest.d.ts.map +1 -1
- package/dist/profile/policy-manifest.js +5 -4
- package/dist/profile/policy-manifest.js.map +1 -1
- package/dist/profile/profile-registry.d.ts +0 -12
- package/dist/profile/profile-registry.d.ts.map +1 -1
- package/dist/profile/profile-registry.js +14 -1
- package/dist/profile/profile-registry.js.map +1 -1
- package/dist/profile/role-catalog.d.ts +0 -1
- package/dist/profile/role-catalog.d.ts.map +1 -1
- package/dist/profile/role-catalog.js +17 -15
- package/dist/profile/role-catalog.js.map +1 -1
- package/dist/profile/role-orchestrator.d.ts.map +1 -1
- package/dist/profile/role-orchestrator.js +8 -7
- package/dist/profile/role-orchestrator.js.map +1 -1
- package/dist/profile/role-runner.d.ts.map +1 -1
- package/dist/profile/role-runner.js +3 -2
- package/dist/profile/role-runner.js.map +1 -1
- package/dist/profile/root-facade.d.ts.map +1 -1
- package/dist/profile/root-facade.js +2 -1
- package/dist/profile/root-facade.js.map +1 -1
- package/dist/profile/skill-discovery-wiring.d.ts.map +1 -1
- package/dist/profile/skill-discovery-wiring.js +7 -2
- package/dist/profile/skill-discovery-wiring.js.map +1 -1
- package/dist/profile/state-store.d.ts.map +1 -1
- package/dist/profile/state-store.js +13 -9
- package/dist/profile/state-store.js.map +1 -1
- package/dist/profile/todo-plugin.d.ts.map +1 -1
- package/dist/profile/todo-plugin.js +9 -4
- package/dist/profile/todo-plugin.js.map +1 -1
- package/dist/profiles/builtin-suites.d.ts +13 -6
- package/dist/profiles/builtin-suites.d.ts.map +1 -1
- package/dist/profiles/builtin-suites.js +15 -6
- package/dist/profiles/builtin-suites.js.map +1 -1
- package/dist/profiles/suite-loader.d.ts +25 -1
- package/dist/profiles/suite-loader.d.ts.map +1 -1
- package/dist/profiles/suite-loader.js +34 -9
- package/dist/profiles/suite-loader.js.map +1 -1
- package/dist/remote/server-entry.d.ts.map +1 -1
- package/dist/remote/server-entry.js +3 -2
- package/dist/remote/server-entry.js.map +1 -1
- package/dist/remote/session-source.d.ts.map +1 -1
- package/dist/remote/session-source.js +8 -4
- package/dist/remote/session-source.js.map +1 -1
- package/dist/share/session-share.d.ts.map +1 -1
- package/dist/share/session-share.js +14 -2
- package/dist/share/session-share.js.map +1 -1
- package/dist/testing/plugin-testkit.d.ts.map +1 -1
- package/dist/testing/plugin-testkit.js +4 -3
- package/dist/testing/plugin-testkit.js.map +1 -1
- package/dist/testing/runtime-delivery-queue.d.ts.map +1 -1
- package/dist/testing/runtime-delivery-queue.js +2 -1
- package/dist/testing/runtime-delivery-queue.js.map +1 -1
- package/dist/testing/session-plugin-testkit.d.ts.map +1 -1
- package/dist/testing/session-plugin-testkit.js +10 -7
- package/dist/testing/session-plugin-testkit.js.map +1 -1
- package/dist/utils/ansi.d.ts.map +1 -1
- package/dist/utils/ansi.js +2 -1
- package/dist/utils/ansi.js.map +1 -1
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +7 -6
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/image-resize-worker.d.ts.map +1 -1
- package/dist/utils/image-resize-worker.js +3 -2
- package/dist/utils/image-resize-worker.js.map +1 -1
- package/dist/utils/photon.d.ts +2 -2
- package/dist/utils/photon.d.ts.map +1 -1
- package/dist/utils/photon.js +2 -2
- package/dist/utils/photon.js.map +1 -1
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +9 -8
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +23 -13
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +5 -1
- package/dist/utils/version-check.js.map +1 -1
- package/docs/compaction.md +1 -3
- package/docs/docs.json +4 -0
- package/docs/index.md +1 -0
- package/docs/keybindings.md +3 -0
- package/docs/mcp.md +103 -0
- package/docs/models.md +14 -22
- package/docs/providers.md +0 -1
- package/docs/quickstart.md +1 -1
- package/docs/rpc.md +1 -26
- package/docs/sdk.md +4 -6
- package/docs/settings.md +10 -12
- package/docs/skills.md +1 -9
- package/docs/terminal-setup.md +2 -3
- package/docs/usage.md +7 -6
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/extensions/with-deps/plugin.json +1 -1
- package/examples/sdk/10-settings.ts +2 -4
- package/examples/sdk/12-full-control.ts +1 -2
- package/package.json +1 -3
- package/dist/bundle/chunks/chunk-EALJ5DDX.js +0 -1452
- package/dist/core/extensions/microcompact.d.ts +0 -80
- package/dist/core/extensions/microcompact.d.ts.map +0 -1
- package/dist/core/extensions/microcompact.js +0 -134
- package/dist/core/extensions/microcompact.js.map +0 -1
- package/dist/server/create-harness.d.ts +0 -26
- package/dist/server/create-harness.d.ts.map +0 -1
- package/dist/server/create-harness.js +0 -106
- package/dist/server/create-harness.js.map +0 -1
|
@@ -138,4 +138,8 @@ ${captureLines}`:capture.stack}module.exports.fetch=function(init,options=void 0
|
|
|
138
138
|
`,input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[_0,input2],()=>If2(If2(Const(";",input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>If2(If2(Const(`
|
|
139
139
|
`,input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>[]))),([_0,input2])=>[_0,input2]),ModuleDeclarationList_0=(input,result=[])=>If2(If2(ModuleDeclarationDelimiter(input),([_0,input2])=>If2(ModuleDeclaration(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>ModuleDeclarationList_0(input2,[...result,_0]),()=>[result,input]),ModuleDeclarationList=input=>If2(If2(If2(ModuleDeclaration(input),([_0,input2])=>If2(ModuleDeclarationList_0(input2),([_1,input3])=>If2(If2(ModuleDeclarationDelimiter(input3),([_02,input4])=>[[_02],input4],()=>[[],input3]),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[ModuleDeclarationListMapping(_0),input2]),ModuleDeclaration=input=>If2(If2(ExportKeyword(input),([_0,input2])=>If2(If2(InterfaceDeclarationGeneric(input2),([_02,input3])=>[_02,input3],()=>If2(InterfaceDeclaration(input2),([_02,input3])=>[_02,input3],()=>If2(TypeAliasDeclarationGeneric(input2),([_02,input3])=>[_02,input3],()=>If2(TypeAliasDeclaration(input2),([_02,input3])=>[_02,input3],()=>[])))),([_1,input3])=>If2(OptionalSemiColon(input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[ModuleDeclarationMapping(_0),input2]),Module=input=>If2(If2(ModuleDeclaration(input),([_0,input2])=>If2(ModuleDeclarationList(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[ModuleMapping(_0),input2]),Script=input=>If2(If2(Module(input),([_0,input2])=>[_0,input2],()=>If2(GenericType(input),([_0,input2])=>[_0,input2],()=>If2(Type(input),([_0,input2])=>[_0,input2],()=>[]))),([_0,input2])=>[_0,input2]);function ParseTemplateIntoTypes(template){let parsed=TemplateLiteralTypes(`\`${template}\``);return guard_exports.IsEqual(parsed.length,2)?parsed[0]:Unreachable()}function JoinString(input){return input.join("|")}function UnwrapTemplateLiteralPattern(pattern){return pattern.slice(1,pattern.length-1)}function EncodeLiteral(value,right,pattern){return EncodeTypes(right,`${pattern}${value}`)}function EncodeBigInt(right,pattern){return EncodeTypes(right,`${pattern}${BigIntPattern}`)}function EncodeInteger(right,pattern){return EncodeTypes(right,`${pattern}${IntegerPattern}`)}function EncodeNumber(right,pattern){return EncodeTypes(right,`${pattern}${NumberPattern}`)}function EncodeBoolean(right,pattern){return EncodeType(Union([Literal("false"),Literal("true")]),right,pattern)}function EncodeString(right,pattern){return EncodeTypes(right,`${pattern}${StringPattern}`)}function EncodeTemplateLiteral(templatePattern,right,pattern){return EncodeTypes(right,`${pattern}${UnwrapTemplateLiteralPattern(templatePattern)}`)}function EncodeTemplateLiteralDeferred(types,right,pattern){let templateLiteral=TemplateLiteralAction(types,{});return EncodeType(templateLiteral,right,pattern)}function EncodeEnum(values,right,pattern){let evaluated=EvaluateEnum(values);return EncodeType(evaluated,right,pattern)}function EncodeUnion(types,right,pattern,result=[]){return guard_exports.ShiftLeft(types,(head,tail)=>EncodeUnion(tail,right,pattern,[...result,EncodeType(head,[],"")]),()=>EncodeTypes(right,`${pattern}(${JoinString(result)})`))}function EncodeType(type,right,pattern){return IsEnum(type)?EncodeEnum(type.enum,right,pattern):IsInteger3(type)?EncodeInteger(right,pattern):IsLiteral(type)?EncodeLiteral(type.const,right,pattern):IsBigInt3(type)?EncodeBigInt(right,pattern):IsBoolean4(type)?EncodeBoolean(right,pattern):IsNumber4(type)?EncodeNumber(right,pattern):IsString4(type)?EncodeString(right,pattern):IsTemplateLiteral(type)?EncodeTemplateLiteral(type.pattern,right,pattern):IsTemplateLiteralDeferred(type)?EncodeTemplateLiteralDeferred(type.parameters[0],right,pattern):IsUnion(type)?EncodeUnion(type.anyOf,right,pattern):NeverPattern}function EncodeTypes(types,pattern){return guard_exports.ShiftLeft(types,(left,right)=>EncodeType(left,right,pattern),()=>pattern)}function EncodePattern(types){return`^${EncodeTypes(types,"")}$`}function TemplateLiteralEncode(types){let pattern=EncodePattern(types);return TemplateLiteralCreate(pattern)}function TemplateLiteralAction(types,options){return CanInstantiate(types)?memory_exports.Update(TemplateLiteralEncode(types),{},options):TemplateLiteralDeferred(types,options)}function TemplateLiteralInstantiate(context,state2,types,options){let instantiatedTypes=InstantiateTypes(context,state2,types);return TemplateLiteralAction(instantiatedTypes,options)}function TemplateLiteralDeferred(types,options={}){return Deferred("TemplateLiteral",[types],options)}function IsTemplateLiteralDeferred(value){return IsSchema(value)&&guard_exports.HasPropertyKey(value,"action")&&guard_exports.IsEqual(value.action,"TemplateLiteral")}function TemplateLiteralFromTypes(types){return TemplateLiteralAction(types,{})}function TemplateLiteralFromString(template){let types=ParseTemplateIntoTypes(template);return TemplateLiteralFromTypes(types)}function TemplateLiteral2(input,options={}){let type=guard_exports.IsString(input)?TemplateLiteralFromString(input):TemplateLiteralFromTypes(input);return memory_exports.Update(type,{},options)}function IsTemplateLiteral(value){return IsKind(value,"TemplateLiteral")}var result_exports={};__export(result_exports,{ExtendsFalse:()=>ExtendsFalse,ExtendsTrue:()=>ExtendsTrue,ExtendsUnion:()=>ExtendsUnion,IsExtendsFalse:()=>IsExtendsFalse,IsExtendsTrue:()=>IsExtendsTrue,IsExtendsTrueLike:()=>IsExtendsTrueLike,IsExtendsUnion:()=>IsExtendsUnion,Match:()=>Match3});function ExtendsUnion(inferred){return memory_exports.Create({"~kind":"ExtendsUnion"},{inferred})}function IsExtendsUnion(value){return guard_exports.IsObject(value)&&guard_exports.HasPropertyKey(value,"~kind")&&guard_exports.HasPropertyKey(value,"inferred")&&guard_exports.IsEqual(value["~kind"],"ExtendsUnion")&&guard_exports.IsObject(value.inferred)}function ExtendsTrue(inferred){return memory_exports.Create({"~kind":"ExtendsTrue"},{inferred})}function IsExtendsTrue(value){return guard_exports.IsObject(value)&&guard_exports.HasPropertyKey(value,"~kind")&&guard_exports.HasPropertyKey(value,"inferred")&&guard_exports.IsEqual(value["~kind"],"ExtendsTrue")&&guard_exports.IsObject(value.inferred)}function ExtendsFalse(){return memory_exports.Create({"~kind":"ExtendsFalse"},{})}function IsExtendsFalse(value){return guard_exports.IsObject(value)&&guard_exports.HasPropertyKey(value,"~kind")&&guard_exports.IsEqual(value["~kind"],"ExtendsFalse")}function IsExtendsTrueLike(value){return IsExtendsUnion(value)||IsExtendsTrue(value)}function Match3(result,true_,false_){return IsExtendsTrueLike(result)?true_(result.inferred):false_()}function ExtendsRightInfer(inferred,name,left,right){return Match3(ExtendsLeft(inferred,left,right),checkInferred=>ExtendsTrue(memory_exports.Assign(memory_exports.Assign(inferred,checkInferred),{[name]:left})),()=>ExtendsFalse())}function ExtendsRightAny(inferred,_left){return ExtendsTrue(inferred)}function ExtendsRightDependent(inferred,left,if_,then_,else_){return Match3(ExtendsLeft(inferred,left,if_),inferred2=>Match3(ExtendsLeft(inferred2,left,then_),inferred3=>ExtendsTrue(inferred3),()=>ExtendsFalse()),()=>Match3(ExtendsLeft(inferred,left,else_),inferred2=>ExtendsTrue(inferred2),()=>ExtendsFalse()))}function ExtendsRightEnum(inferred,left,right){let evaluated=EvaluateEnum(right);return ExtendsLeft(inferred,left,evaluated)}function ExtendsRightIntersect(inferred,left,right){return guard_exports.ShiftLeft(right,(head,tail)=>Match3(ExtendsLeft(inferred,left,head),inferred2=>ExtendsRightIntersect(inferred2,left,tail),()=>ExtendsFalse()),()=>ExtendsTrue(inferred))}function ExtendsRightTemplateLiteral(inferred,left,right){let evaluated=EvaluateTemplateLiteral(right);return ExtendsLeft(inferred,left,evaluated)}function ExtendsRightUnion(inferred,left,right){return guard_exports.ShiftLeft(right,(head,tail)=>Match3(ExtendsLeft(inferred,left,head),inferred2=>ExtendsTrue(inferred2),()=>ExtendsRightUnion(inferred,left,tail)),()=>ExtendsFalse())}function ExtendsRight(inferred,left,right){return IsAny(right)?ExtendsRightAny(inferred,left):IsDependent(right)?ExtendsRightDependent(inferred,left,right.if,right.then,right.else):IsEnum(right)?ExtendsRightEnum(inferred,left,right.enum):IsInfer(right)?ExtendsRightInfer(inferred,right.name,left,right.extends):IsIntersect(right)?ExtendsRightIntersect(inferred,left,right.allOf):IsTemplateLiteral(right)?ExtendsRightTemplateLiteral(inferred,left,right.pattern):IsUnion(right)?ExtendsRightUnion(inferred,left,right.anyOf):IsUnknown(right)?ExtendsTrue(inferred):ExtendsFalse()}function ExtendsAny(inferred,left,right){return IsInfer(right)?ExtendsRight(inferred,left,right):IsAny(right)?ExtendsTrue(inferred):IsUnknown(right)?ExtendsTrue(inferred):ExtendsUnion(inferred)}function ExtendsImmutable(left,right){let isImmutableLeft=IsImmutable(left),isImmutableRight=IsImmutable(right);return isImmutableLeft&&isImmutableRight||!isImmutableLeft&&isImmutableRight?!0:!(isImmutableLeft&&!isImmutableRight)}function ExtendsArray(inferred,arrayLeft,left,right){return IsArray3(right)?ExtendsImmutable(arrayLeft,right)?ExtendsLeft(inferred,left,right.items):ExtendsFalse():ExtendsRight(inferred,arrayLeft,right)}function ExtendsBigInt(inferred,left,right){return IsBigInt3(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ExtendsBoolean(inferred,left,right){return IsBoolean4(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ParameterCompare(inferred,left,leftRest,right,rightRest){let checkLeft=IsInfer(right)?left:right,checkRight=IsInfer(right)?right:left,isLeftOptional=IsOptional(left),isRightOptional=IsOptional(right);return!isLeftOptional&&isRightOptional?ExtendsFalse():Match3(ExtendsLeft(inferred,checkLeft,checkRight),inferred2=>ExtendsParameters(inferred2,leftRest,rightRest),()=>ExtendsFalse())}function ParameterRight(inferred,left,leftRest,rightRest){return guard_exports.ShiftLeft(rightRest,(head,tail)=>ParameterCompare(inferred,left,leftRest,head,tail),()=>IsOptional(left)?ExtendsTrue(inferred):ExtendsFalse())}function ParametersLeft(inferred,left,rightRest){return guard_exports.ShiftLeft(left,(head,tail)=>ParameterRight(inferred,head,tail,rightRest),()=>ExtendsTrue(inferred))}function ExtendsParameters(inferred,left,right){return ParametersLeft(inferred,left,right)}function ExtendsReturnType(inferred,left,right){return IsVoid(right)?ExtendsTrue(inferred):ExtendsLeft(inferred,left,right)}function ExtendsConstructor(inferred,parameters,returnType,right){return IsAny(right)?ExtendsTrue(inferred):IsUnknown(right)?ExtendsTrue(inferred):IsConstructor3(right)?Match3(ExtendsParameters(inferred,parameters,right.parameters),inferred2=>ExtendsReturnType(inferred2,returnType,right.instanceType),()=>ExtendsFalse()):ExtendsFalse()}function ExtendsDependent(inferred,if_,then_,else_,right){return Match3(ExtendsLeft(inferred,if_,right),()=>ExtendsLeft(inferred,then_,right),()=>ExtendsLeft(inferred,else_,right))}function ExtendsEnum(inferred,left,right){let evaluated=EvaluateEnum(left);return ExtendsLeft(inferred,evaluated,right)}function ExtendsFunction(inferred,parameters,returnType,right){return IsAny(right)?ExtendsTrue(inferred):IsUnknown(right)?ExtendsTrue(inferred):IsFunction3(right)?Match3(ExtendsParameters(inferred,parameters,right.parameters),inferred2=>ExtendsReturnType(inferred2,returnType,right.returnType),()=>ExtendsFalse()):ExtendsFalse()}function ExtendsInteger(inferred,left,right){return IsInteger3(right)?ExtendsTrue(inferred):IsNumber4(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ExtendsIntersect(inferred,left,right){let evaluated=EvaluateIntersect(left);return ExtendsLeft(inferred,evaluated,right)}function ExtendsLiteralValue(inferred,left,right){return left===right?ExtendsTrue(inferred):ExtendsFalse()}function ExtendsLiteralBigInt(inferred,left,right){return IsLiteral(right)?ExtendsLiteralValue(inferred,left,right.const):IsBigInt3(right)?ExtendsTrue(inferred):ExtendsRight(inferred,Literal(left),right)}function ExtendsLiteralBoolean(inferred,left,right){return IsLiteral(right)?ExtendsLiteralValue(inferred,left,right.const):IsBoolean4(right)?ExtendsTrue(inferred):ExtendsRight(inferred,Literal(left),right)}function ExtendsLiteralNumber(inferred,left,right){return IsLiteral(right)?ExtendsLiteralValue(inferred,left,right.const):IsNumber4(right)?ExtendsTrue(inferred):ExtendsRight(inferred,Literal(left),right)}function ExtendsLiteralString(inferred,left,right){return IsLiteral(right)?ExtendsLiteralValue(inferred,left,right.const):IsString4(right)?ExtendsTrue(inferred):ExtendsRight(inferred,Literal(left),right)}function ExtendsLiteral(inferred,left,right){return guard_exports.IsBigInt(left.const)?ExtendsLiteralBigInt(inferred,left.const,right):guard_exports.IsBoolean(left.const)?ExtendsLiteralBoolean(inferred,left.const,right):guard_exports.IsNumber(left.const)?ExtendsLiteralNumber(inferred,left.const,right):guard_exports.IsString(left.const)?ExtendsLiteralString(inferred,left.const,right):Unreachable()}function ExtendsNever(inferred,left,right){return IsInfer(right)?ExtendsRight(inferred,left,right):ExtendsTrue(inferred)}function ExtendsNull(inferred,left,right){return IsNull3(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ExtendsNumber(inferred,left,right){return IsNumber4(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ExtendsPropertyOptional(inferred,left,right){return IsOptional(left)?IsOptional(right)?ExtendsTrue(inferred):ExtendsFalse():ExtendsTrue(inferred)}function ExtendsProperty(inferred,left,right){return IsInfer(right)&&IsNever(right.extends)?ExtendsFalse():Match3(ExtendsLeft(inferred,left,right),inferred2=>ExtendsPropertyOptional(inferred2,left,right),()=>ExtendsFalse())}function ExtractInferredProperties(keys,properties){return keys.reduce((result,key)=>key in properties?IsExtendsTrueLike(properties[key])?{...result,...properties[key].inferred}:Unreachable():Unreachable(),{})}function ExtendsPropertiesComparer(inferred,left,right){let properties={};for(let rightKey of guard_exports.Keys(right))properties[rightKey]=rightKey in left?ExtendsProperty({},left[rightKey],right[rightKey]):IsOptional(right[rightKey])?IsInfer(right[rightKey])?ExtendsTrue(memory_exports.Assign(inferred,{[right[rightKey].name]:right[rightKey].extends})):ExtendsTrue(inferred):ExtendsFalse();let checked=guard_exports.Values(properties).every(result=>IsExtendsTrueLike(result)),extracted=checked?ExtractInferredProperties(guard_exports.Keys(properties),properties):{};return checked?ExtendsTrue(extracted):ExtendsFalse()}function ExtendsProperties(inferred,left,right){let compared=ExtendsPropertiesComparer(inferred,left,right);return IsExtendsTrueLike(compared)?ExtendsTrue(memory_exports.Assign(inferred,compared.inferred)):ExtendsFalse()}function ExtendsObjectToObject(inferred,left,right){return ExtendsProperties(inferred,left,right)}function RecordMergeInferred(left,right){return guard_exports.Keys(right).reduce((result,key)=>({...result,[key]:guard_exports.HasPropertyKey(left,key)?IsUnion(result[key])?Union([...result[key].anyOf,right[key]]):Union([left[key],right[key]]):right[key]}),left)}function ExtendsRecordComparer(properties,keys,type,result){return guard_exports.ShiftLeft(keys,(left,right)=>Match3(ExtendsLeft({},properties[left],type),inferred=>ExtendsRecordComparer(properties,right,type,RecordMergeInferred(result,inferred)),()=>ExtendsFalse()),()=>ExtendsTrue(result))}function ExtendsObjectToRecord(inferred,properties,_pattern,value){let keys=guard_exports.Keys(properties);return ExtendsRecordComparer(properties,keys,value,inferred)}function ExtendsObject(inferred,left,right){return IsRecord(right)?ExtendsObjectToRecord(inferred,left,RecordPattern(right),RecordValue(right)):IsObject3(right)?ExtendsObjectToObject(inferred,left,right.properties):ExtendsRight(inferred,_Object_(left),right)}function FromObject3(inferred,properties){return guard_exports.IsEqual(guard_exports.Keys(properties).length,0)?ExtendsTrue(inferred):ExtendsFalse()}function FromRecord(inferred,_leftKey,leftValue,_rightKey,rightValue){return ExtendsLeft(inferred,leftValue,rightValue)}function ExtendsRecord(inferred,leftPattern,leftValue,right){return IsRecord(right)?FromRecord(inferred,RecordPatternToType(leftPattern),leftValue,RecordPatternToType(RecordPattern(right)),RecordValue(right)):IsObject3(right)?FromObject3(inferred,right.properties):IsAny(right)?ExtendsTrue(inferred):IsUnknown(right)?ExtendsTrue(inferred):ExtendsFalse()}function ExtendsString(inferred,left,right){return IsString4(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ExtendsSymbol(inferred,left,right){return IsSymbol3(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ExtendsTemplateLiteral(inferred,left,right){let evaluated=EvaluateTemplateLiteral(left);return ExtendsLeft(inferred,evaluated,right)}function Inferrable(name,type){return memory_exports.Create({"~kind":"Inferrable"},{name,type},{})}function IsInferable(value){return guard_exports.IsObject(value)&&guard_exports.HasPropertyKey(value,"~kind")&&guard_exports.HasPropertyKey(value,"name")&&guard_exports.HasPropertyKey(value,"type")&&guard_exports.IsEqual(value["~kind"],"Inferrable")&&guard_exports.IsString(value.name)&&guard_exports.IsObject(value.type)}function TryRestInferable(type){return IsRest(type)?IsInfer(type.items)?IsArray3(type.items.extends)?Inferrable(type.items.name,type.items.extends.items):IsUnknown(type.items.extends)?Inferrable(type.items.name,type.items.extends):void 0:Unreachable():void 0}function TryInferable(type){return IsInfer(type)?Inferrable(type.name,type.extends):void 0}function TryInferResults(rest,right,result=[]){return guard_exports.ShiftLeft(rest,(head,tail)=>Match3(ExtendsLeft({},head,right),()=>TryInferResults(tail,right,[...result,head]),()=>{}),()=>result)}function InferTupleResult(inferred,name,left,right){let results=TryInferResults(left,right);return guard_exports.IsArray(results)?ExtendsTrue(memory_exports.Assign(inferred,{[name]:Tuple(results)})):ExtendsFalse()}function InferUnionResult(inferred,name,left,right){let results=TryInferResults(left,right);return guard_exports.IsArray(results)?ExtendsTrue(memory_exports.Assign(inferred,{[name]:Union(results)})):ExtendsFalse()}function Reverse(types){return[...types].reverse()}function ApplyReverse(types,reversed){return reversed?Reverse(types):types}function Reversed(types){let first=types.length>0?types[0]:void 0,inferrable=IsSchema(first)?TryRestInferable(first):void 0;return IsSchema(inferrable)}function ElementsCompare(inferred,reversed,left,leftRest,right,rightRest){return Match3(ExtendsLeft(inferred,left,right),checkInferred=>Elements(checkInferred,reversed,leftRest,rightRest),()=>ExtendsFalse())}function ElementsLeft(inferred,reversed,leftRest,right,rightRest){let inferable=TryRestInferable(right);return IsInferable(inferable)?InferTupleResult(inferred,inferable.name,ApplyReverse(leftRest,reversed),inferable.type):guard_exports.ShiftLeft(leftRest,(head,tail)=>ElementsCompare(inferred,reversed,head,tail,right,rightRest),()=>ExtendsFalse())}function ElementsRight(inferred,reversed,leftRest,rightRest){return guard_exports.ShiftLeft(rightRest,(head,tail)=>ElementsLeft(inferred,reversed,leftRest,head,tail),()=>guard_exports.IsEqual(leftRest.length,0)?ExtendsTrue(inferred):ExtendsFalse())}function Elements(inferred,reversed,leftRest,rightRest){return ElementsRight(inferred,reversed,leftRest,rightRest)}function ExtendsTupleToTuple(inferred,left,right){let instantiatedRight=InstantiateElements(inferred,State([],[]),right),reversed=Reversed(instantiatedRight);return Elements(inferred,reversed,ApplyReverse(left,reversed),ApplyReverse(instantiatedRight,reversed))}function ExtendsTupleToArray(inferred,left,right){let inferrable=TryInferable(right);return IsInferable(inferrable)?InferUnionResult(inferred,inferrable.name,left,inferrable.type):guard_exports.ShiftLeft(left,(head,tail)=>Match3(ExtendsLeft(inferred,head,right),inferred2=>ExtendsTupleToArray(inferred2,tail,right),()=>ExtendsFalse()),()=>ExtendsTrue(inferred))}function ExtendsTuple(inferred,left,right){let instantiatedLeft=InstantiateElements(inferred,State([],[]),left);return IsTuple(right)?ExtendsTupleToTuple(inferred,instantiatedLeft,right.items):IsArray3(right)?ExtendsTupleToArray(inferred,instantiatedLeft,right.items):ExtendsRight(inferred,Tuple(instantiatedLeft),right)}function ExtendsUndefined(inferred,left,right){return IsVoid(right)?ExtendsTrue(inferred):IsUndefined3(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ExtendsUnionSome(inferred,type,unionTypes){return guard_exports.ShiftLeft(unionTypes,(head,tail)=>Match3(ExtendsLeft(inferred,type,head),inferred2=>ExtendsTrue(inferred2),()=>ExtendsUnionSome(inferred,type,tail)),()=>ExtendsFalse())}function ExtendsUnionLeft(inferred,left,right){return guard_exports.ShiftLeft(left,(head,tail)=>Match3(ExtendsUnionSome(inferred,head,right),inferred2=>ExtendsUnionLeft(inferred2,tail,right),()=>ExtendsFalse()),()=>ExtendsTrue(inferred))}function ExtendsUnion2(inferred,left,right){let inferrable=TryInferable(right);return IsInferable(inferrable)?InferUnionResult(inferred,inferrable.name,left,inferrable.type):IsUnion(right)?ExtendsUnionLeft(inferred,left,right.anyOf):ExtendsUnionLeft(inferred,left,[right])}function ExtendsUnknown(inferred,left,right){return IsInfer(right)?ExtendsRight(inferred,left,right):IsAny(right)?ExtendsTrue(inferred):IsUnknown(right)?ExtendsTrue(inferred):ExtendsFalse()}function ExtendsVoid(inferred,left,right){return IsVoid(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ExtendsLeft(inferred,left,right){return IsAny(left)?ExtendsAny(inferred,left,right):IsArray3(left)?ExtendsArray(inferred,left,left.items,right):IsBigInt3(left)?ExtendsBigInt(inferred,left,right):IsBoolean4(left)?ExtendsBoolean(inferred,left,right):IsConstructor3(left)?ExtendsConstructor(inferred,left.parameters,left.instanceType,right):IsDependent(left)?ExtendsDependent(inferred,left.if,left.then,left.else,right):IsEnum(left)?ExtendsEnum(inferred,left.enum,right):IsFunction3(left)?ExtendsFunction(inferred,left.parameters,left.returnType,right):IsInteger3(left)?ExtendsInteger(inferred,left,right):IsIntersect(left)?ExtendsIntersect(inferred,left.allOf,right):IsLiteral(left)?ExtendsLiteral(inferred,left,right):IsNever(left)?ExtendsNever(inferred,left,right):IsNull3(left)?ExtendsNull(inferred,left,right):IsNumber4(left)?ExtendsNumber(inferred,left,right):IsObject3(left)?ExtendsObject(inferred,left.properties,right):IsRecord(left)?ExtendsRecord(inferred,RecordPattern(left),RecordValue(left),right):IsString4(left)?ExtendsString(inferred,left,right):IsSymbol3(left)?ExtendsSymbol(inferred,left,right):IsTemplateLiteral(left)?ExtendsTemplateLiteral(inferred,left.pattern,right):IsTuple(left)?ExtendsTuple(inferred,left.items,right):IsUndefined3(left)?ExtendsUndefined(inferred,left,right):IsUnion(left)?ExtendsUnion2(inferred,left.anyOf,right):IsUnknown(left)?ExtendsUnknown(inferred,left,right):IsVoid(left)?ExtendsVoid(inferred,left,right):ExtendsFalse()}function InterfaceOperation(heritage,properties){return EvaluateIntersect([...heritage,_Object_(properties)])}function InterfaceAction(heritage,properties,options){return CanInstantiate(heritage)?memory_exports.Update(InterfaceOperation(heritage,properties),{},options):InterfaceDeferred(heritage,properties,options)}function InterfaceInstantiate(context,state2,heritage,properties,options){let instantiatedHeritage=InstantiateTypes(context,state2,heritage),instantiatedProperties=InstantiateProperties(context,state2,properties);return InterfaceAction(instantiatedHeritage,instantiatedProperties,options)}function InterfaceDeferred(heritage,properties,options={}){return Deferred("Interface",[heritage,properties],options)}function IsInterfaceDeferred(value){return IsSchema(value)&&guard_exports.HasPropertyKey(value,"action")&&guard_exports.IsEqual(value.action,"Interface")}function Interface(heritage,properties,options={}){return InterfaceAction(heritage,properties,options)}function FromRef(stack,context,ref){return stack.includes(ref)?!0:FromType3([...stack,ref],context,context[ref])}function FromProperties(stack,context,properties){let types=PropertyValues(properties);return FromTypes2(stack,context,types)}function FromTypes2(stack,context,types){return guard_exports.ShiftLeft(types,(left,right)=>FromType3(stack,context,left)?!0:FromTypes2(stack,context,right),()=>!1)}function FromType3(stack,context,type){return IsRef(type)?FromRef(stack,context,type.$ref):IsArray3(type)?FromType3(stack,context,type.items):IsConstructor3(type)?FromTypes2(stack,context,[...type.parameters,type.instanceType]):IsFunction3(type)?FromTypes2(stack,context,[...type.parameters,type.returnType]):IsInterfaceDeferred(type)?FromProperties(stack,context,type.parameters[1]):IsIntersect(type)?FromTypes2(stack,context,type.allOf):IsObject3(type)?FromProperties(stack,context,type.properties):IsUnion(type)?FromTypes2(stack,context,type.anyOf):IsTuple(type)?FromTypes2(stack,context,type.items):IsRecord(type)?FromType3(stack,context,RecordValue(type)):!1}function CyclicCheck(stack,context,type){return FromType3(stack,context,type)}function ResolveCandidateKeys(context,keys){return keys.reduce((result,left)=>CyclicCheck([left],context,context[left])?[...result,left]:result,[])}function CyclicCandidates(context){let keys=PropertyKeys(context);return ResolveCandidateKeys(context,keys)}function FromRef2(context,ref,result){return result.includes(ref)?result:ref in context?FromType4(context,context[ref],[...result,ref]):Unreachable()}function FromProperties2(context,properties,result){let types=PropertyValues(properties);return FromTypes3(context,types,result)}function FromTypes3(context,types,result){return types.reduce((result2,left)=>FromType4(context,left,result2),result)}function FromType4(context,type,result){return IsRef(type)?FromRef2(context,type.$ref,result):IsArray3(type)?FromType4(context,type.items,result):IsConstructor3(type)?FromTypes3(context,[...type.parameters,type.instanceType],result):IsFunction3(type)?FromTypes3(context,[...type.parameters,type.returnType],result):IsInterfaceDeferred(type)?FromProperties2(context,type.parameters[1],result):IsIntersect(type)?FromTypes3(context,type.allOf,result):IsObject3(type)?FromProperties2(context,type.properties,result):IsUnion(type)?FromTypes3(context,type.anyOf,result):IsTuple(type)?FromTypes3(context,type.items,result):IsRecord(type)?FromType4(context,RecordValue(type),result):result}function CyclicDependencies(context,key,type){return FromType4(context,type,[key])}function FromRef3(_ref){return Any()}function FromProperties3(properties){return guard_exports.Keys(properties).reduce((result,key)=>({...result,[key]:FromType5(properties[key])}),{})}function FromTypes4(types){return types.reduce((result,left)=>[...result,FromType5(left)],[])}function FromType5(type){return IsRef(type)?FromRef3(type.$ref):IsArray3(type)?_Array_(FromType5(type.items),ArrayOptions(type)):IsConstructor3(type)?Constructor(FromTypes4(type.parameters),FromType5(type.instanceType)):IsFunction3(type)?_Function_(FromTypes4(type.parameters),FromType5(type.returnType)):IsIntersect(type)?Intersect(FromTypes4(type.allOf)):IsObject3(type)?_Object_(FromProperties3(type.properties)):IsRecord(type)?Record(RecordKey(type),FromType5(RecordValue(type))):IsUnion(type)?Union(FromTypes4(type.anyOf)):IsTuple(type)?Tuple(FromTypes4(type.items)):type}function CyclicAnyFromParameters(defs,ref){return ref in defs?FromType5(defs[ref]):Unknown()}function CyclicExtends(type){return CyclicAnyFromParameters(type.$defs,type.$ref)}function CyclicInterface(context,heritage,properties){let instantiatedHeritage=InstantiateTypes(context,State([],[]),heritage),instantiatedProperties=InstantiateProperties({},State([],[]),properties);return EvaluateIntersect([...instantiatedHeritage,_Object_(instantiatedProperties)])}function CyclicDefinitions(context,dependencies){return guard_exports.Keys(context).filter(key=>dependencies.includes(key)).reduce((result,key)=>{let type=context[key],instantiatedType=IsInterfaceDeferred(type)?CyclicInterface(context,type.parameters[0],type.parameters[1]):type;return{...result,[key]:instantiatedType}},{})}function InstantiateCyclic(context,ref,type){let dependencies=CyclicDependencies(context,ref,type),definitions=CyclicDefinitions(context,dependencies);return Cyclic(definitions,ref)}function Resolve(defs,ref){return ref in defs?IsRef(defs[ref])?Resolve(defs,defs[ref].$ref):defs[ref]:Never()}function CyclicTarget(defs,ref){return Resolve(defs,ref)}function Canonical(type){return IsCyclic(type)?CyclicExtends(type):IsUnsafe(type)?Unknown():type}function Extends(inferred,left,right){let canonicalLeft=Canonical(left),canonicalRight=Canonical(right);return ExtendsLeft(inferred,canonicalLeft,canonicalRight)}var CompareResultEqual=0,CompareResultDisjoint=1,CompareResultLeftInside=2,CompareResultRightInside=3;function Compare(left,right){let extendsCheck=[Extends({},left,right),Extends({},right,left)];return result_exports.IsExtendsTrueLike(extendsCheck[0])&&result_exports.IsExtendsTrueLike(extendsCheck[1])?CompareResultEqual:result_exports.IsExtendsTrueLike(extendsCheck[0])&&result_exports.IsExtendsFalse(extendsCheck[1])?CompareResultLeftInside:result_exports.IsExtendsFalse(extendsCheck[0])&&result_exports.IsExtendsTrueLike(extendsCheck[1])?CompareResultRightInside:CompareResultDisjoint}function BroadenFilter(type,types,result=[],all=types){return guard_exports.ShiftLeft(types,(left,right)=>{let compare=Compare(type,left);return guard_exports.IsEqual(compare,CompareResultLeftInside)||guard_exports.IsEqual(compare,CompareResultEqual)?all:guard_exports.IsEqual(compare,CompareResultDisjoint)?BroadenFilter(type,right,[...result,left],all):BroadenFilter(type,right,result,all)},()=>[...result,type])}function BroadenType(type,types,result){let evaluated=EvaluateType(type);return IsAny(evaluated)?[evaluated]:IsUnknown(evaluated)?[evaluated]:IsNever(evaluated)?BroadenTypes(types,result):IsObject3(evaluated)?BroadenTypes(types,[...result,evaluated]):BroadenTypes(types,BroadenFilter(evaluated,result))}function BroadenTypes(types,result=[]){return guard_exports.ShiftLeft(types,(left,right)=>BroadenType(left,right,result),()=>result)}function Broaden(types){let broadened=BroadenTypes(types);return Flatten(broadened)}function EvaluateAction(type,options){return memory_exports.Update(EvaluateType(type),{},options)}function EvaluateInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return EvaluateAction(instantiatedType,options)}function CollectDistributionNames(expression,result=[]){return IsDeferred(expression)&&guard_exports.IsEqual(expression.action,"Conditional")?IsRef(expression.parameters[0])?CollectDistributionNames(expression.parameters[2],CollectDistributionNames(expression.parameters[3],[...result,expression.parameters[0].$ref])):CollectDistributionNames(expression.parameters[2],CollectDistributionNames(expression.parameters[3],result)):IsDeferred(expression)&&guard_exports.IsEqual(expression.action,"Mapped")&&IsDeferred(expression.parameters[1])&&guard_exports.IsEqual(expression.parameters[1].action,"KeyOf")&&IsRef(expression.parameters[1].parameters[0])?[...result,expression.parameters[1].parameters[0].$ref]:result}function BuildDistributionArray(parameters,names2){return parameters.reduce((result,left)=>[...result,names2.includes(left.name)],[])}function ZipDistributionArray(arguments_,distributionArray,result=[]){return guard_exports.ShiftLeft(arguments_,(argumentLeft,argumentRight)=>guard_exports.ShiftLeft(distributionArray,(booleanLeft,booleanRight)=>ZipDistributionArray(argumentRight,booleanRight,[...result,[booleanLeft,argumentLeft]]),()=>result),()=>result)}function CanonicalArgument(type){return IsTemplateLiteral(type)?EvaluateTemplateLiteral(type.pattern):IsEnum(type)?EvaluateEnum(type.enum):type}function Expand(type){let canonicalArgument=CanonicalArgument(type);return IsUnion(canonicalArgument)?[...canonicalArgument.anyOf]:[canonicalArgument]}function Append(current,type){return current.reduce((result,left)=>[...result,[...left,type]],[])}function Cross(current,variants){return variants.reduce((result,left)=>[...result,...Append(current,left)],[])}function Distribute2(zipped){return zipped.reduce((result,left)=>guard_exports.IsEqual(left[0],!0)?Cross(result,Expand(left[1])):Cross(result,[left[1]]),[[]])}function DistributeArguments(parameters,arguments_,expression){let distributionNames=CollectDistributionNames(expression),distributionArray=BuildDistributionArray(parameters,distributionNames),zippedArguments=ZipDistributionArray(arguments_,distributionArray);return IsDeferred(expression)&&guard_exports.IsEqual(expression.action,"Conditional")||IsDeferred(expression)&&guard_exports.IsEqual(expression.action,"Mapped")?Distribute2(zippedArguments):[arguments_]}function FromNotResolvable(){return["(not-resolvable)",Never()]}function FromNotGeneric(){return["(not-generic)",Never()]}function FromGeneric(name,parameters,expression){return[name,Generic(parameters,expression)]}function FromRef4(context,ref,arguments_){return ref in context?FromType6(context,ref,context[ref],arguments_):FromNotResolvable()}function FromType6(context,name,target,arguments_){return IsGeneric(target)?FromGeneric(name,target.parameters,target.expression):IsRef(target)?FromRef4(context,target.$ref,arguments_):FromNotGeneric()}function ResolveTarget(context,target,arguments_){return FromType6(context,"(anonymous)",target,arguments_)}function AssertArgumentExtends(name,type,extends_){if(IsInfer(type)||IsCall(type)||result_exports.IsExtendsTrueLike(Extends({},type,extends_)))return;let cause={parameter:name,expect:extends_,actual:type};throw new Error(`Argument for parameter ${name} does not satisfy constraint`,{cause})}function BindArgument(context,state2,name,extends_,type){let instantiatedArgument=InstantiateType(context,state2,type);return AssertArgumentExtends(name,instantiatedArgument,extends_),memory_exports.Assign(context,{[name]:instantiatedArgument})}function BindArguments(context,state2,parameterLeft,parameterRight,arguments_){let instantiatedExtends=InstantiateType(context,state2,parameterLeft.extends),instantiatedEquals=InstantiateType(context,state2,parameterLeft.equals);return guard_exports.ShiftLeft(arguments_,(left,right)=>BindParameters(BindArgument(context,state2,parameterLeft.name,instantiatedExtends,left),state2,parameterRight,right),()=>BindParameters(BindArgument(context,state2,parameterLeft.name,instantiatedExtends,instantiatedEquals),state2,parameterRight,[]))}function BindParameters(context,state2,parameters,arguments_){return guard_exports.ShiftLeft(parameters,(left,right)=>BindArguments(context,state2,left,right,arguments_),()=>context)}function ResolveArgumentsContext(context,state2,parameters,arguments_){return BindParameters(context,state2,parameters,arguments_)}var instantiationDepth=0,instantiationCount=0;function InstantiationAssert(){if(!guard_exports.IsLessThan(instantiationCount,settings_exports.Get().maxInstantiationCount))throw Error("Type instantiation is excessively deep and possibly infinite")}function InstantiationIncrement(){InstantiationAssert(),instantiationCount++,instantiationDepth++}function InstantiationDecrement(){instantiationDepth--,guard_exports.IsEqual(instantiationDepth,0)&&(instantiationCount=0)}function Peek(state2){return guard_exports.IsGreaterThan(state2.callstack.length,0)?state2.callstack[state2.callstack.length-1]:""}function IsTailCall(state2,name){return guard_exports.IsEqual(Peek(state2),name)}function CallDispatch(context,state2,target,parameters,expression,arguments_){InstantiationIncrement();try{let argumentsContext=ResolveArgumentsContext(context,state2,parameters,arguments_),returnType=InstantiateType(argumentsContext,State([...state2.callstack,target.$ref],state2.visited),expression);return InstantiateType(argumentsContext,State([],[]),returnType)}finally{InstantiationDecrement()}}function CallDistributed(context,state2,target,parameters,expression,distributedArguments){return distributedArguments.reduce((result,arguments_)=>{let returnType=CallDispatch(context,state2,target,parameters,expression,arguments_);return[...result,returnType]},[])}function CallImmediate(context,state2,target,parameters,expression,arguments_){let distributedArguments=DistributeArguments(parameters,arguments_,expression),returnTypes=CallDistributed(context,state2,target,parameters,expression,distributedArguments);return guard_exports.IsEqual(returnTypes.length,1)?returnTypes[0]:EvaluateUnion(returnTypes)}function CallInstantiate(context,state2,target,arguments_){let instantiatedArguments=InstantiateTypes(context,state2,arguments_),resolved=ResolveTarget(context,target,arguments_),name=resolved[0],type=resolved[1];return IsGeneric(type)?IsTailCall(state2,name)?CallConstruct(Ref(name),instantiatedArguments):CallImmediate(context,state2,Ref(name),type.parameters,type.expression,instantiatedArguments):CallConstruct(target,instantiatedArguments)}function CallConstruct(target,arguments_){return memory_exports.Create({"~kind":"Call"},{type:"call",target,arguments:arguments_},{})}function Call2(target,arguments_){return CallInstantiate({},State([],[]),target,arguments_)}function IsCall(value){return IsKind(value,"Call")}function RemoveImmutableOperation(type){return memory_exports.Discard(type,["~immutable"])}function RemoveImmutableAction(type,options){return memory_exports.Update(RemoveImmutableOperation(type),{},options)}function RemoveImmutableInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return RemoveImmutableAction(instantiatedType,options)}function ApplyMapping(mapping,value){return mapping(value)}function FromLiteral3(mapping,value){return guard_exports.IsString(value)?Literal(ApplyMapping(mapping,value)):Literal(value)}function FromTemplateLiteral(mapping,pattern){let evaluated=EvaluateTemplateLiteral(pattern);return FromType7(mapping,evaluated)}function FromUnion2(mapping,types){let result=types.map(type=>FromType7(mapping,type));return Union(result)}function FromType7(mapping,type){return IsLiteral(type)?FromLiteral3(mapping,type.const):IsTemplateLiteral(type)?FromTemplateLiteral(mapping,type.pattern):IsUnion(type)?FromUnion2(mapping,type.anyOf):type}function CapitalizeDeferred(type,options={}){return Deferred("Capitalize",[type],options)}function Capitalize(type,options={}){return CapitalizeAction(type,options)}function LowercaseDeferred(type,options={}){return Deferred("Lowercase",[type],options)}function Lowercase(type,options={}){return LowercaseAction(type,options)}function UncapitalizeDeferred(type,options={}){return Deferred("Uncapitalize",[type],options)}function Uncapitalize(type,options={}){return UncapitalizeAction(type,options)}function UppercaseDeferred(type,options={}){return Deferred("Uppercase",[type],options)}function Uppercase(type,options={}){return UppercaseAction(type,options)}var CapitalizeMapping=input=>input[0].toUpperCase()+input.slice(1),LowercaseMapping=input=>input.toLowerCase(),UncapitalizeMapping=input=>input[0].toLowerCase()+input.slice(1),UppercaseMapping=input=>input.toUpperCase();function CapitalizeAction(type,options){return CanInstantiate([type])?memory_exports.Update(FromType7(CapitalizeMapping,type),{},options):CapitalizeDeferred(type,options)}function LowercaseAction(type,options){return CanInstantiate([type])?memory_exports.Update(FromType7(LowercaseMapping,type),{},options):LowercaseDeferred(type,options)}function UncapitalizeAction(type,options){return CanInstantiate([type])?memory_exports.Update(FromType7(UncapitalizeMapping,type),{},options):UncapitalizeDeferred(type,options)}function UppercaseAction(type,options){return CanInstantiate([type])?memory_exports.Update(FromType7(UppercaseMapping,type),{},options):UppercaseDeferred(type,options)}function CapitalizeInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return CapitalizeAction(instantiatedType,options)}function LowercaseInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return LowercaseAction(instantiatedType,options)}function UncapitalizeInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return UncapitalizeAction(instantiatedType,options)}function UppercaseInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return UppercaseAction(instantiatedType,options)}function ConditionalDeferred(left,right,true_,false_,options={}){return Deferred("Conditional",[left,right,true_,false_],options)}function Conditional(left,right,true_,false_,options={}){return ConditionalAction({},State([],[]),left,right,true_,false_,options)}function ConditionalOperation(context,state2,left,right,true_,false_){let extendsResult=Extends(context,left,right);return result_exports.IsExtendsUnion(extendsResult)?Union([InstantiateType(extendsResult.inferred,state2,true_),InstantiateType(context,state2,false_)]):result_exports.IsExtendsTrue(extendsResult)?InstantiateType(extendsResult.inferred,state2,true_):InstantiateType(context,state2,false_)}function ConditionalAction(context,state2,left,right,true_,false_,options){return CanInstantiate([left,right])?memory_exports.Update(ConditionalOperation(context,state2,left,right,true_,false_),{},options):ConditionalDeferred(left,right,true_,false_,options)}function ConditionalInstantiate(context,state2,left,right,true_,false_,options){let instantiatedLeft=InstantiateType(context,state2,left),instantiatedRight=InstantiateType(context,state2,right);return ConditionalAction(context,state2,instantiatedLeft,instantiatedRight,true_,false_,options)}function ConstructorParametersDeferred(type,options={}){return Deferred("ConstructorParameters",[type],options)}function ConstructorParameters(type,options={}){return ConstructorParametersAction(type,options)}function ConstructorParametersOperation(type){let parameters=IsConstructor3(type)?type.parameters:[],instantiatedParameters=InstantiateElements({},State([],[]),parameters);return Tuple(instantiatedParameters)}function ConstructorParametersAction(type,options){return CanInstantiate([type])?memory_exports.Update(ConstructorParametersOperation(type),{},options):ConstructorParametersDeferred(type,options)}function ConstructorParametersInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return ConstructorParametersAction(instantiatedType,options)}function ExcludeDeferred(left,right,options={}){return Deferred("Exclude",[left,right],options)}function Exclude(left,right,options={}){return ExcludeAction(left,right,options)}function ExcludeAction(left,right,options){return CanInstantiate([left,right])?memory_exports.Update(ExcludeOperation(left,right),{},options):ExcludeDeferred(left,right,options)}function ExcludeInstantiate(context,state2,left,right,options){let instantiatedLeft=InstantiateType(context,state2,left),instantiatedRight=InstantiateType(context,state2,right);return ExcludeAction(instantiatedLeft,instantiatedRight,options)}function ExtractDeferred(left,right,options={}){return Deferred("Extract",[left,right],options)}function Extract(left,right,options={}){return ExtractAction(left,right,options)}function ExtractType(left,right){let check=Extends({},left,right);return result_exports.IsExtendsTrueLike(check)?[left]:[]}function ExtractUnion(left,right,result=[]){return guard_exports.ShiftLeft(left,(head,tail)=>ExtractUnion(tail,right,[...result,...ExtractType(head,right)]),()=>result)}function ExtractOperation(left,right){let evaluated=EvaluateType(left),canonical=IsUnion(evaluated)?evaluated.anyOf:[evaluated],remaining=ExtractUnion(canonical,right);return EvaluateUnion(remaining)}function ExtractAction(left,right,options){return CanInstantiate([left,right])?memory_exports.Update(ExtractOperation(left,right),{},options):ExtractDeferred(left,right,options)}function ExtractInstantiate(context,state2,left,right,options){let instantiatedLeft=InstantiateType(context,state2,left),instantiatedRight=InstantiateType(context,state2,right);return ExtractAction(instantiatedLeft,instantiatedRight,options)}function KeysToLiterals(keys){return keys.reduce((result,left)=>IsLiteralValue(left)?[...result,Literal(left)]:result,[])}function KeysToIndexer(keys){let literals=KeysToLiterals(keys);return Union(literals)}function IndexDeferred(type,indexer,options={}){return Deferred("Index",[type,indexer],options)}function Index(type,indexer_or_keys,options={}){let indexer=guard_exports.IsArray(indexer_or_keys)?KeysToIndexer(indexer_or_keys):indexer_or_keys;return IndexAction(type,indexer,options)}function FromCyclic(defs,ref){let target=CyclicTarget(defs,ref);return FromType8(target)}function FromDependent(if_,then_,else_){let evaluated=EvaluateDependent(if_,then_,else_);return FromType8(evaluated)}function CollapseIntersectProperties(left,right){let leftKeys=guard_exports.Keys(left).filter(key=>!guard_exports.HasPropertyKey(right,key)),rightKeys=guard_exports.Keys(right).filter(key=>!guard_exports.HasPropertyKey(left,key)),sharedKeys=guard_exports.Keys(left).filter(key=>guard_exports.HasPropertyKey(right,key)),leftProperties=leftKeys.reduce((result,key)=>({...result,[key]:left[key]}),{}),rightProperties=rightKeys.reduce((result,key)=>({...result,[key]:right[key]}),{}),sharedProperties=sharedKeys.reduce((result,key)=>({...result,[key]:EvaluateIntersect([left[key],right[key]])}),{}),unique=memory_exports.Assign(leftProperties,rightProperties);return memory_exports.Assign(unique,sharedProperties)}function FromIntersect(types){return types.reduce((result,left)=>CollapseIntersectProperties(result,FromType8(left)),{})}function FromTuple(types){let object=TupleToObject(Tuple(types));return FromType8(object)}function CollapseUnionProperties(left,right){return guard_exports.Keys(left).filter(key=>key in right).reduce((result2,key)=>({...result2,[key]:EvaluateUnion([left[key],right[key]])}),{})}function ReduceVariants(types,result){return guard_exports.ShiftLeft(types,(left,right)=>ReduceVariants(right,CollapseUnionProperties(result,FromType8(left))),()=>result)}function FromUnion3(types){return guard_exports.ShiftLeft(types,(left,right)=>ReduceVariants(right,FromType8(left)),()=>Unreachable())}function FromType8(type){return IsCyclic(type)?FromCyclic(type.$defs,type.$ref):IsDependent(type)?FromDependent(type.if,type.then,type.else):IsIntersect(type)?FromIntersect(type.allOf):IsUnion(type)?FromUnion3(type.anyOf):IsTuple(type)?FromTuple(type.items):IsObject3(type)?type.properties:{}}function CollapseToObject(type){let properties=FromType8(type);return _Object_(properties)}var integerKeyPattern=new RegExp("^(?:0|[1-9][0-9]*)$");function ConvertToIntegerKey(value){let normal=`${value}`;return integerKeyPattern.test(normal)?parseInt(normal):value}function NormalizeLiteral(value){return Literal(ConvertToIntegerKey(value))}function NormalizeIndexerTypes(types){return types.map(type=>NormalizeIndexer(type))}function NormalizeIndexer(type){return IsIntersect(type)?Intersect(NormalizeIndexerTypes(type.allOf)):IsUnion(type)?Union(NormalizeIndexerTypes(type.anyOf)):IsLiteral(type)?NormalizeLiteral(type.const):type}function FromArray3(type,indexer){let normalizedIndexer=NormalizeIndexer(indexer),check=Extends({},normalizedIndexer,Number2());return result_exports.IsExtendsTrueLike(check)?type:IsLiteral(indexer)&&guard_exports.IsEqual(indexer.const,"length")?Number2():Never()}function FromCyclic2(defs,ref){let target=CyclicTarget(defs,ref);return FromType9(target)}function FromDependent2(if_,then_,else_){let evaluated=EvaluateDependent(if_,then_,else_);return FromType9(evaluated)}function FromEnum(values){let evaluated=EvaluateEnum(values);return FromType9(evaluated)}function FromIntersect2(types){let evaluated=EvaluateIntersect(types);return FromType9(evaluated)}function FromLiteral4(value){return[`${value}`]}function FromTemplateLiteral2(pattern){let evaluated=EvaluateTemplateLiteral(pattern);return FromType9(evaluated)}function FromUnion4(types){return types.reduce((result,left)=>[...result,...FromType9(left)],[])}function FromType9(type){return IsCyclic(type)?FromCyclic2(type.$defs,type.$ref):IsDependent(type)?FromDependent2(type.if,type.then,type.else):IsEnum(type)?FromEnum(type.enum):IsIntersect(type)?FromIntersect2(type.allOf):IsLiteral(type)?FromLiteral4(type.const):IsTemplateLiteral(type)?FromTemplateLiteral2(type.pattern):IsUnion(type)?FromUnion4(type.anyOf):[]}function ToIndexableKeys(type){return FromType9(type)}function FromTypes5(properties,types){return types.map(type=>FromType10(properties,type))}function FromType10(properties,type){return IsArray3(type)?_Array_(FromType10(properties,type.items)):IsConstructor3(type)?Constructor(FromTypes5(properties,type.parameters),FromType10(properties,type.instanceType)):IsFunction3(type)?_Function_(FromTypes5(properties,type.parameters),FromType10(properties,type.returnType)):IsTuple(type)?Tuple(FromTypes5(properties,type.items)):IsUnion(type)?Union(FromTypes5(properties,type.anyOf)):IsIntersect(type)?Intersect(FromTypes5(properties,type.allOf)):IsThis(type)?_Object_(properties):type}function ExpandThis(properties,type){return FromType10(properties,type)}function IndexProperty(properties,key){let selectedType=key in properties?properties[key]:Never();return ExpandThis(properties,selectedType)}function IndexProperties(properties,keys){return keys.reduce((result,left)=>[...result,IndexProperty(properties,left)],[])}function FromIndexer(properties,indexer){let keys=ToIndexableKeys(indexer),variants=IndexProperties(properties,keys);return EvaluateUnion(variants)}var NumericKeyPattern=new RegExp(IntegerKey);function NumericKeys(keys){return keys.filter(key=>NumericKeyPattern.test(key))}function FromIndexerNumber(properties){let keys=PropertyKeys(properties),numericKeys=NumericKeys(keys),variants=IndexProperties(properties,numericKeys);return EvaluateUnion(variants)}function FromObject5(properties,indexer){return IsNumber4(indexer)?FromIndexerNumber(properties):FromIndexer(properties,indexer)}function ConvertLiteral(value){return Literal(ConvertToIntegerKey(value))}function ArrayIndexerTypes(types){return types.map(type=>FormatArrayIndexer(type))}function FormatArrayIndexer(type){return IsIntersect(type)?Intersect(ArrayIndexerTypes(type.allOf)):IsUnion(type)?Union(ArrayIndexerTypes(type.anyOf)):IsLiteral(type)?ConvertLiteral(type.const):type}function IndexElementsWithIndexer(types,indexer){return types.reduceRight((result,right,index3)=>{let check=Extends({},Literal(index3),indexer);return result_exports.IsExtendsTrueLike(check)?[right,...result]:result},[])}function FromTupleWithIndexer(types,indexer){let formattedArrayIndexer=FormatArrayIndexer(indexer),elements=IndexElementsWithIndexer(types,formattedArrayIndexer);return EvaluateUnionFast(elements)}function FromTupleWithoutIndexer(types){return EvaluateUnionFast(types)}function FromTuple2(types,indexer){return IsLiteral(indexer)&&guard_exports.IsEqual(indexer.const,"length")?Literal(types.length):IsNumber4(indexer)||IsInteger3(indexer)?FromTupleWithoutIndexer(types):FromTupleWithIndexer(types,indexer)}function FromType11(type,indexer){return IsArray3(type)?FromArray3(type.items,indexer):IsObject3(type)?FromObject5(type.properties,indexer):IsTuple(type)?FromTuple2(type.items,indexer):Never()}function NormalizeType(type){return IsCyclic(type)||IsDependent(type)||IsIntersect(type)||IsUnion(type)?CollapseToObject(type):type}function IndexAction(type,indexer,options){return CanInstantiate([type,indexer])?memory_exports.Update(FromType11(NormalizeType(type),indexer),{},options):IndexDeferred(type,indexer,options)}function IndexInstantiate(context,state2,type,indexer,options){let instantiatedType=InstantiateType(context,state2,type),instantiatedIndexer=InstantiateType(context,state2,indexer);return IndexAction(instantiatedType,instantiatedIndexer,options)}function InstanceTypeDeferred(type,options={}){return Deferred("InstanceType",[type],options)}function InstanceType(type,options={}){return InstanceTypeAction(type,options)}function InstanceTypeOperation(type){return IsConstructor3(type)?type.instanceType:Never()}function InstanceTypeAction(type,options){return CanInstantiate([type])?memory_exports.Update(InstanceTypeOperation(type),{},options):InstanceTypeDeferred(type,options)}function InstanceTypeInstantiate(context,state2,type,options={}){let instantiatedType=InstantiateType(context,state2,type);return InstanceTypeAction(instantiatedType,options)}function KeyOfDeferred(type,options={}){return Deferred("KeyOf",[type],options)}function KeyOf2(type,options={}){return KeyOfAction(type,options)}function FromAny(){return Union([Number2(),String2(),Symbol2()])}function FromArray4(_type){return Number2()}function FromPropertyKeys(keys){return keys.reduce((result2,left)=>IsLiteralValue(left)?[...result2,Literal(ConvertToIntegerKey(left))]:Unreachable(),[])}function FromObject6(properties){let propertyKeys=guard_exports.Keys(properties),variants=FromPropertyKeys(propertyKeys);return EvaluateUnionFast(variants)}function FromRecord2(type){return RecordKey(type)}function FromTuple3(types){let result=types.map((_,index3)=>Literal(index3));return EvaluateUnionFast(result)}function FromType12(type){return IsAny(type)?FromAny():IsArray3(type)?FromArray4(type.items):IsObject3(type)?FromObject6(type.properties):IsRecord(type)?FromRecord2(type):IsTuple(type)?FromTuple3(type.items):Never()}function NormalizeType2(type){return IsCyclic(type)||IsDependent(type)||IsIntersect(type)||IsUnion(type)?CollapseToObject(type):type}function KeyOfAction(type,options){return CanInstantiate([type])?memory_exports.Update(FromType12(NormalizeType2(type)),{},options):KeyOfDeferred(type,options)}function KeyOfInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return KeyOfAction(instantiatedType,options)}function MappedDeferred(identifier,type,as,property,options={}){return Deferred("Mapped",[identifier,type,as,property],options)}function Mapped(identifier,type,as,property,options={}){return MappedAction({},State([],[]),identifier,type,as,property,options)}function FromTemplateLiteral3(pattern){let evaluated=EvaluateTemplateLiteral(pattern);return FromType13(evaluated)}function FromUnion5(types){return types.reduce((result,left)=>[...result,...FromType13(left)],[])}function FromEnum2(values){let evaluated=EvaluateEnum(values);return FromType13(evaluated)}function FromLiteral5(value){return guard_exports.IsNumber(value)?[Literal(`${value}`)]:[Literal(value)]}function FromType13(type){return IsEnum(type)?FromEnum2(type.enum):IsLiteral(type)?FromLiteral5(type.const):IsTemplateLiteral(type)?FromTemplateLiteral3(type.pattern):IsUnion(type)?FromUnion5(type.anyOf):[type]}function MappedVariants(type){return FromType13(type)}function CanonicalAs(instantiatedAs){return IsTemplateLiteral(instantiatedAs)?EvaluateTemplateLiteral(instantiatedAs.pattern):instantiatedAs}function MappedVariant(context,state2,identifier,variant,as,property){let variantContext=memory_exports.Assign(context,{[identifier.name]:variant}),instantiatedAs=InstantiateType(variantContext,state2,as),canonicalAs=CanonicalAs(instantiatedAs),instantiatedProperty=InstantiateType(variantContext,state2,property);return IsLiteralNumber(canonicalAs)||IsLiteralString(canonicalAs)?{[canonicalAs.const]:instantiatedProperty}:{}}function MappedProperties(context,state2,identifier,variants,as,property){return variants.reduce((result,left)=>[...result,MappedVariant(context,state2,identifier,left,as,property)],[])}function MappedObjects(properties){return properties.reduce((result,left)=>[...result,_Object_(left)],[])}function MappedOperation(context,state2,identifier,type,as,property){let variants=MappedVariants(type),mappedProperties=MappedProperties(context,state2,identifier,variants,as,property),mappedObjects=MappedObjects(mappedProperties);return EvaluateIntersect(mappedObjects)}function MappedAction(context,state2,identifier,type,as,property,options){return CanInstantiate([type])?memory_exports.Update(MappedOperation(context,state2,identifier,type,as,property),{},options):MappedDeferred(identifier,type,as,property,options)}function MappedInstantiate(context,state2,identifier,type,as,property,options){let instantiatedType=InstantiateType(context,state2,type);return MappedAction(context,state2,identifier,instantiatedType,as,property,options)}function InstantiateCyclics(context,declarations,cyclicKeys){let declarationContext=memory_exports.Assign(context,declarations);return guard_exports.Keys(declarations).filter(key=>cyclicKeys.includes(key)).reduce((result,key)=>({...result,[key]:InstantiateCyclic(declarationContext,key,declarations[key])}),{})}function InstantiateNonCyclics(context,declarations,cyclicKeys){let declarationContext=memory_exports.Assign(context,declarations);return guard_exports.Keys(declarations).filter(key=>!cyclicKeys.includes(key)).reduce((result,key)=>({...result,[key]:InstantiateType(declarationContext,State([],[]),declarations[key])}),{})}function InstantiateModule(context,declarations,options){let cyclicCandidates=CyclicCandidates(declarations),instantiatedCyclics=InstantiateCyclics(context,declarations,cyclicCandidates),instantiatedNonCyclics=InstantiateNonCyclics(context,declarations,cyclicCandidates),instantiatedModule={...instantiatedCyclics,...instantiatedNonCyclics};return memory_exports.Update(instantiatedModule,{},options)}function ModuleInstantiate(context,_state,declarations,options){return InstantiateModule(context,declarations,options)}function NonNullableDeferred(type,options={}){return Deferred("NonNullable",[type],options)}function NonNullable(type,options={}){return NonNullableAction(type,options)}function NonNullableOperation(type){let excluded=Union([Null(),Undefined()]);return ExcludeAction(type,excluded,{})}function NonNullableAction(type,options){return CanInstantiate([type])?memory_exports.Update(NonNullableOperation(type),{},options):NonNullableDeferred(type,options)}function NonNullableInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return NonNullableAction(instantiatedType,options)}function OmitDeferred(type,indexer,options={}){return Deferred("Omit",[type,indexer],options)}function Omit(type,indexer_or_keys,options={}){let indexer=guard_exports.IsArray(indexer_or_keys)?KeysToIndexer(indexer_or_keys):indexer_or_keys;return OmitAction(type,indexer,options)}function ToIndexable(type){let collapsed=CollapseToObject(type);return IsObject3(collapsed)?collapsed.properties:Unreachable()}function FromKeys(properties,keys){return guard_exports.Keys(properties).reduce((result2,key)=>keys.includes(key)?result2:{...result2,[key]:properties[key]},{})}function FromType14(type,indexer){let indexable=ToIndexable(type),indexableKeys=ToIndexableKeys(indexer),omitted=FromKeys(indexable,indexableKeys);return _Object_(omitted)}function OmitAction(type,indexer,options){return CanInstantiate([type,indexer])?memory_exports.Update(FromType14(type,indexer),{},options):OmitDeferred(type,indexer,options)}function OmitInstantiate(context,state2,type,indexer,options){let instantiatedType=InstantiateType(context,state2,type),instantiatedIndexer=InstantiateType(context,state2,indexer);return OmitAction(instantiatedType,instantiatedIndexer,options)}function ParametersDeferred(type,options={}){return Deferred("Parameters",[type],options)}function Parameters(type,options={}){return ParametersAction(type,options)}function ParametersOperation(type){let parameters=IsFunction3(type)?type.parameters:[],instantiatedParameters=InstantiateElements({},State([],[]),parameters);return Tuple(instantiatedParameters)}function ParametersAction(type,options){return CanInstantiate([type])?memory_exports.Update(ParametersOperation(type),{},options):ParametersDeferred(type,options)}function ParametersInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return ParametersAction(instantiatedType,options)}function PartialDeferred(type,options={}){return Deferred("Partial",[type],options)}function Partial(type,options={}){return PartialAction(type,options)}function FromCyclic3(defs,ref){let target=CyclicTarget(defs,ref),partial=FromType15(target);return Cyclic(memory_exports.Assign(defs,{[ref]:partial}),ref)}function FromDependent3(if_,then_,else_){let evaluated=EvaluateDependent(if_,then_,else_);return FromType15(evaluated)}function FromIntersect3(types){let evaluated=EvaluateIntersect(types);return FromType15(evaluated)}function FromUnion6(types){let result=types.map(type=>FromType15(type));return Union(result)}function FromObject7(properties){let mapped=guard_exports.Keys(properties).reduce((result2,left)=>({...result2,[left]:AddOptional(properties[left])}),{});return _Object_(mapped)}function FromType15(type){return IsCyclic(type)?FromCyclic3(type.$defs,type.$ref):IsDependent(type)?FromDependent3(type.if,type.then,type.else):IsIntersect(type)?FromIntersect3(type.allOf):IsUnion(type)?FromUnion6(type.anyOf):IsObject3(type)?FromObject7(type.properties):_Object_({})}function PartialAction(type,options){return CanInstantiate([type])?memory_exports.Update(FromType15(type),{},options):PartialDeferred(type,options)}function PartialInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return PartialAction(instantiatedType,options)}function PickDeferred(type,indexer,options={}){return Deferred("Pick",[type,indexer],options)}function Pick(type,indexer_or_keys,options={}){let indexer=guard_exports.IsArray(indexer_or_keys)?KeysToIndexer(indexer_or_keys):indexer_or_keys;return PickAction(type,indexer,options)}function FromKeys2(properties,keys){return guard_exports.Keys(properties).reduce((result2,key)=>keys.includes(key)?memory_exports.Assign(result2,{[key]:properties[key]}):result2,{})}function FromType16(type,indexer){let indexable=ToIndexable(type),keys=ToIndexableKeys(indexer),applied=FromKeys2(indexable,keys);return _Object_(applied)}function PickAction(type,indexer,options){return CanInstantiate([type,indexer])?memory_exports.Update(FromType16(type,indexer),{},options):PickDeferred(type,indexer,options)}function PickInstantiate(context,state2,type,indexer,options){let instantiatedType=InstantiateType(context,state2,type),instantiatedIndexer=InstantiateType(context,state2,indexer);return PickAction(instantiatedType,instantiatedIndexer,options)}function ReadonlyObjectDeferred(type,options={}){return Deferred("ReadonlyObject",[type],options)}function ReadonlyObject(type,options={}){return ReadonlyObjectAction(type,options)}var ReadonlyType=ReadonlyObject;function FromArray5(type){return AddImmutable(_Array_(type))}function FromCyclic4(defs,ref){let target=CyclicTarget(defs,ref),partial=FromType17(target);return Cyclic(memory_exports.Assign(defs,{[ref]:partial}),ref)}function FromDependent4(if_,then_,else_){let evaluated=EvaluateDependent(if_,then_,else_);return FromType17(evaluated)}function FromIntersect4(types){let evaluated=EvaluateIntersect(types);return FromType17(evaluated)}function FromObject8(properties){let mapped=guard_exports.Keys(properties).reduce((result2,left)=>({...result2,[left]:AddReadonly(properties[left])}),{});return _Object_(mapped)}function FromTuple4(types){return AddImmutable(Tuple(types))}function FromUnion7(types){let result=types.map(type=>FromType17(type));return Union(result)}function FromType17(type){return IsArray3(type)?FromArray5(type.items):IsCyclic(type)?FromCyclic4(type.$defs,type.$ref):IsDependent(type)?FromDependent4(type.if,type.then,type.else):IsIntersect(type)?FromIntersect4(type.allOf):IsObject3(type)?FromObject8(type.properties):IsTuple(type)?FromTuple4(type.items):IsUnion(type)?FromUnion7(type.anyOf):type}function ReadonlyObjectAction(type,options){return CanInstantiate([type])?memory_exports.Update(FromType17(type),{},options):ReadonlyObjectDeferred(type)}function ReadonlyObjectInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return ReadonlyObjectAction(instantiatedType,options)}function RefInstantiate(context,state2,type,ref){return state2.visited.includes(ref)?type:ref in context?InstantiateType(context,State(state2.callstack,[...state2.visited,ref]),context[ref]):type}function FromCyclic5(defs,ref){let target=CyclicTarget(defs,ref),partial=FromType18(target);return Cyclic(memory_exports.Assign(defs,{[ref]:partial}),ref)}function FromDependent5(if_,then_,else_){let evaluated=EvaluateDependent(if_,then_,else_);return FromType18(evaluated)}function FromIntersect5(types){let evaluated=EvaluateIntersect(types);return FromType18(evaluated)}function FromUnion8(types){let result=types.map(type=>FromType18(type));return Union(result)}function FromObject9(properties){let mapped=guard_exports.Keys(properties).reduce((result2,left)=>({...result2,[left]:RemoveOptional(properties[left])}),{});return _Object_(mapped)}function FromType18(type){return IsCyclic(type)?FromCyclic5(type.$defs,type.$ref):IsDependent(type)?FromDependent5(type.if,type.then,type.else):IsIntersect(type)?FromIntersect5(type.allOf):IsUnion(type)?FromUnion8(type.anyOf):IsObject3(type)?FromObject9(type.properties):_Object_({})}function RequiredDeferred(type,options={}){return Deferred("Required",[type],options)}function Required(type,options={}){return RequiredAction(type,options)}function RequiredAction(type,options){return CanInstantiate([type])?memory_exports.Update(FromType18(type),{},options):RequiredDeferred(type,options)}function RequiredInstantiate(context,state2,type,options){let instaniatedType=InstantiateType(context,state2,type);return RequiredAction(instaniatedType,options)}function ReturnTypeDeferred(type,options={}){return Deferred("ReturnType",[type],options)}function ReturnType(type,options={}){return ReturnTypeAction(type,options)}function ReturnTypeOperation(type){return IsFunction3(type)?type.returnType:Never()}function ReturnTypeAction(type,options){return CanInstantiate([type])?memory_exports.Update(ReturnTypeOperation(type),{},options):ReturnTypeDeferred(type,options)}function ReturnTypeInstantiate(context,state2,type,options={}){let instantiatedType=InstantiateType(context,state2,type);return ReturnTypeAction(instantiatedType,options)}function WithDeferred(type,options){return Deferred("With",[type,options],{})}function With2(type,options){return WithAction(type,options)}function WithAction(type,options){return CanInstantiate([type])?memory_exports.Update(type,{},options):WithDeferred(type,options)}function WithInstantiate(context,state2,type,options){let instaniatedType=InstantiateType(context,state2,type);return WithAction(instaniatedType,options)}function SpreadElement(type){return IsRest(type)?IsTuple(type.items)?RestSpread(type.items.items):IsInfer(type.items)?[type]:IsRef(type.items)?[type]:[Never()]:[type]}function RestSpread(types){return types.reduce((result2,left)=>[...result2,...SpreadElement(left)],[])}function State(callstack,visited2){return{callstack,visited:visited2}}function CanInstantiate(types){return guard_exports.ShiftLeft(types,(left,right)=>IsRef(left)?!1:CanInstantiate(right),()=>!0)}function InstantiateProperties(context,state2,properties){return guard_exports.Keys(properties).reduce((result,key)=>({...result,[key]:InstantiateType(context,state2,properties[key])}),{})}function InstantiateElements(context,state2,types){let elements=InstantiateTypes(context,state2,types);return RestSpread(elements)}function InstantiateTypes(context,state2,types){return types.map(type=>InstantiateType(context,state2,type))}function WithModifiers(type,instantiatedType){let withOptional=IsOptional(type)?AddOptionalAction(instantiatedType,{}):instantiatedType,withReadonly=IsReadonly(type)?AddReadonlyAction(withOptional,{}):withOptional;return IsImmutable(type)?AddImmutableAction(withReadonly,{}):withReadonly}function InstantiateDeferred(context,state2,action,parameters,options){return guard_exports.IsEqual(action,"AddImmutable")?AddImmutableInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"RemoveImmutable")?RemoveImmutableInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"AddReadonly")?AddReadonlyInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"RemoveReadonly")?RemoveReadonlyInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"AddOptional")?AddOptionalInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"RemoveOptional")?RemoveOptionalInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Capitalize")?CapitalizeInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Conditional")?ConditionalInstantiate(context,state2,parameters[0],parameters[1],parameters[2],parameters[3],options):guard_exports.IsEqual(action,"ConstructorParameters")?ConstructorParametersInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Evaluate")?EvaluateInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Exclude")?ExcludeInstantiate(context,state2,parameters[0],parameters[1],options):guard_exports.IsEqual(action,"Extract")?ExtractInstantiate(context,state2,parameters[0],parameters[1],options):guard_exports.IsEqual(action,"Index")?IndexInstantiate(context,state2,parameters[0],parameters[1],options):guard_exports.IsEqual(action,"InstanceType")?InstanceTypeInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Interface")?InterfaceInstantiate(context,state2,parameters[0],parameters[1],options):guard_exports.IsEqual(action,"KeyOf")?KeyOfInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Lowercase")?LowercaseInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Mapped")?MappedInstantiate(context,state2,parameters[0],parameters[1],parameters[2],parameters[3],options):guard_exports.IsEqual(action,"Module")?ModuleInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"NonNullable")?NonNullableInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Pick")?PickInstantiate(context,state2,parameters[0],parameters[1],options):guard_exports.IsEqual(action,"Parameters")?ParametersInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Partial")?PartialInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Omit")?OmitInstantiate(context,state2,parameters[0],parameters[1],options):guard_exports.IsEqual(action,"ReadonlyObject")?ReadonlyObjectInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Record")?RecordInstantiate(context,state2,parameters[0],parameters[1],options):guard_exports.IsEqual(action,"Required")?RequiredInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"ReturnType")?ReturnTypeInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"TemplateLiteral")?TemplateLiteralInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Uncapitalize")?UncapitalizeInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Uppercase")?UppercaseInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"With")?WithInstantiate(context,state2,parameters[0],parameters[1]):Deferred(action,parameters,options)}function InstantiateImmediate(context,state2,type){let instantiatedType=IsRef(type)?RefInstantiate(context,state2,type,type.$ref):IsArray3(type)?_Array_(InstantiateType(context,state2,type.items),ArrayOptions(type)):IsCall(type)?CallInstantiate(context,state2,type.target,type.arguments):IsConstructor3(type)?Constructor(InstantiateTypes(context,state2,type.parameters),InstantiateType(context,state2,type.instanceType),ConstructorOptions(type)):IsFunction3(type)?_Function_(InstantiateTypes(context,state2,type.parameters),InstantiateType(context,state2,type.returnType),FunctionOptions(type)):IsDependent(type)?Dependent(InstantiateType(context,state2,type.if),InstantiateType(context,state2,type.then),InstantiateType(context,state2,type.else),DependentOptions(type)):IsIntersect(type)?Intersect(InstantiateTypes(context,state2,type.allOf),IntersectOptions(type)):IsObject3(type)?_Object_(InstantiateProperties(context,state2,type.properties),ObjectOptions(type)):IsRecord(type)?RecordFromPattern(RecordPattern(type),InstantiateType(context,state2,RecordValue(type))):IsRest(type)?Rest(InstantiateType(context,state2,type.items)):IsTuple(type)?Tuple(InstantiateElements(context,state2,type.items),TupleOptions(type)):IsUnion(type)?Union(InstantiateTypes(context,state2,type.anyOf),UnionOptions(type)):type;return WithModifiers(type,instantiatedType)}function InstantiateType(context,state2,type){return IsDeferred(type)?InstantiateDeferred(context,state2,type.action,type.parameters,type.options):InstantiateImmediate(context,state2,type)}function Instantiate(context,type){return InstantiateType(context,State([],[]),type)}function AddImmutableOperation(type){return memory_exports.Update(type,{"~immutable":!0},{})}function AddImmutableAction(type,options){return memory_exports.Update(AddImmutableOperation(type),{},options)}function AddImmutableInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return AddImmutableAction(instantiatedType,options)}function AddImmutableDeferred(type,options={}){return Deferred("AddImmutable",[type],options)}function AddImmutable(type,options={}){return AddImmutableAction(type,options)}function RemoveImmutableDeferred(type,options={}){return Deferred("RemoveImmutable",[type],options)}function RemoveImmutable(type,options={}){return RemoveImmutableAction(type,options)}function EvaluateDeferred(type,options={}){return Deferred("Evaluate",[type],options)}function Evaluate2(type,options={}){return EvaluateAction(type,options)}function ModuleDeferred(declarations,options={}){return Deferred("Module",[declarations],options)}function Module2(declarations,options={}){return ModuleInstantiate({},State([],[]),declarations,options)}function Comparer(left,right){let compareResult=Compare(left,right);return guard_exports.IsEqual(compareResult,CompareResultRightInside)||guard_exports.IsEqual(compareResult,CompareResultDisjoint)?1:0}function Insert(type,types,result=[]){return guard_exports.ShiftLeft(types,(left,right)=>guard_exports.IsEqual(Comparer(type,left),1)?Insert(type,right,[...result,left]):[...result,type,...types],()=>[...result,type])}function Sort(types,result=[]){return guard_exports.ShiftLeft(types,(left,right)=>Sort(right,Insert(left,result)),()=>result)}function Priority(types){return Sort(types)}function IsTemplateLiteralPattern(pattern){let types=ParsePatternIntoTypes(pattern);return!guard_exports.IsEqual(types.length,0)}function Script2(...args){let[context,input,options]=arguments_exports.Match(args,{2:(script,options2)=>guard_exports.IsString(script)?[{},script,options2]:[script,options2,{}],3:(context2,script,options2)=>[context2,script,options2],1:script=>[{},script,{}]}),result=Script(input),parsed=guard_exports.IsArray(result)&&guard_exports.IsEqual(result.length,2)?InstantiateType(context,State([],[]),result[0]):Never();return memory_exports.Update(parsed,{},options)}var typebox_exports={};__export(typebox_exports,{Any:()=>Any,Array:()=>_Array_,BigInt:()=>BigInt2,Boolean:()=>Boolean2,Call:()=>Call2,Capitalize:()=>Capitalize,Codec:()=>Codec,Conditional:()=>Conditional,Constructor:()=>Constructor,ConstructorParameters:()=>ConstructorParameters,Cyclic:()=>Cyclic,Decode:()=>Decode,DecodeBuilder:()=>DecodeBuilder,Dependent:()=>Dependent,Encode:()=>Encode,EncodeBuilder:()=>EncodeBuilder,Enum:()=>Enum,Evaluate:()=>Evaluate2,Exclude:()=>Exclude,Extends:()=>Extends,ExtendsResult:()=>result_exports,Extract:()=>Extract,Function:()=>_Function_,Generic:()=>Generic,Identifier:()=>Identifier,Immutable:()=>Immutable,Index:()=>Index,Infer:()=>Infer,InstanceType:()=>InstanceType,Instantiate:()=>Instantiate,Integer:()=>Integer,Interface:()=>Interface,Intersect:()=>Intersect,IsAny:()=>IsAny,IsArray:()=>IsArray3,IsBigInt:()=>IsBigInt3,IsBoolean:()=>IsBoolean4,IsCall:()=>IsCall,IsCodec:()=>IsCodec,IsConstructor:()=>IsConstructor3,IsCyclic:()=>IsCyclic,IsDependent:()=>IsDependent,IsEnum:()=>IsEnum,IsEnumValue:()=>IsEnumValue,IsFunction:()=>IsFunction3,IsGeneric:()=>IsGeneric,IsIdentifier:()=>IsIdentifier2,IsImmutable:()=>IsImmutable,IsInfer:()=>IsInfer,IsInteger:()=>IsInteger3,IsIntersect:()=>IsIntersect,IsKind:()=>IsKind,IsLiteral:()=>IsLiteral,IsNever:()=>IsNever,IsNull:()=>IsNull3,IsNumber:()=>IsNumber4,IsObject:()=>IsObject3,IsOptional:()=>IsOptional,IsParameter:()=>IsParameter,IsReadonly:()=>IsReadonly,IsRecord:()=>IsRecord,IsRef:()=>IsRef,IsRefine:()=>IsRefine,IsRest:()=>IsRest,IsSchema:()=>IsSchema,IsString:()=>IsString4,IsSymbol:()=>IsSymbol3,IsTemplateLiteral:()=>IsTemplateLiteral,IsThis:()=>IsThis,IsTuple:()=>IsTuple,IsUndefined:()=>IsUndefined3,IsUnion:()=>IsUnion,IsUnknown:()=>IsUnknown,IsUnsafe:()=>IsUnsafe,IsVoid:()=>IsVoid,KeyOf:()=>KeyOf2,Literal:()=>Literal,Lowercase:()=>Lowercase,Mapped:()=>Mapped,Module:()=>Module2,Never:()=>Never,NonNullable:()=>NonNullable,Null:()=>Null,Number:()=>Number2,Object:()=>_Object_,Omit:()=>Omit,Optional:()=>Optional,Parameter:()=>Parameter,Parameters:()=>Parameters,Partial:()=>Partial,Pick:()=>Pick,Readonly:()=>Readonly,ReadonlyObject:()=>ReadonlyObject,ReadonlyType:()=>ReadonlyType,Record:()=>Record,RecordKey:()=>RecordKey,RecordPattern:()=>RecordPattern,RecordValue:()=>RecordValue,Ref:()=>Ref,Refine:()=>Refine,Required:()=>Required,Rest:()=>Rest,ReturnType:()=>ReturnType,Script:()=>Script2,String:()=>String2,Symbol:()=>Symbol2,TemplateLiteral:()=>TemplateLiteral2,This:()=>This,Tuple:()=>Tuple,Uncapitalize:()=>Uncapitalize,Undefined:()=>Undefined,Union:()=>Union,Unknown:()=>Unknown,Unsafe:()=>Unsafe,Uppercase:()=>Uppercase,Void:()=>Void,With:()=>With2});var build_default=typebox_exports;var value_exports2={};__export(value_exports2,{Assert:()=>Assert,AssertError:()=>AssertError,Check:()=>Check2,Clean:()=>Clean,Clone:()=>Clone2,Convert:()=>Convert,Create:()=>Create2,CreateError:()=>CreateError,Decode:()=>Decode10,DecodeError:()=>DecodeError,DecodeUnsafe:()=>DecodeUnsafe,Default:()=>Default,Delete:()=>Delete2,Diff:()=>Diff,Edit:()=>Edit,Encode:()=>Encode10,EncodeError:()=>EncodeError,EncodeUnsafe:()=>EncodeUnsafe,Equal:()=>Equal,Errors:()=>Errors2,HasCodec:()=>HasCodec,Hash:()=>Hash2,Insert:()=>Insert2,IsOptionalUndefined:()=>IsOptionalUndefined,Parse:()=>Parse,ParseError:()=>ParseError,Parser:()=>Parser,Patch:()=>Patch,Pipeline:()=>Pipeline,Pointer:()=>pointer_exports,Repair:()=>Repair,UnionPrioritySort:()=>UnionPrioritySort,UnionScoreSelect:()=>UnionScoreSelect,Update:()=>Update2,Value:()=>value_exports,default:()=>value_default});function IsRefine2(value){return guard_exports.HasPropertyKey(value,"~refine")&&guard_exports.IsArray(value["~refine"])&&guard_exports.Every(value["~refine"],0,value2=>guard_exports.IsObject(value2)&&guard_exports.HasPropertyKey(value2,"check")&&guard_exports.HasPropertyKey(value2,"error")&&guard_exports.IsFunction(value2.check)&&guard_exports.IsFunction(value2.error))}function IsSchemaObject2(value){return guard_exports.IsObject(value)&&!guard_exports.IsArray(value)}function IsSchemaBoolean(value){return guard_exports.IsBoolean(value)}function IsSchema2(value){return IsSchemaObject2(value)||IsSchemaBoolean(value)}function IsAdditionalItems(schema){return guard_exports.HasPropertyKey(schema,"additionalItems")&&IsSchema2(schema.additionalItems)}function IsAdditionalProperties(schema){return guard_exports.HasPropertyKey(schema,"additionalProperties")&&IsSchema2(schema.additionalProperties)}function IsAllOf(schema){return guard_exports.HasPropertyKey(schema,"allOf")&&guard_exports.IsArray(schema.allOf)&&schema.allOf.every(value=>IsSchema2(value))}function IsAnchor(schema){return guard_exports.HasPropertyKey(schema,"$anchor")&&guard_exports.IsString(schema.$anchor)}function IsAnyOf(schema){return guard_exports.HasPropertyKey(schema,"anyOf")&&guard_exports.IsArray(schema.anyOf)&&schema.anyOf.every(value=>IsSchema2(value))}function IsConst(value){return guard_exports.HasPropertyKey(value,"const")}function IsContains(schema){return guard_exports.HasPropertyKey(schema,"contains")&&IsSchema2(schema.contains)}function IsDefault(schema){return guard_exports.HasPropertyKey(schema,"default")}function IsDependencies(schema){return guard_exports.HasPropertyKey(schema,"dependencies")&&guard_exports.IsObject(schema.dependencies)&&Object.values(schema.dependencies).every(value=>IsSchema2(value)||guard_exports.IsArray(value)&&value.every(value2=>guard_exports.IsString(value2)))}function IsDependentRequired(schema){return guard_exports.HasPropertyKey(schema,"dependentRequired")&&guard_exports.IsObject(schema.dependentRequired)&&Object.values(schema.dependentRequired).every(value=>guard_exports.IsArray(value)&&value.every(value2=>guard_exports.IsString(value2)))}function IsDependentSchemas(schema){return guard_exports.HasPropertyKey(schema,"dependentSchemas")&&guard_exports.IsObject(schema.dependentSchemas)&&Object.values(schema.dependentSchemas).every(value=>IsSchema2(value))}function IsDynamicAnchor(schema){return guard_exports.HasPropertyKey(schema,"$dynamicAnchor")&&guard_exports.IsString(schema.$dynamicAnchor)}function IsDynamicRef(schema){return guard_exports.HasPropertyKey(schema,"$dynamicRef")&&guard_exports.IsString(schema.$dynamicRef)}function IsElse(schema){return guard_exports.HasPropertyKey(schema,"else")&&IsSchema2(schema.else)}function IsEnum2(schema){return guard_exports.HasPropertyKey(schema,"enum")&&guard_exports.IsArray(schema.enum)}function IsExclusiveMaximum(schema){return guard_exports.HasPropertyKey(schema,"exclusiveMaximum")&&(guard_exports.IsNumber(schema.exclusiveMaximum)||guard_exports.IsBigInt(schema.exclusiveMaximum))}function IsExclusiveMinimum(schema){return guard_exports.HasPropertyKey(schema,"exclusiveMinimum")&&(guard_exports.IsNumber(schema.exclusiveMinimum)||guard_exports.IsBigInt(schema.exclusiveMinimum))}function IsFormat(schema){return guard_exports.HasPropertyKey(schema,"format")&&guard_exports.IsString(schema.format)}function IsId(schema){return guard_exports.HasPropertyKey(schema,"$id")&&guard_exports.IsString(schema.$id)}function IsIf(schema){return guard_exports.HasPropertyKey(schema,"if")&&IsSchema2(schema.if)}function IsItems(schema){return guard_exports.HasPropertyKey(schema,"items")&&(IsSchema2(schema.items)||guard_exports.IsArray(schema.items)&&schema.items.every(value=>IsSchema2(value)))}function IsItemsSized(schema){return IsItems(schema)&&guard_exports.IsArray(schema.items)}function IsMaximum(schema){return guard_exports.HasPropertyKey(schema,"maximum")&&(guard_exports.IsNumber(schema.maximum)||guard_exports.IsBigInt(schema.maximum))}function IsMaxContains(schema){return guard_exports.HasPropertyKey(schema,"maxContains")&&guard_exports.IsNumber(schema.maxContains)}function IsMaxItems(schema){return guard_exports.HasPropertyKey(schema,"maxItems")&&guard_exports.IsNumber(schema.maxItems)}function IsMaxLength4(schema){return guard_exports.HasPropertyKey(schema,"maxLength")&&guard_exports.IsNumber(schema.maxLength)}function IsMaxProperties(schema){return guard_exports.HasPropertyKey(schema,"maxProperties")&&guard_exports.IsNumber(schema.maxProperties)}function IsMinimum(schema){return guard_exports.HasPropertyKey(schema,"minimum")&&(guard_exports.IsNumber(schema.minimum)||guard_exports.IsBigInt(schema.minimum))}function IsMinContains(schema){return guard_exports.HasPropertyKey(schema,"minContains")&&guard_exports.IsNumber(schema.minContains)}function IsMinItems(schema){return guard_exports.HasPropertyKey(schema,"minItems")&&guard_exports.IsNumber(schema.minItems)}function IsMinLength4(schema){return guard_exports.HasPropertyKey(schema,"minLength")&&guard_exports.IsNumber(schema.minLength)}function IsMinProperties(schema){return guard_exports.HasPropertyKey(schema,"minProperties")&&guard_exports.IsNumber(schema.minProperties)}function IsMultipleOf2(schema){return guard_exports.HasPropertyKey(schema,"multipleOf")&&(guard_exports.IsNumber(schema.multipleOf)||guard_exports.IsBigInt(schema.multipleOf))}function IsNot(schema){return guard_exports.HasPropertyKey(schema,"not")&&IsSchema2(schema.not)}function IsOneOf(schema){return guard_exports.HasPropertyKey(schema,"oneOf")&&guard_exports.IsArray(schema.oneOf)&&schema.oneOf.every(value=>IsSchema2(value))}function IsPattern(schema){return guard_exports.HasPropertyKey(schema,"pattern")&&(guard_exports.IsString(schema.pattern)||schema.pattern instanceof RegExp)}function IsPatternProperties(schema){return guard_exports.HasPropertyKey(schema,"patternProperties")&&guard_exports.IsObject(schema.patternProperties)&&Object.values(schema.patternProperties).every(value=>IsSchema2(value))}function IsPrefixItems(schema){return guard_exports.HasPropertyKey(schema,"prefixItems")&&guard_exports.IsArray(schema.prefixItems)&&schema.prefixItems.every(schema2=>IsSchema2(schema2))}function IsProperties(schema){return guard_exports.HasPropertyKey(schema,"properties")&&guard_exports.IsObject(schema.properties)&&Object.values(schema.properties).every(value=>IsSchema2(value))}function IsPropertyNames(schema){return guard_exports.HasPropertyKey(schema,"propertyNames")&&(guard_exports.IsObject(schema.propertyNames)||IsSchema2(schema.propertyNames))}function IsRecursiveAnchor(schema){return guard_exports.HasPropertyKey(schema,"$recursiveAnchor")&&guard_exports.IsBoolean(schema.$recursiveAnchor)}function IsRecursiveAnchorTrue(schema){return IsRecursiveAnchor(schema)&&guard_exports.IsEqual(schema.$recursiveAnchor,!0)}function IsRecursiveRef(schema){return guard_exports.HasPropertyKey(schema,"$recursiveRef")&&guard_exports.IsString(schema.$recursiveRef)}function IsRef2(schema){return guard_exports.HasPropertyKey(schema,"$ref")&&guard_exports.IsString(schema.$ref)}function IsRequired(schema){return guard_exports.HasPropertyKey(schema,"required")&&guard_exports.IsArray(schema.required)&&schema.required.every(value=>guard_exports.IsString(value))}function IsThen(schema){return guard_exports.HasPropertyKey(schema,"then")&&IsSchema2(schema.then)}function IsType(schema){return guard_exports.HasPropertyKey(schema,"type")&&(guard_exports.IsString(schema.type)||guard_exports.IsArray(schema.type)&&schema.type.every(value=>guard_exports.IsString(value)))}function IsUniqueItems(schema){return guard_exports.HasPropertyKey(schema,"uniqueItems")&&guard_exports.IsBoolean(schema.uniqueItems)}function IsUnevaluatedItems(schema){return guard_exports.HasPropertyKey(schema,"unevaluatedItems")&&IsSchema2(schema.unevaluatedItems)}function IsUnevaluatedProperties(schema){return guard_exports.HasPropertyKey(schema,"unevaluatedProperties")&&IsSchema2(schema.unevaluatedProperties)}function HasUnevaluatedFromObject(value){return IsUnevaluatedItems(value)||IsUnevaluatedProperties(value)||guard_exports.Some(guard_exports.Keys(value),key=>HasUnevaluatedFromUnknown(value[key]))}function HasUnevaluatedFromArray(value){return guard_exports.Some(value,value2=>HasUnevaluatedFromUnknown(value2))}function HasUnevaluatedFromUnknown(value){return guard_exports.IsArray(value)?HasUnevaluatedFromArray(value):guard_exports.IsObject(value)?HasUnevaluatedFromObject(value):!1}function HasUnevaluated(context,schema){return HasUnevaluatedFromUnknown(schema)||guard_exports.Some(guard_exports.Keys(context),key=>HasUnevaluatedFromUnknown(context[key]))}var BuildContext=class{constructor(hasUnevaluated){this.hasUnevaluated=hasUnevaluated}UseUnevaluated(){return this.hasUnevaluated}Push(){return emit_exports.Call(emit_exports.Member("context","Push"),[])}Pop(){return emit_exports.Call(emit_exports.Member("context","Pop"),[])}AddIndex(index3){return emit_exports.Call(emit_exports.Member("context","AddIndex"),[index3])}AddKey(key){return emit_exports.Call(emit_exports.Member("context","AddKey"),[key])}Merge(results){return emit_exports.Call(emit_exports.Member("context","Merge"),[results])}},CheckContext=class{constructor(){let indices=new Set,keys=new Set;this.stack=[{indices,keys}]}Push(){let indices=new Set,keys=new Set;return this.stack.push({indices,keys}),!0}Pop(){return this.stack.pop(),!0}AddIndex(index3){return this.GetIndices().add(index3),!0}AddKey(key){return this.GetKeys().add(key),!0}GetIndices(){return this.stack[this.stack.length-1].indices}GetKeys(){return this.stack[this.stack.length-1].keys}Merge(results){for(let context of results)context.GetIndices().forEach(value=>this.GetIndices().add(value)),context.GetKeys().forEach(value=>this.GetKeys().add(value));return!0}},ErrorContext=class extends CheckContext{constructor(){super(),this.errors=[]}AtCapacity(){return this.errors.length>=settings_exports.Get().maxErrors}AddError(error2){return this.AtCapacity()||this.errors.push(error2),!1}GetErrors(){return this.errors}};var state={identifier:"External",variables:[]};function CreateVariable(value){let call=`External[${state.variables.length}]`;return state.variables.push(value),call}function ResetExternal(){state.variables=[]}function GetExternal(){return{...state}}function BuildRefine(_stack,_context,schema,value){let refinements=CreateVariable(schema["~refine"].map(refinement=>refinement));return emit_exports.Every(refinements,emit_exports.Constant(0),["refinement","_"],emit_exports.Call(emit_exports.Member("refinement","check"),[value]))}function CheckRefine(_stack,_context,schema,value){return guard_exports.Every(schema["~refine"],0,(refinement,_)=>refinement.check(value))}function ErrorRefine(_stack,context,schemaPath,instancePath,schema,value){return guard_exports.EveryAll(schema["~refine"],0,(refinement,index3)=>refinement.check(value)||context.AddError({keyword:"~refine",schemaPath,instancePath,params:{index:index3,message:refinement.error(value)}}))}var index=0;function Unique(){return`var_${index++}`}function IsValid(schema){return IsItems(schema)&&guard_exports.IsArray(schema.items)}function BuildAdditionalItemsStandard(stack,context,schema,value){let[item,index3]=[Unique(),Unique()],isSchema=BuildSchemaPushStack(stack,context,schema.additionalItems,item),isLength=emit_exports.IsLessThan(index3,emit_exports.Constant(schema.items.length)),addIndex=context.AddIndex(index3);return emit_exports.Every(value,emit_exports.Constant(0),[item,index3],emit_exports.Or(isLength,emit_exports.And(isSchema,addIndex)))}function BuildAdditionalItemsFast(stack,context,schema,value){let[item,index3]=[Unique(),Unique()],isSchema=BuildSchemaPushStack(stack,context,schema.additionalItems,item),isLength=emit_exports.IsLessThan(index3,emit_exports.Constant(schema.items.length));return emit_exports.Every(value,emit_exports.Constant(0),[item,index3],emit_exports.Or(isLength,isSchema))}function BuildAdditionalItems(stack,context,schema,value){return IsValid(schema)?context.UseUnevaluated()?BuildAdditionalItemsStandard(stack,context,schema,value):BuildAdditionalItemsFast(stack,context,schema,value):emit_exports.Constant(!0)}function CheckAdditionalItems(stack,context,schema,value){return IsValid(schema)?guard_exports.Every(value,0,(item,index3)=>guard_exports.IsLessThan(index3,schema.items.length)||CheckSchemaPushStack(stack,context,schema.additionalItems,item)&&context.AddIndex(index3)):!0}function ErrorAdditionalItems(stack,context,schemaPath,instancePath,schema,value){return IsValid(schema)?guard_exports.Every(value,0,(item,index3)=>{let nextSchemaPath=`${schemaPath}/additionalItems`,nextInstancePath=`${instancePath}/${index3}`;return guard_exports.IsLessThan(index3,schema.items.length)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema.additionalItems,item)&&context.AddIndex(index3)}):!0}function UnicodeRegExp(pattern){return new RegExp(pattern,"u")}function IsAdditionalPropertiesIgnored(context,additionalProperties){return!context.UseUnevaluated()&&(guard_exports.IsEqual(additionalProperties,!0)||guard_exports.IsObject(additionalProperties)&&guard_exports.IsEqual(guard_exports.Keys(additionalProperties).length,0))}function GetPropertyKeyAsPattern(key){return`^${key.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}$`}function GetPropertiesPattern(schema){let patterns=[];return IsPatternProperties(schema)&&patterns.push(...guard_exports.Keys(schema.patternProperties)),IsProperties(schema)&&patterns.push(...guard_exports.Keys(schema.properties).map(GetPropertyKeyAsPattern)),guard_exports.IsEqual(patterns.length,0)?"(?!)":`(${patterns.join("|")})`}function CanAdditionalPropertiesFast(_context,schema,_value){return IsRequired(schema)&&IsProperties(schema)&&!IsPatternProperties(schema)&&guard_exports.IsEqual(schema.additionalProperties,!1)&&guard_exports.IsEqual(guard_exports.Keys(schema.properties).length,schema.required.length)}function BuildAdditionalPropertiesFast(_context,schema,value){return emit_exports.IsEqual(emit_exports.Member(emit_exports.Call(emit_exports.Member("Object","getOwnPropertyNames"),[value]),"length"),emit_exports.Constant(schema.required.length))}function BuildAdditionalPropertiesStandard(stack,context,schema,value){let[key,_index]=[Unique(),Unique()],regexp=CreateVariable(UnicodeRegExp(GetPropertiesPattern(schema))),isSchema=BuildSchemaPushStack(stack,context,schema.additionalProperties,`${value}[${key}]`),isKey=emit_exports.Call(emit_exports.Member(regexp,"test"),[key]),addKey=context.AddKey(key),guarded=context.UseUnevaluated()?emit_exports.Or(isKey,emit_exports.And(isSchema,addKey)):emit_exports.Or(isKey,isSchema);return emit_exports.Every(emit_exports.Keys(value),emit_exports.Constant(0),[key,_index],guarded)}function BuildAdditionalProperties(stack,context,schema,value){return IsAdditionalPropertiesIgnored(context,schema.additionalProperties)?emit_exports.Constant(!0):CanAdditionalPropertiesFast(context,schema,value)?BuildAdditionalPropertiesFast(context,schema,value):BuildAdditionalPropertiesStandard(stack,context,schema,value)}function CheckAdditionalProperties(stack,context,schema,value){let regexp=UnicodeRegExp(GetPropertiesPattern(schema));return guard_exports.Every(guard_exports.Keys(value),0,(key,_index)=>regexp.test(key)||CheckSchemaPushStack(stack,context,schema.additionalProperties,value[key])&&context.AddKey(key))}function ErrorAdditionalProperties(stack,context,schemaPath,instancePath,schema,value){let regexp=UnicodeRegExp(GetPropertiesPattern(schema)),additionalProperties=[];return guard_exports.EveryAll(guard_exports.Keys(value),0,(key,_index)=>{let nextSchemaPath=`${schemaPath}/additionalProperties`,nextInstancePath=`${instancePath}/${key}`,isAdditionalProperty=regexp.test(key)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema.additionalProperties,value[key])&&context.AddKey(key);return isAdditionalProperty||additionalProperties.push(key),isAdditionalProperty})||context.AddError({keyword:"additionalProperties",schemaPath,instancePath,params:{additionalProperties}})}function Reducer(stack,context,schemas,value,check){let results=emit_exports.ConstDeclaration("results","[]"),context_n=schemas.map((_schema,index3)=>emit_exports.ConstDeclaration(`context_${index3}`,emit_exports.New("CheckContext",[]))),condition_n=schemas.map((schema,index3)=>emit_exports.ConstDeclaration(`condition_${index3}`,emit_exports.Call(emit_exports.ArrowFunction(["context"],BuildSchema(stack,context,schema,value)),[`context_${index3}`]))),checks=schemas.map((_schema,index3)=>emit_exports.If(`condition_${index3}`,emit_exports.Call(emit_exports.Member("results","push"),[`context_${index3}`]))),returns=emit_exports.Return(emit_exports.And(check,context.Merge("results")));return emit_exports.Call(emit_exports.ArrowFunction([],emit_exports.Statements([results,...context_n,...condition_n,...checks,returns])),[])}function BuildAllOfStandard(stack,context,schema,value){return Reducer(stack,context,schema.allOf,value,emit_exports.IsEqual(emit_exports.Member("results","length"),emit_exports.Constant(schema.allOf.length)))}function BuildAllOfFast(stack,context,schema,value){return emit_exports.ReduceAnd(schema.allOf.map(schema2=>BuildSchema(stack,context,schema2,value)))}function BuildAllOf(stack,context,schema,value){return context.UseUnevaluated()?BuildAllOfStandard(stack,context,schema,value):BuildAllOfFast(stack,context,schema,value)}function CheckAllOf(stack,context,schema,value){let results=schema.allOf.reduce((result,schema2)=>{let nextContext=new CheckContext;return CheckSchema(stack,nextContext,schema2,value)?[...result,nextContext]:result},[]);return guard_exports.IsEqual(results.length,schema.allOf.length)&&context.Merge(results)}function ErrorAllOf(stack,context,schemaPath,instancePath,schema,value){let failedContexts=[],results=schema.allOf.reduce((result,schema2,index3)=>{let nextSchemaPath=`${schemaPath}/allOf/${index3}`,nextContext=new ErrorContext,isSchema=ErrorSchema(stack,nextContext,nextSchemaPath,instancePath,schema2,value);return isSchema||failedContexts.push(nextContext),isSchema?[...result,nextContext]:result},[]),isAllOf=guard_exports.IsEqual(results.length,schema.allOf.length)&&context.Merge(results);return isAllOf||failedContexts.forEach(failed=>failed.GetErrors().forEach(error2=>context.AddError(error2))),isAllOf}function BuildAnyOfStandard(stack,context,schema,value){return Reducer(stack,context,schema.anyOf,value,emit_exports.IsGreaterThan(emit_exports.Member("results","length"),emit_exports.Constant(0)))}function BuildAnyOfFast(stack,context,schema,value){return emit_exports.ReduceOr(schema.anyOf.map(schema2=>BuildSchema(stack,context,schema2,value)))}function BuildAnyOf(stack,context,schema,value){return context.UseUnevaluated()?BuildAnyOfStandard(stack,context,schema,value):BuildAnyOfFast(stack,context,schema,value)}function CheckAnyOf(stack,context,schema,value){let results=schema.anyOf.reduce((result,schema2)=>{let nextContext=new CheckContext;return CheckSchema(stack,nextContext,schema2,value)?[...result,nextContext]:result},[]);return guard_exports.IsGreaterThan(results.length,0)&&context.Merge(results)}function ErrorAnyOf(stack,context,schemaPath,instancePath,schema,value){let failedContexts=[],results=schema.anyOf.reduce((result,schema2,index3)=>{let nextContext=new ErrorContext,nextSchemaPath=`${schemaPath}/anyOf/${index3}`,isSchema=ErrorSchema(stack,nextContext,nextSchemaPath,instancePath,schema2,value);return isSchema||failedContexts.push(nextContext),isSchema?[...result,nextContext]:result},[]),isAnyOf=guard_exports.IsGreaterThan(results.length,0)&&context.Merge(results);return isAnyOf||failedContexts.forEach(failed=>failed.GetErrors().forEach(error2=>context.AddError(error2))),isAnyOf||context.AddError({keyword:"anyOf",schemaPath,instancePath,params:{}})}function BuildSchemaBoolean(_stack,_context,schema,_value){return schema?emit_exports.Constant(!0):emit_exports.Constant(!1)}function CheckSchemaBoolean(_stack,_context,schema,_value){return schema}function ErrorSchemaBoolean(stack,context,schemaPath,instancePath,schema,value){return CheckSchemaBoolean(stack,context,schema,value)||context.AddError({keyword:"boolean",schemaPath,instancePath,params:{}})}function BuildConst(_stack,_context,schema,value){return guard_exports.IsValueLike(schema.const)?emit_exports.IsEqual(value,emit_exports.Constant(schema.const)):emit_exports.IsDeepEqual(value,CreateVariable(schema.const))}function CheckConst(_stack,_context,schema,value){return guard_exports.IsValueLike(schema.const)?guard_exports.IsEqual(value,schema.const):guard_exports.IsDeepEqual(value,schema.const)}function ErrorConst(stack,context,schemaPath,instancePath,schema,value){return CheckConst(stack,context,schema,value)||context.AddError({keyword:"const",schemaPath,instancePath,params:{allowedValue:schema.const}})}function IsValid2(schema){return!(IsMinContains(schema)&&guard_exports.IsEqual(schema.minContains,0))}function BuildContainsStandard(stack,context,schema,value){let[item,index3]=[Unique(),Unique()],isLength=emit_exports.Not(emit_exports.IsEqual(emit_exports.Member(value,"length"),emit_exports.Constant(0))),isSome=emit_exports.SomeAll(value,[item,index3],emit_exports.And(BuildSchema(stack,context,schema.contains,item),context.AddIndex(index3)));return emit_exports.And(isLength,isSome)}function BuildContainsFast(stack,context,schema,value){let[item]=[Unique()],isLength=emit_exports.Not(emit_exports.IsEqual(emit_exports.Member(value,"length"),emit_exports.Constant(0))),isSome=emit_exports.Some(value,[item,"_"],BuildSchema(stack,context,schema.contains,item));return emit_exports.And(isLength,isSome)}function BuildContains(stack,context,schema,value){return IsValid2(schema)?context.UseUnevaluated()?BuildContainsStandard(stack,context,schema,value):BuildContainsFast(stack,context,schema,value):emit_exports.Constant(!0)}function CheckContains(stack,context,schema,value){return IsValid2(schema)?!guard_exports.IsEqual(value.length,0)&&guard_exports.SomeAll(value,(item,index3)=>CheckSchema(stack,context,schema.contains,item)&&context.AddIndex(index3)):!0}function ErrorContains(stack,context,schemaPath,instancePath,schema,value){return CheckContains(stack,context,schema,value)||context.AddError({keyword:"contains",schemaPath,instancePath,params:{minContains:1}})}function BuildDependencies(stack,context,schema,value){let isLength=emit_exports.IsEqual(emit_exports.Member(emit_exports.Keys(value),"length"),emit_exports.Constant(0)),isEveryDependency=emit_exports.ReduceAnd(guard_exports.Entries(schema.dependencies).map(([key,schema2])=>{let notKey=emit_exports.Not(emit_exports.HasPropertyKey(value,emit_exports.Constant(key))),isSchema=BuildSchema(stack,context,schema2,value),isEveryKey=schema3=>emit_exports.ReduceAnd(schema3.map(key2=>emit_exports.HasPropertyKey(value,emit_exports.Constant(key2))));return emit_exports.Or(notKey,guard_exports.IsArray(schema2)?isEveryKey(schema2):isSchema)}));return emit_exports.Or(isLength,isEveryDependency)}function CheckDependencies(stack,context,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEvery=guard_exports.Every(guard_exports.Entries(schema.dependencies),0,([key,schema2])=>!guard_exports.HasPropertyKey(value,key)||(guard_exports.IsArray(schema2)?schema2.every(key2=>guard_exports.HasPropertyKey(value,key2)):CheckSchema(stack,context,schema2,value)));return isLength||isEvery}function ErrorDependencies(stack,context,schemaPath,instancePath,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEvery=guard_exports.EveryAll(guard_exports.Entries(schema.dependencies),0,([key,schema2])=>{let nextSchemaPath=`${schemaPath}/dependencies/${key}`;return!guard_exports.HasPropertyKey(value,key)||(guard_exports.IsArray(schema2)?schema2.every(dependency=>guard_exports.HasPropertyKey(value,dependency)||context.AddError({keyword:"dependencies",schemaPath,instancePath,params:{property:key,dependencies:schema2}})):ErrorSchema(stack,context,nextSchemaPath,instancePath,schema2,value))});return isLength||isEvery}function BuildDependentRequired(_stack,_context,schema,value){let isLength=emit_exports.IsEqual(emit_exports.Member(emit_exports.Keys(value),"length"),emit_exports.Constant(0)),isEvery=emit_exports.ReduceAnd(guard_exports.Entries(schema.dependentRequired).map(([key,keys])=>{let notKey=emit_exports.Not(emit_exports.HasPropertyKey(value,emit_exports.Constant(key))),everyKey=emit_exports.ReduceAnd(keys.map(key2=>emit_exports.HasPropertyKey(value,emit_exports.Constant(key2))));return emit_exports.Or(notKey,everyKey)}));return emit_exports.Or(isLength,isEvery)}function CheckDependentRequired(_stack,_context,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEvery=guard_exports.Every(guard_exports.Entries(schema.dependentRequired),0,([key,keys])=>!guard_exports.HasPropertyKey(value,key)||keys.every(key2=>guard_exports.HasPropertyKey(value,key2)));return isLength||isEvery}function ErrorDependentRequired(_stack,context,schemaPath,instancePath,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEveryEntry=guard_exports.EveryAll(guard_exports.Entries(schema.dependentRequired),0,([key,keys])=>!guard_exports.HasPropertyKey(value,key)||guard_exports.EveryAll(keys,0,dependency=>guard_exports.HasPropertyKey(value,dependency)||context.AddError({keyword:"dependentRequired",schemaPath,instancePath,params:{property:key,dependencies:keys}})));return isLength||isEveryEntry}function BuildDependentSchemas(stack,context,schema,value){let isLength=emit_exports.IsEqual(emit_exports.Member(emit_exports.Keys(value),"length"),emit_exports.Constant(0)),isEvery=emit_exports.ReduceAnd(guard_exports.Entries(schema.dependentSchemas).map(([key,schema2])=>{let notKey=emit_exports.Not(emit_exports.HasPropertyKey(value,emit_exports.Constant(key))),isSchema=BuildSchema(stack,context,schema2,value);return emit_exports.Or(notKey,isSchema)}));return emit_exports.Or(isLength,isEvery)}function CheckDependentSchemas(stack,context,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEvery=guard_exports.Every(guard_exports.Entries(schema.dependentSchemas),0,([key,schema2])=>!guard_exports.HasPropertyKey(value,key)||CheckSchema(stack,context,schema2,value));return isLength||isEvery}function ErrorDependentSchemas(stack,context,schemaPath,instancePath,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEvery=guard_exports.EveryAll(guard_exports.Entries(schema.dependentSchemas),0,([key,schema2])=>{let nextSchemaPath=`${schemaPath}/dependentSchemas/${key}`;return!guard_exports.HasPropertyKey(value,key)||ErrorSchema(stack,context,nextSchemaPath,instancePath,schema2,value)});return isLength||isEvery}function BuildDynamicRef(stack,context,schema,value){let target=stack.DynamicRef(schema)??!1;return CreateFunction(stack,context,target,value)}function CheckDynamicRef(stack,context,schema,value){let target=stack.DynamicRef(schema)??!1;return IsSchema2(target)&&CheckSchema(stack,context,target,value)}function ErrorDynamicRef(stack,context,_schemaPath,instancePath,schema,value){let target=stack.DynamicRef(schema)??!1;return IsSchema2(target)&&ErrorSchema(stack,context,"#",instancePath,target,value)}function BuildEnum(_stack,_context,schema,value){return emit_exports.ReduceOr(schema.enum.map(option=>{if(guard_exports.IsValueLike(option))return emit_exports.IsEqual(value,emit_exports.Constant(option));let variable=CreateVariable(option);return emit_exports.IsDeepEqual(value,variable)}))}function CheckEnum(_stack,_context,schema,value){return guard_exports.Some(schema.enum,option=>guard_exports.IsValueLike(option)?guard_exports.IsEqual(value,option):guard_exports.IsDeepEqual(value,option))}function ErrorEnum(stack,context,schemaPath,instancePath,schema,value){return CheckEnum(stack,context,schema,value)||context.AddError({keyword:"enum",schemaPath,instancePath,params:{allowedValues:schema.enum}})}function BuildExclusiveMaximum(_stack,_context,schema,value){return emit_exports.IsLessThan(value,emit_exports.Constant(schema.exclusiveMaximum))}function CheckExclusiveMaximum(_stack,_context,schema,value){return guard_exports.IsLessThan(value,schema.exclusiveMaximum)}function ErrorExclusiveMaximum(stack,context,schemaPath,instancePath,schema,value){return CheckExclusiveMaximum(stack,context,schema,value)||context.AddError({keyword:"exclusiveMaximum",schemaPath,instancePath,params:{comparison:"<",limit:schema.exclusiveMaximum}})}function BuildExclusiveMinimum(_stack,_context,schema,value){return emit_exports.IsGreaterThan(value,emit_exports.Constant(schema.exclusiveMinimum))}function CheckExclusiveMinimum(_stack,_context,schema,value){return guard_exports.IsGreaterThan(value,schema.exclusiveMinimum)}function ErrorExclusiveMinimum(stack,context,schemaPath,instancePath,schema,value){return CheckExclusiveMinimum(stack,context,schema,value)||context.AddError({keyword:"exclusiveMinimum",schemaPath,instancePath,params:{comparison:">",limit:schema.exclusiveMinimum}})}var format_exports={};__export(format_exports,{Clear:()=>Clear,Entries:()=>Entries3,Get:()=>Get3,Has:()=>Has,IsDate:()=>IsDate2,IsDateTime:()=>IsDateTime,IsDuration:()=>IsDuration,IsEmail:()=>IsEmail,IsHostname:()=>IsHostname2,IsIPv4:()=>IsIPv4,IsIPv6:()=>IsIPv6,IsIdnEmail:()=>IsIdnEmail,IsIdnHostname:()=>IsIdnHostname2,IsIri:()=>IsIri,IsIriReference:()=>IsIriReference,IsJsonPointer:()=>IsJsonPointer,IsJsonPointerUriFragment:()=>IsJsonPointerUriFragment,IsRegex:()=>IsRegex,IsRelativeJsonPointer:()=>IsRelativeJsonPointer,IsTime:()=>IsTime,IsUri:()=>IsUri,IsUriReference:()=>IsUriReference,IsUriTemplate:()=>IsUriTemplate,IsUrl:()=>IsUrl,IsUuid:()=>IsUuid,Reset:()=>Reset2,Set:()=>Set3,Test:()=>Test});var DAYS=[0,31,28,31,30,31,30,31,31,30,31,30,31],DATE=/^(\d\d\d\d)-(\d\d)-(\d\d)$/;function IsLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function IsDate2(value){let matches=DATE.exec(value);if(!matches)return!1;let year=+matches[1],month=+matches[2],day=+matches[3];return month>=1&&month<=12&&day>=1&&day<=(month===2&&IsLeapYear(year)?29:DAYS[month])}var TIME=/^(\d\d):(\d\d):(\d\d)(?:\.\d+)?(?:([Zz])|([+-])(\d\d):(\d\d))?$/;function IsTime(value,strictTimeZone=!0){let matches=TIME.exec(value);if(!matches||strictTimeZone&&!matches[4]&&!matches[5])return!1;let hr=+matches[1],min=+matches[2],sec=+matches[3];if(hr>23||min>59||sec>60)return!1;if(matches[5]){let tzH2=+matches[6],tzM2=+matches[7];if(tzH2>23||tzM2>59)return!1}if(sec<60)return!0;let tzSign=matches[5]==="-"?-1:1,tzH=+(matches[6]||0),tzM=+(matches[7]||0);return((hr*60+min-tzSign*(tzH*60+tzM))%1440+1440)%1440===1439}function IsDateTime(value){let dateTime=value.split(/T/i);return dateTime.length===2&&IsDate2(dateTime[0])&&IsTime(dateTime[1])}var Duration=/^P((\d+Y(\d+M(\d+D)?)?|\d+M(\d+D)?|\d+D)(T(\d+H(\d+M(\d+S)?)?|\d+M(\d+S)?|\d+S))?|T(\d+H(\d+M(\d+S)?)?|\d+M(\d+S)?|\d+S)|\d+W)$/;function IsDuration(value){return Duration.test(value)}var Email=/^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[^"\\]|\\[\x20-\x7e])*")@(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*|\[(?:IPv6:[a-f0-9:]+|(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(?:\.(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})\])$/i;function IsEmail(value){return Email.test(value)}var RE_RULE_HYPHEN_PLACEMENT=/^(?!-).*(?<!-)$/,RE_RULE_NOT_RESERVED_ACE=/^(?!..--)/,RE_ASCII_LDH=/^[a-zA-Z0-9-]*$/,RE_ASCII=new RegExp("^\\p{ASCII}*$","u"),RE_NON_ASCII=/[^\p{ASCII}]/u;var RE_ASCII_DIGIT=/[0-9]/,RE_ARABIC_INDIC_DIGIT=/[\u{0660}-\u{0669}]/u,RE_EXT_ARABIC_INDIC_DIGIT=/[\u{06f0}-\u{06f9}]/u,RE_COMMON_SEPARATOR=/[\u{002e}\u{002c}\u{003a}\u{002f}]/u,RE_EUROPEAN_SEPARATOR=/[\u{002d}\u{002b}]/u,RE_MARK_NONSPACING=new RegExp("\\p{Mn}","u"),RE_MARK_SPACING_COMBINING=new RegExp("\\p{Mc}","u"),RE_MARK_ENCLOSING=new RegExp("\\p{Me}","u"),RE_COMBINING_MARK=/[\p{Mn}\p{Mc}\p{Me}]/u,RE_LETTER=new RegExp("\\p{L}","u"),RE_NUMBER_DECIMAL=new RegExp("\\p{Nd}","u"),RE_SCRIPT_GREEK=new RegExp("\\p{Script=Greek}","u"),RE_SCRIPT_HEBREW=new RegExp("\\p{Script=Hebrew}","u"),RE_SCRIPT_JAPANESE=/[\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Han}]/u,RE_SCRIPT_ARABIC_LETTER=/[\p{Script=Arabic}\p{Script=Syriac}\p{Script=Thaana}\p{Script=Mandaic}]/u,RE_VIRAMA=/[\u{094d}\u{09cd}\u{0a4d}\u{0acd}\u{0b4d}\u{0bcd}\u{0c4d}\u{0ccd}\u{0d3b}\u{0d3c}\u{0d4d}\u{0dca}\u{1b44}\u{1baa}\u{1bab}\u{a9c0}\u{11046}\u{1107f}\u{110b9}\u{11133}\u{11134}\u{111c0}\u{11235}\u{1134d}\u{11442}\u{114c2}\u{115bf}\u{1163f}\u{116b6}\u{11c3f}\u{11d44}\u{11d45}]/u,RE_RFC5892_DISALLOWED=/[\u{0640}\u{07fa}\u{302e}\u{302f}\u{3031}\u{3032}\u{3033}\u{3034}\u{3035}\u{303b}]/u,RE_CONTEXTO_EXCEPTIONS=/[\u{00b7}\u{0375}\u{05f3}\u{05f4}\u{200c}\u{200d}\u{30fb}]/u,RE_PVALID_EXCEPTIONS=/[\u{00df}\u{03c2}\u{06fd}\u{06fe}\u{0f0b}\u{3007}]/u,RE_EUROPEAN_NUMBER=new RegExp([RE_ASCII_DIGIT,RE_EXT_ARABIC_INDIC_DIGIT].map(regexp=>regexp.source).join("|"),"u"),RE_PERMITTED_CATEGORY=new RegExp([RE_LETTER,RE_EUROPEAN_SEPARATOR,RE_COMMON_SEPARATOR,RE_NUMBER_DECIMAL,RE_MARK_NONSPACING,RE_MARK_SPACING_COMBINING,RE_CONTEXTO_EXCEPTIONS,RE_PVALID_EXCEPTIONS].map(regexp=>regexp.source).join("|"),"u");function IsAsciiLabel(value){return RE_RULE_HYPHEN_PLACEMENT.test(value)&&RE_RULE_NOT_RESERVED_ACE.test(value)&&RE_ASCII_LDH.test(value)}var PUNYCODE_BASE=36,PUNYCODE_TMIN=1,PUNYCODE_TMAX=26,PUNYCODE_SKEW=38,PUNYCODE_DAMP=700,PUNYCODE_INITIAL_BIAS=72,PUNYCODE_INITIAL_N=128;function ThrowDontCare(){throw null}function IsAcePrefixed(value){return value.toLowerCase().startsWith("xn--")}function Adapt(delta,numPoints,firstTime){delta=firstTime?Math.floor(delta/PUNYCODE_DAMP):delta>>1,delta+=Math.floor(delta/numPoints);let k=0;for(;delta>(PUNYCODE_BASE-PUNYCODE_TMIN)*PUNYCODE_TMAX>>1;)delta=Math.floor(delta/(PUNYCODE_BASE-PUNYCODE_TMIN)),k+=PUNYCODE_BASE;return k+Math.floor((PUNYCODE_BASE-PUNYCODE_TMIN+1)*delta/(delta+PUNYCODE_SKEW))}function Decode2(value){let output=[],n=PUNYCODE_INITIAL_N,i=0,bias=PUNYCODE_INITIAL_BIAS,delimIdx=value.lastIndexOf("-");if(delimIdx>0)for(let j=0;j<delimIdx;j++){let cp=value.charCodeAt(j);cp>=128&&ThrowDontCare(),output.push(cp)}let inIdx=delimIdx<0?0:delimIdx+1;for(;inIdx<value.length;){let oldi=i,w=1,k=PUNYCODE_BASE;for(;;){inIdx>=value.length&&ThrowDontCare();let ch=value.charCodeAt(inIdx++),digit;ch>=97&&ch<=122?digit=ch-97:ch>=48&&ch<=57?digit=ch-48+26:ThrowDontCare(),i+=digit*w;let t=k<=bias?PUNYCODE_TMIN:k>=bias+PUNYCODE_TMAX?PUNYCODE_TMAX:k-bias;if(digit<t)break;w*=PUNYCODE_BASE-t,k+=PUNYCODE_BASE}let outLen=output.length+1;bias=Adapt(i-oldi,outLen,oldi===0),n+=Math.floor(i/outLen),i%=outLen,output.splice(i,0,n),i++}return String.fromCodePoint(...output)}function DigitToChar(digit){return digit<26?String.fromCharCode(digit+97):String.fromCharCode(digit-26+48)}var RE_REPLACE_NON_ASCII=new RegExp(RE_NON_ASCII.source,"gu");function Encode2(input){let basic=input.replace(RE_REPLACE_NON_ASCII,""),basicLength=basic.length,result=basicLength>0?[basic,"-"]:[],codePoints=Array.from(input,char=>char.codePointAt(0)),n=PUNYCODE_INITIAL_N,delta=0,bias=PUNYCODE_INITIAL_BIAS,handledCPCount=basicLength;for(;handledCPCount<codePoints.length;){let m=1/0;for(let cp of codePoints)cp>=n&&cp<m&&(m=cp);delta+=(m-n)*(handledCPCount+1),n=m;for(let cp of codePoints)if(cp<n&&delta++,cp===n){let q=delta;for(let k=PUNYCODE_BASE;;k+=PUNYCODE_BASE){let t=k<=bias?PUNYCODE_TMIN:k>=bias+PUNYCODE_TMAX?PUNYCODE_TMAX:k-bias;if(q<t)break;let digit=t+(q-t)%(PUNYCODE_BASE-t);result.push(DigitToChar(digit)),q=Math.floor((q-t)/(PUNYCODE_BASE-t))}result.push(DigitToChar(q)),bias=Adapt(delta,handledCPCount+1,handledCPCount===basicLength),delta=0,handledCPCount++}delta++,n++}return result.join("")}var RE_RTL_ALLOWED=/^(?:R|AL|AN|EN|ES|CS|ET|ON|BN|NSM)$/,RE_LTR_ALLOWED=/^(?:L|EN|ES|CS|ET|ON|BN|NSM)$/,RE_RTL_CLASSES=/^(?:R|AL|AN)$/;function HasBidiChars(value){if(IsAcePrefixed(value))try{return HasRightToLeftCharacters(Decode2(value.slice(4).toLowerCase()))}catch{return!1}return HasRightToLeftCharacters(value)}function GetBidiClass(codePoint){let char=String.fromCodePoint(codePoint);return RE_EUROPEAN_NUMBER.test(char)?"EN":RE_ARABIC_INDIC_DIGIT.test(char)?"AN":RE_MARK_NONSPACING.test(char)?"NSM":RE_SCRIPT_HEBREW.test(char)?"R":RE_SCRIPT_ARABIC_LETTER.test(char)?"AL":RE_LETTER.test(char)?"L":"ON"}function HasRightToLeftCharacters(value){for(let ch of value)if(RE_RTL_CLASSES.test(GetBidiClass(ch.codePointAt(0))))return!0;return!1}function SatisfiesBidiRule(value){let isRtl=!1,allowed=RE_LTR_ALLOWED,sawEN=!1,sawAN=!1,isFirst=!0;for(let ch of value){let bidiClass=GetBidiClass(ch.codePointAt(0));if(isFirst){if(bidiClass!=="L"&&bidiClass!=="R"&&bidiClass!=="AL")return!1;isRtl=bidiClass==="R"||bidiClass==="AL",allowed=isRtl?RE_RTL_ALLOWED:RE_LTR_ALLOWED,isFirst=!1}if(!allowed.test(bidiClass))return!1;bidiClass==="EN"?sawEN=!0:bidiClass==="AN"&&(sawAN=!0)}return!(isRtl&&sawEN&&sawAN)}function ExceedsMaxALabelLength(value){return RE_NON_ASCII.test(value)&&Encode2(value).length+4>63}function HasInvalidHyphens(chars){return chars[0]==="-"||chars[chars.length-1]==="-"?!0:chars.slice(2).join("").startsWith("--")}function IsUnicodeLabel(value){if(ExceedsMaxALabelLength(value)||HasRightToLeftCharacters(value)&&!SatisfiesBidiRule(value))return!1;let chars=[...value],codePoints=chars.map(c=>c.codePointAt(0)),length=codePoints.length;if(HasInvalidHyphens(chars)||RE_COMBINING_MARK.test(chars[0]))return!1;let hasJapanese=!1;for(let i=0;i<length;i++){let codePoint=codePoints[i],char=chars[i];if(RE_RFC5892_DISALLOWED.test(char)||!RE_PERMITTED_CATEGORY.test(char))return!1;RE_SCRIPT_JAPANESE.test(char)&&(hasJapanese=!0);let prev=codePoints[i-1],next=codePoints[i+1];switch(codePoint){case 183:if(prev!==108||next!==108)return!1;break;case 885:if(!next||!RE_SCRIPT_GREEK.test(chars[i+1]))return!1;break;case 1523:case 1524:if(!prev||!RE_SCRIPT_HEBREW.test(chars[i-1]))return!1;break;case 8204:if(!prev||prev<128&&!RE_VIRAMA.test(chars[i-1]))return!1;break;case 8205:if(!prev||!RE_VIRAMA.test(chars[i-1]))return!1;break;case 12539:break}}return!(value.includes("\u30FB")&&!hasJapanese)}function IsPunyLabel(value){if(!IsAcePrefixed(value))return!1;try{let body=value.slice(4).toLowerCase();if(body.lastIndexOf("-")===0)return!1;let decoded=Decode2(body);return RE_NON_ASCII.test(decoded)?IsUnicodeLabel(decoded):!1}catch{return!1}}function IsValidLabelLength(value){return value.length>0&&value.length<=63}function IsLabel(value){return IsValidLabelLength(value)&&(IsPunyLabel(value)||IsAsciiLabel(value))}function IsHostname(value){return value.length===0||value.length>253||value.charCodeAt(value.length-1)===46?!1:value.split(".").every(label=>IsLabel(label))}function IsValidLabelLength2(value){return value.length>0&&value.length<=63}function IsLabel2(value){return IsValidLabelLength2(value)&&(IsPunyLabel(value)||IsUnicodeLabel(value))}function NormalizeHostname(value){return value.replace(/[\uff01-\uff5e]/g,char=>String.fromCharCode(char.charCodeAt(0)-65248)).normalize("NFC").replace(/[\u00ad\u034f\u180b-\u180d\u200b\ufe00-\ufe0f\u{e0100}-\u{e01ef}]/gu,"").replace(/[\u002E\u3002\uFF0E\uFF61]/g,".")}function IsIdnHostname(value){if(value.length===0||value.includes(" "))return!1;let normalized=NormalizeHostname(value);if(normalized.length>253)return!1;let labels=normalized.split("."),hasBidiChars=labels.some(label=>HasBidiChars(label));return labels.every(label=>IsLabel2(label)&&(!hasBidiChars||SatisfiesBidiRule(label)))}function IsHostname2(value){return IsHostname(value)}var IdnEmail=/^(?:[A-Za-z0-9!#$%&'*+\/=?^_`{|}~\u{0080}-\u{10FFFF}-]+(?:\.[A-Za-z0-9!#$%&'*+\/=?^_`{|}~\u{0080}-\u{10FFFF}-]+)*|"(?:[^"\\]|\\.)*")@[\p{L}\p{N}](?:[\p{L}\p{N}-]{0,62})(?<!-)(?:\.[\p{L}\p{N}](?:[\p{L}\p{N}-]{0,62})(?<!-))*$/iu;function IsIdnEmail(value){return IdnEmail.test(value.normalize("NFC"))}function IsIdnHostname2(value){return IsIdnHostname(value)}var IPv4=/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;function IsIPv4(value){return IPv4.test(value)}var IPv6=/^(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:)?[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)$/i;function IsIPv6(value){return IPv6.test(value)}var InvalidIriChars=/[\x00-\x20\x7F\\]|%(?![0-9a-fA-F]{2})/,MalformedScheme=/^[a-zA-Z][a-zA-Z0-9+\-.]*\/\//;function IsIriReference(value){return!InvalidIriChars.test(value)&&!MalformedScheme.test(value)&&URL.canParse(value,"http://example.com")}var IpvFutureMatch=/\[[vV][0-9a-fA-F]+\.[^\]]+\]/,InvalidIriChars2=/[\x00-\x20<>\^`{|}\\]/,InvalidPercentEncoding=/%(?![0-9a-fA-F]{2})/;function NarrowIpvFuture(value){return value.length<2048?value.replace(IpvFutureMatch,"[::1]"):value}function IsIri(value){return InvalidIriChars2.test(value)||InvalidPercentEncoding.test(value)?!1:URL.canParse(NarrowIpvFuture(value))}var JsonPointerUriFragment=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;function IsJsonPointerUriFragment(value){return JsonPointerUriFragment.test(value)}var JsonPointer=/^(?:\/(?:[^~/]|~0|~1)*)*$/;function IsJsonPointer(value){return JsonPointer.test(value)}function IsRegex(value){try{return new RegExp(value,"u"),!0}catch{return!1}}var RelativeJsonPointer=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function IsRelativeJsonPointer(value){return RelativeJsonPointer.test(value)}var UriReference=/^(?:[a-z][a-z0-9+\-.]*:(?:\/\/(?:(?:[-a-z0-9._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:[\da-f]{1,4}:){6}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|::(?:[\da-f]{1,4}:){5}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:[\da-f]{1,4})?::(?:[\da-f]{1,4}:){4}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,1}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){3}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){2}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4})?::[\da-f]{1,4}:(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4})?::(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4})?::[\da-f]{1,4}|(?:(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4})?::)|v[0-9a-f]+\.[-a-z0-9._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)|(?:[-a-z0-9._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:\/\/(?:(?:[-a-z0-9._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:[\da-f]{1,4}:){6}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|::(?:[\da-f]{1,4}:){5}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:[\da-f]{1,4})?::(?:[\da-f]{1,4}:){4}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,1}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){3}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){2}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4})?::[\da-f]{1,4}:(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4})?::(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4})?::[\da-f]{1,4}|(?:(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4})?::)|v[0-9a-f]+\.[-a-z0-9._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)|(?:[-a-z0-9._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[-a-z0-9._~!$&'()*+,;=@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?)(?:\?(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function IsUriReference(value){return UriReference.test(value)}var UriTemplate=/^(?:(?:[^\x00-\x20"<>%\\^`{|}\x7f]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?:\.(?:[a-z0-9_]|%[0-9a-f]{2})+)*(?::[1-9]\d{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?:\.(?:[a-z0-9_]|%[0-9a-f]{2})+)*(?::[1-9]\d{0,3}|\*)?)*\})*$/i;function IsUriTemplate(value){return UriTemplate.test(value)}var Uri=/^[a-z][a-z0-9+\-.]*:(?:\/\/(?:(?:[-a-z0-9._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:[\da-f]{1,4}:){6}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|::(?:[\da-f]{1,4}:){5}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:[\da-f]{1,4})?::(?:[\da-f]{1,4}:){4}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,1}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){3}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){2}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4})?::[\da-f]{1,4}:(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4})?::(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4})?::[\da-f]{1,4}|(?:(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4})?::)|v[0-9a-f]+\.[-a-z0-9._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)|(?:[-a-z0-9._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function IsUri(value){return Uri.test(value)}function IsUrl(value){return URL.canParse(value)}var Uuid=/^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;function IsUuid(value){return Uuid.test(value)}var formats=new Map;function Clear(){formats.clear()}function Entries3(){return[...formats.entries()]}function Set3(format,check){formats.set(format,check)}function Has(format){return formats.has(format)}function Get3(format){return formats.get(format)}function Test(format,value){return formats.get(format)?.(value)??!0}function Reset2(){Clear(),formats.set("date-time",IsDateTime),formats.set("date",IsDate2),formats.set("duration",IsDuration),formats.set("email",IsEmail),formats.set("hostname",IsHostname2),formats.set("idn-email",IsIdnEmail),formats.set("idn-hostname",IsIdnHostname2),formats.set("ipv4",IsIPv4),formats.set("ipv6",IsIPv6),formats.set("iri-reference",IsIriReference),formats.set("iri",IsIri),formats.set("json-pointer-uri-fragment",IsJsonPointerUriFragment),formats.set("json-pointer",IsJsonPointer),formats.set("regex",IsRegex),formats.set("relative-json-pointer",IsRelativeJsonPointer),formats.set("time",IsTime),formats.set("uri-reference",IsUriReference),formats.set("uri-template",IsUriTemplate),formats.set("uri",IsUri),formats.set("url",IsUrl),formats.set("uuid",IsUuid)}Reset2();function BuildFormat(_stack,_context,schema,value){return emit_exports.Call(emit_exports.Member("Format","Test"),[emit_exports.Constant(schema.format),value])}function CheckFormat(_stack,_context,schema,value){return format_exports.Test(schema.format,value)}function ErrorFormat(stack,context,schemaPath,instancePath,schema,value){return CheckFormat(stack,context,schema,value)||context.AddError({keyword:"format",schemaPath,instancePath,params:{format:schema.format}})}function BuildIf(stack,context,schema,value){let thenSchema=IsThen(schema)?schema.then:!0,elseSchema=IsElse(schema)?schema.else:!0;return emit_exports.Ternary(BuildSchema(stack,context,schema.if,value),BuildSchema(stack,context,thenSchema,value),BuildSchema(stack,context,elseSchema,value))}function CheckIf(stack,context,schema,value){let thenSchema=IsThen(schema)?schema.then:!0,elseSchema=IsElse(schema)?schema.else:!0;return CheckSchema(stack,context,schema.if,value)?CheckSchema(stack,context,thenSchema,value):CheckSchema(stack,context,elseSchema,value)}function ErrorIf(stack,context,schemaPath,instancePath,schema,value){let thenSchema=IsThen(schema)?schema.then:!0,elseSchema=IsElse(schema)?schema.else:!0,trueContext=new ErrorContext,isIf=ErrorSchema(stack,trueContext,`${schemaPath}/if`,instancePath,schema.if,value)?ErrorSchema(stack,trueContext,`${schemaPath}/then`,instancePath,thenSchema,value)||context.AddError({keyword:"if",schemaPath,instancePath,params:{failingKeyword:"then"}}):ErrorSchema(stack,context,`${schemaPath}/else`,instancePath,elseSchema,value)||context.AddError({keyword:"if",schemaPath,instancePath,params:{failingKeyword:"else"}});return isIf&&context.Merge([trueContext]),isIf}function BuildItemsSizedStandard(stack,context,schema,value){return emit_exports.ReduceAnd(schema.items.map((schema2,index3)=>{let isLength=emit_exports.IsLessEqualThan(emit_exports.Member(value,"length"),emit_exports.Constant(index3)),isSchema=BuildSchemaPushStack(stack,context,schema2,`${value}[${index3}]`),addIndex=context.AddIndex(emit_exports.Constant(index3));return emit_exports.Or(isLength,emit_exports.And(isSchema,addIndex))}))}function BuildItemsSizedFast(stack,context,schema,value){return emit_exports.ReduceAnd(schema.items.map((schema2,index3)=>{let isLength=emit_exports.IsLessEqualThan(emit_exports.Member(value,"length"),emit_exports.Constant(index3)),isSchema=BuildSchemaPushStack(stack,context,schema2,`${value}[${index3}]`);return emit_exports.Or(isLength,isSchema)}))}function BuildItemsSized(stack,context,schema,value){return context.UseUnevaluated()?BuildItemsSizedStandard(stack,context,schema,value):BuildItemsSizedFast(stack,context,schema,value)}function CheckItemsSized(stack,context,schema,value){return guard_exports.Every(schema.items,0,(schema2,index3)=>guard_exports.IsLessEqualThan(value.length,index3)||CheckSchemaPushStack(stack,context,schema2,value[index3])&&context.AddIndex(index3))}function ErrorItemsSized(stack,context,schemaPath,instancePath,schema,value){return guard_exports.EveryAll(schema.items,0,(schema2,index3)=>{let nextSchemaPath=`${schemaPath}/items/${index3}`,nextInstancePath=`${instancePath}/${index3}`;return guard_exports.IsLessEqualThan(value.length,index3)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema2,value[index3])&&context.AddIndex(index3)})}function BuildItemsUnsizedStandard(stack,context,schema,value){let offset=IsPrefixItems(schema)?schema.prefixItems.length:0,isSchema=BuildSchemaPushStack(stack,context,schema.items,"element"),addIndex=context.AddIndex("index");return emit_exports.Every(value,emit_exports.Constant(offset),["element","index"],emit_exports.And(isSchema,addIndex))}function BuildItemsUnsizedFast(stack,context,schema,value){let offset=IsPrefixItems(schema)?schema.prefixItems.length:0,isSchema=BuildSchemaPushStack(stack,context,schema.items,"element");return emit_exports.Every(value,emit_exports.Constant(offset),["element","index"],isSchema)}function BuildItemsUnsized(stack,context,schema,value){return context.UseUnevaluated()?BuildItemsUnsizedStandard(stack,context,schema,value):BuildItemsUnsizedFast(stack,context,schema,value)}function CheckItemsUnsized(stack,context,schema,value){let offset=IsPrefixItems(schema)?schema.prefixItems.length:0;return guard_exports.Every(value,offset,(element,index3)=>CheckSchemaPushStack(stack,context,schema.items,element)&&context.AddIndex(index3))}function ErrorItemsUnsized(stack,context,schemaPath,instancePath,schema,value){let offset=IsPrefixItems(schema)?schema.prefixItems.length:0;return guard_exports.EveryAll(value,offset,(element,index3)=>{let nextSchemaPath=`${schemaPath}/items`,nextInstancePath=`${instancePath}/${index3}`;return ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema.items,element)&&context.AddIndex(index3)})}function BuildItems(stack,context,schema,value){return IsItemsSized(schema)?BuildItemsSized(stack,context,schema,value):BuildItemsUnsized(stack,context,schema,value)}function CheckItems(stack,context,schema,value){return IsItemsSized(schema)?CheckItemsSized(stack,context,schema,value):CheckItemsUnsized(stack,context,schema,value)}function ErrorItems(stack,context,schemaPath,instancePath,schema,value){return IsItemsSized(schema)?ErrorItemsSized(stack,context,schemaPath,instancePath,schema,value):ErrorItemsUnsized(stack,context,schemaPath,instancePath,schema,value)}function IsValid3(schema){return IsContains(schema)}function BuildMaxContains(stack,context,schema,value){if(!IsValid3(schema))return emit_exports.Constant(!0);let[item]=[Unique()],count=emit_exports.Counted(value,[item,"_"],BuildSchema(stack,context,schema.contains,item));return emit_exports.IsLessEqualThan(count,emit_exports.Constant(schema.maxContains))}function CheckMaxContains(stack,context,schema,value){if(!IsValid3(schema))return!0;let count=guard_exports.Counted(value,item=>CheckSchema(stack,context,schema.contains,item));return guard_exports.IsLessEqualThan(count,schema.maxContains)}function ErrorMaxContains(stack,context,schemaPath,instancePath,schema,value){let minContains=IsMinContains(schema)?schema.minContains:1;return CheckMaxContains(stack,context,schema,value)||context.AddError({keyword:"contains",schemaPath,instancePath,params:{minContains,maxContains:schema.maxContains}})}function BuildMaximum(_stack,_context,schema,value){return emit_exports.IsLessEqualThan(value,emit_exports.Constant(schema.maximum))}function CheckMaximum(_stack,_context,schema,value){return guard_exports.IsLessEqualThan(value,schema.maximum)}function ErrorMaximum(stack,context,schemaPath,instancePath,schema,value){return CheckMaximum(stack,context,schema,value)||context.AddError({keyword:"maximum",schemaPath,instancePath,params:{comparison:"<=",limit:schema.maximum}})}function BuildMaxItems(_stack,_context,schema,value){return emit_exports.IsLessEqualThan(emit_exports.Member(value,"length"),emit_exports.Constant(schema.maxItems))}function CheckMaxItems(_stack,_context,schema,value){return guard_exports.IsLessEqualThan(value.length,schema.maxItems)}function ErrorMaxItems(stack,context,schemaPath,instancePath,schema,value){return CheckMaxItems(stack,context,schema,value)||context.AddError({keyword:"maxItems",schemaPath,instancePath,params:{limit:schema.maxItems}})}function BuildMaxLength(_stack,_context,schema,value){return emit_exports.IsMaxLength(value,emit_exports.Constant(schema.maxLength))}function CheckMaxLength(_stack,_context,schema,value){return guard_exports.IsMaxLength(value,schema.maxLength)}function ErrorMaxLength(stack,context,schemaPath,instancePath,schema,value){return CheckMaxLength(stack,context,schema,value)||context.AddError({keyword:"maxLength",schemaPath,instancePath,params:{limit:schema.maxLength}})}function BuildMaxProperties(_stack,_context,schema,value){return emit_exports.IsLessEqualThan(emit_exports.Member(emit_exports.Keys(value),"length"),emit_exports.Constant(schema.maxProperties))}function CheckMaxProperties(_stack,_context,schema,value){return guard_exports.IsLessEqualThan(guard_exports.Keys(value).length,schema.maxProperties)}function ErrorMaxProperties(stack,context,schemaPath,instancePath,schema,value){return CheckMaxProperties(stack,context,schema,value)||context.AddError({keyword:"maxProperties",schemaPath,instancePath,params:{limit:schema.maxProperties}})}function IsValid4(schema){return IsContains(schema)}function BuildMinContainsStandard(stack,context,schema,value){let[item,index3]=[Unique(),Unique()],count=emit_exports.Counted(value,[item,index3],emit_exports.And(BuildSchema(stack,context,schema.contains,item),context.AddIndex(index3)));return emit_exports.IsGreaterEqualThan(count,emit_exports.Constant(schema.minContains))}function BuildMinContainsFast(stack,context,schema,value){let[item]=[Unique()],count=emit_exports.Counted(value,[item,"_"],BuildSchema(stack,context,schema.contains,item));return emit_exports.IsGreaterEqualThan(count,emit_exports.Constant(schema.minContains))}function BuildMinContains(stack,context,schema,value){return IsValid4(schema)?context.UseUnevaluated()?BuildMinContainsStandard(stack,context,schema,value):BuildMinContainsFast(stack,context,schema,value):emit_exports.Constant(!0)}function CheckMinContains(stack,context,schema,value){if(!IsValid4(schema))return!0;let count=guard_exports.Counted(value,(item,index3)=>CheckSchema(stack,context,schema.contains,item)&&context.AddIndex(index3));return guard_exports.IsGreaterEqualThan(count,schema.minContains)}function ErrorMinContains(stack,context,schemaPath,instancePath,schema,value){return CheckMinContains(stack,context,schema,value)||context.AddError({keyword:"contains",schemaPath,instancePath,params:{minContains:schema.minContains}})}function BuildMinimum(_stack,_context,schema,value){return emit_exports.IsGreaterEqualThan(value,emit_exports.Constant(schema.minimum))}function CheckMinimum(_stack,_context,schema,value){return guard_exports.IsGreaterEqualThan(value,schema.minimum)}function ErrorMinimum(stack,context,schemaPath,instancePath,schema,value){return CheckMinimum(stack,context,schema,value)||context.AddError({keyword:"minimum",schemaPath,instancePath,params:{comparison:">=",limit:schema.minimum}})}function BuildMinItems(_stack,_context,schema,value){return emit_exports.IsGreaterEqualThan(emit_exports.Member(value,"length"),emit_exports.Constant(schema.minItems))}function CheckMinItems(_stack,_context,schema,value){return guard_exports.IsGreaterEqualThan(value.length,schema.minItems)}function ErrorMinItems(stack,context,schemaPath,instancePath,schema,value){return CheckMinItems(stack,context,schema,value)||context.AddError({keyword:"minItems",schemaPath,instancePath,params:{limit:schema.minItems}})}function BuildMinLength(_stack,_context,schema,value){return emit_exports.IsMinLength(value,emit_exports.Constant(schema.minLength))}function CheckMinLength(_stack,_context,schema,value){return guard_exports.IsMinLength(value,schema.minLength)}function ErrorMinLength(stack,context,schemaPath,instancePath,schema,value){return CheckMinLength(stack,context,schema,value)||context.AddError({keyword:"minLength",schemaPath,instancePath,params:{limit:schema.minLength}})}function BuildMinProperties(_stack,_context,schema,value){return emit_exports.IsGreaterEqualThan(emit_exports.Member(emit_exports.Keys(value),"length"),emit_exports.Constant(schema.minProperties))}function CheckMinProperties(_stack,_context,schema,value){return guard_exports.IsGreaterEqualThan(guard_exports.Keys(value).length,schema.minProperties)}function ErrorMinProperties(stack,context,schemaPath,instancePath,schema,value){return CheckMinProperties(stack,context,schema,value)||context.AddError({keyword:"minProperties",schemaPath,instancePath,params:{limit:schema.minProperties}})}function BuildMultipleOf(_stack,_context,schema,value){return emit_exports.MultipleOf(value,emit_exports.Constant(schema.multipleOf))}function CheckMultipleOf(_stack,_context,schema,value){return guard_exports.IsMultipleOf(value,schema.multipleOf)}function ErrorMultipleOf(stack,context,schemaPath,instancePath,schema,value){return CheckMultipleOf(stack,context,schema,value)||context.AddError({keyword:"multipleOf",schemaPath,instancePath,params:{multipleOf:schema.multipleOf}})}function BuildNotStandard(stack,context,schema,value){return Reducer(stack,context,[schema.not],value,emit_exports.Not(emit_exports.IsEqual(emit_exports.Member("results","length"),emit_exports.Constant(1))))}function BuildNotFast(stack,context,schema,value){return emit_exports.Not(BuildSchema(stack,context,schema.not,value))}function BuildNot(stack,context,schema,value){return context.UseUnevaluated()?BuildNotStandard(stack,context,schema,value):BuildNotFast(stack,context,schema,value)}function CheckNot(stack,context,schema,value){let nextContext=new CheckContext;return!CheckSchema(stack,nextContext,schema.not,value)&&context.Merge([nextContext])}function ErrorNot(stack,context,schemaPath,instancePath,schema,value){return CheckNot(stack,context,schema,value)||context.AddError({keyword:"not",schemaPath,instancePath,params:{}})}function BuildOneOfStandard(stack,context,schema,value){return Reducer(stack,context,schema.oneOf,value,emit_exports.IsEqual(emit_exports.Member("results","length"),emit_exports.Constant(1)))}function BuildOneOfFast(stack,context,schema,value){let[result]=[Unique()],results=emit_exports.ArrayLiteral(schema.oneOf.map(schema2=>BuildSchema(stack,context,schema2,value))),count=emit_exports.Counted(results,[result,"_"],emit_exports.IsEqual(result,emit_exports.Constant(!0)));return emit_exports.IsEqual(count,emit_exports.Constant(1))}function BuildOneOf(stack,context,schema,value){return context.UseUnevaluated()?BuildOneOfStandard(stack,context,schema,value):BuildOneOfFast(stack,context,schema,value)}function CheckOneOf(stack,context,schema,value){let passedContexts=schema.oneOf.reduce((result,schema2)=>{let nextContext=new CheckContext;return CheckSchema(stack,nextContext,schema2,value)?[...result,nextContext]:result},[]);return guard_exports.IsEqual(passedContexts.length,1)&&context.Merge(passedContexts)}function ErrorOneOf(stack,context,schemaPath,instancePath,schema,value){let failedContexts=[],passingSchemas=[],passedContexts=schema.oneOf.reduce((result,schema2,index3)=>{let nextContext=new ErrorContext,nextSchemaPath=`${schemaPath}/oneOf/${index3}`,isSchema=ErrorSchema(stack,nextContext,nextSchemaPath,instancePath,schema2,value);return isSchema&&passingSchemas.push(index3),isSchema||failedContexts.push(nextContext),isSchema?[...result,nextContext]:result},[]),isOneOf=guard_exports.IsEqual(passedContexts.length,1)&&context.Merge(passedContexts);return!isOneOf&&guard_exports.IsEqual(passingSchemas.length,0)&&failedContexts.forEach(failed=>failed.GetErrors().forEach(error2=>context.AddError(error2))),isOneOf||context.AddError({keyword:"oneOf",schemaPath,instancePath,params:{passingSchemas}})}function BuildPattern(_stack,_context,schema,value){let regexp=CreateVariable(guard_exports.IsString(schema.pattern)?UnicodeRegExp(schema.pattern):schema.pattern);return emit_exports.Call(emit_exports.Member(regexp,"test"),[value])}function CheckPattern(_stack,_context,schema,value){return(guard_exports.IsString(schema.pattern)?UnicodeRegExp(schema.pattern):schema.pattern).test(value)}function ErrorPattern(stack,context,schemaPath,instancePath,schema,value){return CheckPattern(stack,context,schema,value)||context.AddError({keyword:"pattern",schemaPath,instancePath,params:{pattern:schema.pattern}})}function BuildPatternProperties(stack,context,schema,value){return emit_exports.ReduceAnd(guard_exports.Entries(schema.patternProperties).map(([pattern,schema2])=>{let[key,prop]=[Unique(),Unique()],regexp=CreateVariable(UnicodeRegExp(pattern)),notKey=emit_exports.Not(emit_exports.Call(emit_exports.Member(regexp,"test"),[key])),isSchema=BuildSchemaPushStack(stack,context,schema2,prop),addKey=context.AddKey(key),guarded=context.UseUnevaluated()?emit_exports.Or(notKey,emit_exports.And(isSchema,addKey)):emit_exports.Or(notKey,isSchema);return emit_exports.Every(emit_exports.Entries(value),emit_exports.Constant(0),[`[${key}, ${prop}]`,"_"],guarded)}))}function CheckPatternProperties(stack,context,schema,value){return guard_exports.Every(guard_exports.Entries(schema.patternProperties),0,([pattern,schema2])=>{let regexp=UnicodeRegExp(pattern);return guard_exports.Every(guard_exports.Entries(value),0,([key,prop])=>!regexp.test(key)||CheckSchemaPushStack(stack,context,schema2,prop)&&context.AddKey(key))})}function ErrorPatternProperties(stack,context,schemaPath,instancePath,schema,value){return guard_exports.EveryAll(guard_exports.Entries(schema.patternProperties),0,([pattern,schema2])=>{let nextSchemaPath=`${schemaPath}/patternProperties/${pattern}`,regexp=UnicodeRegExp(pattern);return guard_exports.EveryAll(guard_exports.Entries(value),0,([key,value2])=>{let nextInstancePath=`${instancePath}/${key}`;return!regexp.test(key)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema2,value2)&&context.AddKey(key)})})}function BuildPrefixItems(stack,context,schema,value){return emit_exports.ReduceAnd(schema.prefixItems.map((schema2,index3)=>{let isLength=emit_exports.IsLessEqualThan(emit_exports.Member(value,"length"),emit_exports.Constant(index3)),isSchema=BuildSchemaPushStack(stack,context,schema2,`${value}[${index3}]`),addIndex=context.AddIndex(emit_exports.Constant(index3)),guarded=context.UseUnevaluated()?emit_exports.And(isSchema,addIndex):isSchema;return emit_exports.Or(isLength,guarded)}))}function CheckPrefixItems(stack,context,schema,value){return guard_exports.IsEqual(value.length,0)||guard_exports.Every(schema.prefixItems,0,(schema2,index3)=>guard_exports.IsLessEqualThan(value.length,index3)||CheckSchemaPushStack(stack,context,schema2,value[index3])&&context.AddIndex(index3))}function ErrorPrefixItems(stack,context,schemaPath,instancePath,schema,value){return guard_exports.IsEqual(value.length,0)||guard_exports.EveryAll(schema.prefixItems,0,(schema2,index3)=>{let nextSchemaPath=`${schemaPath}/prefixItems/${index3}`,nextInstancePath=`${instancePath}/${index3}`;return guard_exports.IsLessEqualThan(value.length,index3)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema2,value[index3])&&context.AddIndex(index3)})}function IsExactOptional(required,key){return required.includes(key)||settings_exports.Get().exactOptionalPropertyTypes}function InexactOptionalBuild(value,key){return emit_exports.IsUndefined(emit_exports.Member(value,key))}function InexactOptionalCheck(value,key){return guard_exports.IsUndefined(value[key])}function BuildProperties(stack,context,schema,value){let required=IsRequired(schema)?schema.required:[],everyKey=guard_exports.Entries(schema.properties).map(([key,schema2])=>{let notKey=emit_exports.Not(emit_exports.HasPropertyKey(value,emit_exports.Constant(key))),isSchema=BuildSchemaPushStack(stack,context,schema2,emit_exports.Member(value,key)),addKey=context.AddKey(emit_exports.Constant(key)),guarded=context.UseUnevaluated()?emit_exports.And(isSchema,addKey):isSchema,isProperty=required.includes(key)?guarded:emit_exports.Or(notKey,guarded);return IsExactOptional(required,key)?isProperty:emit_exports.Or(InexactOptionalBuild(value,key),isProperty)});return emit_exports.ReduceAnd(everyKey)}function CheckProperties(stack,context,schema,value){let required=IsRequired(schema)?schema.required:[];return guard_exports.Every(guard_exports.Entries(schema.properties),0,([key,schema2])=>{let isProperty=!guard_exports.HasPropertyKey(value,key)||CheckSchemaPushStack(stack,context,schema2,value[key])&&context.AddKey(key);return IsExactOptional(required,key)?isProperty:InexactOptionalCheck(value,key)||isProperty})}function ErrorProperties(stack,context,schemaPath,instancePath,schema,value){let required=IsRequired(schema)?schema.required:[];return guard_exports.EveryAll(guard_exports.Entries(schema.properties),0,([key,schema2])=>{let nextSchemaPath=`${schemaPath}/properties/${key}`,nextInstancePath=`${instancePath}/${key}`,isProperty=()=>!guard_exports.HasPropertyKey(value,key)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema2,value[key])&&context.AddKey(key);return IsExactOptional(required,key)?isProperty():InexactOptionalCheck(value,key)||isProperty()})}function BuildPropertyNames(stack,context,schema,value){let[key,_index]=[Unique(),Unique()];return emit_exports.Every(emit_exports.Keys(value),emit_exports.Constant(0),[key,_index],BuildSchema(stack,context,schema.propertyNames,key))}function CheckPropertyNames(stack,context,schema,value){return guard_exports.Every(guard_exports.Keys(value),0,(key,_index)=>CheckSchema(stack,context,schema.propertyNames,key))}function ErrorPropertyNames(stack,context,schemaPath,instancePath,schema,value){let propertyNames=[];return guard_exports.EveryAll(guard_exports.Keys(value),0,(key,_index)=>{let nextInstancePath=`${instancePath}/${key}`,nextSchemaPath=`${schemaPath}/propertyNames`,isPropertyName=ErrorSchema(stack,context,nextSchemaPath,nextInstancePath,schema.propertyNames,key);return isPropertyName||propertyNames.push(key),isPropertyName})||context.AddError({keyword:"propertyNames",schemaPath,instancePath,params:{propertyNames}})}function BuildRecursiveRef(stack,context,schema,value){let target=stack.RecursiveRef(schema)??!1;return CreateFunction(stack,context,target,value)}function CheckRecursiveRef(stack,context,schema,value){let target=stack.RecursiveRef(schema)??!1;return IsSchema2(target)&&CheckSchema(stack,context,target,value)}function ErrorRecursiveRef(stack,context,_schemaPath,instancePath,schema,value){let target=stack.RecursiveRef(schema)??!1;return IsSchema2(target)&&ErrorSchema(stack,context,"#",instancePath,target,value)}function BuildRefStandard(stack,context,target,value){let interior=emit_exports.ArrowFunction(["context","value"],CreateFunction(stack,context,target,"value")),exterior=emit_exports.ArrowFunction(["context","value"],emit_exports.Statements([emit_exports.ConstDeclaration("nextContext",emit_exports.New("CheckContext",[])),emit_exports.ConstDeclaration("result",emit_exports.Call(interior,["nextContext","value"])),emit_exports.If("result",context.Merge("[nextContext]")),emit_exports.Return("result")]));return emit_exports.Call(exterior,["context",value])}function BuildRefFast(stack,context,target,value){return CreateFunction(stack,context,target,value)}function BuildRef(stack,context,schema,value){let target=stack.Ref(schema)??!1;return context.UseUnevaluated()?BuildRefStandard(stack,context,target,value):BuildRefFast(stack,context,target,value)}function CheckRef(stack,context,schema,value){let target=stack.Ref(schema)??!1,nextContext=new CheckContext,result=IsSchema2(target)&&CheckSchema(stack,nextContext,target,value);return result&&context.Merge([nextContext]),result}function ErrorRef(stack,context,_schemaPath,instancePath,schema,value){let target=stack.Ref(schema)??!1,nextContext=new ErrorContext,result=IsSchema2(target)&&ErrorSchema(stack,nextContext,"#",instancePath,target,value);return result&&context.Merge([nextContext]),result||nextContext.GetErrors().forEach(error2=>context.AddError(error2)),result}function BuildRequired(_stack,_context,schema,value){return emit_exports.ReduceAnd(schema.required.map(key=>emit_exports.HasPropertyKey(value,emit_exports.Constant(key))))}function CheckRequired(_stack,_context,schema,value){return guard_exports.Every(schema.required,0,key=>guard_exports.HasPropertyKey(value,key))}function ErrorRequired(_stack,context,schemaPath,instancePath,schema,value){let requiredProperties=[];return guard_exports.EveryAll(schema.required,0,key=>{let hasKey=guard_exports.HasPropertyKey(value,key);return hasKey||requiredProperties.push(key),hasKey})||context.AddError({keyword:"required",schemaPath,instancePath,params:{requiredProperties}})}function BuildTypeName(_stack,_context,type,value){return guard_exports.IsEqual(type,"object")?emit_exports.IsObjectNotArray(value):guard_exports.IsEqual(type,"array")?emit_exports.IsArray(value):guard_exports.IsEqual(type,"boolean")?emit_exports.IsBoolean(value):guard_exports.IsEqual(type,"integer")?emit_exports.IsInteger(value):guard_exports.IsEqual(type,"number")?emit_exports.IsNumber(value):guard_exports.IsEqual(type,"null")?emit_exports.IsNull(value):guard_exports.IsEqual(type,"string")?emit_exports.IsString(value):guard_exports.IsEqual(type,"bigint")?emit_exports.IsBigInt(value):guard_exports.IsEqual(type,"constructor")?emit_exports.IsConstructor(value):guard_exports.IsEqual(type,"function")?emit_exports.IsFunction(value):guard_exports.IsEqual(type,"symbol")?emit_exports.IsSymbol(value):guard_exports.IsEqual(type,"undefined")?emit_exports.IsUndefined(value):guard_exports.IsEqual(type,"void")?emit_exports.IsUndefined(value):emit_exports.Constant(!0)}function CheckTypeName(_stack,_context,type,_schema,value){return guard_exports.IsEqual(type,"object")?guard_exports.IsObjectNotArray(value):guard_exports.IsEqual(type,"array")?guard_exports.IsArray(value):guard_exports.IsEqual(type,"boolean")?guard_exports.IsBoolean(value):guard_exports.IsEqual(type,"integer")?guard_exports.IsInteger(value):guard_exports.IsEqual(type,"number")?guard_exports.IsNumber(value):guard_exports.IsEqual(type,"null")?guard_exports.IsNull(value):guard_exports.IsEqual(type,"string")?guard_exports.IsString(value):guard_exports.IsEqual(type,"bigint")?guard_exports.IsBigInt(value):guard_exports.IsEqual(type,"constructor")?guard_exports.IsConstructor(value):guard_exports.IsEqual(type,"function")?guard_exports.IsFunction(value):guard_exports.IsEqual(type,"symbol")?guard_exports.IsSymbol(value):guard_exports.IsEqual(type,"undefined")?guard_exports.IsUndefined(value):guard_exports.IsEqual(type,"void")?guard_exports.IsUndefined(value):!0}function BuildTypeNames(stack,context,typenames,value){return emit_exports.ReduceOr(typenames.map(type=>BuildTypeName(stack,context,type,value)))}function CheckTypeNames(stack,context,types,schema,value){return guard_exports.Some(types,type=>CheckTypeName(stack,context,type,schema,value))}function BuildType(stack,context,schema,value){return guard_exports.IsArray(schema.type)?BuildTypeNames(stack,context,schema.type,value):BuildTypeName(stack,context,schema.type,value)}function CheckType(stack,context,schema,value){return guard_exports.IsArray(schema.type)?CheckTypeNames(stack,context,schema.type,schema,value):CheckTypeName(stack,context,schema.type,schema,value)}function ErrorType(stack,context,schemaPath,instancePath,schema,value){return(guard_exports.IsArray(schema.type)?CheckTypeNames(stack,context,schema.type,schema,value):CheckTypeName(stack,context,schema.type,schema,value))||context.AddError({keyword:"type",schemaPath,instancePath,params:{type:schema.type}})}function BuildUnevaluatedItems(stack,context,schema,value){let[index3,item]=[Unique(),Unique()],indices=emit_exports.Call(emit_exports.Member("context","GetIndices"),[]),hasIndex=emit_exports.Call(emit_exports.Member("indices","has"),[index3]),isSchema=BuildSchema(stack,context,schema.unevaluatedItems,item),addIndex=emit_exports.Call(emit_exports.Member("context","AddIndex"),[index3]),isEvery=emit_exports.Every(value,emit_exports.Constant(0),[item,index3],emit_exports.And(emit_exports.Or(hasIndex,isSchema),addIndex));return emit_exports.Call(emit_exports.ArrowFunction(["context"],emit_exports.Statements([emit_exports.ConstDeclaration("indices",indices),emit_exports.Return(isEvery)])),["context"])}function CheckUnevaluatedItems(stack,context,schema,value){let indices=context.GetIndices();return guard_exports.Every(value,0,(item,index3)=>(indices.has(index3)||CheckSchema(stack,context,schema.unevaluatedItems,item))&&context.AddIndex(index3))}function ErrorUnevaluatedItems(stack,context,schemaPath,instancePath,schema,value){let indices=context.GetIndices(),unevaluatedItems=[];return guard_exports.EveryAll(value,0,(item,index3)=>{let nextContext=new ErrorContext,isEvaluatedItem=(indices.has(index3)||ErrorSchema(stack,nextContext,schemaPath,instancePath,schema.unevaluatedItems,item))&&context.AddIndex(index3);return isEvaluatedItem||unevaluatedItems.push(index3),isEvaluatedItem})||context.AddError({keyword:"unevaluatedItems",schemaPath,instancePath,params:{unevaluatedItems}})}function BuildUnevaluatedProperties(stack,context,schema,value){let[key,prop]=[Unique(),Unique()],keys=emit_exports.Call(emit_exports.Member("context","GetKeys"),[]),hasKey=emit_exports.Call(emit_exports.Member("keys","has"),[key]),addKey=emit_exports.Call(emit_exports.Member("context","AddKey"),[key]),isSchema=BuildSchema(stack,context,schema.unevaluatedProperties,prop),isEvery=emit_exports.Every(emit_exports.Entries(value),emit_exports.Constant(0),[`[${key}, ${prop}]`,"_"],emit_exports.Or(hasKey,emit_exports.And(isSchema,addKey)));return emit_exports.Call(emit_exports.ArrowFunction(["context"],emit_exports.Statements([emit_exports.ConstDeclaration("keys",keys),emit_exports.Return(isEvery)])),["context"])}function CheckUnevaluatedProperties(stack,context,schema,value){let keys=context.GetKeys();return guard_exports.Every(guard_exports.Entries(value),0,([key,prop])=>keys.has(key)||CheckSchema(stack,context,schema.unevaluatedProperties,prop)&&context.AddKey(key))}function ErrorUnevaluatedProperties(stack,context,schemaPath,instancePath,schema,value){let keys=context.GetKeys(),unevaluatedProperties=[];return guard_exports.EveryAll(guard_exports.Entries(value),0,([key,prop])=>{let nextContext=new ErrorContext,isEvaluatedProperty=keys.has(key)||ErrorSchema(stack,nextContext,schemaPath,instancePath,schema.unevaluatedProperties,prop)&&context.AddKey(key);return isEvaluatedProperty||unevaluatedProperties.push(key),isEvaluatedProperty})||context.AddError({keyword:"unevaluatedProperties",schemaPath,instancePath,params:{unevaluatedProperties}})}function IsValid5(schema){return!guard_exports.IsEqual(schema.uniqueItems,!1)}function BuildUniqueItems(_stack,_context,schema,value){if(!IsValid5(schema))return emit_exports.Constant(!0);let set=emit_exports.Member(emit_exports.New("Set",[emit_exports.Call(emit_exports.Member(value,"map"),[emit_exports.Member("Hashing","Hash")])]),"size"),isLength=emit_exports.Member(value,"length");return emit_exports.IsEqual(set,isLength)}function CheckUniqueItems(_stack,_context,schema,value){if(!IsValid5(schema))return!0;let set=new Set(value.map(hash_exports.Hash)).size,isLength=value.length;return guard_exports.IsEqual(set,isLength)}function ErrorUniqueItems(_stack,context,schemaPath,instancePath,schema,value){if(!IsValid5(schema))return!0;let set=new Set,duplicateItems=value.reduce((result,value2,index3)=>{let hash=hash_exports.Hash(value2);return set.has(hash)?[...result,index3]:(set.add(hash),result)},[]);return guard_exports.IsEqual(duplicateItems.length,0)||context.AddError({keyword:"uniqueItems",schemaPath,instancePath,params:{duplicateItems}})}function HasTypeName(schema,typename){return IsType(schema)&&(guard_exports.IsArray(schema.type)&&guard_exports.IsGreaterThan(schema.type.length,0)&&guard_exports.Every(schema.type,0,type=>guard_exports.IsEqual(type,typename))||guard_exports.IsEqual(schema.type,typename))}function HasObjectType(schema){return HasTypeName(schema,"object")}function HasObjectKeywords(schema){return IsSchemaObject2(schema)&&(IsAdditionalProperties(schema)||IsDependencies(schema)||IsDependentRequired(schema)||IsDependentSchemas(schema)||IsProperties(schema)||IsPatternProperties(schema)||IsPropertyNames(schema)||IsMinProperties(schema)||IsMaxProperties(schema)||IsRequired(schema)||IsUnevaluatedProperties(schema))}function HasArrayType(schema){return HasTypeName(schema,"array")}function HasArrayKeywords(schema){return IsSchemaObject2(schema)&&(IsAdditionalItems(schema)||IsItems(schema)||IsContains(schema)||IsMaxContains(schema)||IsMaxItems(schema)||IsMinContains(schema)||IsMinItems(schema)||IsPrefixItems(schema)||IsUnevaluatedItems(schema)||IsUniqueItems(schema))}function HasStringType(schema){return HasTypeName(schema,"string")}function HasStringKeywords(schema){return IsSchemaObject2(schema)&&(IsMinLength4(schema)||IsMaxLength4(schema)||IsFormat(schema)||IsPattern(schema))}function HasNumberType(schema){return HasTypeName(schema,"number")||HasTypeName(schema,"bigint")}function HasNumberKeywords(schema){return IsSchemaObject2(schema)&&(IsMinimum(schema)||IsMaximum(schema)||IsExclusiveMaximum(schema)||IsExclusiveMinimum(schema)||IsMultipleOf2(schema))}function BuildSchemaPushStack(stack,context,schema,value){return context.UseUnevaluated()?emit_exports.And(emit_exports.And(context.Push(),BuildSchema(stack,context,schema,value)),context.Pop()):BuildSchema(stack,context,schema,value)}function BuildSchema(stack,context,schema,value){stack.Push(schema);let conditions=[];if(IsSchemaBoolean(schema))return BuildSchemaBoolean(stack,context,schema,value);if(IsType(schema)&&conditions.push(BuildType(stack,context,schema,value)),HasObjectKeywords(schema)){let constraints=[];IsRequired(schema)&&constraints.push(BuildRequired(stack,context,schema,value)),IsAdditionalProperties(schema)&&constraints.push(BuildAdditionalProperties(stack,context,schema,value)),IsDependencies(schema)&&constraints.push(BuildDependencies(stack,context,schema,value)),IsDependentRequired(schema)&&constraints.push(BuildDependentRequired(stack,context,schema,value)),IsDependentSchemas(schema)&&constraints.push(BuildDependentSchemas(stack,context,schema,value)),IsPatternProperties(schema)&&constraints.push(BuildPatternProperties(stack,context,schema,value)),IsProperties(schema)&&constraints.push(BuildProperties(stack,context,schema,value)),IsPropertyNames(schema)&&constraints.push(BuildPropertyNames(stack,context,schema,value)),IsMinProperties(schema)&&constraints.push(BuildMinProperties(stack,context,schema,value)),IsMaxProperties(schema)&&constraints.push(BuildMaxProperties(stack,context,schema,value));let reduced=emit_exports.ReduceAnd(constraints),guarded=emit_exports.Or(emit_exports.Not(emit_exports.IsObjectNotArray(value)),reduced);conditions.push(HasObjectType(schema)?reduced:guarded)}if(HasArrayKeywords(schema)){let constraints=[];IsAdditionalItems(schema)&&constraints.push(BuildAdditionalItems(stack,context,schema,value)),IsContains(schema)&&constraints.push(BuildContains(stack,context,schema,value)),IsItems(schema)&&constraints.push(BuildItems(stack,context,schema,value)),IsMaxContains(schema)&&constraints.push(BuildMaxContains(stack,context,schema,value)),IsMaxItems(schema)&&constraints.push(BuildMaxItems(stack,context,schema,value)),IsMinContains(schema)&&constraints.push(BuildMinContains(stack,context,schema,value)),IsMinItems(schema)&&constraints.push(BuildMinItems(stack,context,schema,value)),IsPrefixItems(schema)&&constraints.push(BuildPrefixItems(stack,context,schema,value)),IsUniqueItems(schema)&&constraints.push(BuildUniqueItems(stack,context,schema,value));let reduced=emit_exports.ReduceAnd(constraints),guarded=emit_exports.Or(emit_exports.Not(emit_exports.IsArray(value)),reduced);conditions.push(HasArrayType(schema)?reduced:guarded)}if(HasStringKeywords(schema)){let constraints=[];IsMaxLength4(schema)&&constraints.push(BuildMaxLength(stack,context,schema,value)),IsMinLength4(schema)&&constraints.push(BuildMinLength(stack,context,schema,value)),IsFormat(schema)&&constraints.push(BuildFormat(stack,context,schema,value)),IsPattern(schema)&&constraints.push(BuildPattern(stack,context,schema,value));let reduced=emit_exports.ReduceAnd(constraints),guarded=emit_exports.Or(emit_exports.Not(emit_exports.IsString(value)),reduced);conditions.push(HasStringType(schema)?reduced:guarded)}if(HasNumberKeywords(schema)){let constraints=[];IsExclusiveMaximum(schema)&&constraints.push(BuildExclusiveMaximum(stack,context,schema,value)),IsExclusiveMinimum(schema)&&constraints.push(BuildExclusiveMinimum(stack,context,schema,value)),IsMaximum(schema)&&constraints.push(BuildMaximum(stack,context,schema,value)),IsMinimum(schema)&&constraints.push(BuildMinimum(stack,context,schema,value)),IsMultipleOf2(schema)&&constraints.push(BuildMultipleOf(stack,context,schema,value));let reduced=emit_exports.ReduceAnd(constraints),guarded=emit_exports.Or(emit_exports.Not(emit_exports.Or(emit_exports.IsNumber(value),emit_exports.IsBigInt(value))),reduced);conditions.push(HasNumberType(schema)?reduced:guarded)}IsRef2(schema)&&conditions.push(BuildRef(stack,context,schema,value)),IsRecursiveRef(schema)&&conditions.push(BuildRecursiveRef(stack,context,schema,value)),IsDynamicRef(schema)&&conditions.push(BuildDynamicRef(stack,context,schema,value)),IsConst(schema)&&conditions.push(BuildConst(stack,context,schema,value)),IsEnum2(schema)&&conditions.push(BuildEnum(stack,context,schema,value)),IsIf(schema)&&conditions.push(BuildIf(stack,context,schema,value)),IsNot(schema)&&conditions.push(BuildNot(stack,context,schema,value)),IsAllOf(schema)&&conditions.push(BuildAllOf(stack,context,schema,value)),IsAnyOf(schema)&&conditions.push(BuildAnyOf(stack,context,schema,value)),IsOneOf(schema)&&conditions.push(BuildOneOf(stack,context,schema,value)),IsUnevaluatedItems(schema)&&conditions.push(emit_exports.Or(emit_exports.Not(emit_exports.IsArray(value)),BuildUnevaluatedItems(stack,context,schema,value))),IsUnevaluatedProperties(schema)&&conditions.push(emit_exports.Or(emit_exports.Not(emit_exports.IsObject(value)),BuildUnevaluatedProperties(stack,context,schema,value))),IsRefine2(schema)&&conditions.push(BuildRefine(stack,context,schema,value));let result=emit_exports.ReduceAnd(conditions);return stack.Pop(schema),result}function CheckSchemaPushStack(stack,context,schema,value){return context.Push()&&CheckSchema(stack,context,schema,value)&&context.Pop()}function CheckSchema(stack,context,schema,value){stack.Push(schema);let result=IsSchemaBoolean(schema)?CheckSchemaBoolean(stack,context,schema,value):(!IsType(schema)||CheckType(stack,context,schema,value))&&(!(guard_exports.IsObject(value)&&!guard_exports.IsArray(value))||(!IsRequired(schema)||CheckRequired(stack,context,schema,value))&&(!IsAdditionalProperties(schema)||CheckAdditionalProperties(stack,context,schema,value))&&(!IsDependencies(schema)||CheckDependencies(stack,context,schema,value))&&(!IsDependentRequired(schema)||CheckDependentRequired(stack,context,schema,value))&&(!IsDependentSchemas(schema)||CheckDependentSchemas(stack,context,schema,value))&&(!IsPatternProperties(schema)||CheckPatternProperties(stack,context,schema,value))&&(!IsProperties(schema)||CheckProperties(stack,context,schema,value))&&(!IsPropertyNames(schema)||CheckPropertyNames(stack,context,schema,value))&&(!IsMinProperties(schema)||CheckMinProperties(stack,context,schema,value))&&(!IsMaxProperties(schema)||CheckMaxProperties(stack,context,schema,value)))&&(!guard_exports.IsArray(value)||(!IsAdditionalItems(schema)||CheckAdditionalItems(stack,context,schema,value))&&(!IsContains(schema)||CheckContains(stack,context,schema,value))&&(!IsItems(schema)||CheckItems(stack,context,schema,value))&&(!IsMaxContains(schema)||CheckMaxContains(stack,context,schema,value))&&(!IsMaxItems(schema)||CheckMaxItems(stack,context,schema,value))&&(!IsMinContains(schema)||CheckMinContains(stack,context,schema,value))&&(!IsMinItems(schema)||CheckMinItems(stack,context,schema,value))&&(!IsPrefixItems(schema)||CheckPrefixItems(stack,context,schema,value))&&(!IsUniqueItems(schema)||CheckUniqueItems(stack,context,schema,value)))&&(!guard_exports.IsString(value)||(!IsMaxLength4(schema)||CheckMaxLength(stack,context,schema,value))&&(!IsMinLength4(schema)||CheckMinLength(stack,context,schema,value))&&(!IsFormat(schema)||CheckFormat(stack,context,schema,value))&&(!IsPattern(schema)||CheckPattern(stack,context,schema,value)))&&(!(guard_exports.IsNumber(value)||guard_exports.IsBigInt(value))||(!IsExclusiveMaximum(schema)||CheckExclusiveMaximum(stack,context,schema,value))&&(!IsExclusiveMinimum(schema)||CheckExclusiveMinimum(stack,context,schema,value))&&(!IsMaximum(schema)||CheckMaximum(stack,context,schema,value))&&(!IsMinimum(schema)||CheckMinimum(stack,context,schema,value))&&(!IsMultipleOf2(schema)||CheckMultipleOf(stack,context,schema,value)))&&(!IsRef2(schema)||CheckRef(stack,context,schema,value))&&(!IsRecursiveRef(schema)||CheckRecursiveRef(stack,context,schema,value))&&(!IsDynamicRef(schema)||CheckDynamicRef(stack,context,schema,value))&&(!IsConst(schema)||CheckConst(stack,context,schema,value))&&(!IsEnum2(schema)||CheckEnum(stack,context,schema,value))&&(!IsIf(schema)||CheckIf(stack,context,schema,value))&&(!IsNot(schema)||CheckNot(stack,context,schema,value))&&(!IsAllOf(schema)||CheckAllOf(stack,context,schema,value))&&(!IsAnyOf(schema)||CheckAnyOf(stack,context,schema,value))&&(!IsOneOf(schema)||CheckOneOf(stack,context,schema,value))&&(!IsUnevaluatedItems(schema)||!guard_exports.IsArray(value)||CheckUnevaluatedItems(stack,context,schema,value))&&(!IsUnevaluatedProperties(schema)||!guard_exports.IsObject(value)||CheckUnevaluatedProperties(stack,context,schema,value))&&(!IsRefine2(schema)||CheckRefine(stack,context,schema,value));return stack.Pop(schema),result}function ErrorSchemaPushStack(stack,context,schemaPath,instancePath,schema,value){return context.Push()&&ErrorSchema(stack,context,schemaPath,instancePath,schema,value)&&context.Pop()}function ErrorSchema(stack,context,schemaPath,instancePath,schema,value){if(context.AtCapacity())return!1;stack.Push(schema);let result=IsSchemaBoolean(schema)?ErrorSchemaBoolean(stack,context,schemaPath,instancePath,schema,value):!!(+(!IsType(schema)||ErrorType(stack,context,schemaPath,instancePath,schema,value))&+(!(guard_exports.IsObject(value)&&!guard_exports.IsArray(value))||!!(+(!IsRequired(schema)||ErrorRequired(stack,context,schemaPath,instancePath,schema,value))&+(!IsAdditionalProperties(schema)||ErrorAdditionalProperties(stack,context,schemaPath,instancePath,schema,value))&+(!IsDependencies(schema)||ErrorDependencies(stack,context,schemaPath,instancePath,schema,value))&+(!IsDependentRequired(schema)||ErrorDependentRequired(stack,context,schemaPath,instancePath,schema,value))&+(!IsDependentSchemas(schema)||ErrorDependentSchemas(stack,context,schemaPath,instancePath,schema,value))&+(!IsPatternProperties(schema)||ErrorPatternProperties(stack,context,schemaPath,instancePath,schema,value))&+(!IsProperties(schema)||ErrorProperties(stack,context,schemaPath,instancePath,schema,value))&+(!IsPropertyNames(schema)||ErrorPropertyNames(stack,context,schemaPath,instancePath,schema,value))&+(!IsMinProperties(schema)||ErrorMinProperties(stack,context,schemaPath,instancePath,schema,value))&+(!IsMaxProperties(schema)||ErrorMaxProperties(stack,context,schemaPath,instancePath,schema,value))))&+(!guard_exports.IsArray(value)||!!(+(!IsAdditionalItems(schema)||ErrorAdditionalItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsContains(schema)||ErrorContains(stack,context,schemaPath,instancePath,schema,value))&+(!IsItems(schema)||ErrorItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsMaxContains(schema)||ErrorMaxContains(stack,context,schemaPath,instancePath,schema,value))&+(!IsMaxItems(schema)||ErrorMaxItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsMinContains(schema)||ErrorMinContains(stack,context,schemaPath,instancePath,schema,value))&+(!IsMinItems(schema)||ErrorMinItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsPrefixItems(schema)||ErrorPrefixItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsUniqueItems(schema)||ErrorUniqueItems(stack,context,schemaPath,instancePath,schema,value))))&+(!guard_exports.IsString(value)||!!(+(!IsMaxLength4(schema)||ErrorMaxLength(stack,context,schemaPath,instancePath,schema,value))&+(!IsMinLength4(schema)||ErrorMinLength(stack,context,schemaPath,instancePath,schema,value))&+(!IsFormat(schema)||ErrorFormat(stack,context,schemaPath,instancePath,schema,value))&+(!IsPattern(schema)||ErrorPattern(stack,context,schemaPath,instancePath,schema,value))))&+(!(guard_exports.IsNumber(value)||guard_exports.IsBigInt(value))||!!(+(!IsExclusiveMaximum(schema)||ErrorExclusiveMaximum(stack,context,schemaPath,instancePath,schema,value))&+(!IsExclusiveMinimum(schema)||ErrorExclusiveMinimum(stack,context,schemaPath,instancePath,schema,value))&+(!IsMaximum(schema)||ErrorMaximum(stack,context,schemaPath,instancePath,schema,value))&+(!IsMinimum(schema)||ErrorMinimum(stack,context,schemaPath,instancePath,schema,value))&+(!IsMultipleOf2(schema)||ErrorMultipleOf(stack,context,schemaPath,instancePath,schema,value))))&+(!IsRef2(schema)||ErrorRef(stack,context,schemaPath,instancePath,schema,value))&+(!IsRecursiveRef(schema)||ErrorRecursiveRef(stack,context,schemaPath,instancePath,schema,value))&+(!IsDynamicRef(schema)||ErrorDynamicRef(stack,context,schemaPath,instancePath,schema,value))&+(!IsConst(schema)||ErrorConst(stack,context,schemaPath,instancePath,schema,value))&+(!IsEnum2(schema)||ErrorEnum(stack,context,schemaPath,instancePath,schema,value))&+(!IsIf(schema)||ErrorIf(stack,context,schemaPath,instancePath,schema,value))&+(!IsNot(schema)||ErrorNot(stack,context,schemaPath,instancePath,schema,value))&+(!IsAllOf(schema)||ErrorAllOf(stack,context,schemaPath,instancePath,schema,value))&+(!IsAnyOf(schema)||ErrorAnyOf(stack,context,schemaPath,instancePath,schema,value))&+(!IsOneOf(schema)||ErrorOneOf(stack,context,schemaPath,instancePath,schema,value))&+(!IsUnevaluatedItems(schema)||!guard_exports.IsArray(value)||ErrorUnevaluatedItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsUnevaluatedProperties(schema)||!guard_exports.IsObject(value)||ErrorUnevaluatedProperties(stack,context,schemaPath,instancePath,schema,value)))&&(!IsRefine2(schema)||ErrorRefine(stack,context,schemaPath,instancePath,schema,value));return stack.Pop(schema),result}var index2=[0],names=new Map,funcs=new Map;function NextName(){return`${index2[0]++}`}function CreateName(schema,href){names.has(schema)||names.set(schema,new Map);let hrefs=names.get(schema);if(hrefs.has(href))return hrefs.get(href);let name=NextName();return hrefs.set(href,name),name}function CreateCallExpression(context,_schema,name,value){return context.UseUnevaluated()?emit_exports.Call(`check_${name}`,["context",value]):emit_exports.Call(`check_${name}`,[value])}function CreateFunctionExpression(stack,context,schema,name){let expression=BuildSchema(stack,context,schema,"value");return context.UseUnevaluated()?emit_exports.ConstDeclaration(`check_${name}`,emit_exports.ArrowFunction(["context","value"],expression)):emit_exports.ConstDeclaration(`check_${name}`,emit_exports.ArrowFunction(["value"],expression))}function ResetFunctions(){index2[0]=0,names.clear(),funcs.clear()}function GetFunctions(){return[...funcs.values()]}function CreateFunction(stack,context,schema,value){let name=CreateName(schema,stack.LexicalBaseURL()),call=CreateCallExpression(context,schema,name,value);return funcs.has(name)||(funcs.set(name,""),funcs.set(name,CreateFunctionExpression(stack,context,schema,name))),call}var resolve_exports={};__export(resolve_exports,{Base:()=>Base2,DefaultBase:()=>DefaultBase,DynamicRef:()=>DynamicRef,Ref:()=>Ref2,ResolveDynamicRef:()=>ResolveDynamicRef,ResolveRecursiveRef:()=>ResolveRecursiveRef,ResolveRef:()=>ResolveRef,Resource:()=>Resource});var pointer_exports={};__export(pointer_exports,{Delete:()=>Delete,Get:()=>Get4,Has:()=>Has2,Indices:()=>Indices,Set:()=>Set4});function AssertNotRoot(indices){if(indices.length===0)throw Error("Cannot set root")}function AssertCanSet(value){if(!guard_exports.IsObject(value))throw Error("Cannot set value")}function AssertIndex(index3){if(guard_exports.IsUnsafePropertyKey(index3))throw Error("Pointer contains unsafe property key")}function AssertIndices(indices){for(let index3 of indices)AssertIndex(index3)}function IsNumericIndex(index3){return/^(0|[1-9]\d*)$/.test(index3)}function TakeIndexRight(indices){return[indices.slice(0,indices.length-1),indices.slice(indices.length-1)[0]]}function HasIndex(index3,value){return guard_exports.IsObject(value)&&guard_exports.HasPropertyKey(value,index3)}function GetIndex(index3,value){return guard_exports.IsObject(value)&&!guard_exports.IsUnsafePropertyKey(index3)?value[index3]:void 0}function GetIndices(indices,value){return indices.reduce((value2,index3)=>GetIndex(index3,value2),value)}function Indices(pointer){if(guard_exports.IsEqual(pointer.length,0))return[];let indices=pointer.split("/").map(index3=>index3.replace(/~1/g,"/").replace(/~0/g,"~"));return indices.length>0&&indices[0]===""?indices.slice(1):indices}function Has2(value,pointer){let current=value;return Indices(pointer).every(index3=>HasIndex(index3,current)?(current=current[index3],!0):!1)}function Get4(value,pointer){let indices=Indices(pointer);return GetIndices(indices,value)}function Set4(value,pointer,next){let indices=Indices(pointer);AssertNotRoot(indices),AssertIndices(indices);let[head,index3]=TakeIndexRight(indices),parent=GetIndices(head,value);return AssertCanSet(parent),parent[index3]=next,value}function Delete(value,pointer){let indices=Indices(pointer);AssertNotRoot(indices),AssertIndices(indices);let[head,index3]=TakeIndexRight(indices),parent=GetIndices(head,value);return AssertCanSet(parent),guard_exports.IsArray(parent)&&IsNumericIndex(index3)?parent.splice(+index3,1):delete parent[index3],value}var DefaultBase="https://json-schema.org";function FindDynamicAnchor(schema,name){if(guard_exports.IsObject(schema)&&IsDynamicAnchor(schema)&&guard_exports.IsEqual(schema.$dynamicAnchor,name))return schema;if(guard_exports.IsObject(schema))for(let key of guard_exports.Keys(schema)){let result=FindDynamicAnchor(schema[key],name);if(result)return result}}function FindBase(schema,base,target){if(guard_exports.IsEqual(schema,target))return base.href;let nextBase=IsSchemaObject2(schema)&&IsId(schema)?new URL(schema.$id,base.href):base;if(guard_exports.IsArray(schema))for(let item of schema){let result=FindBase(item,nextBase,target);if(!guard_exports.IsUndefined(result))return result}else if(guard_exports.IsObject(schema))for(let key of guard_exports.Keys(schema)){let result=FindBase(schema[key],nextBase,target);if(!guard_exports.IsUndefined(result))return result}}function MatchId(schema,base,ref){if(guard_exports.IsEqual(schema.$id,ref.hash))return schema;let absoluteRef=new URL(ref.href,base.href);if(guard_exports.IsEqual(base.pathname,absoluteRef.pathname))return ref.hash.startsWith("#")?MatchHash(schema,ref):schema}function MatchAnchor(schema,base,ref){let absoluteAnchor=new URL(`#${schema.$anchor}`,base.href),absoluteRef=new URL(ref.href,base.href);return guard_exports.IsEqual(absoluteAnchor.href,absoluteRef.href)?schema:void 0}function MatchDynamicAnchor(schema,base,ref){let absoluteAnchor=new URL(`#${schema.$dynamicAnchor}`,base.href),absoluteRef=new URL(ref.href,base.href);return guard_exports.IsEqual(absoluteAnchor.href,absoluteRef.href)?schema:void 0}function MatchHash(schema,ref){if(ref.href.endsWith("#"))return schema;if(!ref.hash.startsWith("#"))return;let fragment=decodeURIComponent(ref.hash.slice(1));return fragment.startsWith("/")?pointer_exports.Get(schema,fragment):void 0}function Match4(schema,base,ref){if(IsId(schema)){let result=MatchId(schema,base,ref);if(!guard_exports.IsUndefined(result))return result}if(IsAnchor(schema)){let result=MatchAnchor(schema,base,ref);if(!guard_exports.IsUndefined(result))return result}if(IsDynamicAnchor(schema)){let result=MatchDynamicAnchor(schema,base,ref);if(!guard_exports.IsUndefined(result))return result}return MatchHash(schema,ref)}function FromArray6(schema,base,ref){return schema.reduce((result,item)=>{let match=FromValue3(item,base,ref);return guard_exports.IsUndefined(match)?result:match},void 0)}function SkipProperty(key){return guard_exports.IsEqual(key,"const")||guard_exports.IsEqual(key,"enum")}function FromObject10(schema,base,ref){return guard_exports.Keys(schema).reduce((result,key)=>{if(SkipProperty(key))return result;let match=FromValue3(schema[key],base,ref);return guard_exports.IsUndefined(match)?result:match},void 0)}function FromValue3(schema,base,ref){let nextBase=IsSchemaObject2(schema)&&IsId(schema)?new URL(schema.$id,base.href):base;if(IsSchemaObject2(schema)){let result=Match4(schema,nextBase,ref);if(!guard_exports.IsUndefined(result))return result}if(guard_exports.IsArray(schema))return FromArray6(schema,nextBase,ref);if(guard_exports.IsObject(schema))return FromObject10(schema,nextBase,ref)}function Base2(schema,base,target){return FindBase(schema,new URL(base||".",DefaultBase),target)}function Resource(context,schema,base,ref){let result=Ref2(context,schema,base,ref,!1);return IsSchemaObject2(result)&&IsId(result)?result:void 0}function CanonicalHref(url){return url.href.split("#")[0]}function RefContext(context,ref){return guard_exports.HasPropertyKey(context,ref)?context[ref]:void 0}function RefLocal(schema,base,ref){return FromValue3(schema,base,ref)}function RefRemote(context,base,ref){let canonicalHref=CanonicalHref(ref);if(guard_exports.IsEqual(canonicalHref,CanonicalHref(base))||!guard_exports.HasPropertyKey(context,canonicalHref))return;let remoteSchema=context[canonicalHref],remoteBase=IsSchemaObject2(remoteSchema)&&IsId(remoteSchema)?new URL(remoteSchema.$id,canonicalHref):new URL(canonicalHref);return guard_exports.IsEqual(ref.hash,"")?remoteSchema:FromValue3(remoteSchema,remoteBase,ref)}function LegacyRetrievedResource(root,lexicalSchema,referenceBase,ref,schema){if(!ref.$ref.startsWith("#")||guard_exports.HasPropertyKey(root,"$schema"))return;let targetBase=Base2(lexicalSchema,referenceBase,schema);if(!(guard_exports.IsUndefined(targetBase)||guard_exports.IsEqual(targetBase,referenceBase)))return{target:schema,base:targetBase,root:lexicalSchema}}function RemoteRetrievedResource(context,canonical,schema){let remoteRoot=context[canonical];if(IsSchemaObject2(remoteRoot))return{target:schema,base:canonical,root:remoteRoot}}function FindRetrievedResource(stackframe,ref,schema,canonical,isRemote){let remote=isRemote?RemoteRetrievedResource(stackframe.context,canonical,schema):void 0;return guard_exports.IsUndefined(remote)?LegacyRetrievedResource(stackframe.root,stackframe.lexicalSchema,stackframe.referenceBase,ref,schema):remote}function FindResolvedResource(context,root,referenceBase,canonical,schema,ids){if(IsId(schema))return;let resource=Resource(context,root,referenceBase,canonical);if(!(!resource||ids.includes(resource)))return{target:schema,resource}}function Ref2(remotes,schema,base,ref,applySchemaId=!0){let initialBase=new URL(base||".",DefaultBase),resolvedBase=applySchemaId&&IsId(schema)?new URL(schema.$id,initialBase):initialBase,initialRef=new URL(ref,resolvedBase.href);return RefContext(remotes,ref)??RefLocal(schema,resolvedBase,initialRef)??RefRemote(remotes,resolvedBase,initialRef)}function DynamicRef(context,root,base,schema,dynamicRef,dynamicAnchors){let initialBase=new URL(base||".",DefaultBase),fragmentRoot=dynamicRef.$dynamicRef.startsWith("#")?schema:root,fragmentTarget=Ref2(context,fragmentRoot,base,dynamicRef.$dynamicRef,!1);if(guard_exports.IsUndefined(fragmentTarget)){let fragment2=new URL(dynamicRef.$dynamicRef,initialBase).hash;if(!fragment2.startsWith("#/")&&fragment2.startsWith("#")){let name=decodeURIComponent(fragment2.slice(1));return dynamicAnchors.find(anchor=>guard_exports.IsEqual(anchor.$dynamicAnchor,name))??FindDynamicAnchor(root,name)}return}return!IsSchemaObject2(fragmentTarget)||!IsDynamicAnchor(fragmentTarget)||new URL(dynamicRef.$dynamicRef,initialBase).hash.startsWith("#/")?fragmentTarget:dynamicAnchors.find(anchor=>guard_exports.IsEqual(anchor.$dynamicAnchor,fragmentTarget.$dynamicAnchor))??fragmentTarget}function ResolveRef(stackframe,ref){let source=stackframe.inRetrievedFrame?stackframe.lexicalSchema:stackframe.root,refRoot=ref.$ref.startsWith("#")?stackframe.lexicalSchema:source,schema=Ref2(stackframe.context,refRoot,stackframe.referenceBase,ref.$ref,!1);if(!schema||!IsSchemaObject2(schema))return{schema};let canonical=new URL(ref.$ref,stackframe.referenceBase).href.split("#")[0],isRemote=!guard_exports.IsEqual(canonical,stackframe.resourceBase),retrievedResource=FindRetrievedResource(stackframe,ref,schema,canonical,isRemote),resolvedResource=isRemote?FindResolvedResource(stackframe.context,stackframe.root,stackframe.referenceBase,canonical,schema,stackframe.ids):void 0;return{schema,retrievedResource,resolvedResource}}function ResolveRecursiveRef(stackframe,recursiveRef){let refRoot=IsRecursiveAnchorTrue(stackframe.lexicalSchema)?stackframe.recursiveAnchors[0]:stackframe.lexicalSchema;return Ref2(stackframe.context,refRoot,stackframe.lexicalBase,recursiveRef.$recursiveRef,!1)}function ResolveDynamicRef(stackframe,dynamicRef){return DynamicRef(stackframe.context,stackframe.root,stackframe.lexicalBase,stackframe.lexicalSchema,dynamicRef,stackframe.dynamicAnchors)}var __classPrivateFieldGet=function(receiver,state2,kind,f){if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a getter");if(typeof state2=="function"?receiver!==state2||!f:!state2.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state2.get(receiver)},_Stack_instances,_Stack_StackFrame,_Stack_ApplyRefResult,_Stack_BuildBase,_Stack_ResourceBaseURL,_Stack_ReferenceBaseURL,_Stack_LexicalSchema,_Stack_RegisterResourceAnchorArray,_Stack_UnregisterResourceAnchorArray,_Stack_RegisterResourceAnchors,_Stack_UnregisterResourceAnchors,_Stack_RegisterResource,_Stack_UnregisterResource,_Stack_EnterResolvedResource,_Stack_ExitResolvedResource,Stack=class{constructor(context,schema){_Stack_instances.add(this),this.context=context,this.schema=schema,this.ids=[],this.resourceIds=[],this.anchors=[],this.recursiveAnchors=[],this.dynamicAnchors=[],this.retrievedResources=new Map,this.retrievedFrames=[],this.resolvedResources=new Map,this.pendingResource=!0}LexicalBaseURL(){return __classPrivateFieldGet(this,_Stack_instances,"m",_Stack_BuildBase).call(this,this.ids)}Push(schema){if(!IsSchemaObject2(schema))return;IsId(schema)&&__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResource).call(this,schema),IsAnchor(schema)&&this.anchors.push(schema),IsRecursiveAnchorTrue(schema)&&this.recursiveAnchors.push(schema),IsDynamicAnchor(schema)&&this.dynamicAnchors.push(schema);let retrievedResource=this.retrievedResources.get(schema);retrievedResource&&this.retrievedFrames.push({schema:retrievedResource.root,base:retrievedResource.base,idDepth:this.ids.length,resourceDepth:this.resourceIds.length})}Pop(schema){IsSchemaObject2(schema)&&(IsId(schema)&&__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResource).call(this,schema),IsAnchor(schema)&&this.anchors.pop(),IsRecursiveAnchorTrue(schema)&&this.recursiveAnchors.pop(),IsDynamicAnchor(schema)&&this.dynamicAnchors.pop(),this.retrievedResources.has(schema)&&this.retrievedFrames.pop(),__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ExitResolvedResource).call(this,schema))}Ref(ref){let result=resolve_exports.ResolveRef(__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_StackFrame).call(this),ref);return __classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ApplyRefResult).call(this,result),result.schema}RecursiveRef(recursiveRef){let result=resolve_exports.ResolveRecursiveRef(__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_StackFrame).call(this),recursiveRef);return result&&(this.pendingResource=!0),result}DynamicRef(dynamicRef){let result=resolve_exports.ResolveDynamicRef(__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_StackFrame).call(this),dynamicRef);return result&&(this.pendingResource=!0),result}};_Stack_instances=new WeakSet,_Stack_StackFrame=function(){return{context:this.context,root:this.schema,ids:this.ids,lexicalSchema:__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_LexicalSchema).call(this),lexicalBase:this.LexicalBaseURL(),referenceBase:__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ReferenceBaseURL).call(this),resourceBase:__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ResourceBaseURL).call(this),recursiveAnchors:this.recursiveAnchors,dynamicAnchors:this.dynamicAnchors,inRetrievedFrame:this.retrievedFrames.length>0}},_Stack_ApplyRefResult=function(result){guard_exports.IsUndefined(result.schema)||(this.pendingResource=!0),guard_exports.IsUndefined(result.resolvedResource)||__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_EnterResolvedResource).call(this,result.resolvedResource.target,result.resolvedResource.resource),guard_exports.IsUndefined(result.retrievedResource)||this.retrievedResources.set(result.retrievedResource.target,{base:result.retrievedResource.base,root:result.retrievedResource.root})},_Stack_BuildBase=function(stack){let frame=this.retrievedFrames[this.retrievedFrames.length-1],base=frame?new URL(frame.base):new URL(resolve_exports.DefaultBase);return(frame?stack.slice(frame.idDepth):stack).reduce((result,schema)=>new URL(schema.$id,result),base).href},_Stack_ResourceBaseURL=function(){let frame=this.retrievedFrames[this.retrievedFrames.length-1];return frame?this.resourceIds.slice(frame.resourceDepth).reduce((result,schema)=>new URL(schema.$id,result),new URL(frame.base)).href:__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_BuildBase).call(this,this.resourceIds)},_Stack_ReferenceBaseURL=function(){if(this.retrievedFrames.length>0)return __classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ResourceBaseURL).call(this);let lexical=this.ids[this.ids.length-1];return lexical&&!/^[A-Za-z][A-Za-z0-9+.-]*:/.test(lexical.$id)?this.LexicalBaseURL():__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ResourceBaseURL).call(this)},_Stack_LexicalSchema=function(){let frame=this.retrievedFrames[this.retrievedFrames.length-1];return frame?this.ids.length>frame.idDepth?this.ids[this.ids.length-1]:frame.schema:this.ids.length>0?this.ids[this.ids.length-1]:this.schema},_Stack_RegisterResourceAnchorArray=function(schema){schema.forEach(schema2=>__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResourceAnchors).call(this,schema2,!1))},_Stack_UnregisterResourceAnchorArray=function(schema){schema.forEach(schema2=>__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResourceAnchors).call(this,schema2,!1))},_Stack_RegisterResourceAnchors=function _Stack_RegisterResourceAnchors2(schema,isRoot=!0){if(IsSchemaBoolean(schema))return;if(guard_exports.IsArray(schema))return __classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResourceAnchorArray).call(this,schema);if(!IsSchemaObject2(schema))return;let current=schema;if(!(!isRoot&&IsId(current))){!isRoot&&IsDynamicAnchor(current)&&this.dynamicAnchors.push(current);for(let key of guard_exports.Keys(current))__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResourceAnchors2).call(this,current[key],!1)}},_Stack_UnregisterResourceAnchors=function _Stack_UnregisterResourceAnchors2(schema,isRoot=!0){if(IsSchemaBoolean(schema))return;if(guard_exports.IsArray(schema))return __classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResourceAnchorArray).call(this,schema);if(!IsSchemaObject2(schema))return;let current=schema;if(!(!isRoot&&IsId(current))){!isRoot&&IsDynamicAnchor(current)&&this.dynamicAnchors.pop();for(let key of guard_exports.Keys(current))__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResourceAnchors2).call(this,current[key],!1)}},_Stack_RegisterResource=function(schema){this.ids.push(schema);let isResource=this.pendingResource;this.pendingResource=!1,isResource&&this.resourceIds.push(schema),__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResourceAnchors).call(this,schema,!0)},_Stack_UnregisterResource=function(schema){this.ids.pop(),this.resourceIds.length>0&&guard_exports.IsEqual(this.resourceIds[this.resourceIds.length-1],schema)&&this.resourceIds.pop(),__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResourceAnchors).call(this,schema,!0)},_Stack_EnterResolvedResource=function(target,resource){__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResource).call(this,resource),this.resolvedResources.set(target,resource)},_Stack_ExitResolvedResource=function(target){if(!this.resolvedResources.has(target))return;let resource=this.resolvedResources.get(target);__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResource).call(this,resource),this.resolvedResources.delete(target)};function CreateCode(build){let functions=build.Functions().join(`;
|
|
140
140
|
`),statements=build.UseUnevaluated()?["const context = new CheckContext({}, {})",`return ${build.Entry()}`]:[`return ${build.Entry()}`];return`${functions}; return (value) => { ${statements.join("; ")} }`}function CreateEvaluatedCheck(build,code){return environment_exports.Evaluate("CheckContext","Guard","Format","Hashing",build.External().identifier,code)(CheckContext,guard_exports,format_exports,hash_exports,build.External().variables)}function CreateDynamicCheck(build){let stack=new Stack(build.Context(),build.Schema()),context=new CheckContext;return value=>CheckSchema(stack,context,build.Schema(),value)}function CreateCheck(build,code){return environment_exports.CanEvaluate()?CreateEvaluatedCheck(build,code):CreateDynamicCheck(build)}var EvaluateResult=class{constructor(isAccelerated,code,check){this.isAccelerated=isAccelerated,this.code=code,this.check=check}IsAccelerated(){return this.isAccelerated}Code(){return this.code}Check(value){return this.check(value)}},BuildResult=class{constructor(context,schema,external,functions,entry,useUnevaluated){this.context=context,this.schema=schema,this.external=external,this.functions=functions,this.entry=entry,this.useUnevaluated=useUnevaluated}Context(){return this.context}Schema(){return this.schema}UseUnevaluated(){return this.useUnevaluated}External(){return this.external}Functions(){return this.functions}Entry(){return this.entry}Evaluate(){let code=CreateCode(this),check=CreateCheck(this,code);return new EvaluateResult(environment_exports.CanEvaluate(),code,check)}};function Build(...args){let[context,schema]=arguments_exports.Match(args,{2:(context2,schema2)=>[context2,schema2],1:schema2=>[{},schema2]});ResetExternal(),ResetFunctions();let stack=new Stack(context,schema),build=new BuildContext(HasUnevaluated(context,schema)),call=CreateFunction(stack,build,schema,"value"),functions=GetFunctions(),externals=GetExternal();return new BuildResult(context,schema,externals,functions,call,build.UseUnevaluated())}function Errors(...args){let[context,schema,value]=arguments_exports.Match(args,{3:(context2,schema2,value2)=>[context2,schema2,value2],2:(schema2,value2)=>[{},schema2,value2]}),stack=new Stack(context,schema),errorContext=new ErrorContext,result=ErrorSchema(stack,errorContext,"#","",schema,value),errors=errorContext.GetErrors(),locale2=Get2(),localized=errors.map(error2=>({...error2,message:locale2(error2)}));return[result,localized]}function Check(...args){let[context,schema,value]=arguments_exports.Match(args,{3:(context2,schema2,value2)=>[context2,schema2,value2],2:(schema2,value2)=>[{},schema2,value2]}),stack=new Stack(context,schema),checkContext=new CheckContext;return CheckSchema(stack,checkContext,schema,value)}function Check2(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return Check(context,type,value)}function Errors2(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]}),[_,errors]=Errors(context,type,value);return errors}var AssertError=class extends Error{constructor(source,value,errors){super(source),Object.defineProperty(this,"cause",{value:{source,errors,value},writable:!1,configurable:!1,enumerable:!1})}};function Assert(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});if(!Check2(context,type,value))throw new AssertError("Assert",value,Errors2(context,type,value))}function FromArray7(context,type,value){return guard_exports.IsArray(value)?value.map(value2=>FromType19(context,type.items,value2)):value}function FromCyclic6(context,type,value){return FromType19({...context,...type.$defs},Ref(type.$ref),value)}function EvaluateIntersection(context,type){let additionalProperties=guard_exports.HasPropertyKey(type,"unevaluatedProperties")?{additionalProperties:type.unevaluatedProperties}:{},instantiated=Instantiate(context,type),evaluated=Evaluate2(instantiated);return IsObject3(evaluated)?With2(evaluated,additionalProperties):evaluated}function FromIntersect6(context,type,value){let evaluated=EvaluateIntersection(context,type);return FromType19(context,evaluated,value)}function GetAdditionalProperties(type){return guard_exports.HasPropertyKey(type,"additionalProperties")?type.additionalProperties:void 0}function FromObject11(context,type,value){if(!guard_exports.IsObject(value)||guard_exports.IsArray(value))return value;let additionalProperties=GetAdditionalProperties(type);for(let key of guard_exports.Keys(value)){if(guard_exports.HasPropertyKey(type.properties,key)){value[key]=FromType19(context,type.properties[key],value[key]);continue}if(guard_exports.IsBoolean(additionalProperties)&&guard_exports.IsEqual(additionalProperties,!0)||IsSchema(additionalProperties)&&Check2(context,additionalProperties,value[key])){value[key]=FromType19(context,additionalProperties,value[key]);continue}delete value[key]}return value}function FromRecord3(context,type,value){if(!guard_exports.IsObject(value))return value;let additionalProperties=GetAdditionalProperties(type),[recordPattern,recordValue]=[new RegExp(RecordPattern(type)),RecordValue(type)];for(let key of guard_exports.Keys(value)){if(recordPattern.test(key)){value[key]=FromType19(context,recordValue,value[key]);continue}if(guard_exports.IsBoolean(additionalProperties)&&guard_exports.IsEqual(additionalProperties,!0)||IsSchema(additionalProperties)&&Check2(context,additionalProperties,value[key])){value[key]=FromType19(context,additionalProperties,value[key]);continue}delete value[key]}return value}function FromRef5(context,type,value){return guard_exports.HasPropertyKey(context,type.$ref)?FromType19(context,context[type.$ref],value):value}function FromTuple5(context,schema,value){if(!guard_exports.IsArray(value))return value;let length=Math.min(value.length,schema.items.length);for(let index3=0;index3<length;index3++)value[index3]=FromType19(context,schema.items[index3],value[index3]);return guard_exports.IsGreaterThan(value.length,length)?value.slice(0,length):value}function Clone2(value){return Clone(value)}function FromUnion9(context,type,value){for(let schema of type.anyOf){let clean=FromType19(context,schema,Clone2(value));if(Check2(context,schema,clean))return clean}return value}function FromType19(context,type,value){return IsArray3(type)?FromArray7(context,type,value):IsCyclic(type)?FromCyclic6(context,type,value):IsIntersect(type)?FromIntersect6(context,type,value):IsObject3(type)?FromObject11(context,type,value):IsRecord(type)?FromRecord3(context,type,value):IsRef(type)?FromRef5(context,type,value):IsTuple(type)?FromTuple5(context,type,value):IsUnion(type)?FromUnion9(context,type,value):value}function Modifiers(type,next){for(let key of guard_default.Keys(type))guard_default.HasPropertyKey(next,key)||(next[key]=type[key]);return next}function FromProperties4(properties){let result={};for(let key of guard_default.Keys(properties))result[key]=FromType20(properties[key]);return result}function FromPriorityTypes(types){return FromTypes6(Priority(types))}function FromTypes6(types){return types.map(type=>FromType20(type))}function FromType20(type){let next=IsArray3(type)?_Array_(FromType20(type.items),ArrayOptions(type)):IsIntersect(type)?Intersect(FromTypes6(type.allOf)):IsUnion(type)?Union(FromPriorityTypes(type.anyOf)):IsObject3(type)?_Object_(FromProperties4(type.properties)):IsRecord(type)?Record(RecordKey(type),FromType20(RecordValue(type))):IsTuple(type)?Tuple(FromTypes6(type.items)):type;return Modifiers(type,next)}function UnionPrioritySort(type){return FromType20(type)}function Clean(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]}),sorted=settings_exports.Get().unionPrioritySort?UnionPrioritySort(type):type;return FromType19(context,sorted,value)}var try_exports={};__export(try_exports,{Fail:()=>Fail,IsOk:()=>IsOk,Ok:()=>Ok,TryArray:()=>TryArray,TryBigInt:()=>TryBigInt,TryBoolean:()=>TryBoolean,TryNull:()=>TryNull,TryNumber:()=>TryNumber,TryString:()=>TryString,TryUndefined:()=>TryUndefined});function IsOk(value){return guard_exports.IsObject(value)&&guard_exports.HasPropertyKey(value,"value")}function Ok(value){return{value}}function Fail(){}function TryArray(value){return guard_exports.IsArray(value)?Ok(value):Ok([value])}function FromBoolean2(value){return guard_exports.IsEqual(value,!0)?Ok(BigInt(1)):Ok(BigInt(0))}var bigintPattern=/^-?(0|[1-9]\d*)n$/,decimalPattern=/^-?(0|[1-9]\d*)\.\d+$/,integerPattern=/^-?(0|[1-9]\d*)$/;function IsStringBigIntLike(value){return bigintPattern.test(value)}function IsStringDecimalLike(value){return decimalPattern.test(value)}function IsStringIntegerLike(value){return integerPattern.test(value)}function FromString2(value){let lowercase=value.toLowerCase();return IsStringBigIntLike(value)?Ok(BigInt(value.slice(0,value.length-1))):IsStringDecimalLike(value)?Ok(BigInt(value.split(".")[0])):IsStringIntegerLike(value)?Ok(BigInt(value)):guard_exports.IsEqual(lowercase,"false")?Ok(BigInt(0)):guard_exports.IsEqual(lowercase,"true")?Ok(BigInt(1)):void 0}function TryBigInt(value){return guard_exports.IsBigInt(value)?Ok(value):guard_exports.IsBoolean(value)?FromBoolean2(value):guard_exports.IsNumber(value)?Ok(BigInt(Math.trunc(value))):guard_exports.IsNull(value)?Ok(BigInt(0)):guard_exports.IsString(value)?FromString2(value):guard_exports.IsUndefined(value)?Ok(BigInt(0)):void 0}function FromBigInt2(value){return guard_exports.IsEqual(value,BigInt(0))?Ok(!1):guard_exports.IsEqual(value,BigInt(1))?Ok(!0):void 0}function FromNumber2(value){return guard_exports.IsEqual(value,0)?Ok(!1):guard_exports.IsEqual(value,1)?Ok(!0):void 0}function FromString3(value){return guard_exports.IsEqual(value.toLowerCase(),"false")?Ok(!1):guard_exports.IsEqual(value.toLowerCase(),"true")?Ok(!0):guard_exports.IsEqual(value,"0")?Ok(!1):guard_exports.IsEqual(value,"1")?Ok(!0):void 0}function TryBoolean(value){return guard_exports.IsBigInt(value)?FromBigInt2(value):guard_exports.IsBoolean(value)?Ok(value):guard_exports.IsNumber(value)?FromNumber2(value):guard_exports.IsNull(value)?Ok(!1):guard_exports.IsString(value)?FromString3(value):guard_exports.IsUndefined(value)?Ok(!1):void 0}function FromBigInt3(value){return guard_exports.IsEqual(value,BigInt(0))?Ok(null):void 0}function FromBoolean3(value){return guard_exports.IsEqual(value,!1)?Ok(null):void 0}function FromNumber3(value){return guard_exports.IsEqual(value,0)?Ok(null):void 0}function FromString4(value){let lowercase=value.toLowerCase();return guard_exports.IsEqual(lowercase,"undefined")||guard_exports.IsEqual(lowercase,"null")||guard_exports.IsEqual(value,"")||guard_exports.IsEqual(value,"0")?Ok(null):void 0}function TryNull(value){return guard_exports.IsBigInt(value)?FromBigInt3(value):guard_exports.IsBoolean(value)?FromBoolean3(value):guard_exports.IsNumber(value)?FromNumber3(value):guard_exports.IsNull(value)?Ok(null):guard_exports.IsString(value)?FromString4(value):guard_exports.IsUndefined(value)?Ok(null):void 0}var maxBigInt=BigInt(Number.MAX_SAFE_INTEGER),minBigInt=BigInt(Number.MIN_SAFE_INTEGER);function FromBigInt4(value){return value<=maxBigInt&&value>=minBigInt?Ok(Number(value)):void 0}function FromBoolean4(value){return Ok(value?1:0)}function FromString5(value){let coerced=+value;if(guard_exports.IsNumber(coerced))return Ok(coerced);let lowercase=value.toLowerCase();if(guard_exports.IsEqual(lowercase,"false"))return Ok(0);if(guard_exports.IsEqual(lowercase,"true"))return Ok(1);let result=TryBigInt(value);return IsOk(result)?result.value<=maxBigInt&&result.value>=minBigInt?Ok(Number(result.value)):void 0:void 0}function TryNumber(value){return guard_exports.IsBigInt(value)?FromBigInt4(value):guard_exports.IsBoolean(value)?FromBoolean4(value):guard_exports.IsNumber(value)?Ok(value):guard_exports.IsNull(value)?Ok(0):guard_exports.IsString(value)?FromString5(value):guard_exports.IsUndefined(value)?Ok(0):void 0}function TryString(value){return guard_exports.IsBigInt(value)?Ok(value.toString()):guard_exports.IsBoolean(value)?Ok(value.toString()):guard_exports.IsNumber(value)?Ok(value.toString()):guard_exports.IsNull(value)?Ok("null"):guard_exports.IsString(value)?Ok(value):guard_exports.IsUndefined(value)?Ok(""):void 0}function FromBigInt5(value){return guard_exports.IsEqual(value,BigInt(0))?Ok(void 0):void 0}function FromBoolean5(value){return guard_exports.IsEqual(value,!1)?Ok(void 0):void 0}function FromNumber4(value){return guard_exports.IsEqual(value,0)?Ok(void 0):void 0}function FromString6(value){let lowercase=value.toLowerCase();return guard_exports.IsEqual(lowercase,"undefined")||guard_exports.IsEqual(lowercase,"null")||guard_exports.IsEqual(value,"")||guard_exports.IsEqual(value,"0")?Ok(void 0):void 0}function TryUndefined(value){return guard_exports.IsBigInt(value)?FromBigInt5(value):guard_exports.IsBoolean(value)?FromBoolean5(value):guard_exports.IsNumber(value)?FromNumber4(value):guard_exports.IsNull(value)?Ok(void 0):guard_exports.IsString(value)?FromString6(value):guard_exports.IsUndefined(value)?Ok(value):void 0}function FromArray8(context,type,value){return try_exports.TryArray(value).value.map(value2=>FromType21(context,type.items,value2))}function FromBigInt6(_context,_type,value){let result=try_exports.TryBigInt(value);return try_exports.IsOk(result)?result.value:value}function FromBoolean6(_context,_type,value){let result=try_exports.TryBoolean(value);return try_exports.IsOk(result)?result.value:value}function FromCyclic7(context,type,value){return FromType21({...context,...type.$defs},Ref(type.$ref),value)}function FromEnum3(context,type,value){return FromType21(context,Evaluate2(type),value)}function FromInteger(_context,_type,value){let result=try_exports.TryNumber(value);return try_exports.IsOk(result)?Math.trunc(result.value):value}function FromIntersect7(context,type,value){let instantiated=Instantiate(context,type),evaluated=Evaluate2(instantiated);return FromType21(context,evaluated,value)}function FromLiteralBigInt(_context,type,value){let result=try_exports.TryBigInt(value);return try_exports.IsOk(result)&&guard_exports.IsEqual(type.const,result.value)?result.value:value}function FromLiteralBoolean(_context,type,value){let result=try_exports.TryBoolean(value);return try_exports.IsOk(result)&&guard_exports.IsEqual(type.const,result.value)?result.value:value}function FromLiteralNumber(_context,type,value){let result=try_exports.TryNumber(value);return try_exports.IsOk(result)&&guard_exports.IsEqual(type.const,result.value)?result.value:value}function FromLiteralString(_context,type,value){let result=try_exports.TryString(value);return try_exports.IsOk(result)&&guard_exports.IsEqual(type.const,result.value)?result.value:value}function FromLiteral6(context,type,value){return guard_exports.IsEqual(type.const,value)?value:IsLiteralBigInt(type)?FromLiteralBigInt(context,type,value):IsLiteralBoolean(type)?FromLiteralBoolean(context,type,value):IsLiteralNumber(type)?FromLiteralNumber(context,type,value):IsLiteralString(type)?FromLiteralString(context,type,value):Unreachable()}function FromNull2(_context,_type,value){let result=try_exports.TryNull(value);return try_exports.IsOk(result)?result.value:value}function FromNumber5(_context,_type,value){let result=try_exports.TryNumber(value);return try_exports.IsOk(result)?result.value:value}function FromAdditionalProperties(context,entries,additionalProperties,value){let keys=guard_exports.Keys(value);for(let[regexp,_]of entries)for(let key of keys)regexp.test(key)||(value[key]=FromType21(context,additionalProperties,value[key]));return value}function IsOptionalUndefined(property,key,value){return IsOptional(property)&&guard_exports.IsUndefined(value[key])}function FromProperties5(context,type,value){let entries=guard_exports.EntriesRegExp(type.properties),keys=guard_exports.Keys(value);for(let[regexp,property]of entries)for(let key of keys)!regexp.test(key)||IsOptionalUndefined(property,key,value)||(value[key]=FromType21(context,property,value[key]));return guard_exports.HasPropertyKey(type,"additionalProperties")&&guard_exports.IsObject(type.additionalProperties)?FromAdditionalProperties(context,entries,type.additionalProperties,value):value}function FromObject12(context,type,value){return guard_exports.IsObjectNotArray(value)?FromProperties5(context,type,value):value}function FromPatternProperties(context,type,value){let entries=guard_exports.EntriesRegExp(type.patternProperties),keys=guard_exports.Keys(value);for(let[regexp,schema]of entries)for(let key of keys)regexp.test(key)&&(value[key]=FromType21(context,schema,value[key]));return guard_exports.HasPropertyKey(type,"additionalProperties")&&guard_exports.IsObject(type.additionalProperties)?FromAdditionalProperties(context,entries,type.additionalProperties,value):value}function FromRecord4(context,type,value){return guard_exports.IsObjectNotArray(value)?FromPatternProperties(context,type,value):value}function FromRef6(context,type,value){return guard_exports.HasPropertyKey(context,type.$ref)?FromType21(context,context[type.$ref],value):value}function FromString7(_context,_type,value){let result=try_exports.TryString(value);return try_exports.IsOk(result)?result.value:value}function FromTemplateLiteral4(context,type,value){return FromType21(context,Evaluate2(type),value)}function FromTuple6(context,type,value){if(!guard_exports.IsArray(value))return value;for(let index3=0;index3<Math.min(type.items.length,value.length);index3++)value[index3]=FromType21(context,type.items[index3],value[index3]);return value}function FromUndefined2(_context,_type,value){let result=try_exports.TryUndefined(value);return try_exports.IsOk(result)?result.value:value}function FromUnion10(context,type,value){if(type.anyOf.some(type2=>Check2(context,type2,value)))return value;let selected=type.anyOf.map(type2=>FromType21(context,type2,Clone2(value))).find(value2=>Check2(context,type,value2));return guard_exports.IsUndefined(selected)?value:selected}function FromVoid(_context,_type,value){let result=try_exports.TryUndefined(value);return try_exports.IsOk(result)?void 0:value}function FromType21(context,type,value){return IsArray3(type)?FromArray8(context,type,value):IsBigInt3(type)?FromBigInt6(context,type,value):IsBoolean4(type)?FromBoolean6(context,type,value):IsCyclic(type)?FromCyclic7(context,type,value):IsEnum(type)?FromEnum3(context,type,value):IsInteger3(type)?FromInteger(context,type,value):IsIntersect(type)?FromIntersect7(context,type,value):IsLiteral(type)?FromLiteral6(context,type,value):IsNull3(type)?FromNull2(context,type,value):IsNumber4(type)?FromNumber5(context,type,value):IsObject3(type)?FromObject12(context,type,value):IsRecord(type)?FromRecord4(context,type,value):IsRef(type)?FromRef6(context,type,value):IsString4(type)?FromString7(context,type,value):IsTemplateLiteral(type)?FromTemplateLiteral4(context,type,value):IsTuple(type)?FromTuple6(context,type,value):IsUndefined3(type)?FromUndefined2(context,type,value):IsUnion(type)?FromUnion10(context,type,value):IsVoid(type)?FromVoid(context,type,value):value}function Convert(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return FromType21(context,type,value)}function FromArray9(context,type,value){if(!guard_exports.IsArray(value))return value;for(let i=0;i<value.length;i++)value[i]=FromType22(context,type.items,value[i]);return value}function FromCyclic8(context,type,value){return FromType22({...context,...type.$defs},Ref(type.$ref),value)}function FromDefault(type,value){return guard_exports.IsUndefined(value)?guard_exports.IsFunction(type.default)?type.default():Clone2(type.default):value}function FromIntersect8(context,type,value){let instantiated=Instantiate(context,type),evaluated=Evaluate2(instantiated);return FromType22(context,evaluated,value)}function FromObject13(context,type,value){if(!guard_exports.IsObject(value))return value;let knownPropertyKeys=guard_exports.Keys(type.properties);for(let key of knownPropertyKeys){let propertyValue=FromType22(context,type.properties[key],value[key]);guard_exports.IsUndefined(propertyValue)&&(IsOptional(type.properties[key])||!guard_exports.HasPropertyKey(type.properties[key],"default"))||(value[key]=propertyValue)}if(!IsAdditionalProperties(type)||guard_exports.IsBoolean(type.additionalProperties))return value;for(let key of guard_exports.Keys(value))knownPropertyKeys.includes(key)||(value[key]=FromType22(context,type.additionalProperties,value[key]));return value}function FromRecord5(context,type,value){if(!guard_exports.IsObject(value))return value;let[recordKey,recordValue]=[new RegExp(RecordPattern(type)),RecordValue(type)];for(let key of guard_exports.Keys(value))recordKey.test(key)&&IsDefault(recordValue)&&(value[key]=FromType22(context,recordValue,value[key]));if(!IsAdditionalProperties(type))return value;for(let key of guard_exports.Keys(value))recordKey.test(key)||(value[key]=FromType22(context,type.additionalProperties,value[key]));return value}function FromRef7(context,type,value){return guard_exports.HasPropertyKey(context,type.$ref)?FromType22(context,context[type.$ref],value):value}function FromTuple7(context,schema,value){if(!guard_exports.IsArray(value))return value;let[items,max]=[schema.items,Math.max(schema.items.length,value.length)];for(let i=0;i<max;i++)i<items.length&&(value[i]=FromType22(context,items[i],value[i]));return value}function FromUnion11(context,schema,value){for(let inner of schema.anyOf){let result=FromType22(context,inner,Clone2(value));if(Check2(context,inner,result))return result}return value}function FromType22(context,type,value){let defaulted=IsDefault(type)?FromDefault(type,value):value;return IsArray3(type)?FromArray9(context,type,defaulted):IsCyclic(type)?FromCyclic8(context,type,defaulted):IsIntersect(type)?FromIntersect8(context,type,defaulted):IsObject3(type)?FromObject13(context,type,defaulted):IsRecord(type)?FromRecord5(context,type,defaulted):IsRef(type)?FromRef7(context,type,defaulted):IsTuple(type)?FromTuple7(context,type,defaulted):IsUnion(type)?FromUnion11(context,type,defaulted):defaulted}function Default(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return FromType22(context,type,value)}function Pipeline(pipeline){return(...args)=>{let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return pipeline.reduce((result,func)=>func(context,type,result),value)}}function Decode3(_context,type,value){return type["~codec"].decode(value)}function Encode3(_context,type,value){return type["~codec"].encode(value)}function Callback(direction,context,type,value){return IsCodec(type)?guard_exports.IsEqual(direction,"Decode")?Decode3(context,type,value):Encode3(context,type,value):value}function Decode4(direction,context,type,value){if(!guard_exports.IsArray(value))return value;for(let i=0;i<value.length;i++)value[i]=FromType23(direction,context,type.items,value[i]);return Callback(direction,context,type,value)}function Encode4(direction,context,type,value){let exterior=Callback(direction,context,type,value);if(!guard_exports.IsArray(exterior))return exterior;for(let i=0;i<exterior.length;i++)exterior[i]=FromType23(direction,context,type.items,exterior[i]);return exterior}function FromArray10(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode4(direction,context,type,value):Encode4(direction,context,type,value)}function FromCyclic9(direction,context,type,value){return value=FromType23(direction,{...context,...type.$defs},Ref(type.$ref),value),Callback(direction,context,type,value)}function MergeInteriors(interiors){return interiors.reduce((results,interior)=>({...results,...interior}),{})}function NonMatchingInterior(value,interiors){for(let interior of interiors)if(!guard_exports.IsDeepEqual(value,interior))return interior;return value}function Decode5(direction,context,type,value){if(guard_exports.IsEqual(type.allOf.length,0))return Callback(direction,context,type,value);let interiors=type.allOf.map(schema=>FromType23(direction,context,schema,Clean(schema,Clone2(value)))),exterior=interiors.every(result=>guard_exports.IsObject(result))?MergeInteriors(interiors):NonMatchingInterior(value,interiors);return Callback(direction,context,type,exterior)}function Encode5(direction,context,type,value){if(guard_exports.IsEqual(type.allOf.length,0))return Callback(direction,context,type,value);let exterior=Callback(direction,context,type,value),interiors=type.allOf.map(schema=>FromType23(direction,context,schema,Clean(schema,Clone2(exterior))));return interiors.every(result=>guard_exports.IsObject(result))?MergeInteriors(interiors):NonMatchingInterior(exterior,interiors)}function FromIntersect9(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode5(direction,context,type,value):Encode5(direction,context,type,value)}function Decode6(direction,context,type,value){if(!guard_exports.IsObjectNotArray(value))return value;for(let key of guard_exports.Keys(type.properties))!guard_exports.HasPropertyKey(value,key)||IsOptionalUndefined(type.properties[key],key,value)||(value[key]=FromType23(direction,context,type.properties[key],value[key]));return Callback(direction,context,type,value)}function Encode6(direction,context,type,value){let exterior=Callback(direction,context,type,value);if(!guard_exports.IsObjectNotArray(exterior))return exterior;for(let key of guard_exports.Keys(type.properties))!guard_exports.HasPropertyKey(exterior,key)||IsOptionalUndefined(type.properties[key],key,exterior)||(exterior[key]=FromType23(direction,context,type.properties[key],exterior[key]));return exterior}function FromObject14(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode6(direction,context,type,value):Encode6(direction,context,type,value)}function Decode7(direction,context,type,value){if(!guard_exports.IsObjectNotArray(value))return value;let regexp=new RegExp(RecordPattern(type));for(let key of guard_exports.Keys(value))regexp.test(key)&&(value[key]=FromType23(direction,context,RecordValue(type),value[key]));return Callback(direction,context,type,value)}function Encode7(direction,context,type,value){let exterior=Callback(direction,context,type,value);if(!guard_exports.IsObjectNotArray(exterior))return exterior;let regexp=new RegExp(RecordPattern(type));for(let key of guard_exports.Keys(exterior))regexp.test(key)&&(exterior[key]=FromType23(direction,context,RecordValue(type),exterior[key]));return exterior}function FromRecord6(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode7(direction,context,type,value):Encode7(direction,context,type,value)}function ResolveRef2(direction,context,type,value){return guard_exports.HasPropertyKey(context,type.$ref)?FromType23(direction,context,context[type.$ref],value):value}function FromRef8(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Callback(direction,context,type,ResolveRef2(direction,context,type,value)):ResolveRef2(direction,context,type,Callback(direction,context,type,value))}function Decode8(direction,context,type,value){if(!guard_exports.IsArray(value))return value;for(let i=0;i<Math.min(type.items.length,value.length);i++)value[i]=FromType23(direction,context,type.items[i],value[i]);return Callback(direction,context,type,value)}function Encode8(direction,context,type,value){let exterior=Callback(direction,context,type,value);if(!guard_exports.IsArray(exterior))return value;for(let i=0;i<Math.min(type.items.length,exterior.length);i++)exterior[i]=FromType23(direction,context,type.items[i],exterior[i]);return exterior}function FromTuple8(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode8(direction,context,type,value):Encode8(direction,context,type,value)}function Decode9(direction,context,type,value){for(let schema of type.anyOf){if(!Check2(context,schema,value))continue;let variant=FromType23(direction,context,schema,value);return Callback(direction,context,type,variant)}return value}function Encode9(direction,context,type,value){let exterior=Callback(direction,context,type,value);for(let schema of type.anyOf){let variant=FromType23(direction,context,schema,Clone2(exterior));if(Check2(context,schema,variant))return variant}return exterior}function FromUnion12(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode9(direction,context,type,value):Encode9(direction,context,type,value)}function FromType23(direction,context,type,value){return IsArray3(type)?FromArray10(direction,context,type,value):IsCyclic(type)?FromCyclic9(direction,context,type,value):IsIntersect(type)?FromIntersect9(direction,context,type,value):IsObject3(type)?FromObject14(direction,context,type,value):IsRecord(type)?FromRecord6(direction,context,type,value):IsRef(type)?FromRef8(direction,context,type,value):IsTuple(type)?FromTuple8(direction,context,type,value):IsUnion(type)?FromUnion12(direction,context,type,value):Callback(direction,context,type,value)}var DecodeError=class extends AssertError{constructor(value,errors){super("Decode",value,errors)}};function Assert2(context,type,value){if(!Check2(context,type,value))throw new DecodeError(value,Errors2(context,type,value));return value}function DecodeUnsafe(context,type,value){let sorted=settings_exports.Get().unionPrioritySort?UnionPrioritySort(type):type;return FromType23("Decode",context,sorted,value)}var Decoder=Pipeline([(_context,_type,value)=>Clone2(value),(context,type,value)=>Default(context,type,value),(context,type,value)=>Convert(context,type,value),(context,type,value)=>Clean(context,type,value),(context,type,value)=>Assert2(context,type,value),(context,type,value)=>DecodeUnsafe(context,type,value)]);function Decode10(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return Decoder(context,type,value)}var EncodeError=class extends AssertError{constructor(value,errors){super("Encode",value,errors)}};function Assert3(context,type,value){if(!Check2(context,type,value))throw new EncodeError(value,Errors2(context,type,value));return value}function EncodeUnsafe(context,type,value){let sorted=settings_exports.Get().unionPrioritySort?UnionPrioritySort(type):type;return FromType23("Encode",context,sorted,value)}var Encoder=Pipeline([(_context,_type,value)=>Clone2(value),(context,type,value)=>EncodeUnsafe(context,type,value),(context,type,value)=>Default(context,type,value),(context,type,value)=>Convert(context,type,value),(context,type,value)=>Clean(context,type,value),(context,type,value)=>Assert3(context,type,value)]);function Encode10(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return Encoder(context,type,value)}function FromArray11(context,type){return IsCodec(type)||FromType24(context,type.items)}function FromCyclic10(context,type){return IsCodec(type)||FromRef9({...context,...type.$defs},Ref(type.$ref))}function FromIntersect10(context,type){return IsCodec(type)||type.allOf.some(type2=>FromType24(context,type2))}function FromObject15(context,type){return IsCodec(type)||guard_exports.Keys(type.properties).some(key=>FromType24(context,type.properties[key]))}function FromRecord7(context,type){return IsCodec(type)||FromType24(context,RecordValue(type))}function FromRef9(context,type){return visited.has(type.$ref)?!1:(visited.add(type.$ref),IsCodec(type)||guard_exports.HasPropertyKey(context,type.$ref)&&FromType24(context,context[type.$ref]))}function FromTuple9(context,type){return IsCodec(type)||type.items.some(type2=>FromType24(context,type2))}function FromUnion13(context,type){return IsCodec(type)||type.anyOf.some(type2=>FromType24(context,type2))}function FromType24(context,type){return IsArray3(type)?FromArray11(context,type):IsCyclic(type)?FromCyclic10(context,type):IsIntersect(type)?FromIntersect10(context,type):IsObject3(type)?FromObject15(context,type):IsRecord(type)?FromRecord7(context,type):IsRef(type)?FromRef9(context,type):IsTuple(type)?FromTuple9(context,type):IsUnion(type)?FromUnion13(context,type):IsCodec(type)}var visited=new Set;function HasCodec(...args){let[context,type]=arguments_exports.Match(args,{2:(context2,type2)=>[context2,type2],1:type2=>[{},type2]});return visited.clear(),FromType24(context,type)}var CreateError=class extends Error{constructor(type,message){super(message),this.type=type}};function FromDefault2(_context,schema){return guard_exports.IsFunction(schema.default)?schema.default(schema):guard_exports.IsObject(schema.default)?Clone2(schema.default):schema.default}function FromArray12(context,type){if(IsUniqueItems(type)&&!IsDefault(type))throw new CreateError(type,"Arrays with uniqueItems constraints must specify a default annotation");let length=IsMinItems(type)?type.minItems:0;return Array.from({length},()=>FromType25(context,type.items))}function FromBigInt7(_context,type){return IsExclusiveMinimum(type)?BigInt(type.exclusiveMinimum)+BigInt(1):IsMinimum(type)?BigInt(type.minimum):BigInt(0)}function FromBoolean7(_context,_type){return!1}function FromConstructor2(context,type){let instanceType=FromType25(context,type.instanceType);return class{constructor(){Object.assign(this,instanceType)}}}function FromCyclic11(context,type){return FromType25({...context,...type.$defs},Ref(type.$ref))}function FromEnum4(context,type){return FromType25(context,Evaluate2(type))}function FromFunction2(context,type){let returnType=FromType25(context,type.returnType);return()=>returnType}function FromInteger2(_context,type){return IsExclusiveMinimum(type)&&guard_exports.IsNumber(type.exclusiveMinimum)?type.exclusiveMinimum+1:IsMinimum(type)?type.minimum:0}function FromIntersect11(context,type){let instantiated=Instantiate(context,type),evaluated=Evaluate2(instantiated);return FromType25(context,evaluated)}function FromLiteral7(_context,type){return type.const}function FromNever(_context,type){throw new CreateError(type,"Cannot create TNever types")}function FromNull3(_context,_type){return null}function FromNumber6(_context,type){return IsExclusiveMinimum(type)&&guard_exports.IsNumber(type.exclusiveMinimum)?type.exclusiveMinimum+1:IsMinimum(type)?type.minimum:0}function FromObject16(context,type){return(guard_exports.IsUndefined(type.required)?[]:type.required).reduce((result,key)=>({...result,[key]:FromType25(context,type.properties[key])}),{})}function FromRecord8(_context,type){if(IsMinProperties(type)&&!IsDefault(type))throw new CreateError(type,"Record with the minProperties constraint must have a default annotation");return{}}function FromRef10(context,type){return guard_exports.HasPropertyKey(context,type.$ref)?FromType25(context,context[type.$ref]):(()=>{throw new CreateError(type,"Unable to deref Ref")})()}function FromString8(_context,type){if((IsPattern(type)||IsFormat(type))&&!IsDefault(type))throw Error("Strings with format or pattern constraints must specify default");let minLength=IsMinLength4(type)?type.minLength:0;return"".padEnd(minLength)}function FromSymbol2(_context,_type){return Symbol()}function FromTemplateLiteral5(context,type){let decoded=TemplateLiteralDecode(type.pattern);if(IsString4(decoded))throw new CreateError(type,"Unable to create TemplateLiteral due to infinite type expansion");return FromType25(context,decoded)}function FromTuple10(context,type){return Array.from({length:type.minItems},(_,i)=>FromType25(context,type.items[i]))}function FromUnion14(context,type){if(guard_exports.IsEqual(type.anyOf.length,0))throw Error("Unable to create Union with no variants");return FromType25(context,type.anyOf[0])}function FromType25(context,type){return IsDefault(type)?FromDefault2(context,type):IsArray3(type)?FromArray12(context,type):IsBigInt3(type)?FromBigInt7(context,type):IsBoolean4(type)?FromBoolean7(context,type):IsConstructor3(type)?FromConstructor2(context,type):IsCyclic(type)?FromCyclic11(context,type):IsEnum(type)?FromEnum4(context,type):IsFunction3(type)?FromFunction2(context,type):IsInteger3(type)?FromInteger2(context,type):IsIntersect(type)?FromIntersect11(context,type):IsLiteral(type)?FromLiteral7(context,type):IsNever(type)?FromNever(context,type):IsNull3(type)?FromNull3(context,type):IsNumber4(type)?FromNumber6(context,type):IsObject3(type)?FromObject16(context,type):IsRecord(type)?FromRecord8(context,type):IsRef(type)?FromRef10(context,type):IsString4(type)?FromString8(context,type):IsSymbol3(type)?FromSymbol2(context,type):IsTemplateLiteral(type)?FromTemplateLiteral5(context,type):IsTuple(type)?FromTuple10(context,type):IsUndefined3(type)?void 0:IsUnion(type)?FromUnion14(context,type):IsVoid(type)?void 0:void 0}function Create2(...args){let[context,type]=arguments_exports.Match(args,{2:(context2,type2)=>[context2,type2],1:type2=>[{},type2]});return FromType25(context,type)}function Equal(left,right){return guard_exports.IsDeepEqual(left,right)}function Hash2(value){return hash_exports.Hash(value)}var ParseError=class extends AssertError{constructor(value,errors){super("Parse",value,errors)}};function Assert4(context,type,value){if(!Check2(context,type,value))throw new ParseError(value,Errors2(context,type,value));return value}var Parser=Pipeline([(_context,_type,value)=>Clone2(value),(context,type,value)=>Default(context,type,value),(context,type,value)=>Convert(context,type,value),(context,type,value)=>Clean(context,type,value),(context,type,value)=>Assert4(context,type,value)]);function Parse(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});if(Check2(context,type,value))return value;if(settings_exports.Get().correctiveParse)return Parser(context,type,value);throw new ParseError(value,Errors2(context,type,value))}function CreateUpdate(path,value){return{type:"update",path,value}}function CreateInsert(path,value){return{type:"insert",path,value}}function CreateDelete(path){return{type:"delete",path}}function AssertCanDiffObject(value){if(!(guard_exports.IsObject(value)&&guard_exports.IsEqual(guard_exports.Symbols(value).length,0)))throw new Error("Cannot create diffs for objects with symbols keys")}function*FromObject17(path,left,right){if(!guard_exports.IsObject(right)||guard_exports.IsArray(right))return yield CreateUpdate(path,right);AssertCanDiffObject(left),AssertCanDiffObject(right);let leftKeys=guard_exports.Keys(left),rightKeys=guard_exports.Keys(right);for(let key of rightKeys)guard_exports.HasPropertyKey(left,key)||guard_exports.IsUnsafePropertyKey(key)||(yield CreateInsert(`${path}/${key}`,right[key]));for(let key of leftKeys)guard_exports.HasPropertyKey(right,key)&&(guard_exports.IsUnsafePropertyKey(key)||Equal(left,right)||(yield*FromValue4(`${path}/${key}`,left[key],right[key])));for(let key of leftKeys)guard_exports.HasPropertyKey(right,key)||guard_exports.IsUnsafePropertyKey(key)||(yield CreateDelete(`${path}/${key}`))}function*FromArray13(path,left,right){if(!guard_exports.IsArray(right))return yield CreateUpdate(path,right);for(let i=0;i<Math.min(left.length,right.length);i++)yield*FromValue4(`${path}/${i}`,left[i],right[i]);for(let i=0;i<right.length;i++)i<left.length||(yield CreateInsert(`${path}/${i}`,right[i]));for(let i=left.length-1;i>=0;i--)i<right.length||(yield CreateDelete(`${path}/${i}`))}function*FromTypedArray2(path,left,right){let typeLeft=globalThis.Object.getPrototypeOf(left).constructor.name,typeRight=globalThis.Object.getPrototypeOf(right).constructor.name;if(globals_exports.IsTypeArray(right)&&guard_exports.IsEqual(left.length,right.length)&&guard_exports.IsEqual(typeLeft,typeRight))for(let index3=0;index3<Math.min(left.length,right.length);index3++)yield*FromValue4(`${path}/${index3}`,left[index3],right[index3]);else return yield CreateUpdate(path,right)}function*FromUnknown(path,left,right){left!==right&&(yield CreateUpdate(path,right))}function*FromValue4(path,left,right){return globals_exports.IsTypeArray(left)?yield*FromTypedArray2(path,left,right):guard_exports.IsArray(left)?yield*FromArray13(path,left,right):guard_exports.IsObject(left)?yield*FromObject17(path,left,right):yield*FromUnknown(path,left,right)}function Diff(current,next){return[...FromValue4("",current,next)]}var Insert2=_Object_({type:Literal("insert"),path:String2(),value:Unknown()}),Update2=Object({type:Literal("update"),path:String2(),value:Unknown()}),Delete2=_Object_({type:Literal("delete"),path:String2()}),Edit=Union([Insert2,Update2,Delete2]);function IsRoot(edits){return edits.length>0&&edits[0].path===""&&edits[0].type==="update"}function IsEmpty(edits){return edits.length===0}function Patch(current,edits){if(IsRoot(edits))return Clone2(edits[0].value);if(IsEmpty(edits))return Clone2(current);let clone=Clone2(current);for(let edit of edits)switch(edit.type){case"insert":{pointer_exports.Set(clone,edit.path,edit.value);break}case"update":{pointer_exports.Set(clone,edit.path,edit.value);break}case"delete":{pointer_exports.Delete(clone,edit.path);break}}return clone}var RepairError=class extends Error{constructor(context,type,value,message){super(message),this.context=context,this.type=type,this.value=value}};function MakeUnique(values){let[hashes,result]=[new Set,[]];for(let value of values){let hash=Hash2(value);hashes.has(hash)||(hashes.add(hash),result.push(value))}return result}function FromArray14(context,type,value){if(Check2(context,type,value))return value;let created=guard_exports.IsArray(value)?value:Create2(context,type),minimum=IsMinItems(type)&&created.length<type.minItems?[...created,...Array.from({length:type.minItems-created.length},()=>Create2(context,type))]:created,repaired=(IsMaxItems(type)&&minimum.length>type.maxItems?minimum.slice(0,type.maxItems):minimum).map(value2=>FromType26(context,type.items,value2));if(!IsUniqueItems(type)||IsUniqueItems(type)&&!guard_exports.IsEqual(type.uniqueItems,!0))return repaired;let unique=MakeUnique(repaired);if(!Check2(context,type,unique))throw new RepairError(context,type,value,"Failed to repair Array due to uniqueItems constraint");return unique}function FromEnum5(context,type,value){return FromType26(context,Evaluate2(type),value)}function FromIntersect12(context,type,value){let instantiated=Instantiate(context,type),evaluated=Evaluate2(instantiated);return FromType26(context,evaluated,value)}function FromObject18(context,type,value){if(Check2(context,type,value))return value;if(!guard_exports.IsObjectNotArray(value))return Create2(context,type);let required=new Set(guard_exports.IsUndefined(type.required)?[]:type.required),result={};for(let[key,schema]of guard_exports.Entries(type.properties))!required.has(key)&&guard_exports.IsUndefined(value[key])||(result[key]=key in value?FromType26(context,schema,value[key]):Create2(context,schema));let evaluatedKeys=guard_exports.Keys(type.properties);if(IsAdditionalProperties(type)&&guard_exports.IsObject(type.additionalProperties))for(let key of guard_exports.Keys(value))evaluatedKeys.includes(key)||(result[key]=FromType26(context,type.additionalProperties,value[key]));return result}function FromRecord9(context,type,value){if(Check2(context,type,value))return value;if(guard_exports.IsNull(value)||!guard_exports.IsObject(value)||guard_exports.IsArray(value))return Create2(context,type);let recordKey=new RegExp(RecordPattern(type)),recordValue=RecordValue(type),evaluatedKeys=new Set,result={};for(let[key,value_]of guard_exports.Entries(value))recordKey.test(key)&&(result[key]=FromType26(context,recordValue,value_),evaluatedKeys.add(key));if(IsAdditionalProperties(type))for(let key of guard_exports.Keys(value))evaluatedKeys.has(key)||(result[key]=FromType26(context,type.additionalProperties,value[key]));return result}function FromRef11(context,type,value){return guard_exports.HasPropertyKey(context,type.$ref)?FromType26(context,context[type.$ref],value):(()=>{throw new RepairError(context,type,value,"Unable to de-reference target type")})()}function FromTemplateLiteral6(context,type,value){let decoded=TemplateLiteralDecode(type.pattern);return FromType26(context,decoded,value)}function FromTuple11(context,schema,value){return Check2(context,schema,value)?value:guard_exports.IsArray(value)?schema.items.map((schema2,index3)=>FromType26(context,schema2,value[index3])):Create2(context,schema)}function Deref(context,type,value){return IsRef(type)?guard_exports.HasPropertyKey(context,type.$ref)?Deref(context,context[type.$ref],value):(()=>{throw new Error("Unable to Deref target")})():type}function ScoreVariant(context,type,value){if(!(IsObject3(type)&&guard_exports.IsObject(value)))return 0;let keys=guard_exports.Keys(value);return guard_exports.Entries(type.properties).reduce((result,[key,schema])=>{let literal=IsLiteral(schema)&&guard_exports.IsEqual(schema.const,value[key])?100:0,checks=Check2(context,schema,value[key])?10:0,exists=keys.includes(key)?1:0;return result+(literal+checks+exists)},0)}function UnionScoreSelect(context,type,value){let schemas=type.anyOf.map(schema=>Deref(context,schema,value)),[select,best]=[schemas[0],0];for(let schema of schemas){let score=ScoreVariant(context,schema,value);score>best&&(select=schema,best=score)}return select}function RepairUnion(context,type,value){let union=Union(Flatten(type.anyOf)),schema=UnionScoreSelect(context,union,value);return FromType26(context,schema,value)}function FromUnion15(context,type,value){return Check2(context,type,value)?Clone2(value):IsDefault(type)?Create2(context,type):RepairUnion(context,type,value)}function FromUnknown2(context,type,value){if(Check2(context,type,value))return value;let converted=Convert(context,type,value);return Check2(context,type,converted)?converted:Create2(context,type)}function AssertRepairableValue(context,type,value){if(globals_exports.IsDate(value)||globals_exports.IsMap(value)||globals_exports.IsSet(value)||globals_exports.IsTypeArray(value)||guard_exports.IsConstructor(value)||guard_exports.IsFunction(value))throw new RepairError(context,type,value,"Value is not repairable")}function AssertRepairableType(context,type,value){if(IsConstructor3(type)||IsFunction3(type)||IsNever(type))throw new RepairError(context,type,value,"Type is not repairable")}function CreateWhenUndefined(context,type,value){return guard_exports.IsUndefined(value)&&!IsUndefined3(type)?Create2(context,type):value}function FinalizeRepair(context,type,repaired){return IsRefine(type)?Check2(context,type,repaired)?repaired:Create2(context,type):repaired}function FromType26(context,type,value){AssertRepairableValue(context,type,value),AssertRepairableType(context,type,value);let candidate=CreateWhenUndefined(context,type,value),repaired=IsArray3(type)?FromArray14(context,type,candidate):IsEnum(type)?FromEnum5(context,type,candidate):IsIntersect(type)?FromIntersect12(context,type,candidate):IsObject3(type)?FromObject18(context,type,candidate):IsRecord(type)?FromRecord9(context,type,candidate):IsRef(type)?FromRef11(context,type,candidate):IsTemplateLiteral(type)?FromTemplateLiteral6(context,type,candidate):IsTuple(type)?FromTuple11(context,type,candidate):IsUnion(type)?FromUnion15(context,type,candidate):FromUnknown2(context,type,candidate);return FinalizeRepair(context,type,repaired)}function Repair(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]}),repaired=FromType26(context,type,value);return Assert(context,type,repaired),repaired}var value_exports={};__export(value_exports,{Assert:()=>Assert,Check:()=>Check2,Clean:()=>Clean,Clone:()=>Clone2,Convert:()=>Convert,Create:()=>Create2,Decode:()=>Decode10,Default:()=>Default,Diff:()=>Diff,Encode:()=>Encode10,Equal:()=>Equal,Errors:()=>Errors2,HasCodec:()=>HasCodec,Hash:()=>Hash2,Parse:()=>Parse,Patch:()=>Patch,Pointer:()=>pointer_exports,Repair:()=>Repair});var value_default=value_exports;var EXPERIMENTAL_PUBLIC_API_VERSION="1-draft",LifecycleTransformError=class extends Error{report;cause;constructor(cause,report){super("Lifecycle transform failed"),this.name="LifecycleTransformError",this.cause=cause,this.report=report}},LifecycleExecuteError=class extends Error{report;cause;constructor(cause,report){super("Lifecycle execute failed"),this.name="LifecycleExecuteError",this.cause=cause,this.report=report}},AGENT_TASK_CHILD_PROFILE_KEY="agent-forge.agentTaskChildProfile",AGENT_TASK_PARENT_SESSION_KEY="agent-forge.agentTaskParentSession",AGENT_TASK_PARENT_TRACE_KEY="agent-forge.agentTaskParentTrace",AGENT_TASK_RESUME_SESSION_KEY="agent-forge.agentTaskResumeSession",CHILD_PROFILE_KEYS=["version","model","thinkingLevel","tools","mode","systemPromptAppend","roleId"],CHILD_PROFILE_TOOL_LIMIT=64,CHILD_PROFILE_APPEND_CHARS=8e3,CHILD_PROFILE_THINKING_LEVELS=["minimal","low","medium","high","xhigh","max"];function parseAgentTaskChildProfileV1(value){if(value===null||typeof value!="object"||Array.isArray(value))return{ok:!1,message:"child task profile must be an object"};let record=value;for(let key of Object.keys(record))if(!CHILD_PROFILE_KEYS.includes(key))return{ok:!1,message:`child task profile has unknown key ${JSON.stringify(key)} (known: ${CHILD_PROFILE_KEYS.join(", ")})`};if(record.version!==1)return{ok:!1,message:`child task profile version must be 1, found ${JSON.stringify(record.version)}`};let model;if(record.model!==void 0){if(typeof record.model!="string"||record.model.trim()==="")return{ok:!1,message:"child task profile model must be a non-empty string"};model=record.model}let thinkingLevel;if(record.thinkingLevel!==void 0){if(typeof record.thinkingLevel!="string"||!CHILD_PROFILE_THINKING_LEVELS.includes(record.thinkingLevel))return{ok:!1,message:`child task profile thinkingLevel must be one of ${CHILD_PROFILE_THINKING_LEVELS.join(", ")}, found `+JSON.stringify(record.thinkingLevel)};thinkingLevel=record.thinkingLevel}let tools;if(record.tools!==void 0){if(!Array.isArray(record.tools)||record.tools.length>CHILD_PROFILE_TOOL_LIMIT)return{ok:!1,message:`child task profile tools must be an array of at most ${CHILD_PROFILE_TOOL_LIMIT} names`};let names2=new Set;for(let entry of record.tools){if(typeof entry!="string"||entry.trim()==="")return{ok:!1,message:"child task profile tools entries must be non-empty strings"};names2.add(entry)}tools=Object.freeze([...names2])}let mode;if(record.mode!==void 0){if(record.mode!=="readonly"&&record.mode!=="full-control")return{ok:!1,message:'child task profile mode must be "readonly" or "full-control"'};mode=record.mode}let roleId;if(record.roleId!==void 0){if(typeof record.roleId!="string"||record.roleId.trim()==="")return{ok:!1,message:"child task profile roleId must be a non-empty string"};roleId=record.roleId}let systemPromptAppend;if(record.systemPromptAppend!==void 0){if(typeof record.systemPromptAppend!="string"||record.systemPromptAppend.trim()===""||record.systemPromptAppend.length>CHILD_PROFILE_APPEND_CHARS)return{ok:!1,message:`child task profile systemPromptAppend must be a non-empty string of at most ${CHILD_PROFILE_APPEND_CHARS} chars`};systemPromptAppend=record.systemPromptAppend}return{ok:!0,profile:Object.freeze({version:1,...model===void 0?{}:{model},...thinkingLevel===void 0?{}:{thinkingLevel},...tools===void 0?{}:{tools},...mode===void 0?{}:{mode},...systemPromptAppend===void 0?{}:{systemPromptAppend},...roleId===void 0?{}:{roleId}})}}function readAgentTaskChildProfileV1(metadata){let raw=metadata?.[AGENT_TASK_CHILD_PROFILE_KEY];if(raw!==void 0)return parseAgentTaskChildProfileV1(raw)}var SUMMARY_MODEL_INVOCATION_ERROR_CODES={providerError:"summary_provider_error",lengthCap:"summary_length_cap",toolCall:"summary_tool_call",transportError:"summary_transport_error"};function createDisposableRegistration(kind,dispose,id){let disposed=!1;return{id,kind,dispose:()=>{if(!disposed)return disposed=!0,dispose()}}}function createEventEnvelope(event,options){return{...event,id:options.id,timestamp:options.timestamp??0}}function detachedSessionSnapshot(value){let clone=structuredClone(value),freeze=candidate=>{if(!(!candidate||typeof candidate!="object")&&!ArrayBuffer.isView(candidate)){for(let child of Object.values(candidate))freeze(child);Object.freeze(candidate)}};return freeze(clone),clone}var import_semver=__toESM(require_semver2(),1);function isStringArray(value){return Array.isArray(value)&&value.every(entry=>typeof entry=="string")}function isObject(value){return typeof value=="object"&&value!==null&&!Array.isArray(value)}function isJsonConfigValue(value){return value===null||typeof value=="boolean"||typeof value=="string"?!0:typeof value=="number"?Number.isFinite(value):Array.isArray(value)?value.every(isJsonConfigValue):isObject(value)?Object.values(value).every(isJsonConfigValue):!1}function assertPluginCapabilityId(value,field,manifestPath){if(typeof value!="string"||!value.trim())throw new Error(`Capability plugin ${field} must be a non-empty string: ${manifestPath}`)}function assertPluginCapabilityVersion(value,field,manifestPath){if(typeof value!="number"||!Number.isSafeInteger(value)||value<1)throw new Error(`Capability plugin ${field} must be a positive safe integer: ${manifestPath}`)}function capabilityKey(id,version){return`${id}\0${version}`}function parsePluginAgentRoles(value,manifestPath){if(value===void 0)return;if(!Array.isArray(value))throw new Error(`Capability plugin roles must be an array: ${manifestPath}`);let roles=[],seen=new Set;for(let[index3,role]of value.entries()){if(role!=="root-agent-controller"&&role!=="child-agent-controller")throw new Error(`Capability plugin roles[${index3}] is invalid: ${manifestPath}`);if(seen.has(role))throw new Error(`Capability plugin roles duplicates ${role}: ${manifestPath}`);seen.add(role),roles.push(role)}return roles}function parsePluginAgentDeclarations(value,roles,manifestPath){if(value===void 0)return;if(!Array.isArray(value))throw new Error(`Capability plugin agents must be an array: ${manifestPath}`);let declarations=[],seen=new Set;for(let[index3,candidate]of value.entries()){if(!isObject(candidate))throw new Error(`Capability plugin agents[${index3}] must be an object: ${manifestPath}`);let{id,version,role,entry}=candidate;if(assertPluginCapabilityId(id,`agents[${index3}].id`,manifestPath),assertPluginCapabilityVersion(version,`agents[${index3}].version`,manifestPath),role!=="root-agent-controller"&&role!=="child-agent-controller")throw new Error(`Capability plugin agents[${index3}].role is invalid: ${manifestPath}`);if(typeof entry!="string"||!entry.trim())throw new Error(`Capability plugin agents[${index3}].entry must be a non-empty string: ${manifestPath}`);if(roles!==void 0&&!roles.includes(role))throw new Error(`Capability plugin agents[${index3}].role is not declared in roles: ${manifestPath}`);let key=capabilityKey(id,version);if(seen.has(key))throw new Error(`Capability plugin agents duplicates ${id}@${version}: ${manifestPath}`);seen.add(key),declarations.push({id,version,role,entry})}return declarations}function parsePluginCapabilityDeclarations(value,manifestPath){if(value===void 0)return;if(!Array.isArray(value))throw new Error(`Capability plugin provides must be an array: ${manifestPath}`);let declarations=[],seen=new Set;for(let[index3,candidate]of value.entries()){if(!isObject(candidate))throw new Error(`Capability plugin provides[${index3}] must be an object: ${manifestPath}`);let{id,version,kind}=candidate;if(assertPluginCapabilityId(id,`provides[${index3}].id`,manifestPath),assertPluginCapabilityVersion(version,`provides[${index3}].version`,manifestPath),kind!=="service"&&kind!=="contribution"&&kind!=="transform")throw new Error(`Capability plugin provides[${index3}].kind is invalid: ${manifestPath}`);let key=capabilityKey(id,version);if(seen.has(key))throw new Error(`Capability plugin provides duplicates ${id}@${version}: ${manifestPath}`);seen.add(key),declarations.push({id,version,kind})}return declarations}function parsePluginCapabilityRequirements(value,manifestPath){if(value===void 0)return;if(!Array.isArray(value))throw new Error(`Capability plugin requires must be an array: ${manifestPath}`);let requirements=[],seen=new Set;for(let[index3,candidate]of value.entries()){if(!isObject(candidate))throw new Error(`Capability plugin requires[${index3}] must be an object: ${manifestPath}`);let{id,version,optional}=candidate;if(assertPluginCapabilityId(id,`requires[${index3}].id`,manifestPath),assertPluginCapabilityVersion(version,`requires[${index3}].version`,manifestPath),optional!==void 0&&typeof optional!="boolean")throw new Error(`Capability plugin requires[${index3}].optional must be a boolean: ${manifestPath}`);let key=capabilityKey(id,version);if(seen.has(key))throw new Error(`Capability plugin requires duplicates ${id}@${version}: ${manifestPath}`);seen.add(key),requirements.push(optional===void 0?{id,version}:{id,version,optional})}return requirements}function parseCapabilityPluginManifest(value,manifestPath="<manifest>"){if(!isObject(value))throw new Error(`Capability plugin manifest must be an object: ${manifestPath}`);let{id,version,hostVersion,apiVersion,entry,requiredCapabilities,optionalCapabilities,provides,requires,roles,agents,config}=value;if(typeof id!="string"||typeof version!="string"||typeof apiVersion!="string"||typeof entry!="string")throw new Error(`Capability plugin manifest requires string id, version, apiVersion, and entry: ${manifestPath}`);if(apiVersion!==EXPERIMENTAL_PUBLIC_API_VERSION)throw new Error(`Unsupported plugin API version: ${apiVersion}: ${manifestPath}`);if(hostVersion!==void 0&&(typeof hostVersion!="string"||hostVersion.trim()===""||(0,import_semver.validRange)(hostVersion)===null))throw new Error(`Capability plugin hostVersion must be a non-empty string containing a valid semver range (e.g. ">=0.84.0"): ${manifestPath}`);if(requiredCapabilities!==void 0&&!isStringArray(requiredCapabilities))throw new Error(`Capability plugin requiredCapabilities must be a string array: ${manifestPath}`);if(optionalCapabilities!==void 0&&!isStringArray(optionalCapabilities))throw new Error(`Capability plugin optionalCapabilities must be a string array: ${manifestPath}`);if(config!==void 0&&(!isObject(config)||!isJsonConfigValue(config)))throw new Error(`Capability plugin config must be a JSON object: ${manifestPath}`);let parsedProvides=parsePluginCapabilityDeclarations(provides,manifestPath),parsedRequires=parsePluginCapabilityRequirements(requires,manifestPath),parsedRoles=parsePluginAgentRoles(roles,manifestPath),parsedAgents=parsePluginAgentDeclarations(agents,parsedRoles,manifestPath);return{id,version,apiVersion,entry,requiredCapabilities,optionalCapabilities,...hostVersion===void 0?{}:{hostVersion},...parsedProvides===void 0?{}:{provides:parsedProvides},...parsedRequires===void 0?{}:{requires:parsedRequires},...parsedRoles===void 0?{}:{roles:parsedRoles},...parsedAgents===void 0?{}:{agents:parsedAgents},...config===void 0?{}:{config}}}var MEMORY_RECALL_TOOL_NAME="memory_recall";var dist_exports={};__export(dist_exports,{AGENT_TASK_CHILD_PROFILE_KEY:()=>AGENT_TASK_CHILD_PROFILE_KEY,AGENT_TASK_PARENT_SESSION_KEY:()=>AGENT_TASK_PARENT_SESSION_KEY,AGENT_TASK_PARENT_TRACE_KEY:()=>AGENT_TASK_PARENT_TRACE_KEY,AGENT_TASK_RESUME_SESSION_KEY:()=>AGENT_TASK_RESUME_SESSION_KEY,DEFAULT_PLUGIN_CONTEXT_BUDGET_V1:()=>DEFAULT_PLUGIN_CONTEXT_BUDGET_V1,EXPERIMENTAL_PUBLIC_API_VERSION:()=>EXPERIMENTAL_PUBLIC_API_VERSION,LifecycleExecuteError:()=>LifecycleExecuteError,LifecycleTransformError:()=>LifecycleTransformError,MAX_ARTIFACT_METADATA_CHARS_V1:()=>MAX_ARTIFACT_METADATA_CHARS_V1,MAX_ARTIFACT_REF_CHARS_V1:()=>MAX_ARTIFACT_REF_CHARS_V1,MEMORY_RECALL_TOOL_NAME:()=>MEMORY_RECALL_TOOL_NAME,PLUGIN_OPERATION_TERMINAL_STATUSES_V1:()=>PLUGIN_OPERATION_TERMINAL_STATUSES_V1,PLUGIN_SHARED_CONTRACT_VERSION_V1:()=>PLUGIN_SHARED_CONTRACT_VERSION_V1,SUMMARY_MODEL_INVOCATION_ERROR_CODES:()=>SUMMARY_MODEL_INVOCATION_ERROR_CODES,TRACE_KINDS_V1:()=>TRACE_KINDS_V1,artifactRefKeyV1:()=>artifactRefKeyV1,assertExactKeys:()=>assertExactKeys,assertFiniteNumber:()=>assertFiniteNumber,assertJsonResultInputV1:()=>assertJsonResultInputV1,assertJsonValue:()=>assertJsonValue,assertNonEmptyString:()=>assertNonEmptyString,assertNonNegativeNumber:()=>assertNonNegativeNumber,assertNonNegativeSafeInteger:()=>assertNonNegativeSafeInteger,assertOptionalString:()=>assertOptionalString,assertPlainRecord:()=>assertPlainRecord,assertPositiveSafeInteger:()=>assertPositiveSafeInteger,buildArtifactRefV1:()=>buildArtifactRefV1,buildDiffRequestV1:()=>buildDiffRequestV1,buildDiffResultV1:()=>buildDiffResultV1,buildEvidenceRefV1:()=>buildEvidenceRefV1,buildPluginErrorV1:()=>buildPluginErrorV1,buildPluginOperationV1:()=>buildPluginOperationV1,buildPluginResultV1:()=>buildPluginResultV1,buildRenderRequestV1:()=>buildRenderRequestV1,buildRenderResultV1:()=>buildRenderResultV1,buildVerificationV1:()=>buildVerificationV1,createDisposableRegistration:()=>createDisposableRegistration,createEventEnvelope:()=>createEventEnvelope,detachedFreeze:()=>detachedFreeze,detachedSessionSnapshot:()=>detachedSessionSnapshot,isArtifactRefV1:()=>isArtifactRefV1,isPlainRecord:()=>isPlainRecord,parseAgentTaskChildProfileV1:()=>parseAgentTaskChildProfileV1,parseCapabilityPluginManifest:()=>parseCapabilityPluginManifest,projectPluginContextV1:()=>projectPluginContextV1,readAgentTaskChildProfileV1:()=>readAgentTaskChildProfileV1,sortByKey:()=>sortByKey,stableStringifyV1:()=>stableStringifyV1,validateArtifactRefV1:()=>validateArtifactRefV1,validateDiffRequestV1:()=>validateDiffRequestV1,validateDiffResultV1:()=>validateDiffResultV1,validateEvidenceRefV1:()=>validateEvidenceRefV1,validatePluginErrorV1:()=>validatePluginErrorV1,validatePluginOperationV1:()=>validatePluginOperationV1,validatePluginResultV1:()=>validatePluginResultV1,validateRenderRequestV1:()=>validateRenderRequestV1,validateRenderResultV1:()=>validateRenderResultV1,validateVerificationV1:()=>validateVerificationV1});var PLUGIN_SHARED_CONTRACT_VERSION_V1=1;function isPlainRecord(value){if(value===null||typeof value!="object"||Array.isArray(value))return!1;let prototype=Object.getPrototypeOf(value);return prototype===Object.prototype||prototype===null}function assertPlainRecord(value,label){if(!isPlainRecord(value))throw new Error(`${label} must be a plain object`)}function assertExactKeys(value,required,optional,label){let allowed=new Set([...required,...optional]),unsupported=Object.keys(value).filter(key=>!allowed.has(key)).sort();if(unsupported.length>0)throw new Error(`${label} has unsupported fields: ${unsupported.join(", ")}`);for(let key of required)if(!(key in value))throw new Error(`${label} is missing required field: ${key}`)}function assertNonEmptyString(value,label){if(typeof value!="string"||value.trim().length===0)throw new Error(`${label} must be a non-empty string`)}function assertOptionalString(value,label){value!==void 0&&assertNonEmptyString(value,label)}function assertFiniteNumber(value,label){if(typeof value!="number"||!Number.isFinite(value))throw new Error(`${label} must be a finite number`)}function assertNonNegativeNumber(value,label){if(assertFiniteNumber(value,label),value<0)throw new Error(`${label} must be non-negative`)}function assertPositiveSafeInteger(value,label){if(typeof value!="number"||!Number.isSafeInteger(value)||value<1)throw new Error(`${label} must be a positive safe integer`)}function assertNonNegativeSafeInteger(value,label){if(typeof value!="number"||!Number.isSafeInteger(value)||value<0)throw new Error(`${label} must be a non-negative safe integer`)}function assertJsonValue(value,label,seen=new WeakSet){if(!(value===null||typeof value=="boolean"||typeof value=="string")){if(typeof value=="number"){if(Number.isFinite(value))return;throw new Error(`${label} must contain finite JSON numbers`)}if(typeof value!="object")throw new Error(`${label} must be JSON-compatible`);if(seen.has(value))throw new Error(`${label} must not contain cycles`);if(seen.add(value),Array.isArray(value))for(let[index3,child]of value.entries())assertJsonValue(child,`${label}[${index3}]`,seen);else{if(!isPlainRecord(value))throw new Error(`${label} must contain only plain JSON objects`);for(let[key,child]of Object.entries(value))assertJsonValue(child,`${label}.${key}`,seen)}seen.delete(value)}}function detachedFreeze(value,seen=new WeakMap){if(value===null||typeof value!="object")return value;let existing=seen.get(value);if(existing!==void 0)return existing;if(Array.isArray(value)){let result2=[];seen.set(value,result2);for(let child of value)result2.push(detachedFreeze(child,seen));return Object.freeze(result2)}let result={};seen.set(value,result);for(let key of Object.keys(value).sort())result[key]=detachedFreeze(value[key],seen);return Object.freeze(result)}function sortByKey(values,key){return[...values].sort((left,right)=>{let a=key(left),b=key(right);return a<b?-1:a>b?1:0})}function stableStringifyV1(value){return value===null||typeof value=="boolean"||typeof value=="number"||typeof value=="string"?JSON.stringify(value):Array.isArray(value)?`[${value.map(item=>stableStringifyV1(item)).join(",")}]`:`{${Object.entries(value).sort(([a],[b])=>a<b?-1:a>b?1:0).map(([key,item])=>`${JSON.stringify(key)}:${stableStringifyV1(item)}`).join(",")}}`}var MAX_ARTIFACT_REF_CHARS_V1=2048,MAX_ARTIFACT_METADATA_CHARS_V1=256;function validateBoundedString(value,label,maximum){if(assertNonEmptyString(value,label),value.length>maximum)throw new Error(`${label} exceeds the context budget (${maximum} characters)`);return value}function validateDigest(value,label){if(value!==void 0)return validateBoundedString(value,label,MAX_ARTIFACT_METADATA_CHARS_V1)}function validateArtifactRefV1(value,label="Artifact reference"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","artifactRef","kind","mimeType"],["digest","sizeBytes","operationId","pluginId"],label),value.version!==1)throw new Error(`${label}.version must be 1`);let artifactRef=validateBoundedString(value.artifactRef,`${label}.artifactRef`,MAX_ARTIFACT_REF_CHARS_V1);if(/^(?:file:|[a-zA-Z]:[\\/]|[\\/]{1,2}|\\\\)/iu.test(artifactRef))throw new Error(`${label}.artifactRef must be an opaque reference, not a local path`);let kind=validateBoundedString(value.kind,`${label}.kind`,MAX_ARTIFACT_METADATA_CHARS_V1),mimeType=validateBoundedString(value.mimeType,`${label}.mimeType`,MAX_ARTIFACT_METADATA_CHARS_V1),digest=validateDigest(value.digest,`${label}.digest`);value.sizeBytes!==void 0&&assertNonNegativeSafeInteger(value.sizeBytes,`${label}.sizeBytes`);let operationId=value.operationId===void 0?void 0:validateBoundedString(value.operationId,`${label}.operationId`,MAX_ARTIFACT_METADATA_CHARS_V1),pluginId=value.pluginId===void 0?void 0:validateBoundedString(value.pluginId,`${label}.pluginId`,MAX_ARTIFACT_METADATA_CHARS_V1);return detachedFreeze({version:1,artifactRef,kind,mimeType,...digest===void 0?{}:{digest},...value.sizeBytes===void 0?{}:{sizeBytes:value.sizeBytes},...operationId===void 0?{}:{operationId},...pluginId===void 0?{}:{pluginId}})}function buildArtifactRefV1(input){return validateArtifactRefV1(input)}function isArtifactRefV1(value){try{return validateArtifactRefV1(value),!0}catch{return!1}}function artifactRefKeyV1(ref){return ref.artifactRef}var DEFAULT_PLUGIN_CONTEXT_BUDGET_V1=Object.freeze({maxOutputBytes:65536,maxInlineItems:20,maxCellChars:256});function error(code,message){return{version:1,code,message}}function isRecord(value){return typeof value=="object"&&value!==null&&!Array.isArray(value)}function assertPositiveInteger(value,label){if(!Number.isSafeInteger(value)||value<=0)throw new Error(`${label} must be a positive safe integer`)}function assertNonNegativeInteger(value,label){if(!Number.isSafeInteger(value)||value<0)throw new Error(`${label} must be a non-negative safe integer`)}function isJsonValue(value){return value===null||typeof value=="string"||typeof value=="boolean"?!0:typeof value=="number"?Number.isFinite(value):Array.isArray(value)?value.every(isJsonValue):isRecord(value)?Object.values(value).every(isJsonValue):!1}function containsRawPayload(value,seen=new Set){if(!isRecord(value)&&!Array.isArray(value)||seen.has(value))return!1;if(seen.add(value),isRecord(value)){for(let[key,child]of Object.entries(value))if((key==="rows"||key==="rawRows"||key==="rawPayload"||key==="payload")&&child!==void 0||containsRawPayload(child,seen))return!0;return!1}return value.some(child=>containsRawPayload(child,seen))}function validateBudget(input){let budget={...DEFAULT_PLUGIN_CONTEXT_BUDGET_V1,...input??{}};return assertPositiveInteger(budget.maxOutputBytes,"maxOutputBytes"),assertNonNegativeInteger(budget.maxInlineItems,"maxInlineItems"),assertPositiveInteger(budget.maxCellChars,"maxCellChars"),Object.freeze(budget)}function boundStrings(value,maxCellChars){if(typeof value=="string"){if([...value].length>maxCellChars)throw new Error("context string exceeds maxCellChars");return value}return Array.isArray(value)?Object.freeze(value.map(child=>boundStrings(child,maxCellChars))):isRecord(value)?Object.freeze(Object.fromEntries(Object.entries(value).map(([key,child])=>[key,boundStrings(child,maxCellChars)]))):value}function invalid(operationId,code,message){return Object.freeze({version:1,operationId,status:"failed",inlineItems:Object.freeze([]),truncated:!1,error:error(code,message)})}function projectPluginContextV1(input,limits){let operationId=isRecord(input)&&typeof input.operationId=="string"?input.operationId:"invalid";try{if(!isRecord(input)||input.version!==1)throw new Error("input must have version 1");if(typeof input.operationId!="string"||input.operationId.trim()==="")throw new Error("operationId must be a non-empty string");if(!Array.isArray(input.items))throw new Error("items must be an array");let budget=validateBudget(limits);if(containsRawPayload(input.items))throw new Error("raw payloads are not allowed in plugin context");if(input.outputArtifactRef!==void 0){if(typeof input.outputArtifactRef!="string"||input.outputArtifactRef.trim()==="")throw new Error("outputArtifactRef must be a non-empty string");if(/^(?:[a-zA-Z]:[\\/]|[\\/]{1,2}|\\\\)/.test(input.outputArtifactRef))throw new Error("outputArtifactRef must be opaque")}let items=input.items.map((item,index3)=>{if(!isJsonValue(item))throw new Error(`items[${index3}] must be JSON-safe`);return boundStrings(item,budget.maxCellChars)}),truncated=input.truncated===!0||items.length>budget.maxInlineItems,inlineItems=Object.freeze(items.slice(0,budget.maxInlineItems)),result=Object.freeze({version:1,operationId:input.operationId,status:"succeeded",inlineItems,truncated,...input.outputArtifactRef===void 0?{}:{outputArtifactRef:input.outputArtifactRef}});if(new TextEncoder().encode(JSON.stringify(result)).byteLength>budget.maxOutputBytes)throw new Error("projected context exceeds maxOutputBytes");return result}catch(cause){return invalid(operationId,"context_projection_rejected",cause instanceof Error?cause.message:"Context projection rejected")}}var PLUGIN_OPERATION_TERMINAL_STATUSES_V1=["succeeded","failed","cancelled","needs_user","unsupported"],EVIDENCE_KINDS_V1=["screenshot","dom","render","diff","log","assertion","trace","network","structure"],OPERATION_STATUSES_V1=["queued","running","succeeded","failed","cancelled","needs_user","unsupported"],RESULT_STATUSES_V1=["succeeded","failed","cancelled","needs_user","unsupported"];function validateStatus(value,label,values){if(typeof value!="string"||!values.includes(value))throw new Error(`${label} is invalid`);return value}function validateIsoLike(value,label){if(value!==void 0)return assertNonEmptyString(value,label),value}function validateArtifactArray(value,label){if(!Array.isArray(value))throw new Error(`${label} must be an array`);let result=value.map((item,index3)=>validateArtifactRefV1(item,`${label}[${index3}]`));if(new Set(result.map(item=>item.artifactRef)).size!==result.length)throw new Error(`${label} must not contain duplicate artifactRef values`);return Object.freeze(sortByKey(result,item=>item.artifactRef))}function validatePluginOperationV1(value,label="Plugin operation"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","operationId","pluginId","kind","status"],["inputArtifacts","outputArtifacts","startedAt","endedAt"],label),value.version!==1)throw new Error(`${label}.version must be 1`);assertNonEmptyString(value.operationId,`${label}.operationId`),assertNonEmptyString(value.pluginId,`${label}.pluginId`),assertNonEmptyString(value.kind,`${label}.kind`);let status2=validateStatus(value.status,`${label}.status`,OPERATION_STATUSES_V1),inputArtifacts=value.inputArtifacts===void 0?void 0:validateArtifactArray(value.inputArtifacts,`${label}.inputArtifacts`),outputArtifacts=value.outputArtifacts===void 0?void 0:validateArtifactArray(value.outputArtifacts,`${label}.outputArtifacts`),startedAt=validateIsoLike(value.startedAt,`${label}.startedAt`),endedAt=validateIsoLike(value.endedAt,`${label}.endedAt`);if(endedAt!==void 0&&startedAt===void 0)throw new Error(`${label}.endedAt requires startedAt`);if(status2==="running"&&endedAt!==void 0)throw new Error(`${label}.running must not have endedAt`);return detachedFreeze({version:1,operationId:value.operationId,pluginId:value.pluginId,kind:value.kind,status:status2,...inputArtifacts===void 0?{}:{inputArtifacts},...outputArtifacts===void 0?{}:{outputArtifacts},...startedAt===void 0?{}:{startedAt},...endedAt===void 0?{}:{endedAt}})}function buildPluginOperationV1(input){return validatePluginOperationV1(input)}function validateEvidenceRefV1(value,label="Evidence reference"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","evidenceId","kind","operationId"],["artifactRef","summary","observedAt"],label),value.version!==1)throw new Error(`${label}.version must be 1`);assertNonEmptyString(value.evidenceId,`${label}.evidenceId`);let kind=validateStatus(value.kind,`${label}.kind`,EVIDENCE_KINDS_V1);assertNonEmptyString(value.operationId,`${label}.operationId`);let artifactRef=value.artifactRef===void 0?void 0:validateArtifactRefV1(value.artifactRef,`${label}.artifactRef`);assertOptionalString(value.summary,`${label}.summary`);let observedAt=validateIsoLike(value.observedAt,`${label}.observedAt`);return detachedFreeze({version:1,evidenceId:value.evidenceId,kind,operationId:value.operationId,...artifactRef===void 0?{}:{artifactRef},...value.summary===void 0?{}:{summary:value.summary},...observedAt===void 0?{}:{observedAt}})}function buildEvidenceRefV1(input){return validateEvidenceRefV1(input)}function validateVerificationV1(value,label="Verification"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","status","checks"],[],label),value.version!==1)throw new Error(`${label}.version must be 1`);let status2=validateStatus(value.status,`${label}.status`,["passed","failed","unknown"]);if(!Array.isArray(value.checks)||value.checks.some(item=>typeof item!="string"||item.trim()===""))throw new Error(`${label}.checks must contain non-empty strings`);if(new Set(value.checks).size!==value.checks.length)throw new Error(`${label}.checks must not contain duplicates`);return detachedFreeze({version:1,status:status2,checks:[...value.checks].sort()})}function buildVerificationV1(input){return validateVerificationV1(input)}function validatePluginErrorV1(value,label="Plugin error"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","code","message"],["causeCode","diagnosticRef"],label),value.version!==1)throw new Error(`${label}.version must be 1`);assertNonEmptyString(value.code,`${label}.code`),assertNonEmptyString(value.message,`${label}.message`),assertOptionalString(value.causeCode,`${label}.causeCode`);let diagnosticRef=value.diagnosticRef===void 0?void 0:validateArtifactRefV1(value.diagnosticRef,`${label}.diagnosticRef`);return detachedFreeze({version:1,code:value.code,message:value.message,...value.causeCode===void 0?{}:{causeCode:value.causeCode},...diagnosticRef===void 0?{}:{diagnosticRef}})}function buildPluginErrorV1(input){return validatePluginErrorV1(input)}function validatePluginResultV1(value,label="Plugin result"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","operationId","status","summary","artifacts","evidence"],["verification","error"],label),value.version!==1)throw new Error(`${label}.version must be 1`);assertNonEmptyString(value.operationId,`${label}.operationId`);let status2=validateStatus(value.status,`${label}.status`,RESULT_STATUSES_V1);assertNonEmptyString(value.summary,`${label}.summary`);let artifacts=validateArtifactArray(value.artifacts,`${label}.artifacts`);if(!Array.isArray(value.evidence))throw new Error(`${label}.evidence must be an array`);let evidence=value.evidence.map((item,index3)=>validateEvidenceRefV1(item,`${label}.evidence[${index3}]`));if(new Set(evidence.map(item=>item.evidenceId)).size!==evidence.length)throw new Error(`${label}.evidence must not contain duplicate evidenceId values`);let orderedEvidence=Object.freeze(sortByKey(evidence,item=>item.evidenceId)),verification=value.verification===void 0?void 0:validateVerificationV1(value.verification,`${label}.verification`),error2=value.error===void 0?void 0:validatePluginErrorV1(value.error,`${label}.error`);if(status2!=="succeeded"&&error2===void 0)throw new Error(`${label}.error is required for status ${status2}`);if(status2==="succeeded"&&error2!==void 0)throw new Error(`${label}.succeeded must not include error`);if(status2==="succeeded"&&verification?.status==="failed")throw new Error(`${label}.succeeded cannot have failed verification`);return detachedFreeze({version:1,operationId:value.operationId,status:status2,summary:value.summary,artifacts,evidence:orderedEvidence,...verification===void 0?{}:{verification},...error2===void 0?{}:{error:error2}})}function buildPluginResultV1(input){return validatePluginResultV1(input)}function assertJsonResultInputV1(value,label="Result input"){return assertJsonValue(value,label),detachedFreeze(value)}var DIFF_MAX_ITEMS_V1=64,DIFF_MAX_STRING_CHARS_V1=2048,DIFF_MAX_RESULT_BYTES_V1=64*1024;function validateBoundedString2(value,label){if(assertNonEmptyString(value,label),value.length>DIFF_MAX_STRING_CHARS_V1)throw new Error(`${label} exceeds the context budget`)}var DIFF_KINDS_V1=["text","dom","structure","pixel","style"],RESULT_STATUSES_V12=["succeeded","failed","cancelled","needs_user","unsupported"];function validateKind(value,label){if(typeof value!="string"||!DIFF_KINDS_V1.includes(value))throw new Error(`${label} is invalid`);return value}function validateStatus2(value,label){if(typeof value!="string"||!RESULT_STATUSES_V12.includes(value))throw new Error(`${label} is invalid`);return value}function validateMetrics(value,label){if(assertPlainRecord(value,label),assertExactKeys(value,[],["changedPixels","changedRatio","selector"],label),value.changedPixels!==void 0&&(typeof value.changedPixels!="number"||!Number.isSafeInteger(value.changedPixels)||value.changedPixels<0))throw new Error(`${label}.changedPixels must be a non-negative safe integer`);if(value.changedRatio!==void 0&&(assertNonNegativeNumber(value.changedRatio,`${label}.changedRatio`),value.changedRatio>1))throw new Error(`${label}.changedRatio must be at most 1`);return value.selector!==void 0&&validateBoundedString2(value.selector,`${label}.selector`),detachedFreeze({...value.changedPixels===void 0?{}:{changedPixels:value.changedPixels},...value.changedRatio===void 0?{}:{changedRatio:value.changedRatio},...value.selector===void 0?{}:{selector:value.selector}})}function validateThreshold(value,label){if(assertPlainRecord(value,label),assertExactKeys(value,[],["maxChangedPixels","maxChangedRatio","allowedSelectors"],label),value.maxChangedPixels!==void 0&&(typeof value.maxChangedPixels!="number"||!Number.isSafeInteger(value.maxChangedPixels)||value.maxChangedPixels<0))throw new Error(`${label}.maxChangedPixels must be a non-negative safe integer`);if(value.maxChangedRatio!==void 0&&(assertNonNegativeNumber(value.maxChangedRatio,`${label}.maxChangedRatio`),value.maxChangedRatio>1))throw new Error(`${label}.maxChangedRatio must be at most 1`);if(value.allowedSelectors!==void 0){if(!Array.isArray(value.allowedSelectors)||value.allowedSelectors.some(item=>typeof item!="string"||item.trim()===""))throw new Error(`${label}.allowedSelectors must contain non-empty strings`);if(new Set(value.allowedSelectors).size!==value.allowedSelectors.length)throw new Error(`${label}.allowedSelectors must not contain duplicates`);if(value.allowedSelectors.length>DIFF_MAX_ITEMS_V1)throw new Error(`${label}.allowedSelectors must contain at most ${DIFF_MAX_ITEMS_V1} items`);for(let[index3,selector]of value.allowedSelectors.entries())validateBoundedString2(selector,`${label}.allowedSelectors[${index3}]`)}return detachedFreeze({...value.maxChangedPixels===void 0?{}:{maxChangedPixels:value.maxChangedPixels},...value.maxChangedRatio===void 0?{}:{maxChangedRatio:value.maxChangedRatio},...value.allowedSelectors===void 0?{}:{allowedSelectors:[...value.allowedSelectors].sort()}})}function validateDiffRequestV1(value,label="Diff request"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","operationId","kind","before","after"],["threshold"],label),value.version!==1)throw new Error(`${label}.version must be 1`);assertNonEmptyString(value.operationId,`${label}.operationId`);let kind=validateKind(value.kind,`${label}.kind`),before=validateArtifactRefV1(value.before,`${label}.before`),after=validateArtifactRefV1(value.after,`${label}.after`);if(before.artifactRef===after.artifactRef)throw new Error(`${label}.before and after must differ`);let threshold=value.threshold===void 0?void 0:validateThreshold(value.threshold,`${label}.threshold`);return detachedFreeze({version:1,operationId:value.operationId,kind,before,after,...threshold===void 0?{}:{threshold}})}function buildDiffRequestV1(input){return validateDiffRequestV1(input)}function validateDiffResultV1(value,label="Diff result"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","operationId","status","kind","summary","evidence"],["diffArtifact","metrics","verification","error"],label),value.version!==1)throw new Error(`${label}.version must be 1`);assertNonEmptyString(value.operationId,`${label}.operationId`);let resultStatus=validateStatus2(value.status,`${label}.status`),kind=validateKind(value.kind,`${label}.kind`);validateBoundedString2(value.summary,`${label}.summary`);let metrics=value.metrics===void 0?void 0:validateMetrics(value.metrics,`${label}.metrics`),diffArtifact=value.diffArtifact===void 0?void 0:validateArtifactRefV1(value.diffArtifact,`${label}.diffArtifact`);if(!Array.isArray(value.evidence))throw new Error(`${label}.evidence must be an array`);if(value.evidence.length>DIFF_MAX_ITEMS_V1)throw new Error(`${label}.evidence must contain at most ${DIFF_MAX_ITEMS_V1} items`);let evidence=value.evidence.map((item,index3)=>validateEvidenceRefV1(item,`${label}.evidence[${index3}]`));if(new Set(evidence.map(item=>item.evidenceId)).size!==evidence.length)throw new Error(`${label}.evidence must not contain duplicate evidenceId values`);for(let[index3,item]of evidence.entries())validateBoundedString2(item.evidenceId,`${label}.evidence[${index3}].evidenceId`),item.summary!==void 0&&validateBoundedString2(item.summary,`${label}.evidence[${index3}].summary`),item.observedAt!==void 0&&validateBoundedString2(item.observedAt,`${label}.evidence[${index3}].observedAt`);let orderedEvidence=Object.freeze([...evidence].sort((a,b)=>a.evidenceId.localeCompare(b.evidenceId))),verification=value.verification===void 0?void 0:validateVerificationV1(value.verification,`${label}.verification`),error2=value.error===void 0?void 0:validatePluginErrorV1(value.error,`${label}.error`);if(resultStatus!=="succeeded"&&error2===void 0)throw new Error(`${label}.error is required for status ${resultStatus}`);if(resultStatus==="succeeded"&&error2!==void 0)throw new Error(`${label}.succeeded must not include error`);if(resultStatus==="succeeded"&&verification?.status==="failed")throw new Error(`${label}.succeeded cannot have failed verification`);let result={version:1,operationId:value.operationId,status:resultStatus,kind,summary:value.summary,...metrics===void 0?{}:{metrics},...diffArtifact===void 0?{}:{diffArtifact},evidence:orderedEvidence,...verification===void 0?{}:{verification},...error2===void 0?{}:{error:error2}};if(new TextEncoder().encode(JSON.stringify(result)).byteLength>DIFF_MAX_RESULT_BYTES_V1)throw new Error(`${label} exceeds the context budget`);return detachedFreeze(result)}function buildDiffResultV1(input){return validateDiffResultV1(input)}var TRACE_KINDS_V1=["session.start","turn.span","llm.request","llm.response","tool.span","lifecycle","error","decision","plugin.log"];var SURFACES_V1=["html","browser","docx","xlsx","pdf","pptx","image"],STATUSES_V1=["succeeded","failed","cancelled","needs_user","unsupported"];function status(value,label){if(typeof value!="string"||!STATUSES_V1.includes(value))throw new Error(`${label} is invalid`);return value}function artifactArray(value,label){if(!Array.isArray(value))throw new Error(`${label} must be an array`);let items=value.map((item,index3)=>validateArtifactRefV1(item,`${label}[${index3}]`));if(new Set(items.map(item=>item.artifactRef)).size!==items.length)throw new Error(`${label} must not contain duplicate artifactRef values`);return Object.freeze([...items].sort((a,b)=>a.artifactRef.localeCompare(b.artifactRef)))}function evidenceArray(value,label){if(!Array.isArray(value))throw new Error(`${label} must be an array`);let items=value.map((item,index3)=>validateEvidenceRefV1(item,`${label}[${index3}]`));if(new Set(items.map(item=>item.evidenceId)).size!==items.length)throw new Error(`${label} must not contain duplicate evidenceId values`);return Object.freeze([...items].sort((a,b)=>a.evidenceId.localeCompare(b.evidenceId)))}function validateViewport(value,label){if(assertPlainRecord(value,label),assertExactKeys(value,["width","height"],["deviceScaleFactor"],label),assertNonNegativeNumber(value.width,`${label}.width`),assertNonNegativeNumber(value.height,`${label}.height`),value.width===0||value.height===0)throw new Error(`${label} dimensions must be greater than zero`);if(value.deviceScaleFactor!==void 0&&(assertFiniteNumber(value.deviceScaleFactor,`${label}.deviceScaleFactor`),value.deviceScaleFactor<=0))throw new Error(`${label}.deviceScaleFactor must be greater than zero`);return detachedFreeze({width:value.width,height:value.height,...value.deviceScaleFactor===void 0?{}:{deviceScaleFactor:value.deviceScaleFactor}})}function validateRenderRequestV1(value,label="Render request"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","operationId","source","surface"],["page","viewport","options"],label),value.version!==1)throw new Error(`${label}.version must be 1`);assertNonEmptyString(value.operationId,`${label}.operationId`);let source=validateArtifactRefV1(value.source,`${label}.source`);if(typeof value.surface!="string"||!SURFACES_V1.includes(value.surface))throw new Error(`${label}.surface is invalid`);let surface=value.surface;value.page!==void 0&&assertNonNegativeSafeInteger(value.page,`${label}.page`);let viewport=value.viewport===void 0?void 0:validateViewport(value.viewport,`${label}.viewport`);return value.options!==void 0&&assertJsonValue(value.options,`${label}.options`),detachedFreeze({version:1,operationId:value.operationId,source,surface,...value.page===void 0?{}:{page:value.page},...viewport===void 0?{}:{viewport},...value.options===void 0?{}:{options:value.options}})}function buildRenderRequestV1(input){return validateRenderRequestV1(input)}function validateRenderResultV1(value,label="Render result"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","operationId","status","renderer","artifacts","evidence","summary"],["verification","error"],label),value.version!==1)throw new Error(`${label}.version must be 1`);assertNonEmptyString(value.operationId,`${label}.operationId`);let resultStatus=status(value.status,`${label}.status`);assertPlainRecord(value.renderer,`${label}.renderer`),assertExactKeys(value.renderer,["id","version"],[],`${label}.renderer`),assertNonEmptyString(value.renderer.id,`${label}.renderer.id`),assertNonEmptyString(value.renderer.version,`${label}.renderer.version`);let artifacts=artifactArray(value.artifacts,`${label}.artifacts`),evidence=evidenceArray(value.evidence,`${label}.evidence`);assertNonEmptyString(value.summary,`${label}.summary`);let verification=value.verification===void 0?void 0:validateVerificationV1(value.verification,`${label}.verification`),error2=value.error===void 0?void 0:validatePluginErrorV1(value.error,`${label}.error`);if(resultStatus!=="succeeded"&&error2===void 0)throw new Error(`${label}.error is required for status ${resultStatus}`);if(resultStatus==="succeeded"&&error2!==void 0)throw new Error(`${label}.succeeded must not include error`);if(resultStatus==="succeeded"&&verification?.status==="failed")throw new Error(`${label}.succeeded cannot have failed verification`);return detachedFreeze({version:1,operationId:value.operationId,status:resultStatus,renderer:{id:value.renderer.id,version:value.renderer.version},artifacts,evidence,summary:value.summary,...verification===void 0?{}:{verification},...error2===void 0?{}:{error:error2}})}function buildRenderResultV1(input){return validateRenderResultV1(input)}var session_lineage_exports={};__export(session_lineage_exports,{findSessionFile:()=>findSessionFile,isAgentSessionId:()=>isAgentSessionId,readAgentSessionHead:()=>readAgentSessionHead,readAgentSessionLineage:()=>readAgentSessionLineage});import{closeSync,openSync,readdirSync,readSync,statSync}from"node:fs";import{join}from"node:path";var HEADER_SCAN_BYTES=8192;function isAgentSessionId(value){return value.length===0||value.length>128?!1:value.startsWith("st:")?/^st:[0-9]+:[a-z0-9-]+$/i.test(value):/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(value)}function agentSessionsDir(agentDir){return join(agentDir,"sessions","_agents")}function findSessionFile(dir,sessionId){let names2;try{names2=readdirSync(dir)}catch{return}let suffix=`_${sessionId}.jsonl`,match=names2.find(name=>name===`${sessionId}.jsonl`||name.endsWith(suffix));return match===void 0?void 0:join(dir,match)}function parseHeader(line){try{let parsed=JSON.parse(line);if(parsed===null||typeof parsed!="object"||Array.isArray(parsed))return;let record=parsed;return record.type==="session"?record:void 0}catch{return}}function readFirstLine(filePath){let handle;try{handle=openSync(filePath,"r");let buffer=Buffer.alloc(HEADER_SCAN_BYTES),read=readSync(handle,buffer,0,HEADER_SCAN_BYTES,0);return read<=0?void 0:buffer.toString("utf8",0,read).split(`
|
|
141
|
-
`,1)[0]??""}catch{return}finally{handle!==void 0&&closeSync(handle)}}function readAgentSessionHead(agentDir,sessionId){if(!isAgentSessionId(sessionId))return;let filePath=findSessionFile(agentSessionsDir(agentDir),sessionId);if(filePath===void 0)return;let bytes,firstLine;try{bytes=statSync(filePath).size,firstLine=readFirstLine(filePath)}catch{return}if(firstLine===void 0)return;let header=parseHeader(firstLine);if(header===void 0)return;let parentAgentSession=typeof header.parentAgentSession=="string"?header.parentAgentSession:void 0,agentRole=typeof header.agentRole=="string"?header.agentRole:void 0,createdAt=typeof header.timestamp=="string"?header.timestamp:void 0;return{sessionId,...parentAgentSession===void 0?{}:{parentAgentSession},...agentRole===void 0?{}:{agentRole},...createdAt===void 0?{}:{createdAt},bytes}}function readAgentSessionLineage(agentDir,sessionId,maxDepth){let self=readAgentSessionHead(agentDir,sessionId);if(self===void 0)return{self:void 0,ancestors:[],truncated:!1};let ancestors=[],current=self;for(let step=0;step<maxDepth;step+=1){let parent=current.parentAgentSession;if(parent===void 0||parent===current.sessionId)return{self,ancestors,truncated:!1};let head=readAgentSessionHead(agentDir,parent);if(head===void 0)return{self,ancestors,truncated:!1};ancestors.push(head),current=head}return{self,ancestors,truncated:!0}}var subagent_exports={};__export(subagent_exports,{SUBAGENT_MAILBOX_MAX_ESCALATIONS:()=>SUBAGENT_MAILBOX_MAX_ESCALATIONS,SUBAGENT_MAILBOX_MAX_INBOX:()=>SUBAGENT_MAILBOX_MAX_INBOX,SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES:()=>SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES,SUBAGENT_TASK_PROTOCOL_VERSION:()=>SUBAGENT_TASK_PROTOCOL_VERSION,SubagentMailboxErrorV1:()=>SubagentMailboxErrorV1,SubagentTaskProtocolError:()=>SubagentTaskProtocolError,boundServerMessagesV1:()=>boundServerMessagesV1,createSubagentMailbox:()=>createSubagentMailbox,createSubagentTaskChannelPairV1:()=>createSubagentTaskChannelPairV1,createSubagentTaskEnvelopeDecoderV1:()=>createSubagentTaskEnvelopeDecoderV1,createSubagentTaskServer:()=>createSubagentTaskServer,createSubagentTaskStdioChannelV1:()=>createSubagentTaskStdioChannelV1,createTurnProgressSourceV1:()=>createTurnProgressSourceV1,decodeEnvelopeV1:()=>decodeEnvelopeV1,encodeEnvelopeV1:()=>encodeEnvelopeV1,subagentMailboxExists:()=>subagentMailboxExists,subscribeTaskProgressV1:()=>subscribeTaskProgressV1});import{randomUUID}from"node:crypto";import{mkdirSync,readdirSync as readdirSync2,readFileSync,renameSync,rmSync,statSync as statSync2,writeFileSync}from"node:fs";import{join as join2}from"node:path";var SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES=2048,SUBAGENT_MAILBOX_MAX_ESCALATIONS=8,SUBAGENT_MAILBOX_MAX_INBOX=32,SubagentMailboxErrorV1=class extends Error{code;constructor(code,message){super(message),this.name="SubagentMailboxErrorV1",this.code=code}};function utf8ByteLength(text){return new TextEncoder().encode(text).length}function mailboxRoot(agentDir,ownerParentSessionId){if(!isAgentSessionId(ownerParentSessionId))throw new SubagentMailboxErrorV1("subagent_unknown_session","mailbox owner id is not a session id");return join2(agentDir,"mailboxes",ownerParentSessionId)}function escalationsDir(root){return join2(root,"escalations")}function inboxDir(root,sessionId){if(!isAgentSessionId(sessionId))throw new SubagentMailboxErrorV1("subagent_unknown_session","mailbox target id is not a session id");return join2(root,"inboxes",sessionId)}function postMessage(dir,namePrefix,payload){mkdirSync(dir,{recursive:!0});let name=`${namePrefix}${Date.now().toString(36)}-${randomUUID().slice(0,8)}.json`;writeFileSync(join2(dir,`.${name}.tmp`),JSON.stringify(payload),"utf8"),renameSync(join2(dir,`.${name}.tmp`),join2(dir,name))}function listMessageFiles(dir){let names2;try{names2=readdirSync2(dir)}catch{return[]}let messages=[];for(let name of names2.sort()){if(name.endsWith(".tmp")){try{rmSync(join2(dir,name))}catch{}continue}name.endsWith(".json")&&messages.push(name)}return messages}function takeMessage(dir,name){let text;try{text=readFileSync(join2(dir,name),"utf8")}catch{return}try{rmSync(join2(dir,name))}catch{}try{return JSON.parse(text)}catch{return}}function createSubagentMailbox(options){let rootFor=()=>{let owner=options.ownerParentSessionId();if(owner===void 0)throw new SubagentMailboxErrorV1("subagent_unknown_session","mailbox owner session is not bound yet");return mailboxRoot(options.agentDir,owner)},assertBounded=(text,pendingCount,maxCount,quotaCode)=>{if(utf8ByteLength(text)>SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES)throw new SubagentMailboxErrorV1("subagent_message_too_large",`message exceeds ${SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES} utf-8 bytes`);if(pendingCount>=maxCount)throw new SubagentMailboxErrorV1(quotaCode,`mailbox has ${maxCount} pending messages already`)};return{postEscalate(fromSessionId,text){if(!isAgentSessionId(fromSessionId))throw new SubagentMailboxErrorV1("subagent_unknown_session","sender id is not a session id");let dir=escalationsDir(rootFor()),prefix=`${fromSessionId}__`,pending=listMessageFiles(dir).filter(name=>name.startsWith(prefix)).length;assertBounded(text,pending,SUBAGENT_MAILBOX_MAX_ESCALATIONS,"subagent_escalate_quota"),postMessage(dir,prefix,{from:fromSessionId,text})},drainEscalations(sessionId){let dir=escalationsDir(rootFor()),prefix=`${sessionId}__`,drained=[];for(let name of listMessageFiles(dir)){if(!name.startsWith(prefix))continue;let message=takeMessage(dir,name);message!==void 0&&typeof message.text=="string"&&drained.push(message.text)}return drained},postSibling(fromSessionId,toSessionId,text){let root=rootFor(),owner=options.ownerParentSessionId(),fromHead=readAgentSessionHead(options.agentDir,fromSessionId);if(owner===void 0||fromHead===void 0||fromHead.parentAgentSession!==owner)throw new SubagentMailboxErrorV1("subagent_unknown_session","sender is not a known child of this session");let toHead=readAgentSessionHead(options.agentDir,toSessionId);if(toHead===void 0||toHead.parentAgentSession!==owner)throw new SubagentMailboxErrorV1("subagent_unknown_session","recipient is not a known sibling under this session");let dir=inboxDir(root,toSessionId);assertBounded(text,listMessageFiles(dir).length,SUBAGENT_MAILBOX_MAX_INBOX,"subagent_inbox_quota"),postMessage(dir,`${fromSessionId}__`,{from:fromSessionId,text})},drainInbox(sessionId,limit){let dir=inboxDir(rootFor(),sessionId),drained=[];for(let name of listMessageFiles(dir)){if(drained.length>=Math.max(0,limit))break;let message=takeMessage(dir,name);message!==void 0&&(typeof message.from!="string"||typeof message.text!="string"||drained.push({from:message.from,text:message.text}))}return drained}}}function subagentMailboxExists(agentDir,ownerParentSessionId){try{return statSync2(mailboxRoot(agentDir,ownerParentSessionId)),!0}catch{return!1}}function subscribeTaskProgressV1(adapter,taskId,listener){return adapter.onTaskProgress?.(taskId,listener)??(()=>{})}var MAX_TOOL_NAMES=3;function createTurnProgressSourceV1(session){return handler=>{let turn=0,tools=new Set;return session.subscribe(event=>{if(typeof event!="object"||event===null)return;let typed=event;if(typed.type==="turn_start"){turn+=1,tools.clear();return}if(typed.type==="tool_execution_start"&&typeof typed.toolName=="string"){tools.size<MAX_TOOL_NAMES&&tools.add(typed.toolName);return}if(typed.type!=="turn_end")return;let names2=[...tools];handler(`turn ${Math.max(turn,1)} done${names2.length===0?"":` (${names2.join(", ")})`}`)})}}var CborError=class extends Error{constructor(message){super(message),this.name="CborError"}},textEncoder=new TextEncoder,textDecoder=new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0});function resolveLimit(name,value,maximum){if(!Number.isSafeInteger(value)||value<0||value>maximum)throw new RangeError(`${name} must be an integer between 0 and ${maximum}`);return value}function resolveOptions(options){return{maxByteLength:resolveLimit("maxByteLength",options?.maxByteLength??16777216,4294967295),maxContainerLength:resolveLimit("maxContainerLength",options?.maxContainerLength??1e6,4294967295),maxDepth:resolveLimit("maxDepth",options?.maxDepth??64,512)}}var CborReader=class{bytes;offset=0;options;constructor(bytes,options){this.bytes=bytes,this.options=options}decode(){let value=this.readItem(0);if(this.offset!==this.bytes.byteLength)throw new CborError("CBOR payload contains trailing data");return value}readItem(depth){if(depth>this.options.maxDepth)throw new CborError(`CBOR nesting depth exceeds configured limit of ${this.options.maxDepth}`);let initial=this.readByte(),majorType=initial>>>5,additionalInformation=initial&31;switch(majorType){case 0:return this.readArgument(additionalInformation);case 1:{let value=-1-this.readArgument(additionalInformation);if(!Number.isSafeInteger(value))throw new CborError("Decoded CBOR integer is outside the safe range");return value}case 2:{let length=this.readLength(additionalInformation,"byte string",this.options.maxByteLength);return new Uint8Array(this.readBytes(length))}case 3:{let length=this.readLength(additionalInformation,"text string",this.options.maxByteLength),bytes=this.readBytes(length);try{return textDecoder.decode(bytes)}catch{throw new CborError("CBOR text string contains invalid UTF-8")}}case 4:{let length=this.readLength(additionalInformation,"array",this.options.maxContainerLength),result=[];for(let index3=0;index3<length;index3++)result.push(this.readItem(depth+1));return result}case 5:{let length=this.readLength(additionalInformation,"map",this.options.maxContainerLength),result={},keys=new Set;for(let index3=0;index3<length;index3++){let key=this.readItem(depth+1);if(typeof key!="string")throw new CborError("CBOR map keys must be strings");if(keys.has(key))throw new CborError("CBOR map contains a duplicate key");keys.add(key),Object.defineProperty(result,key,{configurable:!0,enumerable:!0,value:this.readItem(depth+1),writable:!0})}return result}case 6:throw new CborError("CBOR tags are not supported");case 7:return this.readSimple(additionalInformation);default:throw new CborError("Malformed CBOR major type")}}readSimple(additionalInformation){switch(additionalInformation){case 20:return!1;case 21:return!0;case 22:return null;case 27:{let bytes=this.readBytes(8),value=new DataView(bytes.buffer,bytes.byteOffset,bytes.byteLength).getFloat64(0,!1);if(!Number.isFinite(value))throw new CborError("Decoded CBOR number must be finite");if(Number.isInteger(value)&&!Number.isSafeInteger(value))throw new CborError("Decoded CBOR integer is outside the safe range");return value}case 31:throw new CborError("CBOR break marker is not supported");default:throw new CborError("Unsupported CBOR simple value or floating-point width")}}readLength(additionalInformation,kind,limit){if(additionalInformation===31)throw new CborError(`Indefinite-length CBOR ${kind}s are not supported`);let length=this.readArgument(additionalInformation);if(length>limit)throw new CborError(`CBOR ${kind} length exceeds configured limit of ${limit}`);return length}readArgument(additionalInformation){if(additionalInformation<24)return additionalInformation;switch(additionalInformation){case 24:return this.readByte();case 25:{let bytes=this.readBytes(2);return bytes[0]*256+bytes[1]}case 26:{let bytes=this.readBytes(4);return bytes[0]*16777216+bytes[1]*65536+bytes[2]*256+bytes[3]}case 27:{let high=this.readArgument(26),low=this.readArgument(26);if(high>2097151)throw new CborError("Decoded CBOR integer or length is outside the safe range");return high*4294967296+low}case 31:throw new CborError("Indefinite-length CBOR items are not supported");default:throw new CborError("Malformed CBOR additional information")}}readByte(){if(this.offset>=this.bytes.byteLength)throw new CborError("Truncated CBOR payload");let value=this.bytes[this.offset];return this.offset++,value}readBytes(length){if(length>this.bytes.byteLength-this.offset)throw new CborError("Truncated CBOR payload");let value=this.bytes.subarray(this.offset,this.offset+length);return this.offset+=length,value}};function decodeCbor(bytes,options){if(!(bytes instanceof Uint8Array))throw new TypeError("CBOR input must be a Uint8Array");let resolved=resolveOptions(options);if(bytes.byteLength>resolved.maxByteLength)throw new CborError(`CBOR byte length exceeds configured limit of ${resolved.maxByteLength}`);return new CborReader(bytes,resolved).decode()}var CborWriter=class{buffer;offset=0;maxByteLength;constructor(maxByteLength){this.maxByteLength=maxByteLength,this.buffer=new Uint8Array(Math.min(256,maxByteLength))}writeByte(value){this.ensureCapacity(1),this.buffer[this.offset]=value,this.offset++}writeBytes(bytes){this.ensureCapacity(bytes.byteLength),this.buffer.set(bytes,this.offset),this.offset+=bytes.byteLength}writeUint16(value){this.ensureCapacity(2),this.buffer[this.offset]=value>>>8,this.buffer[this.offset+1]=value,this.offset+=2}writeUint32(value){this.ensureCapacity(4),this.buffer[this.offset]=value>>>24,this.buffer[this.offset+1]=value>>>16,this.buffer[this.offset+2]=value>>>8,this.buffer[this.offset+3]=value,this.offset+=4}writeUint64(value){let high=Math.floor(value/4294967296),low=value-high*4294967296;this.writeUint32(high),this.writeUint32(low)}writeFloat64(value){this.ensureCapacity(9),this.buffer[this.offset]=251,new DataView(this.buffer.buffer).setFloat64(this.offset+1,value,!1),this.offset+=9}finish(){return this.buffer.slice(0,this.offset)}ensureCapacity(additionalBytes){let required=this.offset+additionalBytes;if(required>this.maxByteLength)throw new CborError(`CBOR byte length exceeds configured limit of ${this.maxByteLength}`);if(required<=this.buffer.byteLength)return;let capacity=Math.max(1,this.buffer.byteLength);for(;capacity<required;)capacity=Math.min(this.maxByteLength,Math.max(required,capacity*2));let expanded=new Uint8Array(capacity);expanded.set(this.buffer),this.buffer=expanded}};function writeArgument(writer,majorType,value){let prefix=majorType<<5;value<24?writer.writeByte(prefix|value):value<=255?(writer.writeByte(prefix|24),writer.writeByte(value)):value<=65535?(writer.writeByte(prefix|25),writer.writeUint16(value)):value<=4294967295?(writer.writeByte(prefix|26),writer.writeUint32(value)):(writer.writeByte(prefix|27),writer.writeUint64(value))}function isPlainObject(value){if(typeof value!="object"||value===null)return!1;let prototype=Object.getPrototypeOf(value);return prototype===Object.prototype||prototype===null}function encodeText(writer,value,options){let bytes=textEncoder.encode(value);if(bytes.byteLength>options.maxByteLength)throw new CborError(`CBOR text string length exceeds configured limit of ${options.maxByteLength}`);if(textDecoder.decode(bytes)!==value)throw new CborError("CBOR text strings must contain valid Unicode scalar values");writeArgument(writer,3,bytes.byteLength),writer.writeBytes(bytes)}function encodeValue(writer,value,options,depth,ancestors){if(depth>options.maxDepth)throw new CborError(`CBOR nesting depth exceeds configured limit of ${options.maxDepth}`);if(value===null){writer.writeByte(246);return}if(typeof value=="boolean"){writer.writeByte(value?245:244);return}if(typeof value=="number"){if(!Number.isFinite(value))throw new CborError("CBOR numbers must be finite");if(Number.isInteger(value)&&!Object.is(value,-0)){if(!Number.isSafeInteger(value))throw new CborError("CBOR integers must be safe JavaScript integers");value>=0?writeArgument(writer,0,value):writeArgument(writer,1,-1-value)}else writer.writeFloat64(value);return}if(typeof value=="string"){encodeText(writer,value,options);return}if(value instanceof Uint8Array){if(value.byteLength>options.maxByteLength)throw new CborError(`CBOR byte string length exceeds configured limit of ${options.maxByteLength}`);writeArgument(writer,2,value.byteLength),writer.writeBytes(value);return}if(Array.isArray(value)){if(ancestors.has(value))throw new CborError("CBOR values must not contain cycles");if(value.length>options.maxContainerLength)throw new CborError(`CBOR array length exceeds configured limit of ${options.maxContainerLength}`);ancestors.add(value);try{writeArgument(writer,4,value.length);for(let index3=0;index3<value.length;index3++){if(!Object.hasOwn(value,index3)||value[index3]===void 0)throw new CborError("CBOR arrays must not contain holes or undefined values");encodeValue(writer,value[index3],options,depth+1,ancestors)}}finally{ancestors.delete(value)}return}if(isPlainObject(value)){if(ancestors.has(value))throw new CborError("CBOR values must not contain cycles");for(let symbol of Object.getOwnPropertySymbols(value))if(Object.prototype.propertyIsEnumerable.call(value,symbol))throw new CborError("CBOR map keys must be strings");let entries=[];for(let key of Object.keys(value)){let entryValue=value[key];entryValue!==void 0&&entries.push([key,entryValue])}if(entries.length>options.maxContainerLength)throw new CborError(`CBOR map length exceeds configured limit of ${options.maxContainerLength}`);ancestors.add(value);try{writeArgument(writer,5,entries.length);for(let[key,entryValue]of entries)encodeText(writer,key,options),encodeValue(writer,entryValue,options,depth+1,ancestors)}finally{ancestors.delete(value)}return}throw new CborError(`Unsupported CBOR value type: ${typeof value}`)}function encodeCbor(value,options){let resolved=resolveOptions(options),writer=new CborWriter(resolved.maxByteLength);return encodeValue(writer,value,resolved,0,new Set),writer.finish()}var FrameError=class extends Error{constructor(message){super(message),this.name="FrameError"}};function resolveMaxFrameLength(options){let value=options?.maxFrameLength??16777216;if(!Number.isSafeInteger(value)||value<0||value>4294967295)throw new RangeError(`maxFrameLength must be an integer between 0 and ${4294967295}`);return value}function encodeFrame(payload){if(!(payload instanceof Uint8Array))throw new TypeError("Frame payload must be a Uint8Array");if(payload.byteLength>4294967295)throw new RangeError("Frame payload exceeds the unsigned 32-bit length limit");let frame=new Uint8Array(4+payload.byteLength),length=payload.byteLength;return frame[0]=length>>>24,frame[1]=length>>>16,frame[2]=length>>>8,frame[3]=length,frame.set(payload,4),frame}var FrameDecoder=class{header=new Uint8Array(4);headerLength=0;maxFrameLength;payloadBlocks=[];currentPayloadBlock;currentPayloadBlockLength=0;expectedPayloadLength;payloadLength=0;state="open";constructor(options){this.maxFrameLength=resolveMaxFrameLength(options)}push(chunk){if(this.state==="ended")throw new FrameError("Frame decoder has ended");if(this.state==="failed")throw new FrameError("Frame decoder has failed");if(!(chunk instanceof Uint8Array))throw new TypeError("Frame chunk must be a Uint8Array");let frames=[],chunkOffset=0;for(;chunkOffset<chunk.byteLength;){if(this.expectedPayloadLength===void 0){let headerBytes=Math.min(4-this.headerLength,chunk.byteLength-chunkOffset);if(this.header.set(chunk.subarray(chunkOffset,chunkOffset+headerBytes),this.headerLength),this.headerLength+=headerBytes,chunkOffset+=headerBytes,this.headerLength<4)continue;let frameLength=this.header[0]*16777216+this.header[1]*65536+this.header[2]*256+this.header[3];if(this.headerLength=0,frameLength>this.maxFrameLength&&this.fail(`Frame length ${frameLength} exceeds configured limit of ${this.maxFrameLength}`),frameLength===0){frames.push(new Uint8Array);continue}this.expectedPayloadLength=frameLength,this.payloadBlocks=[],this.currentPayloadBlock=void 0,this.currentPayloadBlockLength=0,this.payloadLength=0}let expectedPayloadLength=this.expectedPayloadLength;if(expectedPayloadLength!==void 0){for(;chunkOffset<chunk.byteLength&&this.payloadLength<expectedPayloadLength;){let block=this.currentPayloadBlock;(!block||this.currentPayloadBlockLength===block.byteLength)&&(block=new Uint8Array(Math.min(65536,expectedPayloadLength-this.payloadLength)),this.payloadBlocks.push(block),this.currentPayloadBlock=block,this.currentPayloadBlockLength=0);let payloadBytes=Math.min(block.byteLength-this.currentPayloadBlockLength,chunk.byteLength-chunkOffset);block.set(chunk.subarray(chunkOffset,chunkOffset+payloadBytes),this.currentPayloadBlockLength),this.currentPayloadBlockLength+=payloadBytes,this.payloadLength+=payloadBytes,chunkOffset+=payloadBytes}if(this.payloadLength===expectedPayloadLength){if(this.payloadBlocks.length===1)frames.push(this.payloadBlocks[0]);else{let payload=new Uint8Array(expectedPayloadLength),offset=0;for(let payloadBlock of this.payloadBlocks)payload.set(payloadBlock,offset),offset+=payloadBlock.byteLength;frames.push(payload)}this.payloadBlocks=[],this.currentPayloadBlock=void 0,this.currentPayloadBlockLength=0,this.expectedPayloadLength=void 0,this.payloadLength=0}}}return frames}end(){if(this.state==="ended")throw new FrameError("Frame decoder has ended");if(this.state==="failed")throw new FrameError("Frame decoder has failed");(this.headerLength!==0||this.expectedPayloadLength!==void 0)&&this.fail("Truncated frame at end of stream"),this.state="ended"}fail(message){throw this.state="failed",this.headerLength=0,this.payloadBlocks=[],this.currentPayloadBlock=void 0,this.currentPayloadBlockLength=0,this.expectedPayloadLength=void 0,this.payloadLength=0,new FrameError(message)}};var SUBAGENT_TASK_PROTOCOL_VERSION=1,SubagentTaskProtocolError=class extends Error{code;constructor(message,code){super(message),this.name="SubagentTaskProtocolError",this.code=code}},OPS=["hello","create","run","cancel","dispose","result","steer"],ERROR_CODES=["invalid_request","unknown_task","task_terminal","session_error","runner_lost","cross_task_response"];function isString(value){return typeof value=="string"}function isNonEmptyString(value){return typeof value=="string"&&value.length>0}var REQUEST_KEYS=["v","kind","id","op","taskId","prompt","runId","reason","profile","parentSessionId","resumeSessionId","parentTraceId","text"],EVENT_KEYS=["v","kind","taskId","runId","type","message","seq"],OK_RESPONSE_KEYS=["appliedProfile","sessionId","v","kind","id","ok","taskId","runId","messages","truncated","protocolVersion","status"],ERROR_RESPONSE_KEYS=["v","kind","id","ok","code","message"];function assertAllowedKeys(env,allowed,label){for(let key of Object.keys(env))if(!allowed.includes(key))throw new SubagentTaskProtocolError(`${label} envelope has an unknown field: ${key}`,"invalid_request")}function assertOptionalString2(env,key,label){let value=env[key];if(value!==void 0&&!isString(value))throw new SubagentTaskProtocolError(`${label} envelope field ${key} must be a string`,"invalid_request")}function validateEnvelope(value){if(typeof value!="object"||value===null)throw new SubagentTaskProtocolError("envelope must be an object","invalid_request");let env=value;if(env.v!==SUBAGENT_TASK_PROTOCOL_VERSION)throw new SubagentTaskProtocolError(`unsupported envelope version: ${String(env.v)}`,"invalid_request");if(env.kind==="request"){if(assertAllowedKeys(env,REQUEST_KEYS,"request"),!isNonEmptyString(env.id)||!isString(env.op)||!OPS.includes(env.op))throw new SubagentTaskProtocolError("request envelope requires id and a known op","invalid_request");if(assertOptionalString2(env,"taskId","request"),assertOptionalString2(env,"prompt","request"),assertOptionalString2(env,"runId","request"),assertOptionalString2(env,"reason","request"),assertOptionalString2(env,"parentSessionId","request"),assertOptionalString2(env,"resumeSessionId","request"),assertOptionalString2(env,"parentTraceId","request"),assertOptionalString2(env,"text","request"),env.profile!==void 0&&(env.profile===null||typeof env.profile!="object"||Array.isArray(env.profile)))throw new SubagentTaskProtocolError("request profile must be an object","invalid_request");return env}if(env.kind==="event"){if(assertAllowedKeys(env,EVENT_KEYS,"event"),!isNonEmptyString(env.taskId)||env.type!=="progress"||typeof env.seq!="number"||!Number.isInteger(env.seq)||env.seq<0)throw new SubagentTaskProtocolError("event envelope requires taskId, type=progress and a non-negative integer seq","invalid_request");return assertOptionalString2(env,"runId","event"),assertOptionalString2(env,"message","event"),env}if(env.kind==="response"){if(!isNonEmptyString(env.id)||typeof env.ok!="boolean")throw new SubagentTaskProtocolError("response envelope requires id and boolean ok","invalid_request");if(env.ok===!1){if(assertAllowedKeys(env,ERROR_RESPONSE_KEYS,"error response"),!isString(env.code)||!ERROR_CODES.includes(env.code)||!isString(env.message))throw new SubagentTaskProtocolError("error response requires a known code and a message","invalid_request");return env}if(assertAllowedKeys(env,OK_RESPONSE_KEYS,"ok response"),assertOptionalString2(env,"taskId","ok response"),assertOptionalString2(env,"runId","ok response"),assertOptionalString2(env,"status","ok response"),assertOptionalString2(env,"sessionId","ok response"),env.appliedProfile!==void 0){let applied=env.appliedProfile;if(applied===null||typeof applied!="object"||Array.isArray(applied))throw new SubagentTaskProtocolError("ok response appliedProfile must be an object","invalid_request");let record=applied,modelFacts=record.model;if(record.activeTools!==void 0&&(!Array.isArray(record.activeTools)||record.activeTools.some(name=>!isString(name)))||record.thinkingLevel!==void 0&&!isString(record.thinkingLevel)||record.systemPromptAppend!==void 0&&!isString(record.systemPromptAppend)||record.capabilityMode!==void 0&&!isString(record.capabilityMode)||modelFacts!==void 0&&(!isString(modelFacts.provider)||!isString(modelFacts.id)||typeof modelFacts.contextWindow!="number"||typeof modelFacts.maxTokens!="number"||typeof modelFacts.reasoning!="boolean"))throw new SubagentTaskProtocolError("ok response appliedProfile must carry activeTools/capabilityMode and complete model facts","invalid_request")}if(env.messages!==void 0&&!Array.isArray(env.messages))throw new SubagentTaskProtocolError("ok response field messages must be an array","invalid_request");if(env.truncated!==void 0&&typeof env.truncated!="boolean")throw new SubagentTaskProtocolError("ok response field truncated must be a boolean","invalid_request");if(env.protocolVersion!==void 0&&(typeof env.protocolVersion!="number"||!Number.isInteger(env.protocolVersion)))throw new SubagentTaskProtocolError("ok response field protocolVersion must be an integer","invalid_request");return env}throw new SubagentTaskProtocolError(`unknown envelope kind: ${String(env.kind)}`,"invalid_request")}function encodeEnvelopeV1(env){return encodeFrame(encodeCbor(env))}function decodeEnvelopeV1(framePayload){let decoded;try{decoded=decodeCbor(framePayload)}catch(error2){throw new SubagentTaskProtocolError(`envelope payload is not valid CBOR: ${error2 instanceof Error?error2.message:String(error2)}`,"invalid_request")}return validateEnvelope(decoded)}function createSubagentTaskEnvelopeDecoderV1(){let decoder=new FrameDecoder;return{push(chunk){return decoder.push(chunk).map(payload=>decodeEnvelopeV1(payload))},end(){decoder.end()}}}var CHANNEL_CAPACITY=256,EnvelopeQueue=class{items=[];spaceWaiters=[];dataWaiters=[];closed=!1;push(env){return this.closed?Promise.resolve():this.items.length>=CHANNEL_CAPACITY?new Promise(resolve=>{this.spaceWaiters.push(()=>{this.deliver(env),resolve()})}):(this.deliver(env),Promise.resolve())}close(){this.closed=!0;for(let wake of this.spaceWaiters.splice(0))wake();for(let resolve of this.dataWaiters.splice(0))resolve({value:void 0,done:!0})}take(){let item=this.items.shift();return item!==void 0?(this.wakeSpace(),Promise.resolve({value:item,done:!1})):this.closed?Promise.resolve({value:void 0,done:!0}):new Promise(resolve=>this.dataWaiters.push(resolve))}deliver(env){let resolve=this.dataWaiters.shift();resolve!==void 0?resolve({value:env,done:!1}):this.items.push(env)}wakeSpace(){let wake=this.spaceWaiters.shift();wake!==void 0&&wake()}},QueueChannel=class{out;inQueue;constructor(out,inQueue){this.out=out,this.inQueue=inQueue}write(env){return this.out.push(env)}[Symbol.asyncIterator](){return{next:()=>this.inQueue.take()}}};function createSubagentTaskChannelPairV1(){let clientToServer=new EnvelopeQueue,serverToClient=new EnvelopeQueue;return{client:new QueueChannel(clientToServer,serverToClient),server:new QueueChannel(serverToClient,clientToServer),close(){clientToServer.close(),serverToClient.close()}}}import{randomUUID as randomUUID2}from"node:crypto";var DEFAULT_MAX_MESSAGES=2e3,DEFAULT_MAX_RESULT_BYTES=524288;function utf8ByteLength2(value){return new TextEncoder().encode(value).length}function safeStringify(value){try{let serialized=JSON.stringify(value);return serialized===void 0?"":serialized}catch{return""}}function boundServerMessagesV1(messages,maxMessages,maxResultBytes){let truncated=!1,selected=messages;selected.length>maxMessages&&(selected=selected.slice(0,maxMessages),truncated=!0);let bounded=[],used=0;for(let message of selected){let size=utf8ByteLength2(safeStringify(message));if(used+size>maxResultBytes){truncated=!0;break}used+=size,bounded.push(message)}return{messages:bounded,truncated}}function verifyAppliedProfile(session,requested){let requestedRecord=requested,facts=session.facts?.();if(facts===void 0||requestedRecord.tools!==void 0&&(facts.activeTools===void 0||facts.activeTools.some(name=>!requestedRecord.tools?.includes(name)))||requestedRecord.mode==="readonly"&&facts.capabilityMode!=="readonly")return"unverified";if(requestedRecord.model!==void 0&&facts.model?.id!==requestedRecord.model)return`model: requested ${requestedRecord.model}, got ${facts.model?.id??"none"}`;if(requestedRecord.thinkingLevel!==void 0&&facts.thinkingLevel!==requestedRecord.thinkingLevel)return`thinkingLevel: requested ${requestedRecord.thinkingLevel}, got ${facts.thinkingLevel??"none"}`;if(requestedRecord.systemPromptAppend!==void 0){if(facts.systemPromptAppend===void 0)return"systemPromptAppend: not verifiable (facts missing)";if(!facts.systemPromptAppend.includes(requestedRecord.systemPromptAppend))return"systemPromptAppend: requested append is not in effect (suite APPEND_SYSTEM.md gating may have dropped it)"}return{...facts.activeTools===void 0?{}:{activeTools:facts.activeTools},...facts.model===void 0?{}:{model:facts.model},...facts.capabilityMode===void 0?{}:{capabilityMode:facts.capabilityMode},...facts.thinkingLevel===void 0?{}:{thinkingLevel:facts.thinkingLevel},...facts.systemPromptAppend===void 0?{}:{systemPromptAppend:facts.systemPromptAppend}}}function createSubagentTaskServer(options,out){let maxMessages=options.maxMessages??DEFAULT_MAX_MESSAGES,maxResultBytes=options.maxResultBytes??DEFAULT_MAX_RESULT_BYTES,tasks=new Map,taskSequence=0,serverDisposed=!1,writeState={pending:0,coalesced:0},settleWrite=result=>result!==void 0&&typeof result.then=="function"?result:Promise.resolve(),send=env=>{writeState.pending+=1,settleWrite(out.write(env)).finally(()=>{writeState.pending-=1})},sendProgress=(entry,env)=>{if(entry.progressInFlight){entry.pendingProgress=env,writeState.coalesced+=1;return}entry.progressInFlight=!0,writeState.pending+=1,settleWrite(out.write(env)).finally(()=>{writeState.pending-=1,entry.progressInFlight=!1;let next=entry.pendingProgress;entry.pendingProgress=void 0,next!==void 0&&!entry.disposed&&sendProgress(entry,next)})},okResponse=(id,fields)=>{send({v:SUBAGENT_TASK_PROTOCOL_VERSION,kind:"response",id,ok:!0,...fields})},errorResponse=(id,code,message)=>{send({v:SUBAGENT_TASK_PROTOCOL_VERSION,kind:"response",id,ok:!1,code,message})},lookup=id=>{if(id===void 0)return;let entry=tasks.get(id);return entry!==void 0&&!entry.disposed?entry:void 0},handleHello=env=>{okResponse(env.id,{protocolVersion:SUBAGENT_TASK_PROTOCOL_VERSION})},handleCreate=async env=>{if(typeof env.prompt!="string"){errorResponse(env.id,"invalid_request","create requires a string prompt");return}try{let session=await options.createSession({prompt:env.prompt,...env.profile===void 0?{}:{profile:env.profile},...env.parentSessionId===void 0?{}:{parentSessionId:env.parentSessionId},...env.resumeSessionId===void 0?{}:{resumeSessionId:env.resumeSessionId},...env.parentTraceId===void 0?{}:{parentTraceId:env.parentTraceId}}),appliedProfile=env.profile===void 0?void 0:verifyAppliedProfile(session,env.profile);if(typeof appliedProfile=="string"){await session.dispose().catch(()=>{}),errorResponse(env.id,"session_error",`runner session could not prove the requested child task profile was applied: ${appliedProfile}`);return}let taskId=`st:${++taskSequence}:${randomUUID2().slice(0,8)}`;tasks.set(taskId,{taskId,session,disposed:!1,cancelledBeforeRun:!1,runActive:!1,progressSeq:0,progressInFlight:!1}),okResponse(env.id,{taskId,sessionId:session.getSessionId(),...appliedProfile===void 0?{}:{appliedProfile}})}catch(error2){errorResponse(env.id,"session_error",`session creation failed: ${error2 instanceof Error?error2.message:String(error2)}`)}},handleRun=env=>{if(env.taskId===void 0){errorResponse(env.id,"invalid_request","run requires taskId");return}let entry=lookup(env.taskId);if(entry===void 0){errorResponse(env.id,"unknown_task","run requires a live task");return}if(typeof env.prompt!="string"||typeof env.runId!="string"){errorResponse(env.id,"invalid_request","run requires prompt and runId");return}if(entry.cancelledBeforeRun){errorResponse(env.id,"task_terminal","task was cancelled before the run started");return}if(entry.runActive){errorResponse(env.id,"task_terminal","a run is already active for this task");return}let controller=new AbortController;if(entry.controller=controller,entry.runActive=!0,entry.unsubscribeProgress=void 0,entry.session.onProgress!==void 0){let unsubscribe=entry.session.onProgress(message=>{entry.disposed||sendProgress(entry,{v:SUBAGENT_TASK_PROTOCOL_VERSION,kind:"event",taskId:entry.taskId,runId:env.runId,type:"progress",message,seq:++entry.progressSeq})});entry.unsubscribeProgress=typeof unsubscribe=="function"?unsubscribe:void 0}let settleRun=()=>{entry.runActive=!1,entry.controller=void 0,entry.unsubscribeProgress?.(),entry.unsubscribeProgress=void 0};entry.session.run(env.prompt,controller.signal).then(outcome=>{entry.disposed||(settleRun(),entry.lastRunStatus=outcome.status==="done"?"succeeded":"cancelled",okResponse(env.id,{taskId:entry.taskId,runId:env.runId,status:entry.lastRunStatus}))}).catch(error2=>{entry.disposed||(settleRun(),errorResponse(env.id,"session_error",`run failed: ${error2 instanceof Error?error2.message:String(error2)}`))})},handleCancel=async env=>{if(env.taskId===void 0){errorResponse(env.id,"invalid_request","cancel requires taskId");return}let entry=lookup(env.taskId);if(entry===void 0){errorResponse(env.id,"unknown_task","cancel requires a live task");return}try{entry.runActive||(entry.cancelledBeforeRun=!0),entry.controller?.abort(env.reason??"cancelled"),await entry.session.cancel(env.reason),okResponse(env.id,{taskId:entry.taskId})}catch(error2){errorResponse(env.id,"session_error",`cancel failed: ${error2 instanceof Error?error2.message:String(error2)}`)}},handleSteer=async env=>{if(env.taskId===void 0){errorResponse(env.id,"invalid_request","steer requires taskId");return}let entry=lookup(env.taskId);if(entry===void 0){errorResponse(env.id,"unknown_task","steer requires a live task");return}if(typeof env.text!="string"||env.text.trim()===""){errorResponse(env.id,"invalid_request","steer requires non-empty text");return}if(entry.session.steer===void 0){errorResponse(env.id,"session_error","runner session does not support steer");return}try{await entry.session.steer(env.text),okResponse(env.id,{taskId:entry.taskId})}catch(error2){errorResponse(env.id,"session_error",`steer failed: ${error2 instanceof Error?error2.message:String(error2)}`)}},handleDispose=async env=>{if(env.taskId===void 0){errorResponse(env.id,"invalid_request","dispose requires taskId");return}let entry=lookup(env.taskId);if(entry===void 0){errorResponse(env.id,"unknown_task","dispose requires a live task");return}entry.disposed=!0,entry.runActive=!1,entry.unsubscribeProgress?.(),entry.unsubscribeProgress=void 0,entry.controller?.abort("subagent task disposed"),entry.controller=void 0,tasks.delete(entry.taskId);try{await entry.session.dispose(),okResponse(env.id,{taskId:entry.taskId})}catch(error2){errorResponse(env.id,"session_error",`dispose failed: ${error2 instanceof Error?error2.message:String(error2)}`)}},handleResult=env=>{if(env.taskId===void 0){errorResponse(env.id,"invalid_request","result requires taskId");return}let entry=lookup(env.taskId);if(entry===void 0){errorResponse(env.id,"unknown_task","result requires a live task");return}let bounded=boundServerMessagesV1(entry.session.getMessages(),maxMessages,maxResultBytes);okResponse(env.id,{taskId:entry.taskId,messages:bounded.messages,truncated:bounded.truncated,...entry.lastRunStatus===void 0?{}:{status:entry.lastRunStatus}})};return{inspect(){return{pendingWrites:writeState.pending,coalescedProgress:writeState.coalesced}},handle(env){if(serverDisposed)return env.kind==="request"&&errorResponse(env.id,"task_terminal","subagent task server is disposed"),Promise.resolve();if(env.kind!=="request")return Promise.resolve();try{switch(env.op){case"hello":return handleHello(env),Promise.resolve();case"create":return handleCreate(env);case"run":return handleRun(env),Promise.resolve();case"cancel":return handleCancel(env);case"dispose":return handleDispose(env);case"result":return handleResult(env),Promise.resolve();case"steer":return handleSteer(env)}}catch(error2){return errorResponse(env.id,"session_error",`request failed: ${error2 instanceof Error?error2.message:String(error2)}`),Promise.resolve()}return Promise.resolve()},async dispose(){serverDisposed=!0;let entries=[...tasks.values()];tasks.clear();for(let entry of entries){entry.disposed=!0,entry.unsubscribeProgress?.(),entry.unsubscribeProgress=void 0,entry.controller?.abort("subagent task server disposed"),entry.controller=void 0;try{await entry.session.dispose()}catch{}}}}}function createSubagentTaskStdioChannelV1(streams){let decoder=createSubagentTaskEnvelopeDecoderV1(),pending=[],waiters=[],closed=!1,failure,close=error2=>{if(!closed){closed=!0,failure=error2;for(let waiter of waiters.splice(0))error2!==void 0?waiter.reject(error2):waiter.resolve({value:void 0,done:!0});streams.onClosed?.(error2)}};return streams.input.on("data",chunk=>{if(closed)return;let bytes=typeof chunk=="string"?new TextEncoder().encode(chunk):new Uint8Array(chunk);try{for(let env of decoder.push(bytes)){let waiter=waiters.shift();waiter!==void 0?waiter.resolve({value:env,done:!1}):pending.push(env)}}catch(error2){close(error2 instanceof Error?error2:new Error(String(error2)))}}),streams.input.on("end",()=>{try{decoder.end()}catch(error2){close(error2 instanceof Error?error2:new Error(String(error2)));return}close()}),streams.input.on("error",error2=>close(error2)),streams.output.on("error",error2=>close(error2)),{async write(env){if(closed)return;let frame=encodeEnvelopeV1(env);streams.output.write(frame)||await new Promise((resolve,reject)=>{let onDrain=()=>{streams.output.off("error",onError),resolve()},onError=error2=>{streams.output.off("drain",onDrain),reject(error2)};streams.output.once("drain",onDrain),streams.output.once("error",onError)})},[Symbol.asyncIterator](){return{next:()=>{let item=pending.shift();return item!==void 0?Promise.resolve({value:item,done:!1}):failure!==void 0?Promise.reject(failure):closed?Promise.resolve({value:void 0,done:!0}):new Promise((resolve,reject)=>waiters.push({resolve,reject}))}}}}}export{require_undici,settings_exports,arguments_exports,typebox_exports,build_default,build_exports,Build,Check2 as Check,Errors2 as Errors,Clean,Convert,Default,Decode10 as Decode,Encode10 as Encode,HasCodec,Create2 as Create,ParseError,Parser,value_exports,value_exports2,isPlainRecord,detachedFreeze,require_semver2 as require_semver,EXPERIMENTAL_PUBLIC_API_VERSION,LifecycleTransformError,LifecycleExecuteError,parseAgentTaskChildProfileV1,SUMMARY_MODEL_INVOCATION_ERROR_CODES,createDisposableRegistration,createEventEnvelope,detachedSessionSnapshot,parseCapabilityPluginManifest,MEMORY_RECALL_TOOL_NAME,TRACE_KINDS_V1,dist_exports,session_lineage_exports,SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES,createSubagentMailbox,createTurnProgressSourceV1,decodeCbor,encodeCbor,encodeFrame,FrameDecoder,createSubagentTaskServer,createSubagentTaskStdioChannelV1,subagent_exports};
|
|
141
|
+
`,1)[0]??""}catch{return}finally{handle!==void 0&&closeSync(handle)}}function readAgentSessionHead(agentDir,sessionId){if(!isAgentSessionId(sessionId))return;let filePath=findSessionFile(agentSessionsDir(agentDir),sessionId);if(filePath===void 0)return;let bytes,firstLine;try{bytes=statSync(filePath).size,firstLine=readFirstLine(filePath)}catch{return}if(firstLine===void 0)return;let header=parseHeader(firstLine);if(header===void 0)return;let parentAgentSession=typeof header.parentAgentSession=="string"?header.parentAgentSession:void 0,agentRole=typeof header.agentRole=="string"?header.agentRole:void 0,createdAt=typeof header.timestamp=="string"?header.timestamp:void 0;return{sessionId,...parentAgentSession===void 0?{}:{parentAgentSession},...agentRole===void 0?{}:{agentRole},...createdAt===void 0?{}:{createdAt},bytes}}function readAgentSessionLineage(agentDir,sessionId,maxDepth){let self=readAgentSessionHead(agentDir,sessionId);if(self===void 0)return{self:void 0,ancestors:[],truncated:!1};let ancestors=[],current=self;for(let step=0;step<maxDepth;step+=1){let parent=current.parentAgentSession;if(parent===void 0||parent===current.sessionId)return{self,ancestors,truncated:!1};let head=readAgentSessionHead(agentDir,parent);if(head===void 0)return{self,ancestors,truncated:!1};ancestors.push(head),current=head}return{self,ancestors,truncated:!0}}var subagent_exports={};__export(subagent_exports,{SUBAGENT_MAILBOX_MAX_ESCALATIONS:()=>SUBAGENT_MAILBOX_MAX_ESCALATIONS,SUBAGENT_MAILBOX_MAX_INBOX:()=>SUBAGENT_MAILBOX_MAX_INBOX,SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES:()=>SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES,SUBAGENT_MAILBOX_SIBLING_EXCERPT_BYTES:()=>SUBAGENT_MAILBOX_SIBLING_EXCERPT_BYTES,SUBAGENT_MAILBOX_SIBLING_LOG_MAX_ENTRIES:()=>SUBAGENT_MAILBOX_SIBLING_LOG_MAX_ENTRIES,SUBAGENT_TASK_PROTOCOL_VERSION:()=>SUBAGENT_TASK_PROTOCOL_VERSION,SubagentMailboxErrorV1:()=>SubagentMailboxErrorV1,SubagentTaskProtocolError:()=>SubagentTaskProtocolError,boundServerMessagesV1:()=>boundServerMessagesV1,createSubagentMailbox:()=>createSubagentMailbox,createSubagentTaskChannelPairV1:()=>createSubagentTaskChannelPairV1,createSubagentTaskEnvelopeDecoderV1:()=>createSubagentTaskEnvelopeDecoderV1,createSubagentTaskServer:()=>createSubagentTaskServer,createSubagentTaskStdioChannelV1:()=>createSubagentTaskStdioChannelV1,createTurnProgressSourceV1:()=>createTurnProgressSourceV1,decodeEnvelopeV1:()=>decodeEnvelopeV1,encodeEnvelopeV1:()=>encodeEnvelopeV1,subagentMailboxExists:()=>subagentMailboxExists,subscribeTaskProgressV1:()=>subscribeTaskProgressV1});import{randomUUID}from"node:crypto";import{appendFileSync,mkdirSync,readdirSync as readdirSync2,readFileSync,renameSync,rmSync,statSync as statSync2,writeFileSync}from"node:fs";import{join as join2}from"node:path";var SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES=2048,SUBAGENT_MAILBOX_MAX_ESCALATIONS=8,SUBAGENT_MAILBOX_MAX_INBOX=32,SUBAGENT_MAILBOX_SIBLING_LOG_MAX_ENTRIES=256,SUBAGENT_MAILBOX_SIBLING_EXCERPT_BYTES=256,SubagentMailboxErrorV1=class extends Error{code;constructor(code,message){super(message),this.name="SubagentMailboxErrorV1",this.code=code}};function utf8ByteLength(text){return new TextEncoder().encode(text).length}function mailboxRoot(agentDir,ownerParentSessionId){if(!isAgentSessionId(ownerParentSessionId))throw new SubagentMailboxErrorV1("subagent_unknown_session","mailbox owner id is not a session id");return join2(agentDir,"mailboxes",ownerParentSessionId)}function escalationsDir(root){return join2(root,"escalations")}function inboxDir(root,sessionId){if(!isAgentSessionId(sessionId))throw new SubagentMailboxErrorV1("subagent_unknown_session","mailbox target id is not a session id");return join2(root,"inboxes",sessionId)}function postMessage(dir,namePrefix,payload){mkdirSync(dir,{recursive:!0});let name=`${namePrefix}${Date.now().toString(36)}-${randomUUID().slice(0,8)}.json`;writeFileSync(join2(dir,`.${name}.tmp`),JSON.stringify(payload),"utf8"),renameSync(join2(dir,`.${name}.tmp`),join2(dir,name))}function listMessageFiles(dir){let names2;try{names2=readdirSync2(dir)}catch{return[]}let messages=[];for(let name of names2.sort()){if(name.endsWith(".tmp")){try{rmSync(join2(dir,name))}catch{}continue}name.endsWith(".json")&&messages.push(name)}return messages}function takeMessage(dir,name){let text;try{text=readFileSync(join2(dir,name),"utf8")}catch{return}try{rmSync(join2(dir,name))}catch{}try{return JSON.parse(text)}catch{return}}var SIBLING_LOG_NAME="sibling-log.jsonl";function siblingLogPath(root){return join2(root,SIBLING_LOG_NAME)}function readSiblingLogLines(root){let raw;try{raw=readFileSync(siblingLogPath(root),"utf8")}catch{return[]}return raw.split(`
|
|
142
|
+
`).filter(line=>line.trim()!=="")}function appendSiblingLog(root,entry){let path=siblingLogPath(root),lines=readSiblingLogLines(root),line=JSON.stringify({...entry,at:new Date().toISOString()});if(lines.length<SUBAGENT_MAILBOX_SIBLING_LOG_MAX_ENTRIES){appendFileSync(path,`${line}
|
|
143
|
+
`,"utf8");return}let kept=lines.slice(-Math.floor(SUBAGENT_MAILBOX_SIBLING_LOG_MAX_ENTRIES/2));mkdirSync(root,{recursive:!0}),writeFileSync(join2(root,`.${SIBLING_LOG_NAME}.tmp`),`${[...kept,line].join(`
|
|
144
|
+
`)}
|
|
145
|
+
`,"utf8"),renameSync(join2(root,`.${SIBLING_LOG_NAME}.tmp`),path)}function parseSiblingLogLine(line){try{let parsed=JSON.parse(line);return typeof parsed.from!="string"||typeof parsed.to!="string"||typeof parsed.text!="string"?void 0:{from:parsed.from,to:parsed.to,text:parsed.text}}catch{return}}function excerptSiblingText(text){if(utf8ByteLength(text)<=SUBAGENT_MAILBOX_SIBLING_EXCERPT_BYTES)return text;let markerBytes=utf8ByteLength("\u2026"),budget=SUBAGENT_MAILBOX_SIBLING_EXCERPT_BYTES-markerBytes,used=0,cut=0;for(let index3=0;index3<text.length;index3+=1){let units=text.charCodeAt(index3)>=55296&&text.charCodeAt(index3)<=56319&&index3+1<text.length?2:1,charBytes=utf8ByteLength(text.slice(index3,index3+units));if(used+charBytes>budget)break;used+=charBytes,cut=index3+units,units===2&&(index3+=1)}return`${text.slice(0,cut)}\u2026`}function createSubagentMailbox(options){let rootFor=()=>{let owner=options.ownerParentSessionId();if(owner===void 0)throw new SubagentMailboxErrorV1("subagent_unknown_session","mailbox owner session is not bound yet");return mailboxRoot(options.agentDir,owner)},assertBounded=(text,pendingCount,maxCount,quotaCode)=>{if(utf8ByteLength(text)>SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES)throw new SubagentMailboxErrorV1("subagent_message_too_large",`message exceeds ${SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES} utf-8 bytes`);if(pendingCount>=maxCount)throw new SubagentMailboxErrorV1(quotaCode,`mailbox has ${maxCount} pending messages already`)};return{postEscalate(fromSessionId,text){if(!isAgentSessionId(fromSessionId))throw new SubagentMailboxErrorV1("subagent_unknown_session","sender id is not a session id");let dir=escalationsDir(rootFor()),prefix=`${fromSessionId}__`,pending=listMessageFiles(dir).filter(name=>name.startsWith(prefix)).length;assertBounded(text,pending,SUBAGENT_MAILBOX_MAX_ESCALATIONS,"subagent_escalate_quota"),postMessage(dir,prefix,{from:fromSessionId,text})},drainEscalations(sessionId){let dir=escalationsDir(rootFor()),prefix=`${sessionId}__`,drained=[];for(let name of listMessageFiles(dir)){if(!name.startsWith(prefix))continue;let message=takeMessage(dir,name);message!==void 0&&typeof message.text=="string"&&drained.push(message.text)}return drained},postSibling(fromSessionId,toSessionId,text){let root=rootFor(),owner=options.ownerParentSessionId(),fromHead=readAgentSessionHead(options.agentDir,fromSessionId);if(owner===void 0||fromHead===void 0||fromHead.parentAgentSession!==owner)throw new SubagentMailboxErrorV1("subagent_unknown_session","sender is not a known child of this session");let toHead=readAgentSessionHead(options.agentDir,toSessionId);if(toHead===void 0||toHead.parentAgentSession!==owner)throw new SubagentMailboxErrorV1("subagent_unknown_session","recipient is not a known sibling under this session");let dir=inboxDir(root,toSessionId);assertBounded(text,listMessageFiles(dir).length,SUBAGENT_MAILBOX_MAX_INBOX,"subagent_inbox_quota"),postMessage(dir,`${fromSessionId}__`,{from:fromSessionId,text}),appendSiblingLog(root,{from:fromSessionId,to:toSessionId,text})},drainInbox(sessionId,limit){let dir=inboxDir(rootFor(),sessionId),drained=[];for(let name of listMessageFiles(dir)){if(drained.length>=Math.max(0,limit))break;let message=takeMessage(dir,name);message!==void 0&&(typeof message.from!="string"||typeof message.text!="string"||drained.push({from:message.from,text:message.text}))}return drained},readSiblingTraffic(sessionId,limit){let entries=[];for(let line of readSiblingLogLines(rootFor())){let entry=parseSiblingLogLine(line);entry!==void 0&&(entry.from!==sessionId&&entry.to!==sessionId||entries.push(entry))}return entries.slice(Math.max(0,entries.length-Math.max(0,limit))).map(entry=>({from:entry.from,to:entry.to,text:excerptSiblingText(entry.text)}))}}}function subagentMailboxExists(agentDir,ownerParentSessionId){try{return statSync2(mailboxRoot(agentDir,ownerParentSessionId)),!0}catch{return!1}}function subscribeTaskProgressV1(adapter,taskId,listener){return adapter.onTaskProgress?.(taskId,listener)??(()=>{})}var MAX_TOOL_NAMES=3;function createTurnProgressSourceV1(session){return handler=>{let turn=0,tools=new Set;return session.subscribe(event=>{if(typeof event!="object"||event===null)return;let typed=event;if(typed.type==="turn_start"){turn+=1,tools.clear();return}if(typed.type==="tool_execution_start"&&typeof typed.toolName=="string"){tools.size<MAX_TOOL_NAMES&&tools.add(typed.toolName);return}if(typed.type!=="turn_end")return;let names2=[...tools];handler(`turn ${Math.max(turn,1)} done${names2.length===0?"":` (${names2.join(", ")})`}`)})}}var CborError=class extends Error{constructor(message){super(message),this.name="CborError"}},textEncoder=new TextEncoder,textDecoder=new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0});function resolveLimit(name,value,maximum){if(!Number.isSafeInteger(value)||value<0||value>maximum)throw new RangeError(`${name} must be an integer between 0 and ${maximum}`);return value}function resolveOptions(options){return{maxByteLength:resolveLimit("maxByteLength",options?.maxByteLength??16777216,4294967295),maxContainerLength:resolveLimit("maxContainerLength",options?.maxContainerLength??1e6,4294967295),maxDepth:resolveLimit("maxDepth",options?.maxDepth??64,512)}}var CborReader=class{bytes;offset=0;options;constructor(bytes,options){this.bytes=bytes,this.options=options}decode(){let value=this.readItem(0);if(this.offset!==this.bytes.byteLength)throw new CborError("CBOR payload contains trailing data");return value}readItem(depth){if(depth>this.options.maxDepth)throw new CborError(`CBOR nesting depth exceeds configured limit of ${this.options.maxDepth}`);let initial=this.readByte(),majorType=initial>>>5,additionalInformation=initial&31;switch(majorType){case 0:return this.readArgument(additionalInformation);case 1:{let value=-1-this.readArgument(additionalInformation);if(!Number.isSafeInteger(value))throw new CborError("Decoded CBOR integer is outside the safe range");return value}case 2:{let length=this.readLength(additionalInformation,"byte string",this.options.maxByteLength);return new Uint8Array(this.readBytes(length))}case 3:{let length=this.readLength(additionalInformation,"text string",this.options.maxByteLength),bytes=this.readBytes(length);try{return textDecoder.decode(bytes)}catch{throw new CborError("CBOR text string contains invalid UTF-8")}}case 4:{let length=this.readLength(additionalInformation,"array",this.options.maxContainerLength),result=[];for(let index3=0;index3<length;index3++)result.push(this.readItem(depth+1));return result}case 5:{let length=this.readLength(additionalInformation,"map",this.options.maxContainerLength),result={},keys=new Set;for(let index3=0;index3<length;index3++){let key=this.readItem(depth+1);if(typeof key!="string")throw new CborError("CBOR map keys must be strings");if(keys.has(key))throw new CborError("CBOR map contains a duplicate key");keys.add(key),Object.defineProperty(result,key,{configurable:!0,enumerable:!0,value:this.readItem(depth+1),writable:!0})}return result}case 6:throw new CborError("CBOR tags are not supported");case 7:return this.readSimple(additionalInformation);default:throw new CborError("Malformed CBOR major type")}}readSimple(additionalInformation){switch(additionalInformation){case 20:return!1;case 21:return!0;case 22:return null;case 27:{let bytes=this.readBytes(8),value=new DataView(bytes.buffer,bytes.byteOffset,bytes.byteLength).getFloat64(0,!1);if(!Number.isFinite(value))throw new CborError("Decoded CBOR number must be finite");if(Number.isInteger(value)&&!Number.isSafeInteger(value))throw new CborError("Decoded CBOR integer is outside the safe range");return value}case 31:throw new CborError("CBOR break marker is not supported");default:throw new CborError("Unsupported CBOR simple value or floating-point width")}}readLength(additionalInformation,kind,limit){if(additionalInformation===31)throw new CborError(`Indefinite-length CBOR ${kind}s are not supported`);let length=this.readArgument(additionalInformation);if(length>limit)throw new CborError(`CBOR ${kind} length exceeds configured limit of ${limit}`);return length}readArgument(additionalInformation){if(additionalInformation<24)return additionalInformation;switch(additionalInformation){case 24:return this.readByte();case 25:{let bytes=this.readBytes(2);return bytes[0]*256+bytes[1]}case 26:{let bytes=this.readBytes(4);return bytes[0]*16777216+bytes[1]*65536+bytes[2]*256+bytes[3]}case 27:{let high=this.readArgument(26),low=this.readArgument(26);if(high>2097151)throw new CborError("Decoded CBOR integer or length is outside the safe range");return high*4294967296+low}case 31:throw new CborError("Indefinite-length CBOR items are not supported");default:throw new CborError("Malformed CBOR additional information")}}readByte(){if(this.offset>=this.bytes.byteLength)throw new CborError("Truncated CBOR payload");let value=this.bytes[this.offset];return this.offset++,value}readBytes(length){if(length>this.bytes.byteLength-this.offset)throw new CborError("Truncated CBOR payload");let value=this.bytes.subarray(this.offset,this.offset+length);return this.offset+=length,value}};function decodeCbor(bytes,options){if(!(bytes instanceof Uint8Array))throw new TypeError("CBOR input must be a Uint8Array");let resolved=resolveOptions(options);if(bytes.byteLength>resolved.maxByteLength)throw new CborError(`CBOR byte length exceeds configured limit of ${resolved.maxByteLength}`);return new CborReader(bytes,resolved).decode()}var CborWriter=class{buffer;offset=0;maxByteLength;constructor(maxByteLength){this.maxByteLength=maxByteLength,this.buffer=new Uint8Array(Math.min(256,maxByteLength))}writeByte(value){this.ensureCapacity(1),this.buffer[this.offset]=value,this.offset++}writeBytes(bytes){this.ensureCapacity(bytes.byteLength),this.buffer.set(bytes,this.offset),this.offset+=bytes.byteLength}writeUint16(value){this.ensureCapacity(2),this.buffer[this.offset]=value>>>8,this.buffer[this.offset+1]=value,this.offset+=2}writeUint32(value){this.ensureCapacity(4),this.buffer[this.offset]=value>>>24,this.buffer[this.offset+1]=value>>>16,this.buffer[this.offset+2]=value>>>8,this.buffer[this.offset+3]=value,this.offset+=4}writeUint64(value){let high=Math.floor(value/4294967296),low=value-high*4294967296;this.writeUint32(high),this.writeUint32(low)}writeFloat64(value){this.ensureCapacity(9),this.buffer[this.offset]=251,new DataView(this.buffer.buffer).setFloat64(this.offset+1,value,!1),this.offset+=9}finish(){return this.buffer.slice(0,this.offset)}ensureCapacity(additionalBytes){let required=this.offset+additionalBytes;if(required>this.maxByteLength)throw new CborError(`CBOR byte length exceeds configured limit of ${this.maxByteLength}`);if(required<=this.buffer.byteLength)return;let capacity=Math.max(1,this.buffer.byteLength);for(;capacity<required;)capacity=Math.min(this.maxByteLength,Math.max(required,capacity*2));let expanded=new Uint8Array(capacity);expanded.set(this.buffer),this.buffer=expanded}};function writeArgument(writer,majorType,value){let prefix=majorType<<5;value<24?writer.writeByte(prefix|value):value<=255?(writer.writeByte(prefix|24),writer.writeByte(value)):value<=65535?(writer.writeByte(prefix|25),writer.writeUint16(value)):value<=4294967295?(writer.writeByte(prefix|26),writer.writeUint32(value)):(writer.writeByte(prefix|27),writer.writeUint64(value))}function isPlainObject(value){if(typeof value!="object"||value===null)return!1;let prototype=Object.getPrototypeOf(value);return prototype===Object.prototype||prototype===null}function encodeText(writer,value,options){let bytes=textEncoder.encode(value);if(bytes.byteLength>options.maxByteLength)throw new CborError(`CBOR text string length exceeds configured limit of ${options.maxByteLength}`);if(textDecoder.decode(bytes)!==value)throw new CborError("CBOR text strings must contain valid Unicode scalar values");writeArgument(writer,3,bytes.byteLength),writer.writeBytes(bytes)}function encodeValue(writer,value,options,depth,ancestors){if(depth>options.maxDepth)throw new CborError(`CBOR nesting depth exceeds configured limit of ${options.maxDepth}`);if(value===null){writer.writeByte(246);return}if(typeof value=="boolean"){writer.writeByte(value?245:244);return}if(typeof value=="number"){if(!Number.isFinite(value))throw new CborError("CBOR numbers must be finite");if(Number.isInteger(value)&&!Object.is(value,-0)){if(!Number.isSafeInteger(value))throw new CborError("CBOR integers must be safe JavaScript integers");value>=0?writeArgument(writer,0,value):writeArgument(writer,1,-1-value)}else writer.writeFloat64(value);return}if(typeof value=="string"){encodeText(writer,value,options);return}if(value instanceof Uint8Array){if(value.byteLength>options.maxByteLength)throw new CborError(`CBOR byte string length exceeds configured limit of ${options.maxByteLength}`);writeArgument(writer,2,value.byteLength),writer.writeBytes(value);return}if(Array.isArray(value)){if(ancestors.has(value))throw new CborError("CBOR values must not contain cycles");if(value.length>options.maxContainerLength)throw new CborError(`CBOR array length exceeds configured limit of ${options.maxContainerLength}`);ancestors.add(value);try{writeArgument(writer,4,value.length);for(let index3=0;index3<value.length;index3++){if(!Object.hasOwn(value,index3)||value[index3]===void 0)throw new CborError("CBOR arrays must not contain holes or undefined values");encodeValue(writer,value[index3],options,depth+1,ancestors)}}finally{ancestors.delete(value)}return}if(isPlainObject(value)){if(ancestors.has(value))throw new CborError("CBOR values must not contain cycles");for(let symbol of Object.getOwnPropertySymbols(value))if(Object.prototype.propertyIsEnumerable.call(value,symbol))throw new CborError("CBOR map keys must be strings");let entries=[];for(let key of Object.keys(value)){let entryValue=value[key];entryValue!==void 0&&entries.push([key,entryValue])}if(entries.length>options.maxContainerLength)throw new CborError(`CBOR map length exceeds configured limit of ${options.maxContainerLength}`);ancestors.add(value);try{writeArgument(writer,5,entries.length);for(let[key,entryValue]of entries)encodeText(writer,key,options),encodeValue(writer,entryValue,options,depth+1,ancestors)}finally{ancestors.delete(value)}return}throw new CborError(`Unsupported CBOR value type: ${typeof value}`)}function encodeCbor(value,options){let resolved=resolveOptions(options),writer=new CborWriter(resolved.maxByteLength);return encodeValue(writer,value,resolved,0,new Set),writer.finish()}var FrameError=class extends Error{constructor(message){super(message),this.name="FrameError"}};function resolveMaxFrameLength(options){let value=options?.maxFrameLength??16777216;if(!Number.isSafeInteger(value)||value<0||value>4294967295)throw new RangeError(`maxFrameLength must be an integer between 0 and ${4294967295}`);return value}function encodeFrame(payload){if(!(payload instanceof Uint8Array))throw new TypeError("Frame payload must be a Uint8Array");if(payload.byteLength>4294967295)throw new RangeError("Frame payload exceeds the unsigned 32-bit length limit");let frame=new Uint8Array(4+payload.byteLength),length=payload.byteLength;return frame[0]=length>>>24,frame[1]=length>>>16,frame[2]=length>>>8,frame[3]=length,frame.set(payload,4),frame}var FrameDecoder=class{header=new Uint8Array(4);headerLength=0;maxFrameLength;payloadBlocks=[];currentPayloadBlock;currentPayloadBlockLength=0;expectedPayloadLength;payloadLength=0;state="open";constructor(options){this.maxFrameLength=resolveMaxFrameLength(options)}push(chunk){if(this.state==="ended")throw new FrameError("Frame decoder has ended");if(this.state==="failed")throw new FrameError("Frame decoder has failed");if(!(chunk instanceof Uint8Array))throw new TypeError("Frame chunk must be a Uint8Array");let frames=[],chunkOffset=0;for(;chunkOffset<chunk.byteLength;){if(this.expectedPayloadLength===void 0){let headerBytes=Math.min(4-this.headerLength,chunk.byteLength-chunkOffset);if(this.header.set(chunk.subarray(chunkOffset,chunkOffset+headerBytes),this.headerLength),this.headerLength+=headerBytes,chunkOffset+=headerBytes,this.headerLength<4)continue;let frameLength=this.header[0]*16777216+this.header[1]*65536+this.header[2]*256+this.header[3];if(this.headerLength=0,frameLength>this.maxFrameLength&&this.fail(`Frame length ${frameLength} exceeds configured limit of ${this.maxFrameLength}`),frameLength===0){frames.push(new Uint8Array);continue}this.expectedPayloadLength=frameLength,this.payloadBlocks=[],this.currentPayloadBlock=void 0,this.currentPayloadBlockLength=0,this.payloadLength=0}let expectedPayloadLength=this.expectedPayloadLength;if(expectedPayloadLength!==void 0){for(;chunkOffset<chunk.byteLength&&this.payloadLength<expectedPayloadLength;){let block=this.currentPayloadBlock;(!block||this.currentPayloadBlockLength===block.byteLength)&&(block=new Uint8Array(Math.min(65536,expectedPayloadLength-this.payloadLength)),this.payloadBlocks.push(block),this.currentPayloadBlock=block,this.currentPayloadBlockLength=0);let payloadBytes=Math.min(block.byteLength-this.currentPayloadBlockLength,chunk.byteLength-chunkOffset);block.set(chunk.subarray(chunkOffset,chunkOffset+payloadBytes),this.currentPayloadBlockLength),this.currentPayloadBlockLength+=payloadBytes,this.payloadLength+=payloadBytes,chunkOffset+=payloadBytes}if(this.payloadLength===expectedPayloadLength){if(this.payloadBlocks.length===1)frames.push(this.payloadBlocks[0]);else{let payload=new Uint8Array(expectedPayloadLength),offset=0;for(let payloadBlock of this.payloadBlocks)payload.set(payloadBlock,offset),offset+=payloadBlock.byteLength;frames.push(payload)}this.payloadBlocks=[],this.currentPayloadBlock=void 0,this.currentPayloadBlockLength=0,this.expectedPayloadLength=void 0,this.payloadLength=0}}}return frames}end(){if(this.state==="ended")throw new FrameError("Frame decoder has ended");if(this.state==="failed")throw new FrameError("Frame decoder has failed");(this.headerLength!==0||this.expectedPayloadLength!==void 0)&&this.fail("Truncated frame at end of stream"),this.state="ended"}fail(message){throw this.state="failed",this.headerLength=0,this.payloadBlocks=[],this.currentPayloadBlock=void 0,this.currentPayloadBlockLength=0,this.expectedPayloadLength=void 0,this.payloadLength=0,new FrameError(message)}};var SUBAGENT_TASK_PROTOCOL_VERSION=1,SubagentTaskProtocolError=class extends Error{code;constructor(message,code){super(message),this.name="SubagentTaskProtocolError",this.code=code}},OPS=["hello","create","run","cancel","dispose","result","steer"],ERROR_CODES=["invalid_request","unknown_task","task_terminal","session_error","runner_lost","cross_task_response"];function isString(value){return typeof value=="string"}function isNonEmptyString(value){return typeof value=="string"&&value.length>0}var REQUEST_KEYS=["v","kind","id","op","taskId","prompt","runId","reason","profile","parentSessionId","resumeSessionId","parentTraceId","text"],EVENT_KEYS=["v","kind","taskId","runId","type","message","seq"],OK_RESPONSE_KEYS=["appliedProfile","sessionId","v","kind","id","ok","taskId","runId","messages","truncated","protocolVersion","status"],ERROR_RESPONSE_KEYS=["v","kind","id","ok","code","message"];function assertAllowedKeys(env,allowed,label){for(let key of Object.keys(env))if(!allowed.includes(key))throw new SubagentTaskProtocolError(`${label} envelope has an unknown field: ${key}`,"invalid_request")}function assertOptionalString2(env,key,label){let value=env[key];if(value!==void 0&&!isString(value))throw new SubagentTaskProtocolError(`${label} envelope field ${key} must be a string`,"invalid_request")}function validateEnvelope(value){if(typeof value!="object"||value===null)throw new SubagentTaskProtocolError("envelope must be an object","invalid_request");let env=value;if(env.v!==SUBAGENT_TASK_PROTOCOL_VERSION)throw new SubagentTaskProtocolError(`unsupported envelope version: ${String(env.v)}`,"invalid_request");if(env.kind==="request"){if(assertAllowedKeys(env,REQUEST_KEYS,"request"),!isNonEmptyString(env.id)||!isString(env.op)||!OPS.includes(env.op))throw new SubagentTaskProtocolError("request envelope requires id and a known op","invalid_request");if(assertOptionalString2(env,"taskId","request"),assertOptionalString2(env,"prompt","request"),assertOptionalString2(env,"runId","request"),assertOptionalString2(env,"reason","request"),assertOptionalString2(env,"parentSessionId","request"),assertOptionalString2(env,"resumeSessionId","request"),assertOptionalString2(env,"parentTraceId","request"),assertOptionalString2(env,"text","request"),env.profile!==void 0&&(env.profile===null||typeof env.profile!="object"||Array.isArray(env.profile)))throw new SubagentTaskProtocolError("request profile must be an object","invalid_request");return env}if(env.kind==="event"){if(assertAllowedKeys(env,EVENT_KEYS,"event"),!isNonEmptyString(env.taskId)||env.type!=="progress"||typeof env.seq!="number"||!Number.isInteger(env.seq)||env.seq<0)throw new SubagentTaskProtocolError("event envelope requires taskId, type=progress and a non-negative integer seq","invalid_request");return assertOptionalString2(env,"runId","event"),assertOptionalString2(env,"message","event"),env}if(env.kind==="response"){if(!isNonEmptyString(env.id)||typeof env.ok!="boolean")throw new SubagentTaskProtocolError("response envelope requires id and boolean ok","invalid_request");if(env.ok===!1){if(assertAllowedKeys(env,ERROR_RESPONSE_KEYS,"error response"),!isString(env.code)||!ERROR_CODES.includes(env.code)||!isString(env.message))throw new SubagentTaskProtocolError("error response requires a known code and a message","invalid_request");return env}if(assertAllowedKeys(env,OK_RESPONSE_KEYS,"ok response"),assertOptionalString2(env,"taskId","ok response"),assertOptionalString2(env,"runId","ok response"),assertOptionalString2(env,"status","ok response"),assertOptionalString2(env,"sessionId","ok response"),env.appliedProfile!==void 0){let applied=env.appliedProfile;if(applied===null||typeof applied!="object"||Array.isArray(applied))throw new SubagentTaskProtocolError("ok response appliedProfile must be an object","invalid_request");let record=applied,modelFacts=record.model;if(record.activeTools!==void 0&&(!Array.isArray(record.activeTools)||record.activeTools.some(name=>!isString(name)))||record.thinkingLevel!==void 0&&!isString(record.thinkingLevel)||record.systemPromptAppend!==void 0&&!isString(record.systemPromptAppend)||record.capabilityMode!==void 0&&!isString(record.capabilityMode)||modelFacts!==void 0&&(!isString(modelFacts.provider)||!isString(modelFacts.id)||typeof modelFacts.contextWindow!="number"||typeof modelFacts.maxTokens!="number"||typeof modelFacts.reasoning!="boolean"))throw new SubagentTaskProtocolError("ok response appliedProfile must carry activeTools/capabilityMode and complete model facts","invalid_request")}if(env.messages!==void 0&&!Array.isArray(env.messages))throw new SubagentTaskProtocolError("ok response field messages must be an array","invalid_request");if(env.truncated!==void 0&&typeof env.truncated!="boolean")throw new SubagentTaskProtocolError("ok response field truncated must be a boolean","invalid_request");if(env.protocolVersion!==void 0&&(typeof env.protocolVersion!="number"||!Number.isInteger(env.protocolVersion)))throw new SubagentTaskProtocolError("ok response field protocolVersion must be an integer","invalid_request");return env}throw new SubagentTaskProtocolError(`unknown envelope kind: ${String(env.kind)}`,"invalid_request")}function encodeEnvelopeV1(env){return encodeFrame(encodeCbor(env))}function decodeEnvelopeV1(framePayload){let decoded;try{decoded=decodeCbor(framePayload)}catch(error2){throw new SubagentTaskProtocolError(`envelope payload is not valid CBOR: ${error2 instanceof Error?error2.message:String(error2)}`,"invalid_request")}return validateEnvelope(decoded)}function createSubagentTaskEnvelopeDecoderV1(){let decoder=new FrameDecoder;return{push(chunk){return decoder.push(chunk).map(payload=>decodeEnvelopeV1(payload))},end(){decoder.end()}}}var CHANNEL_CAPACITY=256,EnvelopeQueue=class{items=[];spaceWaiters=[];dataWaiters=[];closed=!1;push(env){return this.closed?Promise.resolve():this.items.length>=CHANNEL_CAPACITY?new Promise(resolve=>{this.spaceWaiters.push(()=>{this.deliver(env),resolve()})}):(this.deliver(env),Promise.resolve())}close(){this.closed=!0;for(let wake of this.spaceWaiters.splice(0))wake();for(let resolve of this.dataWaiters.splice(0))resolve({value:void 0,done:!0})}take(){let item=this.items.shift();return item!==void 0?(this.wakeSpace(),Promise.resolve({value:item,done:!1})):this.closed?Promise.resolve({value:void 0,done:!0}):new Promise(resolve=>this.dataWaiters.push(resolve))}deliver(env){let resolve=this.dataWaiters.shift();resolve!==void 0?resolve({value:env,done:!1}):this.items.push(env)}wakeSpace(){let wake=this.spaceWaiters.shift();wake!==void 0&&wake()}},QueueChannel=class{out;inQueue;constructor(out,inQueue){this.out=out,this.inQueue=inQueue}write(env){return this.out.push(env)}[Symbol.asyncIterator](){return{next:()=>this.inQueue.take()}}};function createSubagentTaskChannelPairV1(){let clientToServer=new EnvelopeQueue,serverToClient=new EnvelopeQueue;return{client:new QueueChannel(clientToServer,serverToClient),server:new QueueChannel(serverToClient,clientToServer),close(){clientToServer.close(),serverToClient.close()}}}import{randomUUID as randomUUID2}from"node:crypto";var DEFAULT_MAX_MESSAGES=2e3,DEFAULT_MAX_RESULT_BYTES=524288;function utf8ByteLength2(value){return new TextEncoder().encode(value).length}function safeStringify(value){try{let serialized=JSON.stringify(value);return serialized===void 0?"":serialized}catch{return""}}function boundServerMessagesV1(messages,maxMessages,maxResultBytes){let truncated=!1,selected=messages;selected.length>maxMessages&&(selected=selected.slice(0,maxMessages),truncated=!0);let bounded=[],used=0;for(let message of selected){let size=utf8ByteLength2(safeStringify(message));if(used+size>maxResultBytes){truncated=!0;break}used+=size,bounded.push(message)}return{messages:bounded,truncated}}function verifyAppliedProfile(session,requested){let requestedRecord=requested,facts=session.facts?.();if(facts===void 0||requestedRecord.tools!==void 0&&(facts.activeTools===void 0||facts.activeTools.some(name=>!requestedRecord.tools?.includes(name)))||requestedRecord.mode==="readonly"&&facts.capabilityMode!=="readonly")return"unverified";if(requestedRecord.model!==void 0&&facts.model?.id!==requestedRecord.model)return`model: requested ${requestedRecord.model}, got ${facts.model?.id??"none"}`;if(requestedRecord.thinkingLevel!==void 0&&facts.thinkingLevel!==requestedRecord.thinkingLevel)return`thinkingLevel: requested ${requestedRecord.thinkingLevel}, got ${facts.thinkingLevel??"none"}`;if(requestedRecord.systemPromptAppend!==void 0){if(facts.systemPromptAppend===void 0)return"systemPromptAppend: not verifiable (facts missing)";if(!facts.systemPromptAppend.includes(requestedRecord.systemPromptAppend))return"systemPromptAppend: requested append is not in effect (suite APPEND_SYSTEM.md gating may have dropped it)"}return{...facts.activeTools===void 0?{}:{activeTools:facts.activeTools},...facts.model===void 0?{}:{model:facts.model},...facts.capabilityMode===void 0?{}:{capabilityMode:facts.capabilityMode},...facts.thinkingLevel===void 0?{}:{thinkingLevel:facts.thinkingLevel},...facts.systemPromptAppend===void 0?{}:{systemPromptAppend:facts.systemPromptAppend}}}function createSubagentTaskServer(options,out){let maxMessages=options.maxMessages??DEFAULT_MAX_MESSAGES,maxResultBytes=options.maxResultBytes??DEFAULT_MAX_RESULT_BYTES,tasks=new Map,taskSequence=0,serverDisposed=!1,writeState={pending:0,coalesced:0},settleWrite=result=>result!==void 0&&typeof result.then=="function"?result:Promise.resolve(),send=env=>{writeState.pending+=1,settleWrite(out.write(env)).finally(()=>{writeState.pending-=1})},sendProgress=(entry,env)=>{if(entry.progressInFlight){entry.pendingProgress=env,writeState.coalesced+=1;return}entry.progressInFlight=!0,writeState.pending+=1,settleWrite(out.write(env)).finally(()=>{writeState.pending-=1,entry.progressInFlight=!1;let next=entry.pendingProgress;entry.pendingProgress=void 0,next!==void 0&&!entry.disposed&&sendProgress(entry,next)})},okResponse=(id,fields)=>{send({v:SUBAGENT_TASK_PROTOCOL_VERSION,kind:"response",id,ok:!0,...fields})},errorResponse=(id,code,message)=>{send({v:SUBAGENT_TASK_PROTOCOL_VERSION,kind:"response",id,ok:!1,code,message})},lookup=id=>{if(id===void 0)return;let entry=tasks.get(id);return entry!==void 0&&!entry.disposed?entry:void 0},handleHello=env=>{okResponse(env.id,{protocolVersion:SUBAGENT_TASK_PROTOCOL_VERSION})},handleCreate=async env=>{if(typeof env.prompt!="string"){errorResponse(env.id,"invalid_request","create requires a string prompt");return}try{let session=await options.createSession({prompt:env.prompt,...env.profile===void 0?{}:{profile:env.profile},...env.parentSessionId===void 0?{}:{parentSessionId:env.parentSessionId},...env.resumeSessionId===void 0?{}:{resumeSessionId:env.resumeSessionId},...env.parentTraceId===void 0?{}:{parentTraceId:env.parentTraceId}}),appliedProfile=env.profile===void 0?void 0:verifyAppliedProfile(session,env.profile);if(typeof appliedProfile=="string"){await session.dispose().catch(()=>{}),errorResponse(env.id,"session_error",`runner session could not prove the requested child task profile was applied: ${appliedProfile}`);return}let taskId=`st:${++taskSequence}:${randomUUID2().slice(0,8)}`;tasks.set(taskId,{taskId,session,disposed:!1,cancelledBeforeRun:!1,runActive:!1,progressSeq:0,progressInFlight:!1}),okResponse(env.id,{taskId,sessionId:session.getSessionId(),...appliedProfile===void 0?{}:{appliedProfile}})}catch(error2){errorResponse(env.id,"session_error",`session creation failed: ${error2 instanceof Error?error2.message:String(error2)}`)}},handleRun=env=>{if(env.taskId===void 0){errorResponse(env.id,"invalid_request","run requires taskId");return}let entry=lookup(env.taskId);if(entry===void 0){errorResponse(env.id,"unknown_task","run requires a live task");return}if(typeof env.prompt!="string"||typeof env.runId!="string"){errorResponse(env.id,"invalid_request","run requires prompt and runId");return}if(entry.cancelledBeforeRun){errorResponse(env.id,"task_terminal","task was cancelled before the run started");return}if(entry.runActive){errorResponse(env.id,"task_terminal","a run is already active for this task");return}let controller=new AbortController;if(entry.controller=controller,entry.runActive=!0,entry.unsubscribeProgress=void 0,entry.session.onProgress!==void 0){let unsubscribe=entry.session.onProgress(message=>{entry.disposed||sendProgress(entry,{v:SUBAGENT_TASK_PROTOCOL_VERSION,kind:"event",taskId:entry.taskId,runId:env.runId,type:"progress",message,seq:++entry.progressSeq})});entry.unsubscribeProgress=typeof unsubscribe=="function"?unsubscribe:void 0}let settleRun=()=>{entry.runActive=!1,entry.controller=void 0,entry.unsubscribeProgress?.(),entry.unsubscribeProgress=void 0};entry.session.run(env.prompt,controller.signal).then(outcome=>{entry.disposed||(settleRun(),entry.lastRunStatus=outcome.status==="done"?"succeeded":"cancelled",okResponse(env.id,{taskId:entry.taskId,runId:env.runId,status:entry.lastRunStatus}))}).catch(error2=>{entry.disposed||(settleRun(),errorResponse(env.id,"session_error",`run failed: ${error2 instanceof Error?error2.message:String(error2)}`))})},handleCancel=async env=>{if(env.taskId===void 0){errorResponse(env.id,"invalid_request","cancel requires taskId");return}let entry=lookup(env.taskId);if(entry===void 0){errorResponse(env.id,"unknown_task","cancel requires a live task");return}try{entry.runActive||(entry.cancelledBeforeRun=!0),entry.controller?.abort(env.reason??"cancelled"),await entry.session.cancel(env.reason),okResponse(env.id,{taskId:entry.taskId})}catch(error2){errorResponse(env.id,"session_error",`cancel failed: ${error2 instanceof Error?error2.message:String(error2)}`)}},handleSteer=async env=>{if(env.taskId===void 0){errorResponse(env.id,"invalid_request","steer requires taskId");return}let entry=lookup(env.taskId);if(entry===void 0){errorResponse(env.id,"unknown_task","steer requires a live task");return}if(typeof env.text!="string"||env.text.trim()===""){errorResponse(env.id,"invalid_request","steer requires non-empty text");return}if(entry.session.steer===void 0){errorResponse(env.id,"session_error","runner session does not support steer");return}try{await entry.session.steer(env.text),okResponse(env.id,{taskId:entry.taskId})}catch(error2){errorResponse(env.id,"session_error",`steer failed: ${error2 instanceof Error?error2.message:String(error2)}`)}},handleDispose=async env=>{if(env.taskId===void 0){errorResponse(env.id,"invalid_request","dispose requires taskId");return}let entry=lookup(env.taskId);if(entry===void 0){errorResponse(env.id,"unknown_task","dispose requires a live task");return}entry.disposed=!0,entry.runActive=!1,entry.unsubscribeProgress?.(),entry.unsubscribeProgress=void 0,entry.controller?.abort("subagent task disposed"),entry.controller=void 0,tasks.delete(entry.taskId);try{await entry.session.dispose(),okResponse(env.id,{taskId:entry.taskId})}catch(error2){errorResponse(env.id,"session_error",`dispose failed: ${error2 instanceof Error?error2.message:String(error2)}`)}},handleResult=env=>{if(env.taskId===void 0){errorResponse(env.id,"invalid_request","result requires taskId");return}let entry=lookup(env.taskId);if(entry===void 0){errorResponse(env.id,"unknown_task","result requires a live task");return}let bounded=boundServerMessagesV1(entry.session.getMessages(),maxMessages,maxResultBytes);okResponse(env.id,{taskId:entry.taskId,messages:bounded.messages,truncated:bounded.truncated,...entry.lastRunStatus===void 0?{}:{status:entry.lastRunStatus}})};return{inspect(){return{pendingWrites:writeState.pending,coalescedProgress:writeState.coalesced}},handle(env){if(serverDisposed)return env.kind==="request"&&errorResponse(env.id,"task_terminal","subagent task server is disposed"),Promise.resolve();if(env.kind!=="request")return Promise.resolve();try{switch(env.op){case"hello":return handleHello(env),Promise.resolve();case"create":return handleCreate(env);case"run":return handleRun(env),Promise.resolve();case"cancel":return handleCancel(env);case"dispose":return handleDispose(env);case"result":return handleResult(env),Promise.resolve();case"steer":return handleSteer(env)}}catch(error2){return errorResponse(env.id,"session_error",`request failed: ${error2 instanceof Error?error2.message:String(error2)}`),Promise.resolve()}return Promise.resolve()},async dispose(){serverDisposed=!0;let entries=[...tasks.values()];tasks.clear();for(let entry of entries){entry.disposed=!0,entry.unsubscribeProgress?.(),entry.unsubscribeProgress=void 0,entry.controller?.abort("subagent task server disposed"),entry.controller=void 0;try{await entry.session.dispose()}catch{}}}}}function createSubagentTaskStdioChannelV1(streams){let decoder=createSubagentTaskEnvelopeDecoderV1(),pending=[],waiters=[],closed=!1,failure,close=error2=>{if(!closed){closed=!0,failure=error2;for(let waiter of waiters.splice(0))error2!==void 0?waiter.reject(error2):waiter.resolve({value:void 0,done:!0});streams.onClosed?.(error2)}};return streams.input.on("data",chunk=>{if(closed)return;let bytes=typeof chunk=="string"?new TextEncoder().encode(chunk):new Uint8Array(chunk);try{for(let env of decoder.push(bytes)){let waiter=waiters.shift();waiter!==void 0?waiter.resolve({value:env,done:!1}):pending.push(env)}}catch(error2){close(error2 instanceof Error?error2:new Error(String(error2)))}}),streams.input.on("end",()=>{try{decoder.end()}catch(error2){close(error2 instanceof Error?error2:new Error(String(error2)));return}close()}),streams.input.on("error",error2=>close(error2)),streams.output.on("error",error2=>close(error2)),{async write(env){if(closed)return;let frame=encodeEnvelopeV1(env);streams.output.write(frame)||await new Promise((resolve,reject)=>{let onDrain=()=>{streams.output.off("error",onError),resolve()},onError=error2=>{streams.output.off("drain",onDrain),reject(error2)};streams.output.once("drain",onDrain),streams.output.once("error",onError)})},[Symbol.asyncIterator](){return{next:()=>{let item=pending.shift();return item!==void 0?Promise.resolve({value:item,done:!1}):failure!==void 0?Promise.reject(failure):closed?Promise.resolve({value:void 0,done:!0}):new Promise((resolve,reject)=>waiters.push({resolve,reject}))}}}}}export{require_undici,settings_exports,arguments_exports,typebox_exports,build_default,build_exports,Build,Check2 as Check,Errors2 as Errors,Clean,Convert,Default,Decode10 as Decode,Encode10 as Encode,HasCodec,Create2 as Create,ParseError,Parser,value_exports,value_exports2,isPlainRecord,detachedFreeze,require_semver2 as require_semver,EXPERIMENTAL_PUBLIC_API_VERSION,LifecycleTransformError,LifecycleExecuteError,parseAgentTaskChildProfileV1,SUMMARY_MODEL_INVOCATION_ERROR_CODES,createDisposableRegistration,createEventEnvelope,detachedSessionSnapshot,parseCapabilityPluginManifest,MEMORY_RECALL_TOOL_NAME,TRACE_KINDS_V1,dist_exports,session_lineage_exports,SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES,createSubagentMailbox,createTurnProgressSourceV1,decodeCbor,encodeCbor,encodeFrame,FrameDecoder,createSubagentTaskServer,createSubagentTaskStdioChannelV1,subagent_exports};
|