@prismatic-io/lux 0.0.2-preview.4 → 0.0.2-preview.41
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/lib/answerers/claude-code/index.d.ts +15 -3
- package/lib/answerers/claude-code/index.d.ts.map +1 -1
- package/lib/answerers/claude-code/index.js +6 -5
- package/lib/answerers/claude-code/index.js.map +1 -1
- package/lib/answerers/persona/index.d.ts +44 -5
- package/lib/answerers/persona/index.d.ts.map +1 -1
- package/lib/answerers/persona/index.js +65 -34
- package/lib/answerers/persona/index.js.map +1 -1
- package/lib/answerers/terminal/index.d.ts +9 -3
- package/lib/answerers/terminal/index.d.ts.map +1 -1
- package/lib/answerers/terminal/index.js +6 -4
- package/lib/answerers/terminal/index.js.map +1 -1
- package/lib/assertions/authoring.d.ts +2 -2
- package/lib/assertions/authoring.d.ts.map +1 -1
- package/lib/assertions/authoring.js.map +1 -1
- package/lib/assertions/core/command-exits-zero.d.ts +5 -2
- package/lib/assertions/core/command-exits-zero.d.ts.map +1 -1
- package/lib/assertions/core/command-exits-zero.js +59 -14
- package/lib/assertions/core/command-exits-zero.js.map +1 -1
- package/lib/assertions/core/event-checks.d.ts +3 -0
- package/lib/assertions/core/event-checks.d.ts.map +1 -1
- package/lib/assertions/core/event-checks.js +49 -3
- package/lib/assertions/core/event-checks.js.map +1 -1
- package/lib/assertions/core/file-checks.d.ts +6 -0
- package/lib/assertions/core/file-checks.d.ts.map +1 -1
- package/lib/assertions/core/index.d.ts.map +1 -1
- package/lib/assertions/core/index.js +2 -1
- package/lib/assertions/core/index.js.map +1 -1
- package/lib/assertions/core/json-pointer-equals.d.ts +1 -0
- package/lib/assertions/core/json-pointer-equals.d.ts.map +1 -1
- package/lib/assertions/core/output-checks.d.ts +3 -0
- package/lib/assertions/core/output-checks.d.ts.map +1 -1
- package/lib/assertions/core/predicate.d.ts +1 -0
- package/lib/assertions/core/predicate.d.ts.map +1 -1
- package/lib/assertions/core/resource-checks.d.ts +25 -0
- package/lib/assertions/core/resource-checks.d.ts.map +1 -1
- package/lib/assertions/core/resource-checks.js +35 -5
- package/lib/assertions/core/resource-checks.js.map +1 -1
- package/lib/assertions/core/safe-regex.d.ts.map +1 -1
- package/lib/assertions/core/safe-regex.js +7 -1
- package/lib/assertions/core/safe-regex.js.map +1 -1
- package/lib/assertions/rubric/evidence.d.ts +88 -0
- package/lib/assertions/rubric/evidence.d.ts.map +1 -0
- package/lib/assertions/rubric/evidence.js +75 -0
- package/lib/assertions/rubric/evidence.js.map +1 -0
- package/lib/assertions/rubric/index.d.ts +88 -34
- package/lib/assertions/rubric/index.d.ts.map +1 -1
- package/lib/assertions/rubric/index.js +67 -43
- package/lib/assertions/rubric/index.js.map +1 -1
- package/lib/assertions/rubric/internal.d.ts +30 -5
- package/lib/assertions/rubric/internal.d.ts.map +1 -1
- package/lib/assertions/rubric/internal.js +211 -46
- package/lib/assertions/rubric/internal.js.map +1 -1
- package/lib/authoring.d.ts +37 -2
- package/lib/authoring.d.ts.map +1 -1
- package/lib/authoring.js +36 -1
- package/lib/authoring.js.map +1 -1
- package/lib/cli/bin.js +2 -13
- package/lib/cli/bin.js.map +1 -1
- package/lib/cli/command-runtime.d.ts +3 -3
- package/lib/cli/command-runtime.d.ts.map +1 -1
- package/lib/cli/command-runtime.js +17 -6
- package/lib/cli/command-runtime.js.map +1 -1
- package/lib/cli/doctor.d.ts +55 -0
- package/lib/cli/doctor.d.ts.map +1 -0
- package/lib/cli/doctor.js +14 -0
- package/lib/cli/doctor.js.map +1 -0
- package/lib/cli/harness-plan.d.ts +27 -0
- package/lib/cli/harness-plan.d.ts.map +1 -0
- package/lib/cli/harness-plan.js +75 -0
- package/lib/cli/harness-plan.js.map +1 -0
- package/lib/cli/init-templates.d.ts +11 -0
- package/lib/cli/init-templates.d.ts.map +1 -0
- package/lib/cli/init-templates.js +153 -0
- package/lib/cli/init-templates.js.map +1 -0
- package/lib/cli/init.d.ts +10 -0
- package/lib/cli/init.d.ts.map +1 -1
- package/lib/cli/init.js +34 -173
- package/lib/cli/init.js.map +1 -1
- package/lib/cli/output-schemas.d.ts +1412 -0
- package/lib/cli/output-schemas.d.ts.map +1 -0
- package/lib/cli/output-schemas.js +94 -0
- package/lib/cli/output-schemas.js.map +1 -0
- package/lib/cli/program.d.ts +140 -12
- package/lib/cli/program.d.ts.map +1 -1
- package/lib/cli/program.js +783 -650
- package/lib/cli/program.js.map +1 -1
- package/lib/cli/render/format.d.ts.map +1 -1
- package/lib/cli/render/format.js +1 -1
- package/lib/cli/render/format.js.map +1 -1
- package/lib/cli/render/reporter.d.ts.map +1 -1
- package/lib/cli/render/reporter.js +35 -8
- package/lib/cli/render/reporter.js.map +1 -1
- package/lib/cli/run-options.d.ts +19 -4
- package/lib/cli/run-options.d.ts.map +1 -1
- package/lib/cli/run-options.js +100 -19
- package/lib/cli/run-options.js.map +1 -1
- package/lib/cli/view.d.ts +15 -0
- package/lib/cli/view.d.ts.map +1 -0
- package/lib/cli/view.js +168 -0
- package/lib/cli/view.js.map +1 -0
- package/lib/container/driver.d.ts +27 -0
- package/lib/container/driver.d.ts.map +1 -0
- package/lib/container/driver.js +199 -0
- package/lib/container/driver.js.map +1 -0
- package/lib/container/paths.d.ts +3 -0
- package/lib/container/paths.d.ts.map +1 -0
- package/lib/container/paths.js +27 -0
- package/lib/container/paths.js.map +1 -0
- package/lib/container/protocol.d.ts +12 -0
- package/lib/container/protocol.d.ts.map +1 -0
- package/lib/container/protocol.js +38 -0
- package/lib/container/protocol.js.map +1 -0
- package/lib/container/resources.d.ts +14 -0
- package/lib/container/resources.d.ts.map +1 -0
- package/lib/container/resources.js +141 -0
- package/lib/container/resources.js.map +1 -0
- package/lib/container/worker.d.ts +2 -0
- package/lib/container/worker.d.ts.map +1 -0
- package/lib/container/worker.js +85 -0
- package/lib/container/worker.js.map +1 -0
- package/lib/core/action-events.d.ts +29 -0
- package/lib/core/action-events.d.ts.map +1 -0
- package/lib/core/action-events.js +51 -0
- package/lib/core/action-events.js.map +1 -0
- package/lib/core/agent-activity.d.ts +49 -0
- package/lib/core/agent-activity.d.ts.map +1 -0
- package/lib/core/agent-activity.js +206 -0
- package/lib/core/agent-activity.js.map +1 -0
- package/lib/core/agent-environment.d.ts +5 -0
- package/lib/core/agent-environment.d.ts.map +1 -0
- package/lib/core/agent-environment.js +47 -0
- package/lib/core/agent-environment.js.map +1 -0
- package/lib/core/agent-events.d.ts +26 -0
- package/lib/core/agent-events.d.ts.map +1 -0
- package/lib/core/agent-events.js +13 -0
- package/lib/core/agent-events.js.map +1 -0
- package/lib/core/annotation.d.ts +6 -2
- package/lib/core/annotation.d.ts.map +1 -1
- package/lib/core/annotation.js +2 -1
- package/lib/core/annotation.js.map +1 -1
- package/lib/core/answerer.d.ts +12 -0
- package/lib/core/answerer.d.ts.map +1 -1
- package/lib/core/answerer.js +2 -0
- package/lib/core/answerer.js.map +1 -1
- package/lib/core/artifact-evidence.d.ts +6 -1
- package/lib/core/artifact-evidence.d.ts.map +1 -1
- package/lib/core/artifact-evidence.js +27 -6
- package/lib/core/artifact-evidence.js.map +1 -1
- package/lib/core/assertion.d.ts +10 -4
- package/lib/core/assertion.d.ts.map +1 -1
- package/lib/core/assertion.js +8 -2
- package/lib/core/assertion.js.map +1 -1
- package/lib/core/case-defaults.d.ts +16 -0
- package/lib/core/case-defaults.d.ts.map +1 -0
- package/lib/core/case-defaults.js +42 -0
- package/lib/core/case-defaults.js.map +1 -0
- package/lib/core/case.d.ts +120 -6
- package/lib/core/case.d.ts.map +1 -1
- package/lib/core/case.js +51 -5
- package/lib/core/case.js.map +1 -1
- package/lib/core/command-verification.d.ts +10 -0
- package/lib/core/command-verification.d.ts.map +1 -0
- package/lib/core/command-verification.js +66 -0
- package/lib/core/command-verification.js.map +1 -0
- package/lib/core/driver-execution.d.ts +83 -0
- package/lib/core/driver-execution.d.ts.map +1 -0
- package/lib/core/driver-execution.js +72 -0
- package/lib/core/driver-execution.js.map +1 -0
- package/lib/core/driver-metrics.d.ts +98 -0
- package/lib/core/driver-metrics.d.ts.map +1 -0
- package/lib/core/driver-metrics.js +36 -0
- package/lib/core/driver-metrics.js.map +1 -0
- package/lib/core/driver.d.ts +64 -0
- package/lib/core/driver.d.ts.map +1 -1
- package/lib/core/driver.js +28 -0
- package/lib/core/driver.js.map +1 -1
- package/lib/core/duration.d.ts +5 -0
- package/lib/core/duration.d.ts.map +1 -0
- package/lib/core/duration.js +49 -0
- package/lib/core/duration.js.map +1 -0
- package/lib/core/environment.d.ts +18 -0
- package/lib/core/environment.d.ts.map +1 -0
- package/lib/core/environment.js +21 -0
- package/lib/core/environment.js.map +1 -0
- package/lib/core/evaluation-clusters.d.ts +17 -0
- package/lib/core/evaluation-clusters.d.ts.map +1 -0
- package/lib/core/evaluation-clusters.js +23 -0
- package/lib/core/evaluation-clusters.js.map +1 -0
- package/lib/core/events.d.ts +34 -0
- package/lib/core/events.d.ts.map +1 -1
- package/lib/core/events.js +11 -2
- package/lib/core/events.js.map +1 -1
- package/lib/core/experiment.d.ts +33 -2
- package/lib/core/experiment.d.ts.map +1 -1
- package/lib/core/experiment.js +40 -19
- package/lib/core/experiment.js.map +1 -1
- package/lib/core/file-tree.d.ts +7 -0
- package/lib/core/file-tree.d.ts.map +1 -0
- package/lib/core/file-tree.js +35 -0
- package/lib/core/file-tree.js.map +1 -0
- package/lib/core/global-id.d.ts +6 -0
- package/lib/core/global-id.d.ts.map +1 -0
- package/lib/core/global-id.js +17 -0
- package/lib/core/global-id.js.map +1 -0
- package/lib/core/harness-catalog.d.ts +35 -0
- package/lib/core/harness-catalog.d.ts.map +1 -0
- package/lib/core/harness-catalog.js +45 -0
- package/lib/core/harness-catalog.js.map +1 -0
- package/lib/core/harness-catalogs/antigravity.d.ts +11 -0
- package/lib/core/harness-catalogs/antigravity.d.ts.map +1 -0
- package/lib/core/harness-catalogs/antigravity.js +23 -0
- package/lib/core/harness-catalogs/antigravity.js.map +1 -0
- package/lib/core/harness-catalogs/claude-code.d.ts +12 -0
- package/lib/core/harness-catalogs/claude-code.d.ts.map +1 -0
- package/lib/core/harness-catalogs/claude-code.js +24 -0
- package/lib/core/harness-catalogs/claude-code.js.map +1 -0
- package/lib/core/harness-catalogs/codex.d.ts +11 -0
- package/lib/core/harness-catalogs/codex.d.ts.map +1 -0
- package/lib/core/harness-catalogs/codex.js +26 -0
- package/lib/core/harness-catalogs/codex.js.map +1 -0
- package/lib/core/harness-catalogs/copilot.d.ts +29 -0
- package/lib/core/harness-catalogs/copilot.d.ts.map +1 -0
- package/lib/core/harness-catalogs/copilot.js +45 -0
- package/lib/core/harness-catalogs/copilot.js.map +1 -0
- package/lib/core/harness-catalogs/cursor.d.ts +2 -0
- package/lib/core/harness-catalogs/cursor.d.ts.map +1 -0
- package/lib/core/harness-catalogs/cursor.js +13 -0
- package/lib/core/harness-catalogs/cursor.js.map +1 -0
- package/lib/core/harness-catalogs/grok-build.d.ts +7 -0
- package/lib/core/harness-catalogs/grok-build.d.ts.map +1 -0
- package/lib/core/harness-catalogs/grok-build.js +18 -0
- package/lib/core/harness-catalogs/grok-build.js.map +1 -0
- package/lib/core/harness-catalogs/index.d.ts +73 -0
- package/lib/core/harness-catalogs/index.d.ts.map +1 -0
- package/lib/core/harness-catalogs/index.js +17 -0
- package/lib/core/harness-catalogs/index.js.map +1 -0
- package/lib/core/harness-matrix.d.ts +154 -0
- package/lib/core/harness-matrix.d.ts.map +1 -0
- package/lib/core/harness-matrix.js +204 -0
- package/lib/core/harness-matrix.js.map +1 -0
- package/lib/core/index.d.ts +12 -0
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +12 -0
- package/lib/core/index.js.map +1 -1
- package/lib/core/lifecycle-fixtures.d.ts.map +1 -1
- package/lib/core/lifecycle-fixtures.js +4 -2
- package/lib/core/lifecycle-fixtures.js.map +1 -1
- package/lib/core/model-cli.d.ts +31 -15
- package/lib/core/model-cli.d.ts.map +1 -1
- package/lib/core/model-cli.js +53 -23
- package/lib/core/model-cli.js.map +1 -1
- package/lib/core/platform-process.d.ts +7 -2
- package/lib/core/platform-process.d.ts.map +1 -1
- package/lib/core/platform-process.js +54 -16
- package/lib/core/platform-process.js.map +1 -1
- package/lib/core/reference-defaults.d.ts +5 -0
- package/lib/core/reference-defaults.d.ts.map +1 -0
- package/lib/core/reference-defaults.js +42 -0
- package/lib/core/reference-defaults.js.map +1 -0
- package/lib/core/rubric.d.ts +1 -0
- package/lib/core/rubric.d.ts.map +1 -1
- package/lib/core/run.d.ts +292 -1
- package/lib/core/run.d.ts.map +1 -1
- package/lib/core/run.js +27 -0
- package/lib/core/run.js.map +1 -1
- package/lib/core/secure-copy.d.ts.map +1 -0
- package/lib/core/secure-copy.js.map +1 -0
- package/lib/core/usage.d.ts +5 -0
- package/lib/core/usage.d.ts.map +1 -1
- package/lib/core/usage.js +3 -0
- package/lib/core/usage.js.map +1 -1
- package/lib/core/wire.d.ts +11 -0
- package/lib/core/wire.d.ts.map +1 -1
- package/lib/drivers/antigravity/artifacts.d.ts +2 -0
- package/lib/drivers/antigravity/artifacts.d.ts.map +1 -0
- package/lib/drivers/antigravity/artifacts.js +33 -0
- package/lib/drivers/antigravity/artifacts.js.map +1 -0
- package/lib/drivers/antigravity/config.d.ts +88 -0
- package/lib/drivers/antigravity/config.d.ts.map +1 -0
- package/lib/drivers/antigravity/config.js +87 -0
- package/lib/drivers/antigravity/config.js.map +1 -0
- package/lib/drivers/antigravity/events.d.ts +4 -0
- package/lib/drivers/antigravity/events.d.ts.map +1 -0
- package/lib/drivers/antigravity/events.js +241 -0
- package/lib/drivers/antigravity/events.js.map +1 -0
- package/lib/drivers/antigravity/index.d.ts +114 -0
- package/lib/drivers/antigravity/index.d.ts.map +1 -0
- package/lib/drivers/antigravity/index.js +113 -0
- package/lib/drivers/antigravity/index.js.map +1 -0
- package/lib/drivers/antigravity/runtime.d.ts +7 -0
- package/lib/drivers/antigravity/runtime.d.ts.map +1 -0
- package/lib/drivers/antigravity/runtime.js +83 -0
- package/lib/drivers/antigravity/runtime.js.map +1 -0
- package/lib/drivers/claude-code/deferred-process.d.ts +17 -0
- package/lib/drivers/claude-code/deferred-process.d.ts.map +1 -0
- package/lib/drivers/claude-code/deferred-process.js +108 -0
- package/lib/drivers/claude-code/deferred-process.js.map +1 -0
- package/lib/drivers/claude-code/index.d.ts +187 -10
- package/lib/drivers/claude-code/index.d.ts.map +1 -1
- package/lib/drivers/claude-code/index.js +198 -253
- package/lib/drivers/claude-code/index.js.map +1 -1
- package/lib/drivers/claude-code/isolation.d.ts +8 -0
- package/lib/drivers/claude-code/isolation.d.ts.map +1 -0
- package/lib/drivers/claude-code/isolation.js +199 -0
- package/lib/drivers/claude-code/isolation.js.map +1 -0
- package/lib/drivers/claude-code/parse-events.d.ts.map +1 -1
- package/lib/drivers/claude-code/parse-events.js +73 -8
- package/lib/drivers/claude-code/parse-events.js.map +1 -1
- package/lib/drivers/codex/app-events.d.ts +9 -2
- package/lib/drivers/codex/app-events.d.ts.map +1 -1
- package/lib/drivers/codex/app-events.js +104 -12
- package/lib/drivers/codex/app-events.js.map +1 -1
- package/lib/drivers/codex/config.d.ts +69 -5
- package/lib/drivers/codex/config.d.ts.map +1 -1
- package/lib/drivers/codex/config.js +48 -8
- package/lib/drivers/codex/config.js.map +1 -1
- package/lib/drivers/codex/exec-events.d.ts +4 -0
- package/lib/drivers/codex/exec-events.d.ts.map +1 -0
- package/lib/drivers/codex/exec-events.js +230 -0
- package/lib/drivers/codex/exec-events.js.map +1 -0
- package/lib/drivers/codex/index.d.ts +142 -4
- package/lib/drivers/codex/index.d.ts.map +1 -1
- package/lib/drivers/codex/index.js +114 -276
- package/lib/drivers/codex/index.js.map +1 -1
- package/lib/drivers/copilot/config.d.ts +84 -0
- package/lib/drivers/copilot/config.d.ts.map +1 -0
- package/lib/drivers/copilot/config.js +57 -0
- package/lib/drivers/copilot/config.js.map +1 -0
- package/lib/drivers/copilot/index.d.ts +107 -0
- package/lib/drivers/copilot/index.d.ts.map +1 -0
- package/lib/drivers/copilot/index.js +268 -0
- package/lib/drivers/copilot/index.js.map +1 -0
- package/lib/drivers/cursor/config.d.ts +28 -0
- package/lib/drivers/cursor/config.d.ts.map +1 -0
- package/lib/drivers/cursor/config.js +28 -0
- package/lib/drivers/cursor/config.js.map +1 -0
- package/lib/drivers/cursor/index.d.ts +44 -0
- package/lib/drivers/cursor/index.d.ts.map +1 -0
- package/lib/drivers/cursor/index.js +286 -0
- package/lib/drivers/cursor/index.js.map +1 -0
- package/lib/drivers/cursor/interaction.d.ts +6 -0
- package/lib/drivers/cursor/interaction.d.ts.map +1 -0
- package/lib/drivers/cursor/interaction.js +55 -0
- package/lib/drivers/cursor/interaction.js.map +1 -0
- package/lib/drivers/grok-build/config.d.ts +68 -0
- package/lib/drivers/grok-build/config.d.ts.map +1 -0
- package/lib/drivers/grok-build/config.js +40 -0
- package/lib/drivers/grok-build/config.js.map +1 -0
- package/lib/drivers/grok-build/index.d.ts +87 -0
- package/lib/drivers/grok-build/index.d.ts.map +1 -0
- package/lib/drivers/grok-build/index.js +293 -0
- package/lib/drivers/grok-build/index.js.map +1 -0
- package/lib/drivers/mcp/index.d.ts +37 -4
- package/lib/drivers/mcp/index.d.ts.map +1 -1
- package/lib/drivers/mcp/index.js +25 -11
- package/lib/drivers/mcp/index.js.map +1 -1
- package/lib/drivers/shared/acp-events.d.ts +15 -0
- package/lib/drivers/shared/acp-events.d.ts.map +1 -0
- package/lib/drivers/shared/acp-events.js +83 -0
- package/lib/drivers/shared/acp-events.js.map +1 -0
- package/lib/drivers/shared/acp-interaction.d.ts +7 -0
- package/lib/drivers/shared/acp-interaction.d.ts.map +1 -0
- package/lib/drivers/shared/acp-interaction.js +20 -0
- package/lib/drivers/shared/acp-interaction.js.map +1 -0
- package/lib/drivers/shared/acp-session.d.ts +4 -0
- package/lib/drivers/shared/acp-session.d.ts.map +1 -0
- package/lib/drivers/shared/acp-session.js +23 -0
- package/lib/drivers/shared/acp-session.js.map +1 -0
- package/lib/drivers/shared/acp-transport.d.ts +40 -0
- package/lib/drivers/shared/acp-transport.d.ts.map +1 -0
- package/lib/drivers/shared/acp-transport.js +152 -0
- package/lib/drivers/shared/acp-transport.js.map +1 -0
- package/lib/drivers/shared/artifacts.d.ts.map +1 -1
- package/lib/drivers/shared/artifacts.js +3 -2
- package/lib/drivers/shared/artifacts.js.map +1 -1
- package/lib/drivers/shared/experiment-behavior.d.ts +13 -0
- package/lib/drivers/shared/experiment-behavior.d.ts.map +1 -0
- package/lib/drivers/shared/experiment-behavior.js +200 -0
- package/lib/drivers/shared/experiment-behavior.js.map +1 -0
- package/lib/drivers/shared/experiment-policy.d.ts +4 -0
- package/lib/drivers/shared/experiment-policy.d.ts.map +1 -0
- package/lib/drivers/shared/experiment-policy.js +149 -0
- package/lib/drivers/shared/experiment-policy.js.map +1 -0
- package/lib/drivers/shared/skills.d.ts +3 -0
- package/lib/drivers/shared/skills.d.ts.map +1 -0
- package/lib/drivers/shared/skills.js +73 -0
- package/lib/drivers/shared/skills.js.map +1 -0
- package/lib/drivers/subprocess/index.d.ts +39 -4
- package/lib/drivers/subprocess/index.d.ts.map +1 -1
- package/lib/drivers/subprocess/index.js +56 -12
- package/lib/drivers/subprocess/index.js.map +1 -1
- package/lib/index.d.ts +24 -8
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +20 -5
- package/lib/index.js.map +1 -1
- package/lib/optimization/reflective.d.ts +3 -1
- package/lib/optimization/reflective.d.ts.map +1 -1
- package/lib/optimization/reflective.js +3 -2
- package/lib/optimization/reflective.js.map +1 -1
- package/lib/orchestrator/annotation-loader.d.ts +6 -2
- package/lib/orchestrator/annotation-loader.d.ts.map +1 -1
- package/lib/orchestrator/annotation-loader.js +8 -0
- package/lib/orchestrator/annotation-loader.js.map +1 -1
- package/lib/orchestrator/annotation-store.d.ts.map +1 -1
- package/lib/orchestrator/annotation-store.js +16 -2
- package/lib/orchestrator/annotation-store.js.map +1 -1
- package/lib/orchestrator/artifact-origin.d.ts +3 -0
- package/lib/orchestrator/artifact-origin.d.ts.map +1 -0
- package/lib/orchestrator/artifact-origin.js +40 -0
- package/lib/orchestrator/artifact-origin.js.map +1 -0
- package/lib/orchestrator/campaign-lifecycle.d.ts +1 -0
- package/lib/orchestrator/campaign-lifecycle.d.ts.map +1 -1
- package/lib/orchestrator/campaign-lifecycle.js +4 -1
- package/lib/orchestrator/campaign-lifecycle.js.map +1 -1
- package/lib/orchestrator/candidates.d.ts.map +1 -1
- package/lib/orchestrator/candidates.js +3 -2
- package/lib/orchestrator/candidates.js.map +1 -1
- package/lib/orchestrator/compare.d.ts +23 -6
- package/lib/orchestrator/compare.d.ts.map +1 -1
- package/lib/orchestrator/compare.js +45 -12
- package/lib/orchestrator/compare.js.map +1 -1
- package/lib/orchestrator/comparison-identity.d.ts.map +1 -1
- package/lib/orchestrator/comparison-identity.js +2 -0
- package/lib/orchestrator/comparison-identity.js.map +1 -1
- package/lib/orchestrator/config.d.ts +231 -10
- package/lib/orchestrator/config.d.ts.map +1 -1
- package/lib/orchestrator/config.js +21 -2
- package/lib/orchestrator/config.js.map +1 -1
- package/lib/orchestrator/discover.d.ts +1 -0
- package/lib/orchestrator/discover.d.ts.map +1 -1
- package/lib/orchestrator/discover.js +7 -1
- package/lib/orchestrator/discover.js.map +1 -1
- package/lib/orchestrator/doctor.d.ts +1 -0
- package/lib/orchestrator/doctor.d.ts.map +1 -1
- package/lib/orchestrator/doctor.js +163 -78
- package/lib/orchestrator/doctor.js.map +1 -1
- package/lib/orchestrator/driver-capabilities.d.ts +4 -0
- package/lib/orchestrator/driver-capabilities.d.ts.map +1 -0
- package/lib/orchestrator/driver-capabilities.js +13 -0
- package/lib/orchestrator/driver-capabilities.js.map +1 -0
- package/lib/orchestrator/driver-identity.d.ts +5 -0
- package/lib/orchestrator/driver-identity.d.ts.map +1 -0
- package/lib/orchestrator/driver-identity.js +51 -0
- package/lib/orchestrator/driver-identity.js.map +1 -0
- package/lib/orchestrator/experiment-context.d.ts +52 -4
- package/lib/orchestrator/experiment-context.d.ts.map +1 -1
- package/lib/orchestrator/experiment-context.js +2 -1
- package/lib/orchestrator/experiment-context.js.map +1 -1
- package/lib/orchestrator/experiment-contracts.d.ts +31 -1
- package/lib/orchestrator/experiment-contracts.d.ts.map +1 -1
- package/lib/orchestrator/experiment-corpus.d.ts +2 -1
- package/lib/orchestrator/experiment-corpus.d.ts.map +1 -1
- package/lib/orchestrator/experiment-corpus.js +32 -24
- package/lib/orchestrator/experiment-corpus.js.map +1 -1
- package/lib/orchestrator/experiment-effects.d.ts +33 -0
- package/lib/orchestrator/experiment-effects.d.ts.map +1 -0
- package/lib/orchestrator/experiment-effects.js +46 -0
- package/lib/orchestrator/experiment-effects.js.map +1 -0
- package/lib/orchestrator/experiment-evaluation.d.ts.map +1 -1
- package/lib/orchestrator/experiment-evaluation.js +70 -5
- package/lib/orchestrator/experiment-evaluation.js.map +1 -1
- package/lib/orchestrator/experiment-identity.d.ts +3 -0
- package/lib/orchestrator/experiment-identity.d.ts.map +1 -1
- package/lib/orchestrator/experiment-identity.js +50 -42
- package/lib/orchestrator/experiment-identity.js.map +1 -1
- package/lib/orchestrator/experiment-loader.d.ts +8 -3
- package/lib/orchestrator/experiment-loader.d.ts.map +1 -1
- package/lib/orchestrator/experiment-preflight.d.ts +3 -0
- package/lib/orchestrator/experiment-preflight.d.ts.map +1 -0
- package/lib/orchestrator/experiment-preflight.js +21 -0
- package/lib/orchestrator/experiment-preflight.js.map +1 -0
- package/lib/orchestrator/experiment-report.d.ts +91 -1
- package/lib/orchestrator/experiment-report.d.ts.map +1 -1
- package/lib/orchestrator/experiment-report.js +9 -1
- package/lib/orchestrator/experiment-report.js.map +1 -1
- package/lib/orchestrator/experiment-runs.d.ts +63 -2
- package/lib/orchestrator/experiment-runs.d.ts.map +1 -1
- package/lib/orchestrator/experiment-runs.js +13 -5
- package/lib/orchestrator/experiment-runs.js.map +1 -1
- package/lib/orchestrator/experiment-runtime-identity.d.ts +0 -16
- package/lib/orchestrator/experiment-runtime-identity.d.ts.map +1 -1
- package/lib/orchestrator/experiment-runtime-identity.js +5 -220
- package/lib/orchestrator/experiment-runtime-identity.js.map +1 -1
- package/lib/orchestrator/experiment-selection.d.ts.map +1 -1
- package/lib/orchestrator/experiment-selection.js +151 -43
- package/lib/orchestrator/experiment-selection.js.map +1 -1
- package/lib/orchestrator/experiment.d.ts +3 -3
- package/lib/orchestrator/experiment.d.ts.map +1 -1
- package/lib/orchestrator/experiment.js +26 -21
- package/lib/orchestrator/experiment.js.map +1 -1
- package/lib/orchestrator/fixture-identity.d.ts +1 -0
- package/lib/orchestrator/fixture-identity.d.ts.map +1 -1
- package/lib/orchestrator/fixture-identity.js +6 -1
- package/lib/orchestrator/fixture-identity.js.map +1 -1
- package/lib/orchestrator/fs-read.d.ts +1 -6
- package/lib/orchestrator/fs-read.d.ts.map +1 -1
- package/lib/orchestrator/fs-read.js +2 -32
- package/lib/orchestrator/fs-read.js.map +1 -1
- package/lib/orchestrator/grader-experiment.d.ts +23 -5
- package/lib/orchestrator/grader-experiment.d.ts.map +1 -1
- package/lib/orchestrator/grader-experiment.js +54 -9
- package/lib/orchestrator/grader-experiment.js.map +1 -1
- package/lib/orchestrator/grading.d.ts +1 -0
- package/lib/orchestrator/grading.d.ts.map +1 -1
- package/lib/orchestrator/grading.js +41 -33
- package/lib/orchestrator/grading.js.map +1 -1
- package/lib/orchestrator/harness-catalog-drift.d.ts +22 -0
- package/lib/orchestrator/harness-catalog-drift.d.ts.map +1 -0
- package/lib/orchestrator/harness-catalog-drift.js +90 -0
- package/lib/orchestrator/harness-catalog-drift.js.map +1 -0
- package/lib/orchestrator/harness-registry.d.ts +4 -0
- package/lib/orchestrator/harness-registry.d.ts.map +1 -0
- package/lib/orchestrator/harness-registry.js +5 -0
- package/lib/orchestrator/harness-registry.js.map +1 -0
- package/lib/orchestrator/index.d.ts +1 -1
- package/lib/orchestrator/index.d.ts.map +1 -1
- package/lib/orchestrator/index.js +1 -1
- package/lib/orchestrator/index.js.map +1 -1
- package/lib/orchestrator/list-runs.d.ts +8 -1
- package/lib/orchestrator/list-runs.d.ts.map +1 -1
- package/lib/orchestrator/list-runs.js +83 -18
- package/lib/orchestrator/list-runs.js.map +1 -1
- package/lib/orchestrator/optimization-lifecycle.d.ts.map +1 -1
- package/lib/orchestrator/optimization-lifecycle.js +3 -1
- package/lib/orchestrator/optimization-lifecycle.js.map +1 -1
- package/lib/orchestrator/orchestrator.d.ts +17 -2
- package/lib/orchestrator/orchestrator.d.ts.map +1 -1
- package/lib/orchestrator/orchestrator.js +59 -179
- package/lib/orchestrator/orchestrator.js.map +1 -1
- package/lib/orchestrator/paired-effects.d.ts +34 -0
- package/lib/orchestrator/paired-effects.d.ts.map +1 -0
- package/lib/orchestrator/paired-effects.js +164 -0
- package/lib/orchestrator/paired-effects.js.map +1 -0
- package/lib/orchestrator/profile.d.ts +4 -0
- package/lib/orchestrator/profile.d.ts.map +1 -0
- package/lib/orchestrator/profile.js +10 -0
- package/lib/orchestrator/profile.js.map +1 -0
- package/lib/orchestrator/provenance.d.ts +5 -1
- package/lib/orchestrator/provenance.d.ts.map +1 -1
- package/lib/orchestrator/provenance.js +16 -3
- package/lib/orchestrator/provenance.js.map +1 -1
- package/lib/orchestrator/regrade.d.ts +4 -2
- package/lib/orchestrator/regrade.d.ts.map +1 -1
- package/lib/orchestrator/regrade.js +5 -1
- package/lib/orchestrator/regrade.js.map +1 -1
- package/lib/orchestrator/rubric-loader.js +1 -1
- package/lib/orchestrator/rubric-loader.js.map +1 -1
- package/lib/orchestrator/run-dir.d.ts +2 -0
- package/lib/orchestrator/run-dir.d.ts.map +1 -1
- package/lib/orchestrator/run-dir.js +1 -1
- package/lib/orchestrator/run-dir.js.map +1 -1
- package/lib/orchestrator/run-execution.d.ts +3 -0
- package/lib/orchestrator/run-execution.d.ts.map +1 -1
- package/lib/orchestrator/run-execution.js +64 -10
- package/lib/orchestrator/run-execution.js.map +1 -1
- package/lib/orchestrator/run-lifecycle.d.ts +1 -0
- package/lib/orchestrator/run-lifecycle.d.ts.map +1 -1
- package/lib/orchestrator/run-lifecycle.js +3 -2
- package/lib/orchestrator/run-lifecycle.js.map +1 -1
- package/lib/orchestrator/run-workspace.d.ts +10 -0
- package/lib/orchestrator/run-workspace.d.ts.map +1 -0
- package/lib/orchestrator/run-workspace.js +58 -0
- package/lib/orchestrator/run-workspace.js.map +1 -0
- package/lib/orchestrator/suite-compare.d.ts +37 -0
- package/lib/orchestrator/suite-compare.d.ts.map +1 -1
- package/lib/orchestrator/suite-compare.js +44 -22
- package/lib/orchestrator/suite-compare.js.map +1 -1
- package/lib/orchestrator/suite-runs.d.ts +6 -1
- package/lib/orchestrator/suite-runs.d.ts.map +1 -1
- package/lib/orchestrator/suite-runs.js +14 -2
- package/lib/orchestrator/suite-runs.js.map +1 -1
- package/lib/orchestrator/suite-summary.d.ts +79 -0
- package/lib/orchestrator/suite-summary.d.ts.map +1 -1
- package/lib/orchestrator/suite-summary.js +67 -14
- package/lib/orchestrator/suite-summary.js.map +1 -1
- package/lib/previewer/artifacts.d.ts +25 -0
- package/lib/previewer/artifacts.d.ts.map +1 -0
- package/lib/previewer/artifacts.js +180 -0
- package/lib/previewer/artifacts.js.map +1 -0
- package/lib/previewer/server.d.ts +111 -0
- package/lib/previewer/server.d.ts.map +1 -0
- package/lib/previewer/server.js +559 -0
- package/lib/previewer/server.js.map +1 -0
- package/package.json +4 -2
- package/skills/lux-answerer/SKILL.md +2 -2
- package/src/answerers/claude-code/index.ts +6 -5
- package/src/answerers/persona/index.ts +80 -34
- package/src/answerers/terminal/index.ts +7 -11
- package/src/assertions/authoring.ts +2 -0
- package/src/assertions/core/command-exits-zero.ts +82 -17
- package/src/assertions/core/event-checks.ts +64 -3
- package/src/assertions/core/index.ts +2 -0
- package/src/assertions/core/resource-checks.ts +38 -5
- package/src/assertions/core/safe-regex.ts +16 -6
- package/src/assertions/rubric/evidence.ts +85 -0
- package/src/assertions/rubric/index.ts +76 -46
- package/src/assertions/rubric/internal.ts +264 -46
- package/src/authoring.ts +346 -2
- package/src/cli/bin.ts +2 -12
- package/src/cli/command-runtime.ts +20 -9
- package/src/cli/doctor.ts +17 -0
- package/src/cli/harness-plan.ts +123 -0
- package/src/cli/init-templates.ts +176 -0
- package/src/cli/init.ts +53 -184
- package/src/cli/output-schemas.ts +109 -0
- package/src/cli/program.ts +697 -730
- package/src/cli/render/format.ts +1 -1
- package/src/cli/render/reporter.ts +36 -8
- package/src/cli/run-options.ts +131 -25
- package/src/cli/view.ts +129 -0
- package/src/container/driver.ts +213 -0
- package/src/container/paths.ts +29 -0
- package/src/container/protocol.ts +48 -0
- package/src/container/resources.ts +165 -0
- package/src/container/worker.ts +107 -0
- package/src/core/action-events.ts +59 -0
- package/src/core/agent-activity.ts +236 -0
- package/src/core/agent-environment.ts +64 -0
- package/src/core/agent-events.ts +17 -0
- package/src/core/annotation.ts +2 -1
- package/src/core/answerer.ts +9 -0
- package/src/core/artifact-evidence.ts +40 -5
- package/src/core/assertion.ts +8 -2
- package/src/core/case-defaults.ts +65 -0
- package/src/core/case.ts +79 -8
- package/src/core/command-verification.ts +74 -0
- package/src/core/driver-execution.ts +84 -0
- package/src/core/driver-metrics.ts +51 -0
- package/src/core/driver.ts +76 -0
- package/src/core/duration.ts +52 -0
- package/src/core/environment.ts +22 -0
- package/src/core/evaluation-clusters.ts +35 -0
- package/src/core/events.ts +13 -2
- package/src/core/experiment.ts +71 -25
- package/src/core/file-tree.ts +35 -0
- package/src/core/global-id.ts +26 -0
- package/src/core/harness-catalog.ts +100 -0
- package/src/core/harness-catalogs/antigravity.ts +24 -0
- package/src/core/harness-catalogs/claude-code.ts +25 -0
- package/src/core/harness-catalogs/codex.ts +27 -0
- package/src/core/harness-catalogs/copilot.ts +46 -0
- package/src/core/harness-catalogs/cursor.ts +13 -0
- package/src/core/harness-catalogs/grok-build.ts +19 -0
- package/src/core/harness-catalogs/index.ts +31 -0
- package/src/core/harness-matrix.ts +316 -0
- package/src/core/index.ts +12 -0
- package/src/core/lifecycle-fixtures.ts +4 -2
- package/src/core/model-cli.ts +78 -28
- package/src/core/platform-process.ts +65 -16
- package/src/core/reference-defaults.ts +47 -0
- package/src/core/run.ts +31 -0
- package/src/core/usage.ts +8 -0
- package/src/drivers/antigravity/README.md +171 -0
- package/src/drivers/antigravity/artifacts.ts +37 -0
- package/src/drivers/antigravity/config.ts +92 -0
- package/src/drivers/antigravity/events.ts +290 -0
- package/src/drivers/antigravity/index.ts +132 -0
- package/src/drivers/antigravity/runtime.ts +94 -0
- package/src/drivers/claude-code/deferred-process.ts +118 -0
- package/src/drivers/claude-code/index.ts +228 -282
- package/src/drivers/claude-code/isolation.ts +228 -0
- package/src/drivers/claude-code/parse-events.ts +98 -12
- package/src/drivers/codex/app-events.ts +126 -16
- package/src/drivers/codex/config.ts +59 -8
- package/src/drivers/codex/exec-events.ts +258 -0
- package/src/drivers/codex/index.ts +146 -312
- package/src/drivers/copilot/README.md +60 -0
- package/src/drivers/copilot/config.ts +61 -0
- package/src/drivers/copilot/index.ts +310 -0
- package/src/drivers/cursor/README.md +66 -0
- package/src/drivers/cursor/config.ts +31 -0
- package/src/drivers/cursor/index.ts +326 -0
- package/src/drivers/cursor/interaction.ts +74 -0
- package/src/drivers/grok-build/README.md +112 -0
- package/src/drivers/grok-build/config.ts +43 -0
- package/src/drivers/grok-build/index.ts +331 -0
- package/src/drivers/mcp/index.ts +25 -11
- package/src/drivers/shared/acp-events.ts +94 -0
- package/src/drivers/shared/acp-interaction.ts +27 -0
- package/src/drivers/shared/acp-session.ts +40 -0
- package/src/drivers/shared/acp-transport.ts +187 -0
- package/src/drivers/shared/artifacts.ts +6 -2
- package/src/drivers/shared/experiment-behavior.ts +217 -0
- package/src/drivers/shared/experiment-policy.ts +201 -0
- package/src/drivers/shared/skills.ts +74 -0
- package/src/drivers/subprocess/index.ts +55 -12
- package/src/index.ts +117 -6
- package/src/optimization/reflective.ts +3 -2
- package/src/orchestrator/annotation-loader.ts +10 -0
- package/src/orchestrator/annotation-store.ts +24 -3
- package/src/orchestrator/artifact-origin.ts +50 -0
- package/src/orchestrator/campaign-lifecycle.ts +5 -1
- package/src/orchestrator/candidates.ts +3 -2
- package/src/orchestrator/compare.ts +62 -13
- package/src/orchestrator/comparison-identity.ts +2 -0
- package/src/orchestrator/config.ts +23 -1
- package/src/orchestrator/discover.ts +8 -1
- package/src/orchestrator/doctor.ts +281 -74
- package/src/orchestrator/driver-capabilities.ts +21 -0
- package/src/orchestrator/driver-identity.ts +69 -0
- package/src/orchestrator/experiment-context.ts +5 -3
- package/src/orchestrator/experiment-corpus.ts +68 -39
- package/src/orchestrator/experiment-effects.ts +63 -0
- package/src/orchestrator/experiment-evaluation.ts +88 -10
- package/src/orchestrator/experiment-identity.ts +98 -61
- package/src/orchestrator/experiment-preflight.ts +27 -0
- package/src/orchestrator/experiment-report.ts +21 -1
- package/src/orchestrator/experiment-runs.ts +11 -4
- package/src/orchestrator/experiment-runtime-identity.ts +5 -243
- package/src/orchestrator/experiment-selection.ts +178 -18
- package/src/orchestrator/experiment.ts +29 -29
- package/src/orchestrator/fixture-identity.ts +9 -1
- package/src/orchestrator/fs-read.ts +2 -32
- package/src/orchestrator/grader-experiment.ts +74 -13
- package/src/orchestrator/grading.ts +60 -31
- package/src/orchestrator/harness-catalog-drift.ts +132 -0
- package/src/orchestrator/harness-registry.ts +12 -0
- package/src/orchestrator/index.ts +1 -0
- package/src/orchestrator/list-runs.ts +102 -18
- package/src/orchestrator/optimization-lifecycle.ts +4 -1
- package/src/orchestrator/orchestrator.ts +104 -226
- package/src/orchestrator/paired-effects.ts +214 -0
- package/src/orchestrator/profile.ts +24 -0
- package/src/orchestrator/provenance.ts +23 -3
- package/src/orchestrator/regrade.ts +5 -1
- package/src/orchestrator/rubric-loader.ts +1 -1
- package/src/orchestrator/run-dir.ts +8 -1
- package/src/orchestrator/run-execution.ts +75 -10
- package/src/orchestrator/run-lifecycle.ts +4 -2
- package/src/orchestrator/run-workspace.ts +62 -0
- package/src/orchestrator/suite-compare.ts +47 -23
- package/src/orchestrator/suite-runs.ts +13 -2
- package/src/orchestrator/suite-summary.ts +129 -15
- package/src/previewer/artifacts.ts +221 -0
- package/src/previewer/server.ts +789 -0
- package/viewer/app.css +2111 -0
- package/viewer/app.js +627 -0
- package/viewer/artifact-view.js +48 -0
- package/viewer/charts.js +98 -0
- package/viewer/detail.js +1266 -0
- package/viewer/format.js +129 -0
- package/viewer/index.html +151 -0
- package/lib/cli/skills.d.ts +0 -38
- package/lib/cli/skills.d.ts.map +0 -1
- package/lib/cli/skills.js +0 -84
- package/lib/cli/skills.js.map +0 -1
- package/lib/drivers/shared/secure-copy.d.ts.map +0 -1
- package/lib/drivers/shared/secure-copy.js.map +0 -1
- package/skills/lux/SKILL.md +0 -89
- package/skills/lux/references/cli.md +0 -125
- package/skills/lux/references/eval-authoring.md +0 -257
- package/src/cli/skills.ts +0 -129
- /package/lib/{drivers/shared → core}/secure-copy.d.ts +0 -0
- /package/lib/{drivers/shared → core}/secure-copy.js +0 -0
- /package/src/{drivers/shared → core}/secure-copy.ts +0 -0
|
@@ -4,13 +4,22 @@ import { resolve } from "node:path";
|
|
|
4
4
|
import { glob } from "tinyglobby";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
import { RubricConfigSchema } from "../assertions/rubric/index.js";
|
|
7
|
+
import { driverExecutionOf } from "../core/driver-execution.js";
|
|
8
|
+
import { casePermutations, expandHarnessMatrix, permutationDriverRef, permutationId, } from "../core/index.js";
|
|
9
|
+
import { resolveHarnessForDriver } from "../core/model-cli.js";
|
|
10
|
+
import { mergeDriverReference, withDriverDefaults } from "../core/reference-defaults.js";
|
|
7
11
|
import { registryForEvalCase } from "./case-extensions.js";
|
|
8
12
|
import { buildRegistryFromConfig, loadLuxConfig } from "./config.js";
|
|
9
13
|
import { discoverCases } from "./discover.js";
|
|
10
|
-
import {
|
|
14
|
+
import { validateDriverCapabilities } from "./driver-capabilities.js";
|
|
15
|
+
import { ExperimentCampaignPlanSchema, planExperimentCampaign } from "./experiment.js";
|
|
11
16
|
import { experimentCampaignMode, loadExperimentCampaign, resolveExperimentCampaignPath, } from "./experiment-loader.js";
|
|
17
|
+
import { cliIdentity } from "./experiment-runtime-identity.js";
|
|
12
18
|
import { assertionConfigForSchema } from "./grading.js";
|
|
19
|
+
import { describeHarnessCatalogDrift, harnessCatalogDrift, harnessCatalogProbes, hasHarnessCatalogDrift, } from "./harness-catalog-drift.js";
|
|
13
20
|
import { loadEvalCase } from "./loader.js";
|
|
21
|
+
import { resolveAnswererReference } from "./orchestrator.js";
|
|
22
|
+
import { resolveProfile } from "./profile.js";
|
|
14
23
|
import { validatePluginConfig, validatePluginConfigAsync } from "./validate-plugin-config.js";
|
|
15
24
|
export const DoctorDiagnosticSchema = z
|
|
16
25
|
.object({
|
|
@@ -48,6 +57,7 @@ export const DoctorOptionsSchema = z
|
|
|
48
57
|
.object({
|
|
49
58
|
cwd: z.string().min(1),
|
|
50
59
|
campaigns: z.array(z.string()).optional(),
|
|
60
|
+
static: z.boolean().optional(),
|
|
51
61
|
})
|
|
52
62
|
.strict();
|
|
53
63
|
class DoctorRecorder {
|
|
@@ -78,57 +88,43 @@ const refConfig = (reference) => reference &&
|
|
|
78
88
|
const rawRefConfig = (reference) => reference && typeof reference === "object"
|
|
79
89
|
? reference.config
|
|
80
90
|
: undefined;
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
typeof local !== "object" ||
|
|
87
|
-
Array.isArray(local)) {
|
|
88
|
-
return local ?? base;
|
|
89
|
-
}
|
|
90
|
-
const merged = { ...base };
|
|
91
|
-
for (const [key, value] of Object.entries(local)) {
|
|
92
|
-
merged[key] = key in merged ? mergeRecords(merged[key], value) : value;
|
|
93
|
-
}
|
|
94
|
-
return merged;
|
|
95
|
-
};
|
|
96
|
-
const effectiveDriverReference = (local, fallback) => {
|
|
97
|
-
if (!local)
|
|
98
|
-
return fallback;
|
|
99
|
-
if (!fallback || refName(local) !== refName(fallback))
|
|
100
|
-
return local;
|
|
101
|
-
return {
|
|
102
|
-
name: refName(local),
|
|
103
|
-
config: mergeRecords(rawRefConfig(fallback), rawRefConfig(local)),
|
|
104
|
-
};
|
|
91
|
+
const boundPermutation = (permutation, config, registry) => {
|
|
92
|
+
const plugin = registry.getDriver(permutation.driver);
|
|
93
|
+
if (!plugin)
|
|
94
|
+
throw new Error(`unknown driver '${permutation.driver}'`);
|
|
95
|
+
return withDriverDefaults(permutationDriverRef(permutation, config.defaultDriver, plugin), config.driverDefaults);
|
|
105
96
|
};
|
|
106
|
-
const caseDriverReferences = (
|
|
97
|
+
const caseDriverReferences = (authored, config, registry) => {
|
|
98
|
+
const local = authored.driver;
|
|
99
|
+
const permutations = casePermutations(authored, config.matrix);
|
|
100
|
+
if (permutations.length > 0) {
|
|
101
|
+
return permutations.map((permutation) => mergeDriverReference(boundPermutation(permutation, config, registry), local));
|
|
102
|
+
}
|
|
107
103
|
const fallbacks = [
|
|
108
|
-
config.
|
|
109
|
-
...Object.values(config.profiles ?? {}).map((profile) => profile.driver),
|
|
104
|
+
resolveProfile(config).driver,
|
|
105
|
+
...Object.values(config.profiles ?? {}).map((profile) => resolveProfile(config, profile).driver),
|
|
110
106
|
].filter((reference) => reference !== undefined);
|
|
111
107
|
if (!local)
|
|
112
108
|
return [...new Set(fallbacks)];
|
|
113
109
|
if (fallbacks.length === 0)
|
|
114
|
-
return [local];
|
|
115
|
-
const references = fallbacks.map((fallback) =>
|
|
110
|
+
return [withDriverDefaults(local, config.driverDefaults)];
|
|
111
|
+
const references = fallbacks.map((fallback) => withDriverDefaults(mergeDriverReference(fallback, local), config.driverDefaults));
|
|
116
112
|
return [
|
|
117
113
|
...new Map(references.map((reference) => [JSON.stringify(reference), reference])).values(),
|
|
118
114
|
];
|
|
119
115
|
};
|
|
120
|
-
const
|
|
116
|
+
const driverCommands = (reference, registry) => {
|
|
121
117
|
const name = refName(reference);
|
|
122
|
-
const
|
|
123
|
-
if (
|
|
124
|
-
return
|
|
118
|
+
const plugin = name ? registry.getDriver(name) : undefined;
|
|
119
|
+
if (!plugin?.runtime)
|
|
120
|
+
return [];
|
|
121
|
+
try {
|
|
122
|
+
const config = validatePluginConfig(plugin.configSchema, rawRefConfig(reference), `driver '${name}'`);
|
|
123
|
+
return plugin.runtime(config).commands;
|
|
125
124
|
}
|
|
126
|
-
|
|
127
|
-
return
|
|
128
|
-
if (name === "subprocess") {
|
|
129
|
-
return typeof config.command === "string" ? config.command : undefined;
|
|
125
|
+
catch {
|
|
126
|
+
return [];
|
|
130
127
|
}
|
|
131
|
-
return undefined;
|
|
132
128
|
};
|
|
133
129
|
const answererCommand = (reference) => {
|
|
134
130
|
const name = refName(reference);
|
|
@@ -139,12 +135,8 @@ const answererCommand = (reference) => {
|
|
|
139
135
|
return config.command;
|
|
140
136
|
return config.provider === "codex" ? "codex" : "claude";
|
|
141
137
|
};
|
|
142
|
-
const rubricCommands = (assertion,
|
|
138
|
+
const rubricCommands = (assertion, harnesses) => {
|
|
143
139
|
const rubric = RubricConfigSchema.parse(assertion);
|
|
144
|
-
const harnesses = [
|
|
145
|
-
config.harness,
|
|
146
|
-
...Object.values(config.profiles ?? {}).map((profile) => profile.harness ?? config.harness),
|
|
147
|
-
];
|
|
148
140
|
const commands = harnesses.map((harness) => {
|
|
149
141
|
const provider = rubric.provider ?? harness?.provider ?? "claude-code";
|
|
150
142
|
const inheritsHarness = rubric.provider === undefined || rubric.provider === harness?.provider;
|
|
@@ -156,21 +148,37 @@ const rubricCommands = (assertion, config) => {
|
|
|
156
148
|
});
|
|
157
149
|
return [...new Set(commands)];
|
|
158
150
|
};
|
|
159
|
-
const configuredCliTargets = (config) => {
|
|
151
|
+
const configuredCliTargets = (config, registry) => {
|
|
160
152
|
const targets = [];
|
|
161
153
|
const add = (label, command) => {
|
|
162
154
|
if (command)
|
|
163
155
|
targets.push({ label, command });
|
|
164
156
|
};
|
|
165
|
-
|
|
166
|
-
|
|
157
|
+
for (const command of driverCommands(resolveProfile(config).driver, registry))
|
|
158
|
+
add("default driver", command);
|
|
159
|
+
for (const permutation of expandHarnessMatrix(config.matrix ?? [])) {
|
|
160
|
+
try {
|
|
161
|
+
for (const command of driverCommands(boundPermutation(permutation, config, registry), registry))
|
|
162
|
+
add(`matrix '${permutationId(permutation)}' driver`, command);
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
/* Reported by validateConfiguredMatrix. */
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
const base = resolveProfile(config);
|
|
169
|
+
if (base.driver || base.harness) {
|
|
170
|
+
add("default answerer", answererCommand(resolveAnswererReference({ prompt: "" }, base.answerer ?? config.defaultAnswerer, resolveHarnessForDriver(base.harness, base.driver))));
|
|
171
|
+
}
|
|
167
172
|
if (config.harness) {
|
|
168
173
|
add("default harness", config.harness.command ?? (config.harness.provider === "codex" ? "codex" : "claude"));
|
|
169
174
|
}
|
|
170
175
|
for (const [id, profile] of Object.entries(config.profiles ?? {}).sort(([a], [b]) => a.localeCompare(b))) {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
176
|
+
for (const command of driverCommands(resolveProfile(config, profile).driver, registry)) {
|
|
177
|
+
add(`profile '${id}' driver`, command);
|
|
178
|
+
}
|
|
179
|
+
const resolved = resolveProfile(config, profile);
|
|
180
|
+
add(`profile '${id}' answerer`, answererCommand(resolveAnswererReference({ prompt: "" }, resolved.answerer ?? config.defaultAnswerer, resolveHarnessForDriver(resolved.harness, resolved.driver))));
|
|
181
|
+
const harness = resolveProfile(config, profile).harness;
|
|
174
182
|
if (harness) {
|
|
175
183
|
add(`profile '${id}' harness`, harness.command ?? (harness.provider === "codex" ? "codex" : "claude"));
|
|
176
184
|
}
|
|
@@ -235,12 +243,12 @@ const loadDoctorRegistry = (config, recorder) => {
|
|
|
235
243
|
}
|
|
236
244
|
};
|
|
237
245
|
const configuredDriverReferences = (config) => [
|
|
238
|
-
["default", config.
|
|
239
|
-
...Object.entries(config.profiles ?? {}).map(([id, profile]) => [`profile '${id}'`, profile.driver]),
|
|
246
|
+
["default", resolveProfile(config).driver],
|
|
247
|
+
...Object.entries(config.profiles ?? {}).map(([id, profile]) => [`profile '${id}'`, resolveProfile(config, profile).driver]),
|
|
240
248
|
];
|
|
241
249
|
const configuredAnswererReferences = (config) => [
|
|
242
|
-
["default", config.
|
|
243
|
-
...Object.entries(config.profiles ?? {}).map(([id, profile]) => [`profile '${id}'`, profile.answerer]),
|
|
250
|
+
["default", resolveProfile(config).answerer],
|
|
251
|
+
...Object.entries(config.profiles ?? {}).map(([id, profile]) => [`profile '${id}'`, resolveProfile(config, profile).answerer]),
|
|
244
252
|
];
|
|
245
253
|
const validateConfiguredDrivers = (config, registry, recorder) => {
|
|
246
254
|
for (const [scope, reference] of configuredDriverReferences(config)) {
|
|
@@ -260,6 +268,19 @@ const validateConfiguredDrivers = (config, registry, recorder) => {
|
|
|
260
268
|
}
|
|
261
269
|
}
|
|
262
270
|
};
|
|
271
|
+
const validateConfiguredMatrix = (config, registry, recorder) => {
|
|
272
|
+
for (const permutation of expandHarnessMatrix(config.matrix ?? [])) {
|
|
273
|
+
const id = permutationId(permutation);
|
|
274
|
+
try {
|
|
275
|
+
const reference = boundPermutation(permutation, config, registry);
|
|
276
|
+
const plugin = registry.getDriver(permutation.driver);
|
|
277
|
+
validatePluginConfig(plugin?.configSchema, rawRefConfig(reference), `matrix '${id}' driver '${permutation.driver}'`);
|
|
278
|
+
}
|
|
279
|
+
catch (error) {
|
|
280
|
+
recorder.add(`matrix:${id}`, "fail", `matrix permutation '${id}' is not runnable`, firstLine(error));
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
};
|
|
263
284
|
const validateConfiguredAnswerers = (config, registry, recorder) => {
|
|
264
285
|
for (const [scope, reference] of configuredAnswererReferences(config)) {
|
|
265
286
|
const name = refName(reference);
|
|
@@ -299,7 +320,7 @@ const recordCaseDiscovery = (discovery, recorder) => {
|
|
|
299
320
|
recorder.add("case-ids", "fail", "case IDs must be unique", duplicates.join(", "));
|
|
300
321
|
}
|
|
301
322
|
};
|
|
302
|
-
const caseDriverFailure = (caseId, reference, registry) => {
|
|
323
|
+
const caseDriverFailure = (caseId, reference, registry, required) => {
|
|
303
324
|
const name = refName(reference);
|
|
304
325
|
if (!name)
|
|
305
326
|
return "driver reference has no name";
|
|
@@ -307,20 +328,21 @@ const caseDriverFailure = (caseId, reference, registry) => {
|
|
|
307
328
|
if (!plugin)
|
|
308
329
|
return `unknown driver '${name}'`;
|
|
309
330
|
try {
|
|
310
|
-
validatePluginConfig(plugin.configSchema, rawRefConfig(reference), `case '${caseId}' driver '${name}'`);
|
|
331
|
+
const config = validatePluginConfig(plugin.configSchema, rawRefConfig(reference), `case '${caseId}' driver '${name}'`);
|
|
332
|
+
validateDriverCapabilities(plugin, config, required, driverExecutionOf(reference));
|
|
311
333
|
return null;
|
|
312
334
|
}
|
|
313
335
|
catch (error) {
|
|
314
336
|
return firstLine(error);
|
|
315
337
|
}
|
|
316
338
|
};
|
|
317
|
-
const validateCaseDrivers = (caseId, drivers, registry, recorder) => {
|
|
339
|
+
const validateCaseDrivers = (caseId, drivers, registry, recorder, required) => {
|
|
318
340
|
if (drivers.length === 0) {
|
|
319
341
|
recorder.add(`case-driver:${caseId}`, "fail", `case '${caseId}' names no driver and no configured profile supplies one`);
|
|
320
342
|
return;
|
|
321
343
|
}
|
|
322
344
|
const failures = drivers
|
|
323
|
-
.map((driver) => caseDriverFailure(caseId, driver, registry))
|
|
345
|
+
.map((driver) => caseDriverFailure(caseId, driver, registry, required))
|
|
324
346
|
.filter((failure) => failure !== null);
|
|
325
347
|
if (failures.length === drivers.length) {
|
|
326
348
|
recorder.add(`case-driver-config:${caseId}`, "fail", `case '${caseId}' has no valid effective driver configuration`, failures.join("; "));
|
|
@@ -342,7 +364,7 @@ const validateCaseAnswerer = (caseId, answerer, registry, recorder) => {
|
|
|
342
364
|
recorder.add(`case-answerer-config:${caseId}`, "fail", `case '${caseId}' has invalid answerer configuration`, firstLine(error));
|
|
343
365
|
}
|
|
344
366
|
};
|
|
345
|
-
const validateCaseAssertions = async (caseId, authored,
|
|
367
|
+
const validateCaseAssertions = async (caseId, authored, harnesses, registry, recorder) => {
|
|
346
368
|
const targets = [];
|
|
347
369
|
for (const assertion of authored.assertions ?? []) {
|
|
348
370
|
const implementation = registry.getAssertion(assertion.type);
|
|
@@ -359,34 +381,55 @@ const validateCaseAssertions = async (caseId, authored, config, registry, record
|
|
|
359
381
|
recorder.add(`case-assertion-config:${caseId}:${assertion.type}`, "fail", `case '${caseId}' has invalid assertion configuration`, firstLine(error));
|
|
360
382
|
}
|
|
361
383
|
if (assertion.type === "rubric") {
|
|
362
|
-
for (const command of rubricCommands(assertion,
|
|
384
|
+
for (const command of rubricCommands(assertion, harnesses)) {
|
|
363
385
|
targets.push({ label: `case '${caseId}' rubric judge`, command });
|
|
364
386
|
}
|
|
365
387
|
}
|
|
366
388
|
}
|
|
367
389
|
return targets;
|
|
368
390
|
};
|
|
369
|
-
const executionTargetsForCase = (caseId, drivers, answerer) => {
|
|
391
|
+
const executionTargetsForCase = (caseId, drivers, answerer, registry) => {
|
|
370
392
|
const targets = drivers.flatMap((driver) => {
|
|
371
|
-
|
|
372
|
-
|
|
393
|
+
return driverCommands(driver, registry).map((command) => ({
|
|
394
|
+
label: `case '${caseId}' driver`,
|
|
395
|
+
command,
|
|
396
|
+
}));
|
|
373
397
|
});
|
|
374
|
-
const
|
|
375
|
-
if (
|
|
376
|
-
targets.push({ label: `case '${caseId}' answerer`, command });
|
|
398
|
+
const answererCli = answererCommand(answerer);
|
|
399
|
+
if (answererCli)
|
|
400
|
+
targets.push({ label: `case '${caseId}' answerer`, command: answererCli });
|
|
377
401
|
return targets;
|
|
378
402
|
};
|
|
379
403
|
const inspectCase = async (discovered, config, registry, recorder) => {
|
|
380
404
|
try {
|
|
381
405
|
const authored = await loadEvalCase(discovered.path);
|
|
382
406
|
const caseRegistry = registryForEvalCase(registry, authored);
|
|
383
|
-
const
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
407
|
+
const profiles = [
|
|
408
|
+
resolveProfile(config),
|
|
409
|
+
...Object.values(config.profiles ?? {}).map((profile) => resolveProfile(config, profile)),
|
|
410
|
+
];
|
|
411
|
+
const contexts = profiles.flatMap((profile, index) => {
|
|
412
|
+
const drivers = caseDriverReferences(authored, {
|
|
413
|
+
...config,
|
|
414
|
+
profiles: {},
|
|
415
|
+
defaultDriver: profile.driver,
|
|
416
|
+
...(index > 0 ? { matrix: undefined } : {}),
|
|
417
|
+
}, caseRegistry);
|
|
418
|
+
return drivers.map((driver) => {
|
|
419
|
+
const harness = resolveHarnessForDriver(profile.harness, refName(driver));
|
|
420
|
+
return {
|
|
421
|
+
driver,
|
|
422
|
+
harness,
|
|
423
|
+
answerer: resolveAnswererReference(authored, profile.answerer ?? config.defaultAnswerer, harness),
|
|
424
|
+
};
|
|
425
|
+
});
|
|
426
|
+
});
|
|
427
|
+
validateCaseDrivers(discovered.id, contexts.map(({ driver }) => driver), caseRegistry, recorder, authored.requires);
|
|
428
|
+
for (const { answerer } of contexts)
|
|
429
|
+
validateCaseAnswerer(discovered.id, answerer, caseRegistry, recorder);
|
|
387
430
|
return [
|
|
388
|
-
...(await validateCaseAssertions(discovered.id, authored,
|
|
389
|
-
...executionTargetsForCase(discovered.id,
|
|
431
|
+
...(await validateCaseAssertions(discovered.id, authored, contexts.map(({ harness }) => harness), caseRegistry, recorder)),
|
|
432
|
+
...contexts.flatMap(({ driver, answerer }) => executionTargetsForCase(discovered.id, [driver], answerer, caseRegistry)),
|
|
390
433
|
];
|
|
391
434
|
}
|
|
392
435
|
catch (error) {
|
|
@@ -435,8 +478,41 @@ const inspectCliTargets = async (targets, config, recorder) => {
|
|
|
435
478
|
await inspectCliTarget(target, config, recorder);
|
|
436
479
|
}
|
|
437
480
|
};
|
|
481
|
+
const catalogDriverReferences = (config) => [
|
|
482
|
+
...configuredDriverReferences(config).map(([, reference]) => reference),
|
|
483
|
+
...(config.matrix ?? []).map((entry) => ({ name: entry.driver, config: entry.config })),
|
|
484
|
+
];
|
|
485
|
+
const configuredDriverCommand = (config, driver) => {
|
|
486
|
+
for (const reference of catalogDriverReferences(config)) {
|
|
487
|
+
if (refName(reference) !== driver)
|
|
488
|
+
continue;
|
|
489
|
+
const command = rawRefConfig(reference)?.command;
|
|
490
|
+
if (typeof command === "string")
|
|
491
|
+
return command;
|
|
492
|
+
}
|
|
493
|
+
return undefined;
|
|
494
|
+
};
|
|
495
|
+
const inspectHarnessCatalogs = async (config, recorder) => {
|
|
496
|
+
const configured = new Set(catalogDriverReferences(config)
|
|
497
|
+
.map(refName)
|
|
498
|
+
.filter((name) => name !== undefined));
|
|
499
|
+
for (const probe of harnessCatalogProbes) {
|
|
500
|
+
const driver = probe.catalog.driver;
|
|
501
|
+
if (!configured.has(driver))
|
|
502
|
+
continue;
|
|
503
|
+
const live = await probe.read(configuredDriverCommand(config, driver));
|
|
504
|
+
if (!live) {
|
|
505
|
+
recorder.add(`catalog:${driver}`, "warn", `${driver} harness catalog (verified ${probe.catalog.verified}) could not be compared with the installed CLI`, `${probe.source} was unavailable`);
|
|
506
|
+
continue;
|
|
507
|
+
}
|
|
508
|
+
const drift = harnessCatalogDrift(probe.catalog, live);
|
|
509
|
+
recorder.add(`catalog:${driver}`, hasHarnessCatalogDrift(drift) ? "warn" : "pass", hasHarnessCatalogDrift(drift)
|
|
510
|
+
? `${driver} harness catalog (verified ${probe.catalog.verified}) differs from the installed CLI`
|
|
511
|
+
: `${driver} harness catalog matches the installed CLI`, describeHarnessCatalogDrift(drift) || undefined);
|
|
512
|
+
}
|
|
513
|
+
};
|
|
438
514
|
const isBlockingCampaignWarning = (warning) => warning.includes("below confidence minSamples=") || warning.includes("cannot attain confidence");
|
|
439
|
-
const inspectCampaign = async (path, config, registry, recorder) => {
|
|
515
|
+
const inspectCampaign = async (path, config, registry, recorder, staticChecks) => {
|
|
440
516
|
try {
|
|
441
517
|
const loaded = await loadExperimentCampaign(path);
|
|
442
518
|
const mode = experimentCampaignMode(path, loaded.campaign);
|
|
@@ -444,7 +520,9 @@ const inspectCampaign = async (path, config, registry, recorder) => {
|
|
|
444
520
|
if (placeholders.length > 0) {
|
|
445
521
|
recorder.add(`campaign-placeholders:${loaded.campaign.id}`, "warn", `campaign '${loaded.campaign.id}' contains starter placeholders`, placeholders.join(", "));
|
|
446
522
|
}
|
|
447
|
-
const plan = await planExperimentCampaign({ config, registry, loaded }, mode
|
|
523
|
+
const plan = await planExperimentCampaign({ config, registry, loaded }, mode, {
|
|
524
|
+
static: staticChecks,
|
|
525
|
+
});
|
|
448
526
|
recorder.campaigns.push({ path, campaignId: loaded.campaign.id, mode, plan });
|
|
449
527
|
recorder.add(`campaign:${loaded.campaign.id}`, plan.fitsProjectedCallBudgets ? "pass" : "fail", `campaign '${loaded.campaign.id}' plans ${plan.projected.metricCalls} metric, ${plan.projected.judgeCalls} judge, and ${plan.projected.proposalCalls} proposal calls`, plan.fitsProjectedCallBudgets ? undefined : "projected work exceeds the authored budget");
|
|
450
528
|
for (const [index, warning] of plan.warnings.entries()) {
|
|
@@ -457,7 +535,7 @@ const inspectCampaign = async (path, config, registry, recorder) => {
|
|
|
457
535
|
recorder.add(`campaign:${path}`, "fail", `campaign preflight failed: ${path}`, firstLine(error));
|
|
458
536
|
}
|
|
459
537
|
};
|
|
460
|
-
const inspectCampaigns = async (authoredPaths, config, registry, recorder) => {
|
|
538
|
+
const inspectCampaigns = async (authoredPaths, config, registry, recorder, staticChecks) => {
|
|
461
539
|
let paths;
|
|
462
540
|
try {
|
|
463
541
|
paths = await discoverCampaignPaths(config, authoredPaths);
|
|
@@ -470,7 +548,7 @@ const inspectCampaigns = async (authoredPaths, config, registry, recorder) => {
|
|
|
470
548
|
recorder.add("campaigns", "warn", "no experiment campaigns found", "run `lux init --experiment`");
|
|
471
549
|
}
|
|
472
550
|
for (const path of paths) {
|
|
473
|
-
await inspectCampaign(path, config, registry, recorder);
|
|
551
|
+
await inspectCampaign(path, config, registry, recorder, staticChecks);
|
|
474
552
|
}
|
|
475
553
|
};
|
|
476
554
|
export const doctorProject = async (options) => {
|
|
@@ -483,10 +561,17 @@ export const doctorProject = async (options) => {
|
|
|
483
561
|
if (!registry)
|
|
484
562
|
return recorder.finish(config.rootDir);
|
|
485
563
|
validateConfiguredDrivers(config, registry, recorder);
|
|
564
|
+
validateConfiguredMatrix(config, registry, recorder);
|
|
486
565
|
validateConfiguredAnswerers(config, registry, recorder);
|
|
487
566
|
const caseCliTargets = await inspectCases(config, registry, recorder);
|
|
488
|
-
|
|
489
|
-
|
|
567
|
+
if (parsedOptions.static) {
|
|
568
|
+
recorder.add("static-checks", "warn", "static checks only; installed executables and campaign execution identity were not checked");
|
|
569
|
+
}
|
|
570
|
+
else {
|
|
571
|
+
await inspectCliTargets([...configuredCliTargets(config, registry), ...caseCliTargets], config, recorder);
|
|
572
|
+
await inspectHarnessCatalogs(config, recorder);
|
|
573
|
+
}
|
|
574
|
+
await inspectCampaigns(parsedOptions.campaigns ?? [], config, registry, recorder, parsedOptions.static ?? false);
|
|
490
575
|
return recorder.finish(config.rootDir);
|
|
491
576
|
};
|
|
492
577
|
const finishDoctorReport = (rootDir, diagnostics, campaigns) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/orchestrator/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAA0B,MAAM,aAAa,CAAC;AAC7F,OAAO,EAA6C,aAAa,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAE9F,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnD,IAAI,EAAE,4BAA4B,CAAC,QAAQ,EAAE;IAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;IAC9C,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QACxC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;KACvC,CAAC;SACD,MAAM,EAAE;CACZ,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ,MAAM,cAAc;IACT,WAAW,GAAuB,EAAE,CAAC;IACrC,SAAS,GAA2B,EAAE,CAAC;IAEhD,GAAG,CAAC,EAAU,EAAE,MAAkC,EAAE,OAAe,EAAE,MAAe;QAClF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,CAAC,OAAe;QACpB,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACvE,CAAC;CACF;AAED,MAAM,SAAS,GAAG,CAAC,KAAc,EAAU,EAAE,CAC3C,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAE3F,MAAM,OAAO,GAAG,CAAC,SAAkB,EAAsB,EAAE;IACzD,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACpD,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,IAAI,GAAI,SAAgC,CAAC,IAAI,CAAC;IACpD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,SAAkB,EAA2B,EAAE,CAChE,SAAS;IACT,OAAO,SAAS,KAAK,QAAQ;IAC5B,SAAkC,CAAC,MAAM;IAC1C,OAAQ,SAAiC,CAAC,MAAM,KAAK,QAAQ;IAC3D,CAAC,CAAC,CAAE,SAAiD,CAAC,MAAM,IAAI,EAAE,CAAC;IACnE,CAAC,CAAC,EAAE,CAAC;AAET,MAAM,YAAY,GAAG,CAAC,SAAkB,EAAW,EAAE,CACnD,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;IACxC,CAAC,CAAE,SAAkC,CAAC,MAAM;IAC5C,CAAC,CAAC,SAAS,CAAC;AAEhB,MAAM,YAAY,GAAG,CAAC,IAAa,EAAE,KAAc,EAAW,EAAE;IAC9D,IACE,CAAC,IAAI;QACL,OAAO,IAAI,KAAK,QAAQ;QACxB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACnB,CAAC,KAAK;QACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EACpB,CAAC;QACD,OAAO,KAAK,IAAI,IAAI,CAAC;IACvB,CAAC;IACD,MAAM,MAAM,GAA4B,EAAE,GAAI,IAAgC,EAAE,CAAC;IACjF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QAC5E,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACzE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,KAAc,EAAE,QAAiB,EAAW,EAAE;IAC9E,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAC5B,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACpE,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC;QACpB,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAE,MAAyB,EAAa,EAAE;IACpF,MAAM,SAAS,GAAG;QAChB,MAAM,CAAC,aAAa;QACpB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;KACzE,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1F,OAAO;QACL,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;KAC3F,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,SAAkB,EAAsB,EAAE;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,OAAO,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxE,CAAC;IACD,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3F,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,OAAO,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,SAAkB,EAAsB,EAAE;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,aAAa;QAAE,OAAO,SAAS,CAAC;IACnE,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IAC9D,OAAO,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,SAAkB,EAAE,MAAyB,EAAY,EAAE;IACjF,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG;QAChB,MAAM,CAAC,OAAO;QACd,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;KAC5F,CAAC;IACF,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,OAAO,EAAE,QAAQ,IAAI,aAAa,CAAC;QACvE,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,QAAQ,CAAC;QAC/F,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1C,IAAI,eAAe,IAAI,OAAO,EAAE,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC;QAChE,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnD,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,MAAyB,EAAe,EAAE;IACtE,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,OAA2B,EAAQ,EAAE;QAC/D,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC;IACF,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IAC3D,GAAG,CAAC,kBAAkB,EAAE,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IACjE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,GAAG,CACD,iBAAiB,EACjB,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CACrF,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAClF,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CACnB,EAAE,CAAC;QACF,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QACrF,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,eAAe,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QAC7F,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;QAClD,IAAI,OAAO,EAAE,CAAC;YACZ,GAAG,CACD,YAAY,EAAE,WAAW,EACzB,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CACvE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CACrB,GAAG,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,CAC/E,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAE,MAAM,GAAG,EAAE,EAAY,EAAE;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,MAAM,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACnD,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACpD,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAC3D,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,KAAK,EACjC,MAAyB,EACzB,QAA2B,EACR,EAAE;IACrB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,GAAG,IAAI,GAAG,CACR,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACpB,6BAA6B,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAC7E,CACF,CACF;SACF,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,CAAC;IAC9C,IAAI,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,8CAA8C,eAAe,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,UAAU,GAAG,CACjB,MAAM,IAAI,CAAC,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,EAAE;QACrD,GAAG,EAAE,eAAe;QACpB,SAAS,EAAE,IAAI;QACf,mBAAmB,EAAE,KAAK;KAC3B,CAAC,CACH;SACE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;SAC7C,IAAI,EAAE,CAAC;IACV,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,6BAA6B,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,KAAK,EAC5B,GAAW,EACX,QAAwB,EACW,EAAE;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;QACxC,QAAQ,CAAC,GAAG,CACV,QAAQ,EACR,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,+BAA+B,CACpF,CAAC;QACF,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,GAAG,CACV,qBAAqB,EACrB,MAAM,EACN,mDAAmD,EACnD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CACxB,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,8BAA8B,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACzB,MAAyB,EACzB,QAAwB,EACP,EAAE;IACnB,IAAI,CAAC;QACH,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,4BAA4B,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CACjC,MAAyB,EACU,EAAE,CAAC;IACtC,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC;IACjC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAC1C,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAU,CAChE;CACF,CAAC;AAEF,MAAM,4BAA4B,GAAG,CACnC,MAAyB,EACU,EAAE,CAAC;IACtC,CAAC,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC;IACnC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAC1C,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAU,CAClE;CACF,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAChC,MAAyB,EACzB,QAAkB,EAClB,QAAwB,EAClB,EAAE;IACR,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC,GAAG,CACV,UAAU,KAAK,IAAI,IAAI,EAAE,EACzB,MAAM,EACN,GAAG,KAAK,+BAA+B,IAAI,GAAG,CAC/C,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,oBAAoB,CAClB,MAAM,CAAC,YAAY,EACnB,YAAY,CAAC,SAAS,CAAC,EACvB,GAAG,KAAK,YAAY,IAAI,GAAG,CAC5B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,GAAG,CACV,iBAAiB,KAAK,IAAI,IAAI,EAAE,EAChC,MAAM,EACN,GAAG,KAAK,mCAAmC,EAC3C,SAAS,CAAC,KAAK,CAAC,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAClC,MAAyB,EACzB,QAAkB,EAClB,QAAwB,EAClB,EAAE;IACR,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,4BAA4B,CAAC,MAAM,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC,GAAG,CACV,YAAY,KAAK,IAAI,IAAI,EAAE,EAC3B,MAAM,EACN,GAAG,KAAK,iCAAiC,IAAI,GAAG,CACjD,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,oBAAoB,CAClB,MAAM,CAAC,YAAY,EACnB,YAAY,CAAC,SAAS,CAAC,EACvB,GAAG,KAAK,cAAc,IAAI,GAAG,CAC9B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,GAAG,CACV,mBAAmB,KAAK,IAAI,IAAI,EAAE,EAClC,MAAM,EACN,GAAG,KAAK,qCAAqC,EAC7C,SAAS,CAAC,KAAK,CAAC,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAgC,EAAY,EAAE;IACtE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC;SACf,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;SAChC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;SACjB,IAAI,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,SAA0B,EAAE,QAAwB,EAAQ,EAAE;IACzF,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;IACrC,QAAQ,CAAC,GAAG,CACV,OAAO,EACP,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAC3B,cAAc,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CACpD,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACzC,QAAQ,CAAC,GAAG,CACV,QAAQ,OAAO,CAAC,IAAI,EAAE,EACtB,MAAM,EACN,0BAA0B,OAAO,CAAC,IAAI,EAAE,EACxC,OAAO,CAAC,MAAM,CACf,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,yBAAyB,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACxB,MAAc,EACd,SAAkB,EAClB,QAAkB,EACH,EAAE;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,8BAA8B,CAAC;IACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM;QAAE,OAAO,mBAAmB,IAAI,GAAG,CAAC;IAC/C,IAAI,CAAC;QACH,oBAAoB,CAClB,MAAM,CAAC,YAAY,EACnB,YAAY,CAAC,SAAS,CAAC,EACvB,SAAS,MAAM,aAAa,IAAI,GAAG,CACpC,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,MAAc,EACd,OAA2B,EAC3B,QAAkB,EAClB,QAAwB,EAClB,EAAE;IACR,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,QAAQ,CAAC,GAAG,CACV,eAAe,MAAM,EAAE,EACvB,MAAM,EACN,SAAS,MAAM,0DAA0D,CAC1E,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO;SACrB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;SAC5D,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QACvC,QAAQ,CAAC,GAAG,CACV,sBAAsB,MAAM,EAAE,EAC9B,MAAM,EACN,SAAS,MAAM,+CAA+C,EAC9D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CACpB,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAC3B,MAAc,EACd,QAAiB,EACjB,QAAkB,EAClB,QAAwB,EAClB,EAAE;IACR,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,QAAQ,CAAC,GAAG,CACV,iBAAiB,MAAM,EAAE,EACzB,MAAM,EACN,SAAS,MAAM,kCAAkC,IAAI,GAAG,CACzD,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,oBAAoB,CAClB,MAAM,CAAC,YAAY,EACnB,YAAY,CAAC,QAAQ,CAAC,EACtB,SAAS,MAAM,eAAe,IAAI,GAAG,CACtC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,GAAG,CACV,wBAAwB,MAAM,EAAE,EAChC,MAAM,EACN,SAAS,MAAM,sCAAsC,EACrD,SAAS,CAAC,KAAK,CAAC,CACjB,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,KAAK,EAClC,MAAc,EACd,QAAkB,EAClB,MAAyB,EACzB,QAAkB,EAClB,QAAwB,EACF,EAAE;IACxB,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;QAClD,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,QAAQ,CAAC,GAAG,CACV,kBAAkB,MAAM,IAAI,SAAS,CAAC,IAAI,EAAE,EAC5C,MAAM,EACN,SAAS,MAAM,mCAAmC,SAAS,CAAC,IAAI,GAAG,CACpE,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,yBAAyB,CAC7B,cAAc,CAAC,YAAY,EAC3B,cAAc,CAAC,YAAY;gBACzB,CAAC,CAAC,wBAAwB,CAAC,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC;gBAClE,CAAC,CAAC,SAAS,EACb,SAAS,MAAM,gBAAgB,SAAS,CAAC,IAAI,GAAG,CACjD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,GAAG,CACV,yBAAyB,MAAM,IAAI,SAAS,CAAC,IAAI,EAAE,EACnD,MAAM,EACN,SAAS,MAAM,uCAAuC,EACtD,SAAS,CAAC,KAAK,CAAC,CACjB,CAAC;QACJ,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChC,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;gBACxD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,MAAM,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC9B,MAAc,EACd,OAA2B,EAC3B,QAAiB,EACJ,EAAE;IACf,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAe,EAAE;QACtD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,MAAM,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,MAAM,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3E,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,EACvB,UAA0B,EAC1B,MAAyB,EACzB,QAAkB,EAClB,QAAwB,EACF,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC,eAAe,CAAC;QAC7D,mBAAmB,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QACpE,oBAAoB,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QACtE,OAAO;YACL,GAAG,CAAC,MAAM,sBAAsB,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC1F,GAAG,uBAAuB,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC;SAC7D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,GAAG,CACV,kBAAkB,UAAU,CAAC,EAAE,EAAE,EACjC,MAAM,EACN,0BAA0B,UAAU,CAAC,IAAI,EAAE,EAC3C,SAAS,CAAC,KAAK,CAAC,CACjB,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,KAAK,EACxB,MAAyB,EACzB,QAAkB,EAClB,QAAwB,EACF,EAAE;IACxB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,6BAA6B,CAAC,CAAC;QAC7D,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxD,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACzC,MAAM,OAAO,GAAgB,EAAE,CAAC;QAChC,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,OAA6B,EAAe,EAAE;IACtE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,KAAK,EAC5B,MAAiB,EACjB,MAAyB,EACzB,QAAwB,EACT,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACnE,QAAQ,CAAC,GAAG,CACV,OAAO,MAAM,CAAC,OAAO,EAAE,EACvB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAClC,GAAG,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,OAAO,iBAAiB,EACvD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,iCAAiC,CACtF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,GAAG,CACV,OAAO,MAAM,CAAC,OAAO,EAAE,EACvB,MAAM,EACN,GAAG,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,OAAO,kBAAkB,EACxD,SAAS,CAAC,KAAK,CAAC,CACjB,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,EAC7B,OAA6B,EAC7B,MAAyB,EACzB,QAAwB,EACT,EAAE;IACjB,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,MAAM,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,OAAe,EAAW,EAAE,CAC7D,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAEnG,MAAM,eAAe,GAAG,KAAK,EAC3B,IAAY,EACZ,MAAyB,EACzB,QAAkB,EAClB,QAAwB,EACT,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,GAAG,CACV,yBAAyB,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAC7C,MAAM,EACN,aAAa,MAAM,CAAC,QAAQ,CAAC,EAAE,iCAAiC,EAChE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CACxB,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9E,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,QAAQ,CAAC,GAAG,CACV,YAAY,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAChC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAC/C,aAAa,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,eAAe,IAAI,CAAC,SAAS,CAAC,aAAa,iBAAiB,EACrK,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,4CAA4C,CACzF,CAAC;QACF,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACpD,QAAQ,CAAC,GAAG,CACV,YAAY,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,EAAE,EAC9E,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAC1B,OAAO,CACR,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3D,QAAQ,CAAC,GAAG,CACV,YAAY,IAAI,EAAE,EAClB,MAAM,EACN,8BAA8B,IAAI,EAAE,EACpC,SAAS,CAAC,KAAK,CAAC,CACjB,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,KAAK,EAC5B,aAAgC,EAChC,MAAyB,EACzB,QAAkB,EAClB,QAAwB,EACT,EAAE;IACjB,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,GAAG,CACV,oBAAoB,EACpB,MAAM,EACN,sCAAsC,EACtC,SAAS,CAAC,KAAK,CAAC,CACjB,CAAC;QACF,KAAK,GAAG,EAAE,CAAC;IACb,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,GAAG,CACV,WAAW,EACX,MAAM,EACN,+BAA+B,EAC/B,6BAA6B,CAC9B,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,OAAsB,EAAyB,EAAE;IACnF,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACnE,IAAI,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtD,yBAAyB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtD,2BAA2B,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtE,MAAM,iBAAiB,CAAC,CAAC,GAAG,oBAAoB,CAAC,MAAM,CAAC,EAAE,GAAG,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChG,MAAM,gBAAgB,CAAC,aAAa,CAAC,SAAS,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClF,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACzB,OAAe,EACf,WAA+B,EAC/B,SAAiC,EACnB,EAAE;IAChB,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;QACrE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;QACvE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;KACtE,CAAC;IACF,OAAO,kBAAkB,CAAC,KAAK,CAAC;QAC9B,OAAO;QACP,EAAE,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;QACxB,WAAW;QACX,SAAS;QACT,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAoB,EAAU,EAAE;IACjE,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAW,CAAC;IAC7D,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE,CAC7C,CAAC,GAAG,KAAK,CAAC;SACP,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACjB,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC;SACR,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;IACZ,OAAO;QACL,gBAAgB,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QAC9C,EAAE;QACF,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC;YAC5C,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YACnE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE,CAAC;QACF,EAAE;QACF,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,YAAY,MAAM,CAAC,OAAO,CAAC,QAAQ,cAAc,MAAM,CAAC,OAAO,CAAC,MAAM,SAAS;KAC9I,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/orchestrator/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DriverCapability, DriverPlugin } from "../core/driver.js";
|
|
2
|
+
import type { DriverExecution } from "../core/driver-execution.js";
|
|
3
|
+
export declare const validateDriverCapabilities: (plugin: DriverPlugin, config: unknown, required?: readonly DriverCapability[], execution?: DriverExecution) => void;
|
|
4
|
+
//# sourceMappingURL=driver-capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-capabilities.d.ts","sourceRoot":"","sources":["../../src/orchestrator/driver-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE,eAAO,MAAM,0BAA0B,WAC7B,YAAY,UACZ,OAAO,aACL,SAAS,gBAAgB,EAAE,cACzB,eAAe,KAC1B,IAYF,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const validateDriverCapabilities = (plugin, config, required = [], execution) => {
|
|
2
|
+
if (required.length === 0)
|
|
3
|
+
return;
|
|
4
|
+
const capabilities = {
|
|
5
|
+
...plugin.runtime?.(config).capabilities,
|
|
6
|
+
...(execution?.kind === "container" ? { isolation: true } : {}),
|
|
7
|
+
};
|
|
8
|
+
const missing = required.filter((capability) => capabilities?.[capability] !== true);
|
|
9
|
+
if (missing.length > 0) {
|
|
10
|
+
throw new Error(`driver '${plugin.name}' does not declare required capabilities: ${missing.join(", ")}`);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=driver-capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-capabilities.js","sourceRoot":"","sources":["../../src/orchestrator/driver-capabilities.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,MAAoB,EACpB,MAAe,EACf,QAAQ,GAAgC,EAAE,EAC1C,SAA2B,EACrB,EAAE;IACR,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAClC,MAAM,YAAY,GAAG;QACnB,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,YAAY;QACxC,GAAG,CAAC,SAAS,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC;IACrF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,CAAC,IAAI,6CAA6C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { DriverRuntime } from "../core/driver.js";
|
|
2
|
+
import type { Registry } from "../core/registry.js";
|
|
3
|
+
export declare const referencedDriverRuntime: (reference: unknown, registry: Registry) => DriverRuntime;
|
|
4
|
+
export declare const experimentDriverIdentity: (reference: unknown, registry: Registry, rootDir: string) => Promise<unknown>;
|
|
5
|
+
//# sourceMappingURL=driver-identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-identity.d.ts","sourceRoot":"","sources":["../../src/orchestrator/driver-identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAoBpD,eAAO,MAAM,uBAAuB,cAAe,OAAO,YAAY,QAAQ,KAAG,aAUhF,CAAC;AAEF,eAAO,MAAM,wBAAwB,cACxB,OAAO,YACR,QAAQ,WACT,MAAM,KACd,OAAO,CAAC,OAAO,CA8BjB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { driverExecutionOf } from "../core/driver-execution.js";
|
|
2
|
+
import { cliIdentity } from "./experiment-runtime-identity.js";
|
|
3
|
+
import { validatePluginConfig } from "./validate-plugin-config.js";
|
|
4
|
+
const resolvedDriver = (reference, registry) => {
|
|
5
|
+
const name = typeof reference === "string" ? reference : reference?.name;
|
|
6
|
+
if (typeof name !== "string")
|
|
7
|
+
return undefined;
|
|
8
|
+
const plugin = registry.getDriver(name);
|
|
9
|
+
if (!plugin)
|
|
10
|
+
throw new Error(`unknown driver '${name}'`);
|
|
11
|
+
const raw = typeof reference === "object" && reference !== null
|
|
12
|
+
? reference.config
|
|
13
|
+
: undefined;
|
|
14
|
+
return { plugin, config: validatePluginConfig(plugin.configSchema, raw, `driver '${name}'`) };
|
|
15
|
+
};
|
|
16
|
+
export const referencedDriverRuntime = (reference, registry) => {
|
|
17
|
+
const resolved = resolvedDriver(reference, registry);
|
|
18
|
+
const runtime = resolved?.plugin.runtime?.(resolved.config) ?? { commands: [], capabilities: {} };
|
|
19
|
+
const execution = driverExecutionOf(reference);
|
|
20
|
+
return execution?.kind === "container"
|
|
21
|
+
? {
|
|
22
|
+
commands: [execution.command ?? "docker"],
|
|
23
|
+
capabilities: { ...runtime.capabilities, isolation: true },
|
|
24
|
+
}
|
|
25
|
+
: runtime;
|
|
26
|
+
};
|
|
27
|
+
export const experimentDriverIdentity = async (reference, registry, rootDir) => {
|
|
28
|
+
if (driverExecutionOf(reference)?.kind === "container")
|
|
29
|
+
throw new Error("container execution does not yet support controlled experiments");
|
|
30
|
+
const resolved = resolvedDriver(reference, registry);
|
|
31
|
+
if (!resolved)
|
|
32
|
+
return null;
|
|
33
|
+
const { plugin, config } = resolved;
|
|
34
|
+
const experiment = plugin.experiment;
|
|
35
|
+
if (!experiment)
|
|
36
|
+
throw new Error(`driver '${plugin.name}' supports ordinary eval runs but does not declare controlled experiment support`);
|
|
37
|
+
if (!experiment.version.trim())
|
|
38
|
+
throw new Error(`driver '${plugin.name}' experiment version must not be empty`);
|
|
39
|
+
const prepared = validatePluginConfig(plugin.configSchema, experiment.prepare(config), `driver '${plugin.name}' experiment configuration`);
|
|
40
|
+
const runtime = plugin.runtime?.(prepared) ?? { commands: [], capabilities: {} };
|
|
41
|
+
const behavior = await experiment.identity(config, { rootDir });
|
|
42
|
+
return {
|
|
43
|
+
driver: plugin.name,
|
|
44
|
+
version: experiment.version,
|
|
45
|
+
config: prepared,
|
|
46
|
+
capabilities: runtime.capabilities,
|
|
47
|
+
executables: await Promise.all(runtime.commands.map((command) => cliIdentity(command, rootDir))),
|
|
48
|
+
behavior,
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=driver-identity.js.map
|