@event4u/agent-config 3.3.0 → 4.1.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/.agent-src/README.md +2 -2
- package/.agent-src/commands/agent-handoff.md +31 -2
- package/.agent-src/commands/agent-status.md +5 -5
- package/.agent-src/commands/agents/audit.md +8 -8
- package/.agent-src/commands/agents/init.md +25 -1
- package/.agent-src/commands/agents/optimize.md +3 -3
- package/.agent-src/commands/agents/user.md +1 -1
- package/.agent-src/commands/agents.md +1 -1
- package/.agent-src/commands/analyze-reference-repo.md +1 -1
- package/.agent-src/commands/check-current-md.md +8 -8
- package/.agent-src/commands/{compress.md → condense.md} +55 -55
- package/.agent-src/commands/context/create.md +7 -4
- package/.agent-src/commands/context/refactor.md +3 -1
- package/.agent-src/commands/feature/dev.md +1 -1
- package/.agent-src/commands/feature/explore.md +1 -1
- package/.agent-src/commands/feature/plan.md +10 -8
- package/.agent-src/commands/feature/refactor.md +3 -1
- package/.agent-src/commands/feature/roadmap.md +7 -4
- package/.agent-src/commands/fix/portability.md +3 -3
- package/.agent-src/commands/fix/refs.md +4 -4
- package/.agent-src/commands/ghostwriter.md +2 -2
- package/.agent-src/commands/memory/learn-low-impact.md +3 -3
- package/.agent-src/commands/module/explore.md +34 -8
- package/.agent-src/commands/optimize/agents-dir.md +9 -7
- package/.agent-src/commands/optimize/augmentignore.md +2 -2
- package/.agent-src/commands/optimize/skills.md +9 -9
- package/.agent-src/commands/post-as.md +1 -1
- package/.agent-src/commands/project-analyze.md +2 -2
- package/.agent-src/commands/project-health.md +3 -2
- package/.agent-src/commands/research/deep.md +1 -1
- package/.agent-src/commands/research/report.md +1 -1
- package/.agent-src/commands/research.md +1 -1
- package/.agent-src/commands/roadmap/ai-council.md +1 -1
- package/.agent-src/commands/roadmap/create.md +9 -4
- package/.agent-src/commands/rule-compliance-audit.md +1 -1
- package/.agent-src/commands/upstream-contribute.md +14 -14
- package/.agent-src/commands/video/from-script.md +1 -1
- package/.agent-src/commands/video/scene.md +1 -1
- package/.agent-src/commands/video/stitch.md +1 -1
- package/.agent-src/commands/video/storyboard.md +1 -1
- package/.agent-src/commands/video.md +1 -1
- package/.agent-src/contexts/augment-infrastructure.md +1 -1
- package/.agent-src/contexts/authority/commit-mechanics.md +15 -0
- package/.agent-src/contexts/authority/kernel-rule-edits.md +3 -3
- package/.agent-src/contexts/authority/scope-mechanics.md +1 -1
- package/.agent-src/contexts/communication/rules-auto/augment-source-of-truth-mechanics.md +28 -28
- package/.agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +4 -4
- package/.agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +2 -2
- package/.agent-src/contexts/contracts/artifact-engagement-flow.md +6 -6
- package/.agent-src/contexts/contracts/command-suggestion-flow.md +3 -3
- package/.agent-src/contexts/contracts/emergency-triage-block.md +4 -4
- package/.agent-src/contexts/contracts/frugality-charter.md +3 -3
- package/.agent-src/contexts/documentation-hierarchy.md +14 -7
- package/.agent-src/contexts/execution/autonomy-examples.md +1 -1
- package/.agent-src/contexts/execution/cheap-question-mechanics.md +39 -2
- package/.agent-src/contexts/execution/roadmap-process-loop.md +28 -5
- package/.agent-src/contexts/override-system.md +5 -5
- package/.agent-src/ghostwriter/fictional-fixture-v1.md +1 -1
- package/.agent-src/personas/advisors/first-principles.md +1 -1
- package/.agent-src/personas/hollywood-director.md +1 -1
- package/.agent-src/rules/architecture.md +5 -1
- package/.agent-src/rules/augment-edit-discipline.md +5 -5
- package/.agent-src/rules/augment-source-of-truth.md +15 -15
- package/.agent-src/rules/commit-conventions.md +1 -1
- package/.agent-src/rules/commit-policy.md +10 -0
- package/.agent-src/rules/domain-adoption-policy.md +3 -3
- package/.agent-src/rules/fast-path-marker-visibility.md +3 -3
- package/.agent-src/rules/finance-safety-floor.md +1 -1
- package/.agent-src/rules/framework-neutrality-in-generic-skills.md +8 -8
- package/.agent-src/rules/git-history-discipline.md +1 -1
- package/.agent-src/rules/improve-before-implement.md +2 -2
- package/.agent-src/rules/language-and-tone.md +2 -2
- package/.agent-src/rules/media-governance-routing.md +5 -5
- package/.agent-src/rules/no-attribution-footers.md +1 -0
- package/.agent-src/rules/no-cheap-questions.md +3 -0
- package/.agent-src/rules/no-decorative-emojis-in-git-surfaces.md +111 -0
- package/.agent-src/rules/no-pr-progress-comments.md +118 -0
- package/.agent-src/rules/no-roadmap-references.md +3 -3
- package/.agent-src/rules/non-destructive-by-default.md +1 -1
- package/.agent-src/rules/persona-governance.md +3 -3
- package/.agent-src/rules/preservation-guard.md +15 -15
- package/.agent-src/rules/roadmap-ci-steps-policy.md +7 -3
- package/.agent-src/rules/rule-type-governance.md +1 -1
- package/.agent-src/rules/skill-quality.md +1 -1
- package/.agent-src/rules/{caveman-speak.md → telegraph-speak.md} +15 -15
- package/.agent-src/rules/token-optimizer-maintenance.md +6 -6
- package/.agent-src/skills/agent-docs-writing/SKILL.md +17 -11
- package/.agent-src/skills/agents-md-thin-root/SKILL.md +9 -9
- package/.agent-src/skills/check-refs/SKILL.md +2 -2
- package/.agent-src/skills/code-refactoring/SKILL.md +2 -2
- package/.agent-src/skills/command-writing/SKILL.md +19 -19
- package/.agent-src/skills/comp-banding/SKILL.md +1 -1
- package/.agent-src/skills/condense-memory/SKILL.md +131 -0
- package/.agent-src/skills/context-authoring/SKILL.md +2 -2
- package/.agent-src/skills/context-document/SKILL.md +5 -3
- package/.agent-src/skills/copilot-agents-optimization/SKILL.md +3 -3
- package/.agent-src/skills/description-assist/SKILL.md +2 -2
- package/.agent-src/skills/git-workflow/SKILL.md +1 -1
- package/.agent-src/skills/guideline-writing/SKILL.md +5 -5
- package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +4 -4
- package/.agent-src/skills/lint-skills/SKILL.md +3 -3
- package/.agent-src/skills/md-language-check/SKILL.md +2 -2
- package/.agent-src/skills/module-detect-on-the-fly/SKILL.md +138 -0
- package/.agent-src/skills/module-management/SKILL.md +166 -94
- package/.agent-src/skills/override-management/SKILL.md +1 -1
- package/.agent-src/skills/persona-writing/SKILL.md +5 -5
- package/.agent-src/skills/positioning-strategy/SKILL.md +1 -1
- package/.agent-src/skills/project-docs/SKILL.md +6 -4
- package/.agent-src/skills/readme-reviewer/SKILL.md +2 -2
- package/.agent-src/skills/roadmap-management/SKILL.md +13 -1
- package/.agent-src/skills/roadmap-writing/SKILL.md +4 -2
- package/.agent-src/skills/rule-refactor/SKILL.md +5 -5
- package/.agent-src/skills/rule-writing/SKILL.md +18 -18
- package/.agent-src/skills/script-writing/SKILL.md +1 -1
- package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +6 -6
- package/.agent-src/skills/skill-management/SKILL.md +21 -21
- package/.agent-src/skills/skill-reviewer/SKILL.md +2 -2
- package/.agent-src/skills/skill-writing/SKILL.md +8 -8
- package/.agent-src/skills/skill-writing/evals/triggers.json +1 -1
- package/.agent-src/skills/token-optimizer/SKILL.md +4 -4
- package/.agent-src/skills/unit-economics-modeling/SKILL.md +1 -1
- package/.agent-src/skills/upstream-contribute/SKILL.md +17 -17
- package/.agent-src/templates/AGENTS.md +1 -0
- package/.agent-src/templates/agent-settings.md +24 -13
- package/.agent-src/templates/agents/agent-project-settings.example.yml +61 -2
- package/.agent-src/templates/command.md +5 -5
- package/.agent-src/templates/contexts.md +1 -1
- package/.agent-src/templates/copilot-instructions.md +8 -8
- package/.agent-src/templates/features.md +1 -1
- package/.agent-src/templates/hooks/pre-commit-frontmatter +2 -2
- package/.agent-src/templates/hooks/pre-commit-roadmap-progress +3 -3
- package/.agent-src/templates/persona.md +2 -2
- package/.agent-src/templates/roadmaps.md +1 -1
- package/.agent-src/templates/rule.md +13 -13
- package/.agent-src/templates/scripts/memory_lookup.py +1 -1
- package/.agent-src/templates/scripts/memory_status.py +2 -2
- package/.agent-src/templates/scripts/work_engine/_lib/agent_settings.py +195 -1
- package/.agent-src/templates/scripts/work_engine/orchestration.py +1 -1
- package/.agent-src/templates/skill-archive-note.md +5 -5
- package/.agent-src/templates/skill.md +1 -1
- package/.claude-plugin/marketplace.json +4 -4
- package/AGENTS.md +16 -17
- package/CHANGELOG.md +181 -3
- package/CONTRIBUTING.md +31 -12
- package/README.md +18 -10
- package/config/agent-settings.template.yml +22 -2
- package/config/discovery/unassigned-artefacts.yml +24 -24
- package/config/profiles/full.ini +1 -1
- package/dist/cli/agent-config.js +52 -3
- package/dist/cli/agent-config.js.map +1 -1
- package/dist/cli/commands/uiServe.js +9 -0
- package/dist/cli/commands/uiServe.js.map +1 -1
- package/dist/cli/registry.js +2 -1
- package/dist/cli/registry.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +649 -606
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +4 -4
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +439 -437
- package/dist/discovery/trust-report.md +5 -5
- package/dist/discovery/workspaces.json +450 -448
- package/dist/install/apply.js +238 -0
- package/dist/install/apply.js.map +1 -0
- package/dist/install/atomic.js +92 -0
- package/dist/install/atomic.js.map +1 -0
- package/dist/install/bridges/augment.js +20 -0
- package/dist/install/bridges/augment.js.map +1 -0
- package/dist/install/bridges/claude.js +44 -0
- package/dist/install/bridges/claude.js.map +1 -0
- package/dist/install/bridges/cline.js +69 -0
- package/dist/install/bridges/cline.js.map +1 -0
- package/dist/install/bridges/copilot.js +28 -0
- package/dist/install/bridges/copilot.js.map +1 -0
- package/dist/install/bridges/cursor.js +34 -0
- package/dist/install/bridges/cursor.js.map +1 -0
- package/dist/install/bridges/gemini.js +39 -0
- package/dist/install/bridges/gemini.js.map +1 -0
- package/dist/install/bridges/index.js +88 -0
- package/dist/install/bridges/index.js.map +1 -0
- package/dist/install/bridges/marker-content.js +153 -0
- package/dist/install/bridges/marker-content.js.map +1 -0
- package/dist/install/bridges/markers.js +42 -0
- package/dist/install/bridges/markers.js.map +1 -0
- package/dist/install/bridges/types.js +31 -0
- package/dist/install/bridges/types.js.map +1 -0
- package/dist/install/bridges/vscode.js +26 -0
- package/dist/install/bridges/vscode.js.map +1 -0
- package/dist/install/bridges/windsurf.js +35 -0
- package/dist/install/bridges/windsurf.js.map +1 -0
- package/dist/install/conflict.js +196 -0
- package/dist/install/conflict.js.map +1 -0
- package/dist/install/detect.js +218 -0
- package/dist/install/detect.js.map +1 -0
- package/dist/install/paths.js +82 -0
- package/dist/install/paths.js.map +1 -0
- package/dist/install/plan.js +157 -0
- package/dist/install/plan.js.map +1 -0
- package/dist/install/txlog.js +140 -0
- package/dist/install/txlog.js.map +1 -0
- package/dist/install/types.js +19 -0
- package/dist/install/types.js.map +1 -0
- package/dist/install/wizard-plan.js +184 -0
- package/dist/install/wizard-plan.js.map +1 -0
- package/dist/mcp/registry-manifest.json +4 -4
- package/dist/router.json +67 -19
- package/dist/server/app.js +6 -0
- package/dist/server/app.js.map +1 -1
- package/dist/server/routes/install.js +547 -0
- package/dist/server/routes/install.js.map +1 -0
- package/dist/server/routes/wizard.js +301 -6
- package/dist/server/routes/wizard.js.map +1 -1
- package/dist/server/routes/workspace.js +396 -0
- package/dist/server/routes/workspace.js.map +1 -0
- package/dist/server/schemas/settings.js +4 -3
- package/dist/server/schemas/settings.js.map +1 -1
- package/dist/ui/assets/index-BXZILUxe.css +1 -0
- package/dist/ui/assets/index-DLEuEW1V.js +35 -0
- package/dist/ui/assets/index-DLEuEW1V.js.map +1 -0
- package/dist/ui/index.html +2 -2
- package/docs/MIGRATION.md +1 -1
- package/docs/adrs/cost/0001-hard-stop-hook.md +1 -1
- package/docs/adrs/router/0001-three-tier-routing.md +4 -4
- package/docs/adrs/schema/0001-json-schema-frontmatter.md +1 -1
- package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +4 -4
- package/docs/adrs/{caveman → telegraph}/0001-default-off-until-bench.md +9 -9
- package/docs/adrs/telegraph/README.md +9 -0
- package/docs/architecture/augment-projection.md +4 -4
- package/docs/architecture/claude-bundle.md +1 -1
- package/docs/architecture/current-onboard-baseline.md +3 -3
- package/docs/architecture/multi-tool-projection.md +10 -10
- package/docs/architecture/source-projection.md +27 -27
- package/docs/architecture.md +19 -15
- package/docs/archive/CHANGELOG-pre-2.11.0.md +2 -2
- package/docs/archive/CHANGELOG-pre-2.15.0.md +3 -3
- package/docs/archive/CHANGELOG-pre-2.16.0.md +1 -1
- package/docs/archive/CHANGELOG-pre-2.2.0.md +70 -70
- package/docs/archive/CHANGELOG-pre-2.20.0.md +2 -2
- package/docs/archive/CHANGELOG-pre-2.25.0.md +15 -15
- package/docs/archive/CHANGELOG-pre-3.0.0.md +4 -4
- package/docs/archive/CHANGELOG-pre-3.1.0.md +2 -2
- package/docs/archive/CHANGELOG-pre-3.2.0.md +3 -3
- package/docs/benchmark.md +65 -0
- package/docs/benchmarks.md +16 -16
- package/docs/catalog.md +17 -15
- package/docs/contracts/CHANGELOG-conventions.md +1 -1
- package/docs/contracts/STABILITY.md +2 -2
- package/docs/contracts/adoption-signal-floor.md +110 -0
- package/docs/contracts/adr-chat-history-split.md +4 -4
- package/docs/contracts/adr-command-suggestion.md +4 -4
- package/docs/contracts/adr-gtm-context-spine.md +1 -1
- package/docs/contracts/adr-implement-ticket-runtime.md +4 -4
- package/docs/contracts/adr-install-user-type-axis.md +1 -1
- package/docs/contracts/adr-layout.md +2 -2
- package/docs/contracts/adr-product-ui-track.md +10 -10
- package/docs/contracts/adr-user-types-axis.md +3 -3
- package/docs/contracts/adr-wing4-context-spine.md +1 -1
- package/docs/contracts/agent-memory-contract.md +3 -3
- package/docs/contracts/agents-md-tech-stack.md +2 -2
- package/docs/contracts/ai-council-config.md +2 -2
- package/docs/contracts/at-rest-encryption.md +4 -0
- package/docs/contracts/audit-log-v1.md +1 -1
- package/docs/contracts/benchmark-ab-contract.md +101 -0
- package/docs/contracts/benchmark-corpus-spec.md +1 -1
- package/docs/contracts/branch-protection-policy.md +98 -0
- package/docs/contracts/ci-cost-budget.md +106 -0
- package/docs/contracts/ci-green-floor.md +141 -0
- package/docs/contracts/command-clusters.md +6 -6
- package/docs/contracts/command-surface-tiers.md +2 -2
- package/docs/contracts/command-taxonomy.md +2 -2
- package/docs/contracts/{compression-default-kill-criterion.md → condensation-default-kill-criterion.md} +29 -29
- package/docs/contracts/config-presets.md +1 -1
- package/docs/contracts/context-paths.md +3 -3
- package/docs/contracts/context-spine.md +1 -1
- package/docs/contracts/cost-summary-schema.md +12 -12
- package/docs/contracts/cross-wing-handoff.md +4 -4
- package/docs/contracts/daily-workspace.md +4 -0
- package/docs/contracts/decision-trace-v1.md +2 -2
- package/docs/contracts/discovery-manifest.md +4 -4
- package/docs/contracts/explain-modes.md +4 -0
- package/docs/contracts/file-ownership-matrix.json +3493 -3318
- package/docs/contracts/file-ownership-matrix.md +3 -3
- package/docs/contracts/frontmatter-contract.md +4 -4
- package/docs/contracts/ghostwriter-schema.md +3 -3
- package/docs/contracts/gui-wizard.md +1 -1
- package/docs/contracts/harness-expectations.md +123 -0
- package/docs/contracts/host-agent-protocol.md +4 -0
- package/docs/contracts/implement-ticket-flow.md +9 -9
- package/docs/contracts/install-scopes.md +77 -0
- package/docs/contracts/iron-law-overrides.txt +1 -1
- package/docs/contracts/kernel-membership.md +26 -26
- package/docs/contracts/linear-ai-rules-inclusion.md +1 -1
- package/docs/contracts/linter-structural-model.md +2 -2
- package/docs/contracts/load-context-budget-model.md +4 -4
- package/docs/contracts/load-context-schema.md +13 -13
- package/docs/contracts/local-analytics.md +4 -0
- package/docs/contracts/local-knowledge-ingestion.md +1 -1
- package/docs/contracts/mcp-cloud-scope.md +2 -2
- package/docs/contracts/mcp-phase-1-scope.md +3 -3
- package/docs/contracts/measurement-baseline.md +5 -5
- package/docs/contracts/mental-models.md +30 -30
- package/docs/contracts/multi-tool-projection-fidelity.md +4 -4
- package/docs/contracts/namespace.md +4 -4
- package/docs/contracts/orchestration-dsl-v1.md +7 -7
- package/docs/contracts/package-self-orientation.md +12 -12
- package/docs/contracts/persona-schema.md +6 -6
- package/docs/contracts/pilot/language-and-tone.md +1 -1
- package/docs/contracts/plain-language-surface.md +117 -0
- package/docs/contracts/profile-system.md +3 -3
- package/docs/contracts/release-pr-gating.md +103 -0
- package/docs/contracts/role-experience.md +3 -3
- package/docs/contracts/rule-classification.md +13 -13
- package/docs/contracts/rule-interactions.md +4 -4
- package/docs/contracts/rule-interactions.yml +30 -30
- package/docs/contracts/rule-priority-hierarchy.md +13 -13
- package/docs/contracts/rule-router.md +2 -2
- package/docs/contracts/safety-model.md +1 -1
- package/docs/contracts/skill-distribution-channels.md +61 -0
- package/docs/contracts/skill-domains.md +2 -2
- package/docs/contracts/smoke-contracts.md +5 -5
- package/docs/contracts/telegraph-telemetry.md +83 -0
- package/docs/contracts/trust-and-safety.md +5 -5
- package/docs/contracts/ui-stack-extension.md +7 -7
- package/docs/contracts/ui-track-flow.md +9 -9
- package/docs/contracts/user-type-schema.md +4 -4
- package/docs/contracts/workflow-packs.md +4 -4
- package/docs/contracts/workspace-documents.md +4 -0
- package/docs/customization.md +28 -8
- package/docs/decisions/ADR-001-kernel-swap-deferred.md +6 -6
- package/docs/decisions/ADR-002-kernel-bucket-overrides.md +11 -11
- package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +2 -2
- package/docs/decisions/ADR-004-rule-governance-pruning.md +4 -4
- package/docs/decisions/ADR-005-subagent-worktrees.md +7 -7
- package/docs/decisions/ADR-011-domain-pack-readiness.md +6 -6
- package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +3 -3
- package/docs/decisions/ADR-015-discovery-manifest-contract.md +3 -3
- package/docs/decisions/ADR-017-monorepo-physical-layout.md +10 -10
- package/docs/decisions/ADR-018-trust-and-safety-layer.md +6 -6
- package/docs/decisions/ADR-019-router-json-dist-location.md +2 -2
- package/docs/decisions/ADR-020-global-only-consumer-scope.md +2 -2
- package/docs/decisions/ADR-021-deployment-shape.md +1 -1
- package/docs/decisions/ADR-022-daily-workspace-decomposition.md +1 -1
- package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +2 -2
- package/docs/decisions/ADR-028-root-layout.md +7 -7
- package/docs/decisions/ADR-029-multi-workspace-deferred.md +2 -2
- package/docs/decisions/ADR-rule-kernel-and-router.md +5 -5
- package/docs/deploy/team-deployment-posture.md +20 -0
- package/docs/development.md +17 -17
- package/docs/distribution/registries.md +32 -0
- package/docs/distribution/registry-submissions.md +85 -0
- package/docs/distribution/telemetry-schema.md +1 -1
- package/docs/getting-started-by-role.md +45 -3
- package/docs/getting-started.md +2 -2
- package/docs/guidelines/agent-infra/5w2h-analysis.md +3 -3
- package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
- package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +3 -3
- package/docs/guidelines/agent-infra/carve-out-predicates.md +3 -3
- package/docs/guidelines/agent-infra/critical-thinking.md +4 -4
- package/docs/guidelines/agent-infra/direct-answers-demos.md +1 -1
- package/docs/guidelines/agent-infra/first-principles.md +2 -2
- package/docs/guidelines/agent-infra/inversion-thinking.md +5 -5
- package/docs/guidelines/agent-infra/layered-settings.md +56 -2
- package/docs/guidelines/agent-infra/mental-models.md +3 -3
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +2 -2
- package/docs/guidelines/agent-infra/rule-type-governance.md +1 -1
- package/docs/guidelines/agent-infra/scqa-framework.md +5 -5
- package/docs/guidelines/agent-infra/self-improvement-pipeline.md +2 -2
- package/docs/guidelines/agent-infra/six-hats.md +3 -3
- package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
- package/docs/guidelines/agent-infra/systems-thinking.md +1 -1
- package/docs/guidelines/agent-infra/verify-before-complete-demos.md +1 -1
- package/docs/guidelines/augment-portability-patterns.md +4 -4
- package/docs/guidelines/cross-role-handoff.md +2 -2
- package/docs/guidelines/php/php-coding-patterns.md +1 -1
- package/docs/guidelines/prompt-templates.md +6 -6
- package/docs/maintainers/dev-mode.md +1 -1
- package/docs/mcp.md +1 -1
- package/docs/parity/bench.json +3 -3
- package/docs/parity/ruflo.md +2 -2
- package/docs/profiles.md +11 -11
- package/docs/quality.md +11 -11
- package/docs/safety.md +3 -3
- package/docs/setup/mcp-client-config.md +1 -1
- package/docs/setup/mcp-r2-bootstrap.md +1 -1
- package/docs/setup/mcp-server-docker.md +3 -3
- package/docs/setup/per-ide/windsurf.md +1 -1
- package/docs/skills-catalog.md +8 -7
- package/docs/troubleshooting.md +1 -1
- package/docs/walkthroughs/daily-workspace-a11y.md +87 -0
- package/llms.txt +7 -6
- package/package.json +1 -1
- package/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
- package/scripts/_archive/README.md +2 -2
- package/scripts/_archive/_backfill_skill_domains.py +3 -3
- package/scripts/_archive/_bootstrap_tier_frontmatter.py +3 -3
- package/scripts/_archive/_p43_bodies.py +10 -10
- package/scripts/_archive/{_p43_compress.py → _p43_condense.py} +5 -5
- package/scripts/_archive/_p4_migrate.py +7 -7
- package/scripts/_archive/_phase2_shim_helper.py +1 -1
- package/scripts/_archive/_pilot_council_question.py +5 -5
- package/scripts/_cli/explain_last/inputs.py +1 -1
- package/scripts/_lib/__pycache__/__init__.cpython-312.pyc +0 -0
- package/scripts/_lib/__pycache__/agent_src.cpython-312.pyc +0 -0
- package/scripts/_lib/agent_settings.py +195 -1
- package/scripts/_lib/agent_src.py +19 -19
- package/scripts/_lib/bench_ab_cache.py +162 -0
- package/scripts/_lib/bench_ab_scoring.py +209 -0
- package/scripts/_lib/{bench_caveman.py → bench_telegraph.py} +21 -21
- package/scripts/_lib/{bench_caveman_report.py → bench_telegraph_report.py} +21 -21
- package/scripts/_lib/claude_desktop_bundler.py +5 -5
- package/scripts/_lib/module_detection.py +223 -0
- package/scripts/_lib/scope_guard.sh +162 -0
- package/scripts/_phase4_bucket.py +3 -3
- package/scripts/_pilot_measure.py +4 -4
- package/scripts/_tmp_scan_framework_leakage.py +1 -1
- package/scripts/adoption_report.py +195 -0
- package/scripts/adoption_snapshot.py +219 -0
- package/scripts/adoption_status.py +166 -0
- package/scripts/ai-video/lib/parse-blueprint.sh +1 -1
- package/scripts/ai_council/advisors.py +5 -5
- package/scripts/ai_council/compile_corpus.py +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_budget_v2_audit.py +3 -3
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_context_layer_v1_review.py +2 -2
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_inject_quiet_flag.py +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_measure_v2.sh +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_measure_verbosity.sh +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_nondestructive_inline_audit.py +3 -3
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_per_task.sh +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase6_trigger_jaccard.py +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase_2a_budget_rebalance.py +6 -6
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_rebalancing_audit.py +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_tier_retrofit.py +6 -6
- package/scripts/annotate_discovery.py +13 -13
- package/scripts/apply_modules_config.py +290 -0
- package/scripts/audit_adr_coverage.py +2 -2
- package/scripts/audit_auto_rules.py +2 -2
- package/scripts/audit_cloud_compatibility.py +3 -3
- package/scripts/audit_command_surface.py +9 -9
- package/scripts/audit_likelihood.py +2 -2
- package/scripts/audit_user_type_axis.py +2 -2
- package/scripts/bench_ab_cache_dispatch.py +68 -0
- package/scripts/bench_ab_clone.py +170 -0
- package/scripts/bench_ab_diff.py +227 -0
- package/scripts/bench_ab_integrity.py +143 -0
- package/scripts/bench_ab_run.py +235 -0
- package/scripts/bench_ab_task_runner.py +369 -0
- package/scripts/bench_ab_tracka_run.py +202 -0
- package/scripts/{bench_compress_memory.py → bench_condense_memory.py} +16 -16
- package/scripts/bench_run.py +33 -33
- package/scripts/bench_runner.py +2 -2
- package/scripts/bootstrap.sh +99 -0
- package/scripts/build_cloud_bundle.py +6 -6
- package/scripts/build_discovery_manifest.py +7 -7
- package/scripts/build_linear_digest.py +3 -3
- package/scripts/build_rule_trigger_matrix.py +8 -8
- package/scripts/chat_history.py +5 -5
- package/scripts/check_always_budget.py +11 -5
- package/scripts/check_augment_description_cap.py +3 -3
- package/scripts/check_cluster_patterns.py +2 -2
- package/scripts/check_command_count_messaging.py +3 -3
- package/scripts/{check_compression.py → check_condensation.py} +34 -34
- package/scripts/{check_compressed_paths.py → check_condensed_paths.py} +8 -8
- package/scripts/check_context_paths.py +7 -7
- package/scripts/check_council_layout.py +2 -2
- package/scripts/check_council_references.py +9 -9
- package/scripts/check_iron_law_prominence.py +2 -2
- package/scripts/check_kernel_rule_bundle.py +2 -2
- package/scripts/check_module_management_neutral.py +149 -0
- package/scripts/check_no_roadmap_refs.py +9 -9
- package/scripts/check_portability.py +3 -3
- package/scripts/check_public_catalog_links.py +4 -4
- package/scripts/check_references.py +7 -6
- package/scripts/check_release_pr_shape.py +112 -0
- package/scripts/check_reply_consistency.py +3 -3
- package/scripts/check_safety_floor_untouched.py +1 -1
- package/scripts/check_template_pin_drift.py +5 -5
- package/scripts/check_token_optimizer_freshness.py +3 -3
- package/scripts/ci_status.py +301 -0
- package/scripts/ci_time_ratio.py +1 -1
- package/scripts/cleanup_other_scope.sh +146 -0
- package/scripts/compile_router.py +10 -10
- package/scripts/{compress.py → condense.py} +64 -64
- package/scripts/condense.sh +18 -0
- package/scripts/{compress_memory.py → condense_memory.py} +33 -33
- package/scripts/config/presets.py +2 -2
- package/scripts/config/profiles.py +1 -1
- package/scripts/cost_by_conversation.py +3 -3
- package/scripts/cost_summary.py +7 -7
- package/scripts/count_token_optimizer_usage.sh +1 -1
- package/scripts/gen_discovery_baseline.py +5 -5
- package/scripts/generate_index.py +6 -6
- package/scripts/generate_ownership_matrix.py +10 -10
- package/scripts/generate_pack_manifests.py +1 -1
- package/scripts/ghostwriter_fixture_allowlist.txt +1 -1
- package/scripts/install +3 -3
- package/scripts/install-hooks.sh +6 -6
- package/scripts/install.py +76 -11
- package/scripts/install.sh +187 -1
- package/scripts/inventory_frontmatter.py +2 -2
- package/scripts/iron_law_sha.py +3 -3
- package/scripts/lint_agents_layout.py +14 -7
- package/scripts/lint_agents_md.py +4 -4
- package/scripts/lint_archived_skills.py +3 -3
- package/scripts/lint_artefact_frontmatter.py +2 -2
- package/scripts/lint_bench_ab.py +172 -0
- package/scripts/lint_bench_corpus.py +1 -1
- package/scripts/lint_command_tiers.py +5 -5
- package/scripts/lint_context_spine_usage.py +1 -1
- package/scripts/lint_framework_leakage.py +7 -7
- package/scripts/lint_framework_leakage_allowlist.json +144 -84
- package/scripts/lint_ghostwriter_source.py +3 -3
- package/scripts/lint_handoffs.py +1 -1
- package/scripts/lint_load_context.py +11 -11
- package/scripts/lint_media_policy_linkage.py +5 -5
- package/scripts/lint_namespace.py +1 -1
- package/scripts/lint_no_new_atomic_commands.py +2 -2
- package/scripts/lint_orchestration_dsl.py +1 -1
- package/scripts/lint_pack_boundaries.py +2 -2
- package/scripts/lint_persona_governance.py +4 -4
- package/scripts/lint_role_experiences.py +237 -0
- package/scripts/lint_rule_interactions.py +2 -2
- package/scripts/lint_rule_tiers.py +1 -1
- package/scripts/lint_trust_coherence.py +2 -2
- package/scripts/mcp_registry_submit.sh +187 -0
- package/scripts/mcp_server/tools.py +1 -1
- package/scripts/measure_frugality_savings.py +10 -10
- package/scripts/measure_patterns.py +1 -1
- package/scripts/measure_projection_bytes.py +5 -5
- package/scripts/measure_rule_budget.py +3 -3
- package/scripts/measure_skill_reduction.py +1 -1
- package/scripts/memory_lookup.py +1 -1
- package/scripts/memory_status.py +2 -2
- package/scripts/migrate_command_suggestions.py +3 -3
- package/scripts/mine_session.py +1 -1
- package/scripts/move_artefact.py +3 -3
- package/scripts/new_skill.py +2 -2
- package/scripts/pack_mcp_content.py +9 -9
- package/scripts/plan_physical_move.py +6 -6
- package/scripts/print_required_checks.py +196 -0
- package/scripts/probe_skill_registration.py +413 -0
- package/scripts/propose_modules_config.py +145 -0
- package/scripts/prototype_lint_contradictions.py +1 -1
- package/scripts/recruit_preflight.sh +152 -0
- package/scripts/refine_ticket_detect.py +3 -3
- package/scripts/release.py +20 -0
- package/scripts/render_benchmark_md.py +308 -0
- package/scripts/roadmap_progress_hook.py +1 -1
- package/scripts/run_skill_evals.py +2 -2
- package/scripts/runtime_registry.py +4 -4
- package/scripts/schemas/command.schema.json +4 -4
- package/scripts/schemas/rule.schema.json +5 -5
- package/scripts/schemas/skill.schema.json +3 -3
- package/scripts/schemas/user-type.schema.json +1 -1
- package/scripts/score_skill_selection.py +1 -1
- package/scripts/skill_collision_clusters.py +2 -2
- package/scripts/skill_linter.py +81 -81
- package/scripts/skill_overlap.py +5 -5
- package/scripts/skill_tools/audit_persona_coverage.py +2 -2
- package/scripts/skill_tools/audit_user_type_coverage.py +2 -2
- package/scripts/skill_tools/run_block_d_eval.py +1 -1
- package/scripts/skill_tools/score_skill_relevance.py +1 -1
- package/scripts/skill_tools/suggest_skill_for_task.py +1 -1
- package/scripts/skill_trigger_eval.py +3 -3
- package/scripts/smoke/kernel.sh +7 -1
- package/scripts/smoke/router.sh +5 -5
- package/scripts/smoke/skills.sh +1 -1
- package/scripts/smoke_quickstart.py +1 -1
- package/scripts/snapshot_agent_outputs.py +3 -3
- package/scripts/spotcheck_thin_root.py +1 -1
- package/scripts/{caveman_stats.py → telegraph_stats.py} +18 -18
- package/scripts/update_counts.py +1 -1
- package/scripts/validate_decision_engine.py +1 -1
- package/scripts/validate_frontmatter.py +1 -1
- package/scripts/validate_safe_paths.py +3 -3
- package/scripts/{validate_caveman_carveouts.py → validate_telegraph_carveouts.py} +7 -7
- package/scripts/verify_roadmap_closure.py +6 -6
- package/templates/consumer-settings/ONBOARDING.md +41 -0
- package/.agent-src/commands/install-via-agent.md +0 -129
- package/.agent-src/skills/compress-memory/SKILL.md +0 -131
- package/dist/ui/assets/index-D-DY1ywI.js +0 -35
- package/dist/ui/assets/index-D-DY1ywI.js.map +0 -1
- package/dist/ui/assets/index-Dqfhmg-d.css +0 -1
- package/docs/adrs/caveman/README.md +0 -9
- package/docs/contracts/caveman-telemetry.md +0 -83
- package/scripts/compress.sh +0 -18
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const t of document.querySelectorAll('link[rel="modulepreload"]'))r(t);new MutationObserver(t=>{for(const l of t)if(l.type==="childList")for(const o of l.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function i(t){const l={};return t.integrity&&(l.integrity=t.integrity),t.referrerPolicy&&(l.referrerPolicy=t.referrerPolicy),t.crossOrigin==="use-credentials"?l.credentials="include":t.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function r(t){if(t.ep)return;t.ep=!0;const l=i(t);fetch(t.href,l)}})();var wn,k,ur,dr,W,Oi,fr,hr,En,We,we,pr,si,Bn,jn,Je={},Ze=[],Vt=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,kn=Array.isArray;function z(e,n){for(var i in n)e[i]=n[i];return e}function ui(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function Qt(e,n,i){var r,t,l,o={};for(l in n)l=="key"?r=n[l]:l=="ref"?t=n[l]:o[l]=n[l];if(arguments.length>2&&(o.children=arguments.length>3?wn.call(arguments,2):i),typeof e=="function"&&e.defaultProps!=null)for(l in e.defaultProps)o[l]===void 0&&(o[l]=e.defaultProps[l]);return Ye(e,o,r,t,null)}function Ye(e,n,i,r,t){var l={type:e,props:n,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:t??++ur,__i:-1,__u:0};return t==null&&k.vnode!=null&&k.vnode(l),l}function Q(e){return e.children}function ke(e,n){this.props=e,this.context=n}function he(e,n){if(n==null)return e.__?he(e.__,e.__i+1):null;for(var i;n<e.__k.length;n++)if((i=e.__k[n])!=null&&i.__e!=null)return i.__e;return typeof e.type=="function"?he(e):null}function Jt(e){if(e.__P&&e.__d){var n=e.__v,i=n.__e,r=[],t=[],l=z({},n);l.__v=n.__v+1,k.vnode&&k.vnode(l),di(e.__P,l,n,e.__n,e.__P.namespaceURI,32&n.__u?[i]:null,r,i??he(n),!!(32&n.__u),t),l.__v=n.__v,l.__.__k[l.__i]=l,gr(r,l,t),n.__e=n.__=null,l.__e!=i&&_r(l)}}function _r(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(n){if(n!=null&&n.__e!=null)return e.__e=e.__c.base=n.__e}),_r(e)}function Ni(e){(!e.__d&&(e.__d=!0)&&W.push(e)&&!Xe.__r++||Oi!=k.debounceRendering)&&((Oi=k.debounceRendering)||fr)(Xe)}function Xe(){try{for(var e,n=1;W.length;)W.length>n&&W.sort(hr),e=W.shift(),n=W.length,Jt(e)}finally{W.length=Xe.__r=0}}function vr(e,n,i,r,t,l,o,c,s,d,p){var u,f,h,g,b,w,y,v=r&&r.__k||Ze,D=n.length;for(s=Zt(i,n,v,s,D),u=0;u<D;u++)(h=i.__k[u])!=null&&(f=h.__i!=-1&&v[h.__i]||Je,h.__i=u,w=di(e,h,f,t,l,o,c,s,d,p),g=h.__e,h.ref&&f.ref!=h.ref&&(f.ref&&fi(f.ref,null,h),p.push(h.ref,h.__c||g,h)),b==null&&g!=null&&(b=g),(y=!!(4&h.__u))||f.__k===h.__k?(s=mr(h,s,e,y),y&&f.__e&&(f.__e=null)):typeof h.type=="function"&&w!==void 0?s=w:g&&(s=g.nextSibling),h.__u&=-7);return i.__e=b,s}function Zt(e,n,i,r,t){var l,o,c,s,d,p=i.length,u=p,f=0;for(e.__k=new Array(t),l=0;l<t;l++)(o=n[l])!=null&&typeof o!="boolean"&&typeof o!="function"?(typeof o=="string"||typeof o=="number"||typeof o=="bigint"||o.constructor==String?o=e.__k[l]=Ye(null,o,null,null,null):kn(o)?o=e.__k[l]=Ye(Q,{children:o},null,null,null):o.constructor===void 0&&o.__b>0?o=e.__k[l]=Ye(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):e.__k[l]=o,s=l+f,o.__=e,o.__b=e.__b+1,c=null,(d=o.__i=Xt(o,i,s,u))!=-1&&(u--,(c=i[d])&&(c.__u|=2)),c==null||c.__v==null?(d==-1&&(t>p?f--:t<p&&f++),typeof o.type!="function"&&(o.__u|=4)):d!=s&&(d==s-1?f--:d==s+1?f++:(d>s?f--:f++,o.__u|=4))):e.__k[l]=null;if(u)for(l=0;l<p;l++)(c=i[l])!=null&&!(2&c.__u)&&(c.__e==r&&(r=he(c)),br(c,c));return r}function mr(e,n,i,r){var t,l;if(typeof e.type=="function"){for(t=e.__k,l=0;t&&l<t.length;l++)t[l]&&(t[l].__=e,n=mr(t[l],n,i,r));return n}e.__e!=n&&(r&&(n&&e.type&&!n.parentNode&&(n=he(e)),i.insertBefore(e.__e,n||null)),n=e.__e);do n=n&&n.nextSibling;while(n!=null&&n.nodeType==8);return n}function Xt(e,n,i,r){var t,l,o,c=e.key,s=e.type,d=n[i],p=d!=null&&(2&d.__u)==0;if(d===null&&c==null||p&&c==d.key&&s==d.type)return i;if(r>(p?1:0)){for(t=i-1,l=i+1;t>=0||l<n.length;)if((d=n[o=t>=0?t--:l++])!=null&&!(2&d.__u)&&c==d.key&&s==d.type)return o}return-1}function Ii(e,n,i){n[0]=="-"?e.setProperty(n,i??""):e[n]=i==null?"":typeof i!="number"||Vt.test(n)?i:i+"px"}function je(e,n,i,r,t){var l,o;e:if(n=="style")if(typeof i=="string")e.style.cssText=i;else{if(typeof r=="string"&&(e.style.cssText=r=""),r)for(n in r)i&&n in i||Ii(e.style,n,"");if(i)for(n in i)r&&i[n]==r[n]||Ii(e.style,n,i[n])}else if(n[0]=="o"&&n[1]=="n")l=n!=(n=n.replace(pr,"$1")),o=n.toLowerCase(),n=o in e||n=="onFocusOut"||n=="onFocusIn"?o.slice(2):n.slice(2),e.l||(e.l={}),e.l[n+l]=i,i?r?i[we]=r[we]:(i[we]=si,e.addEventListener(n,l?jn:Bn,l)):e.removeEventListener(n,l?jn:Bn,l);else{if(t=="http://www.w3.org/2000/svg")n=n.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(n!="width"&&n!="height"&&n!="href"&&n!="list"&&n!="form"&&n!="tabIndex"&&n!="download"&&n!="rowSpan"&&n!="colSpan"&&n!="role"&&n!="popover"&&n in e)try{e[n]=i??"";break e}catch{}typeof i=="function"||(i==null||i===!1&&n[4]!="-"?e.removeAttribute(n):e.setAttribute(n,n=="popover"&&i==1?"":i))}}function Fi(e){return function(n){if(this.l){var i=this.l[n.type+e];if(n[We]==null)n[We]=si++;else if(n[We]<i[we])return;return i(k.event?k.event(n):n)}}}function di(e,n,i,r,t,l,o,c,s,d){var p,u,f,h,g,b,w,y,v,D,J,ye,Ei,Be,Tn,B=n.type;if(n.constructor!==void 0)return null;128&i.__u&&(s=!!(32&i.__u),l=[c=n.__e=i.__e]),(p=k.__b)&&p(n);e:if(typeof B=="function")try{if(y=n.props,v=B.prototype&&B.prototype.render,D=(p=B.contextType)&&r[p.__c],J=p?D?D.props.value:p.__:r,i.__c?w=(u=n.__c=i.__c).__=u.__E:(v?n.__c=u=new B(y,J):(n.__c=u=new ke(y,J),u.constructor=B,u.render=nl),D&&D.sub(u),u.state||(u.state={}),u.__n=r,f=u.__d=!0,u.__h=[],u._sb=[]),v&&u.__s==null&&(u.__s=u.state),v&&B.getDerivedStateFromProps!=null&&(u.__s==u.state&&(u.__s=z({},u.__s)),z(u.__s,B.getDerivedStateFromProps(y,u.__s))),h=u.props,g=u.state,u.__v=n,f)v&&B.getDerivedStateFromProps==null&&u.componentWillMount!=null&&u.componentWillMount(),v&&u.componentDidMount!=null&&u.__h.push(u.componentDidMount);else{if(v&&B.getDerivedStateFromProps==null&&y!==h&&u.componentWillReceiveProps!=null&&u.componentWillReceiveProps(y,J),n.__v==i.__v||!u.__e&&u.shouldComponentUpdate!=null&&u.shouldComponentUpdate(y,u.__s,J)===!1){n.__v!=i.__v&&(u.props=y,u.state=u.__s,u.__d=!1),n.__e=i.__e,n.__k=i.__k,n.__k.some(function(te){te&&(te.__=n)}),Ze.push.apply(u.__h,u._sb),u._sb=[],u.__h.length&&o.push(u);break e}u.componentWillUpdate!=null&&u.componentWillUpdate(y,u.__s,J),v&&u.componentDidUpdate!=null&&u.__h.push(function(){u.componentDidUpdate(h,g,b)})}if(u.context=J,u.props=y,u.__P=e,u.__e=!1,ye=k.__r,Ei=0,v)u.state=u.__s,u.__d=!1,ye&&ye(n),p=u.render(u.props,u.state,u.context),Ze.push.apply(u.__h,u._sb),u._sb=[];else do u.__d=!1,ye&&ye(n),p=u.render(u.props,u.state,u.context),u.state=u.__s;while(u.__d&&++Ei<25);u.state=u.__s,u.getChildContext!=null&&(r=z(z({},r),u.getChildContext())),v&&!f&&u.getSnapshotBeforeUpdate!=null&&(b=u.getSnapshotBeforeUpdate(h,g)),Be=p!=null&&p.type===Q&&p.key==null?yr(p.props.children):p,c=vr(e,kn(Be)?Be:[Be],n,i,r,t,l,o,c,s,d),u.base=n.__e,n.__u&=-161,u.__h.length&&o.push(u),w&&(u.__E=u.__=null)}catch(te){if(n.__v=null,s||l!=null)if(te.then){for(n.__u|=s?160:128;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;l[l.indexOf(c)]=null,n.__e=c}else{for(Tn=l.length;Tn--;)ui(l[Tn]);zn(n)}else n.__e=i.__e,n.__k=i.__k,te.then||zn(n);k.__e(te,n,i)}else l==null&&n.__v==i.__v?(n.__k=i.__k,n.__e=i.__e):c=n.__e=el(i.__e,n,i,r,t,l,o,s,d);return(p=k.diffed)&&p(n),128&n.__u?void 0:c}function zn(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(zn))}function gr(e,n,i){for(var r=0;r<i.length;r++)fi(i[r],i[++r],i[++r]);k.__c&&k.__c(n,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(l){l.call(t)})}catch(l){k.__e(l,t.__v)}})}function yr(e){return typeof e!="object"||e==null||e.__b>0?e:kn(e)?e.map(yr):e.constructor!==void 0?null:z({},e)}function el(e,n,i,r,t,l,o,c,s){var d,p,u,f,h,g,b,w=i.props||Je,y=n.props,v=n.type;if(v=="svg"?t="http://www.w3.org/2000/svg":v=="math"?t="http://www.w3.org/1998/Math/MathML":t||(t="http://www.w3.org/1999/xhtml"),l!=null){for(d=0;d<l.length;d++)if((h=l[d])&&"setAttribute"in h==!!v&&(v?h.localName==v:h.nodeType==3)){e=h,l[d]=null;break}}if(e==null){if(v==null)return document.createTextNode(y);e=document.createElementNS(t,v,y.is&&y),c&&(k.__m&&k.__m(n,l),c=!1),l=null}if(v==null)w===y||c&&e.data==y||(e.data=y);else{if(l=v=="textarea"&&y.defaultValue!=null?null:l&&wn.call(e.childNodes),!c&&l!=null)for(w={},d=0;d<e.attributes.length;d++)w[(h=e.attributes[d]).name]=h.value;for(d in w)h=w[d],d=="dangerouslySetInnerHTML"?u=h:d=="children"||d in y||d=="value"&&"defaultValue"in y||d=="checked"&&"defaultChecked"in y||je(e,d,null,h,t);for(d in y)h=y[d],d=="children"?f=h:d=="dangerouslySetInnerHTML"?p=h:d=="value"?g=h:d=="checked"?b=h:c&&typeof h!="function"||w[d]===h||je(e,d,h,w[d],t);if(p)c||u&&(p.__html==u.__html||p.__html==e.innerHTML)||(e.innerHTML=p.__html),n.__k=[];else if(u&&(e.innerHTML=""),vr(n.type=="template"?e.content:e,kn(f)?f:[f],n,i,r,v=="foreignObject"?"http://www.w3.org/1999/xhtml":t,l,o,l?l[0]:i.__k&&he(i,0),c,s),l!=null)for(d=l.length;d--;)ui(l[d]);c&&v!="textarea"||(d="value",v=="progress"&&g==null?e.removeAttribute("value"):g!=null&&(g!==e[d]||v=="progress"&&!g||v=="option"&&g!=w[d])&&je(e,d,g,w[d],t),d="checked",b!=null&&b!=e[d]&&je(e,d,b,w[d],t))}return e}function fi(e,n,i){try{if(typeof e=="function"){var r=typeof e.__u=="function";r&&e.__u(),r&&n==null||(e.__u=e(n))}else e.current=n}catch(t){k.__e(t,i)}}function br(e,n,i){var r,t;if(k.unmount&&k.unmount(e),(r=e.ref)&&(r.current&&r.current!=e.__e||fi(r,null,n)),(r=e.__c)!=null){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(l){k.__e(l,n)}r.base=r.__P=null}if(r=e.__k)for(t=0;t<r.length;t++)r[t]&&br(r[t],n,i||typeof e.type!="function");i||ui(e.__e),e.__c=e.__=e.__e=void 0}function nl(e,n,i){return this.constructor(e,i)}function il(e,n,i){var r,t,l,o;n==document&&(n=document.documentElement),k.__&&k.__(e,n),t=(r=!1)?null:n.__k,l=[],o=[],di(n,e=n.__k=Qt(Q,null,[e]),t||Je,Je,n.namespaceURI,t?null:n.firstChild?wn.call(n.childNodes):null,l,t?t.__e:n.firstChild,r,o),gr(l,e,o)}wn=Ze.slice,k={__e:function(e,n,i,r){for(var t,l,o;n=n.__;)if((t=n.__c)&&!t.__)try{if((l=t.constructor)&&l.getDerivedStateFromError!=null&&(t.setState(l.getDerivedStateFromError(e)),o=t.__d),t.componentDidCatch!=null&&(t.componentDidCatch(e,r||{}),o=t.__d),o)return t.__E=t}catch(c){e=c}throw e}},ur=0,dr=function(e){return e!=null&&e.constructor===void 0},ke.prototype.setState=function(e,n){var i;i=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=z({},this.state),typeof e=="function"&&(e=e(z({},i),this.props)),e&&z(i,e),e!=null&&this.__v&&(n&&this._sb.push(n),Ni(this))},ke.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Ni(this))},ke.prototype.render=Q,W=[],fr=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,hr=function(e,n){return e.__v.__b-n.__v.__b},Xe.__r=0,En=Math.random().toString(8),We="__d"+En,we="__a"+En,pr=/(PointerCapture)$|Capture$/i,si=0,Bn=Fi(!1),jn=Fi(!0);var rl=0;function a(e,n,i,r,t,l){n||(n={});var o,c,s=n;if("ref"in s)for(c in s={},n)c=="ref"?o=n[c]:s[c]=n[c];var d={type:e,props:s,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--rl,__i:-1,__u:0,__source:t,__self:l};if(typeof e=="function"&&(o=e.defaultProps))for(c in o)s[c]===void 0&&(s[c]=o[c]);return k.vnode&&k.vnode(d),d}var Ne,C,On,Li,Un=0,wr=[],S=k,Ri=S.__b,Pi=S.__r,$i=S.diffed,Mi=S.__c,Di=S.unmount,Bi=S.__;function hi(e,n){S.__h&&S.__h(C,e,Un||n),Un=0;var i=C.__H||(C.__H={__:[],__h:[]});return e>=i.__.length&&i.__.push({}),i.__[e]}function kr(e){return Un=1,tl(Cr,e)}function tl(e,n,i){var r=hi(Ne++,2);if(r.t=e,!r.__c&&(r.__=[Cr(void 0,n),function(c){var s=r.__N?r.__N[0]:r.__[0],d=r.t(s,c);s!==d&&(r.__N=[d,r.__[1]],r.__c.setState({}))}],r.__c=C,!C.__f)){var t=function(c,s,d){if(!r.__c.__H)return!0;var p=r.__c.__H.__.filter(function(f){return f.__c});if(p.every(function(f){return!f.__N}))return!l||l.call(this,c,s,d);var u=r.__c.props!==c;return p.some(function(f){if(f.__N){var h=f.__[0];f.__=f.__N,f.__N=void 0,h!==f.__[0]&&(u=!0)}}),l&&l.call(this,c,s,d)||u};C.__f=!0;var l=C.shouldComponentUpdate,o=C.componentWillUpdate;C.componentWillUpdate=function(c,s,d){if(this.__e){var p=l;l=void 0,t(c,s,d),l=p}o&&o.call(this,c,s,d)},C.shouldComponentUpdate=t}return r.__N||r.__}function pi(e,n){var i=hi(Ne++,3);!S.__s&&Ar(i.__H,n)&&(i.__=e,i.u=n,C.__H.__h.push(i))}function xr(e,n){var i=hi(Ne++,7);return Ar(i.__H,n)&&(i.__=e(),i.__H=n,i.__h=e),i.__}function ll(){for(var e;e=wr.shift();){var n=e.__H;if(e.__P&&n)try{n.__h.some(qe),n.__h.some(Hn),n.__h=[]}catch(i){n.__h=[],S.__e(i,e.__v)}}}S.__b=function(e){C=null,Ri&&Ri(e)},S.__=function(e,n){e&&n.__k&&n.__k.__m&&(e.__m=n.__k.__m),Bi&&Bi(e,n)},S.__r=function(e){Pi&&Pi(e),Ne=0;var n=(C=e.__c).__H;n&&(On===C?(n.__h=[],C.__h=[],n.__.some(function(i){i.__N&&(i.__=i.__N),i.u=i.__N=void 0})):(n.__h.some(qe),n.__h.some(Hn),n.__h=[],Ne=0)),On=C},S.diffed=function(e){$i&&$i(e);var n=e.__c;n&&n.__H&&(n.__H.__h.length&&(wr.push(n)!==1&&Li===S.requestAnimationFrame||((Li=S.requestAnimationFrame)||al)(ll)),n.__H.__.some(function(i){i.u&&(i.__H=i.u),i.u=void 0})),On=C=null},S.__c=function(e,n){n.some(function(i){try{i.__h.some(qe),i.__h=i.__h.filter(function(r){return!r.__||Hn(r)})}catch(r){n.some(function(t){t.__h&&(t.__h=[])}),n=[],S.__e(r,i.__v)}}),Mi&&Mi(e,n)},S.unmount=function(e){Di&&Di(e);var n,i=e.__c;i&&i.__H&&(i.__H.__.some(function(r){try{qe(r)}catch(t){n=t}}),i.__H=void 0,n&&S.__e(n,i.__v))};var ji=typeof requestAnimationFrame=="function";function al(e){var n,i=function(){clearTimeout(r),ji&&cancelAnimationFrame(n),setTimeout(e)},r=setTimeout(i,35);ji&&(n=requestAnimationFrame(i))}function qe(e){var n=C,i=e.__c;typeof i=="function"&&(e.__c=void 0,i()),C=n}function Hn(e){var n=C;e.__c=e.__(),C=n}function Ar(e,n){return!e||e.length!==n.length||n.some(function(i,r){return i!==e[r]})}function Cr(e,n){return typeof n=="function"?n(e):n}var ol=Symbol.for("preact-signals");function xn(){if(U>1)U--;else{var e,n=!1;for(function(){var t=nn;for(nn=void 0;t!==void 0;)t.S.v===t.v&&(t.S.i=t.i),t=t.o}();xe!==void 0;){var i=xe;for(xe=void 0,en++;i!==void 0;){var r=i.u;if(i.u=void 0,i.f&=-3,!(8&i.f)&&Tr(i))try{i.c()}catch(t){n||(e=t,n=!0)}i=r}}if(en=0,U--,n)throw e}}function cl(e){if(U>0)return e();Wn=++sl,U++;try{return e()}finally{xn()}}var x=void 0;function _i(e){var n=x;x=void 0;try{return e()}finally{x=n}}var xe=void 0,U=0,en=0,sl=0,Wn=0,nn=void 0,rn=0;function Sr(e){if(x!==void 0){var n=e.n;if(n===void 0||n.t!==x)return n={i:0,S:e,p:x.s,n:void 0,t:x,e:void 0,x:void 0,r:n},x.s!==void 0&&(x.s.n=n),x.s=n,e.n=n,32&x.f&&e.S(n),n;if(n.i===-1)return n.i=0,n.n!==void 0&&(n.n.p=n.p,n.p!==void 0&&(n.p.n=n.n),n.p=x.s,n.n=void 0,x.s.n=n,x.s=n),n}}function N(e,n){this.v=e,this.i=0,this.n=void 0,this.t=void 0,this.l=0,this.W=n?.watched,this.Z=n?.unwatched,this.name=n?.name}N.prototype.brand=ol;N.prototype.h=function(){return!0};N.prototype.S=function(e){var n=this,i=this.t;i!==e&&e.e===void 0&&(e.x=i,this.t=e,i!==void 0?i.e=e:_i(function(){var r;(r=n.W)==null||r.call(n)}))};N.prototype.U=function(e){var n=this;if(this.t!==void 0){var i=e.e,r=e.x;i!==void 0&&(i.x=r,e.e=void 0),r!==void 0&&(r.e=i,e.x=void 0),e===this.t&&(this.t=r,r===void 0&&_i(function(){var t;(t=n.Z)==null||t.call(n)}))}};N.prototype.subscribe=function(e){var n=this;return Me(function(){var i=n.value,r=x;x=void 0;try{e(i)}finally{x=r}},{name:"sub"})};N.prototype.valueOf=function(){return this.value};N.prototype.toString=function(){return this.value+""};N.prototype.toJSON=function(){return this.value};N.prototype.peek=function(){var e=this;return _i(function(){return e.value})};Object.defineProperty(N.prototype,"value",{get:function(){var e=Sr(this);return e!==void 0&&(e.i=this.i),this.v},set:function(e){if(e!==this.v){if(en>100)throw new Error("Cycle detected");(function(i){U!==0&&en===0&&i.l!==Wn&&(i.l=Wn,nn={S:i,v:i.v,i:i.i,o:nn})})(this),this.v=e,this.i++,rn++,U++;try{for(var n=this.t;n!==void 0;n=n.x)n.t.N()}finally{xn()}}}});function _(e,n){return new N(e,n)}function Tr(e){for(var n=e.s;n!==void 0;n=n.n)if(n.S.i!==n.i||!n.S.h()||n.S.i!==n.i)return!0;return!1}function Er(e){for(var n=e.s;n!==void 0;n=n.n){var i=n.S.n;if(i!==void 0&&(n.r=i),n.S.n=n,n.i=-1,n.n===void 0){e.s=n;break}}}function Or(e){for(var n=e.s,i=void 0;n!==void 0;){var r=n.p;n.i===-1?(n.S.U(n),r!==void 0&&(r.n=n.n),n.n!==void 0&&(n.n.p=r)):i=n,n.S.n=n.r,n.r!==void 0&&(n.r=void 0),n=r}e.s=i}function ie(e,n){N.call(this,void 0),this.x=e,this.s=void 0,this.g=rn-1,this.f=4,this.W=n?.watched,this.Z=n?.unwatched,this.name=n?.name}ie.prototype=new N;ie.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===rn))return!0;if(this.g=rn,this.f|=1,this.i>0&&!Tr(this))return this.f&=-2,!0;var e=x;try{Er(this),x=this;var n=this.x();(16&this.f||this.v!==n||this.i===0)&&(this.v=n,this.f&=-17,this.i++)}catch(i){this.v=i,this.f|=16,this.i++}return x=e,Or(this),this.f&=-2,!0};ie.prototype.S=function(e){if(this.t===void 0){this.f|=36;for(var n=this.s;n!==void 0;n=n.n)n.S.S(n)}N.prototype.S.call(this,e)};ie.prototype.U=function(e){if(this.t!==void 0&&(N.prototype.U.call(this,e),this.t===void 0)){this.f&=-33;for(var n=this.s;n!==void 0;n=n.n)n.S.U(n)}};ie.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var e=this.t;e!==void 0;e=e.x)e.t.N()}};Object.defineProperty(ie.prototype,"value",{get:function(){if(1&this.f)throw new Error("Cycle detected");var e=Sr(this);if(this.h(),e!==void 0&&(e.i=this.i),16&this.f)throw this.v;return this.v}});function zi(e,n){return new ie(e,n)}function Nr(e){var n=e.m;if(e.m=void 0,typeof n=="function"){U++;var i=x;x=void 0;try{n()}catch(r){throw e.f&=-2,e.f|=8,vi(e),r}finally{x=i,xn()}}}function vi(e){for(var n=e.s;n!==void 0;n=n.n)n.S.U(n);e.x=void 0,e.s=void 0,Nr(e)}function ul(e){if(x!==this)throw new Error("Out-of-order effect");Or(this),x=e,this.f&=-2,8&this.f&&vi(this),xn()}function me(e,n){this.x=e,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=n?.name}me.prototype.c=function(){var e=this.S();try{if(8&this.f||this.x===void 0)return;var n=this.x();typeof n=="function"&&(this.m=n)}finally{e()}};me.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,Nr(this),Er(this),U++;var e=x;return x=this,ul.bind(this,e)};me.prototype.N=function(){2&this.f||(this.f|=2,this.u=xe,xe=this)};me.prototype.d=function(){this.f|=8,1&this.f||vi(this)};me.prototype.dispose=function(){this.d()};function Me(e,n){var i=new me(e,n);try{i.c()}catch(t){throw i.d(),t}var r=i.d.bind(i);return r[Symbol.dispose]=r,r}var Ir,ze,dl=typeof window<"u"&&!!window.__PREACT_SIGNALS_DEVTOOLS__,Fr=[];Me(function(){Ir=this.N})();function ge(e,n){k[e]=n.bind(null,k[e]||function(){})}function tn(e){if(ze){var n=ze;ze=void 0,n()}ze=e&&e.S()}function Lr(e){var n=this,i=e.data,r=hl(i);r.value=i;var t=xr(function(){for(var c=n,s=n.__v;s=s.__;)if(s.__c){s.__c.__$f|=4;break}var d=zi(function(){var h=r.value.value;return h===0?0:h===!0?"":h||""}),p=zi(function(){return!Array.isArray(d.value)&&!dr(d.value)}),u=Me(function(){if(this.N=Rr,p.value){var h=d.value;c.__v&&c.__v.__e&&c.__v.__e.nodeType===3&&(c.__v.__e.data=h)}}),f=n.__$u.d;return n.__$u.d=function(){u(),f.call(this)},[p,d]},[]),l=t[0],o=t[1];return l.value?o.peek():o.value}Lr.displayName="ReactiveTextNode";Object.defineProperties(N.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:Lr},props:{configurable:!0,get:function(){var e=this;return{data:{get value(){return e.value}}}}},__b:{configurable:!0,value:1}});ge("__b",function(e,n){if(typeof n.type=="string"){var i,r=n.props;for(var t in r)if(t!=="children"){var l=r[t];l instanceof N&&(i||(n.__np=i={}),i[t]=l,r[t]=l.peek())}}e(n)});ge("__r",function(e,n){if(e(n),n.type!==Q){tn();var i,r=n.__c;r&&(r.__$f&=-2,(i=r.__$u)===void 0&&(r.__$u=i=function(t,l){var o;return Me(function(){o=this},{name:l}),o.c=t,o}(function(){var t;dl&&((t=i.y)==null||t.call(i)),r.__$f|=1,r.setState({})},typeof n.type=="function"?n.type.displayName||n.type.name:""))),tn(i)}});ge("__e",function(e,n,i,r){tn(),e(n,i,r)});ge("diffed",function(e,n){tn();var i;if(typeof n.type=="string"&&(i=n.__e)){var r=n.__np,t=n.props;if(r){var l=i.U;if(l)for(var o in l){var c=l[o];c!==void 0&&!(o in r)&&(c.d(),l[o]=void 0)}else l={},i.U=l;for(var s in r){var d=l[s],p=r[s];d===void 0?(d=fl(i,s,p),l[s]=d):d.o(p,t)}for(var u in r)t[u]=r[u]}}e(n)});function fl(e,n,i,r){var t=n in e&&e.ownerSVGElement===void 0,l=_(i),o=i.peek();return{o:function(c,s){l.value=c,o=c.peek()},d:Me(function(){this.N=Rr;var c=l.value.value;o!==c?(o=void 0,t?e[n]=c:c!=null&&(c!==!1||n[4]==="-")?e.setAttribute(n,c):e.removeAttribute(n)):o=void 0})}}ge("unmount",function(e,n){if(typeof n.type=="string"){var i=n.__e;if(i){var r=i.U;if(r){i.U=void 0;for(var t in r){var l=r[t];l&&l.d()}}}n.__np=void 0}else{var o=n.__c;if(o){var c=o.__$u;c&&(o.__$u=void 0,c.d())}}e(n)});ge("__h",function(e,n,i,r){(r<3||r===9)&&(n.__$f|=2),e(n,i,r)});ke.prototype.shouldComponentUpdate=function(e,n){if(this.__R)return!0;var i=this.__$u,r=i&&i.s!==void 0;for(var t in n)return!0;if(this.__f||typeof this.u=="boolean"&&this.u===!0){var l=2&this.__$f;if(!(r||l||4&this.__$f)||1&this.__$f)return!0}else if(!(r||4&this.__$f)||3&this.__$f)return!0;for(var o in e)if(o!=="__source"&&e[o]!==this.props[o])return!0;for(var c in this.props)if(!(c in e))return!0;return!1};function hl(e,n){return xr(function(){return _(e,n)},[])}var pl=function(e){queueMicrotask(function(){queueMicrotask(e)})};function _l(){cl(function(){for(var e;e=Fr.shift();)Ir.call(e)})}function Rr(){Fr.push(this)===1&&(k.requestAnimationFrame||pl)(_l)}function Pr(){const e=window.location.hash;return e===""||e==="#"?"/":e.startsWith("#")?e.slice(1):e}const oe=_(Pr());function Yn(e){const n=e.startsWith("/")?e:`/${e}`;`#${n}`!==window.location.hash&&(window.location.hash=n)}let Ui=!1;function vl(){Ui||(Ui=!0,window.addEventListener("hashchange",()=>{oe.value=Pr()}))}let qn=null;function ml(e){qn=e}class $ extends Error{status;body;constructor(n,i,r){super(r),this.status=n,this.body=i}}async function A(e,n={}){const i={Accept:"application/json",...n.headers??{}};qn!==null&&(i.Authorization=`Bearer ${qn}`);const{body:r,...t}=n,l={...t,headers:i};r!==void 0&&(l.body=JSON.stringify(r),i["Content-Type"]="application/json");const o=await fetch(e,l),c=await o.text(),s=c===""?{}:JSON.parse(c);if(!o.ok){const d=s.error?.message??`request failed (${o.status})`;throw new $(o.status,s,d)}return s}const pe=_(null);async function gl(){try{const e=await A("/api/v1/ping");pe.value={...e,projectScopeAvailable:e.projectScopeAvailable===!0}}catch{pe.value=null}}function K(e){switch(e.code){case"VALIDATION":return"Some fields need attention before saving.";case"CONFLICT":return"This file changed on disk while you were editing. Review the latest version and re-save.";case"PRECONDITION_REQUIRED":return"Reload the page once — the optimistic-lock token is missing.";case"NOT_FOUND":return"The file does not exist yet. Use the wizard to create it.";case"ATOMIC_WRITE":return"Write failed mid-flight. The file was not partially modified.";case"YAML_PARSE":return"YAML parse error — fix the file by hand, then reload.";default:return e.message}}function yl(e){return/expected (boolean|string|number)/i.test(e)?e.replace(/^expected/i,"Expected"):e}function $r(e){const n={};for(const i of e.fields??[])n[i.path]=yl(i.message);return n}function bl({id:e,children:n}){return a("p",{class:"ac-field__description",id:e,children:n})}function wl({id:e,children:n}){return a("p",{class:"ac-field__error",id:e,role:"alert","aria-live":"polite",children:n})}function re({id:e,label:n,description:i,error:r,children:t}){const l=i!==void 0?`${e}-desc`:void 0,o=r!==void 0?`${e}-err`:void 0;return a("div",{class:"ac-field","data-invalid":r!==void 0?"true":void 0,children:[a("label",{class:"ac-field__label",for:e,children:n}),i!==void 0?a(bl,{id:l,children:i}):null,a("div",{class:"ac-field__control","aria-describedby":l,"aria-errormessage":o,children:t}),r!==void 0?a(wl,{id:o,children:r}):null]})}function Mr(e){return a(re,{id:e.id,label:e.label,description:e.description,error:e.error,children:a("input",{class:"ac-input",type:"text",id:e.id,name:e.name,value:e.value,placeholder:e.placeholder,"aria-invalid":e.error!==void 0?"true":void 0,onInput:n=>e.onChange(n.currentTarget.value)})})}function kl(e){const n=e.step??(e.integer===!0?1:"any");return a(re,{id:e.id,label:e.label,description:e.description,error:e.error,children:a("input",{class:"ac-input",type:"number",id:e.id,name:e.name,value:Number.isFinite(e.value)?String(e.value):"0",min:e.min,max:e.max,step:n,"aria-invalid":e.error!==void 0?"true":void 0,onInput:i=>{const r=i.currentTarget.value,t=r===""?0:Number(r);e.onChange(Number.isFinite(t)?t:0)}})})}function xl(e){return a(re,{id:e.id,label:e.label,description:e.description,error:e.error,children:a("label",{class:"ac-toggle",children:[a("input",{type:"checkbox",id:e.id,name:e.name,checked:e.value,"aria-invalid":e.error!==void 0?"true":void 0,onChange:n=>e.onChange(n.currentTarget.checked)}),a("span",{class:"ac-toggle__track","aria-hidden":"true"}),a("span",{class:"ac-toggle__state",children:e.value?"On":"Off"})]})})}function Kn(e){const n=e.options.length>3;return a(re,{id:e.id,label:e.label,description:e.description,error:e.error,children:n?a("select",{class:"ac-input",id:e.id,name:e.name,value:e.value,"aria-invalid":e.error!==void 0?"true":void 0,onChange:i=>e.onChange(i.currentTarget.value),children:e.options.map(i=>a("option",{value:i.value,children:i.label??(i.value===""?"(none)":i.value)},i.value))}):a("div",{class:"ac-radio-group",role:"radiogroup","aria-labelledby":`${e.id}-label`,children:e.options.map(i=>{const r=`${e.id}-${i.value||"none"}`;return a("label",{class:"ac-radio",for:r,children:[a("input",{type:"radio",id:r,name:e.name,value:i.value,checked:i.value===e.value,onChange:()=>e.onChange(i.value)}),a("span",{children:i.label??(i.value===""?"(none)":i.value)})]},i.value)})})})}function ln(e){return a(re,{id:e.id,label:e.label,description:e.description,error:e.error,children:a("textarea",{class:"ac-textarea",id:e.id,name:e.name,rows:e.rows??6,placeholder:e.placeholder,"aria-invalid":e.error!==void 0?"true":void 0,onInput:n=>e.onChange(n.currentTarget.value),children:e.value})})}function Dr(e){return e.replace(/_/g," ").replace(/\./g," › ").replace(/\b\w/g,n=>n.toUpperCase())}function Al(e){return e.enum!==void 0&&e.enum.length>0?"enum":e.type==="integer"?"integer":e.type==="number"?"number":e.type==="boolean"?"boolean":e.type==="string"?"string":e.type==="array"&&e.items?.type==="string"?"array-of-strings":"unsupported"}function Nn(e,n){const i=Al(n);return{path:e,kind:i,label:Dr(e[e.length-1]??""),description:n.description,options:n.enum,min:n.minimum,max:n.maximum}}function Cl(e){const n=[],i=e.properties??{};for(const[r,t]of Object.entries(i))if(t.type==="object"&&t.properties!==void 0){const l=[];for(const[o,c]of Object.entries(t.properties))if(c.type==="object"&&c.properties!==void 0)for(const[s,d]of Object.entries(c.properties))l.push(Nn([r,o,s],d));else l.push(Nn([r,o],c));n.push({path:[r],label:Dr(r),description:t.description,fields:l})}else{const l=n.find(c=>c.path[0]==="__general"),o=Nn([r],t);l===void 0?n.unshift({path:["__general"],label:"General",fields:[o]}):l.fields.push(o)}return n}function Sl(e,n){let i=e;for(const r of n){if(i===null||typeof i!="object"||Array.isArray(i))return;i=i[r]}return i}function Br(e,n,i){if(n.length===0)return e;const[r,...t]=n;if(r===void 0)return e;const l={...e};if(t.length===0)return l[r]=i,l;const o=l[r],c=o!==null&&typeof o=="object"&&!Array.isArray(o)?o:{};return l[r]=Br(c,t,i),l}function Ae(e){return e.join(".")}function Tl(e,n,i,r){const t=Ae(e.path),l=t,o=Sl(n,e.path),c=i[t],s=d=>{r(Br(n,e.path,d))};switch(e.kind){case"string":{const d=typeof o=="string"?o:"";return d.length>80?a(ln,{id:t,name:l,label:e.label,description:e.description,error:c,value:d,onChange:s}):a(Mr,{id:t,name:l,label:e.label,description:e.description,error:c,value:d,onChange:s})}case"enum":{const d=typeof o=="string"||typeof o=="number"?String(o):"",p=(e.options??[]).map(u=>({value:String(u)}));return a(Kn,{id:t,name:l,label:e.label,description:e.description,error:c,value:d,options:p,onChange:s})}case"number":case"integer":{const d=typeof o=="number"?o:0;return a(kl,{id:t,name:l,label:e.label,description:e.description,error:c,value:d,integer:e.kind==="integer",min:e.min,max:e.max,onChange:s})}case"boolean":{const d=typeof o=="boolean"?o:!1;return a(xl,{id:t,name:l,label:e.label,description:e.description,error:c,value:d,onChange:s})}case"array-of-strings":{const p=(Array.isArray(o)?o.filter(u=>typeof u=="string"):[]).join(`
|
|
2
|
+
`);return a(ln,{id:t,name:l,label:e.label,description:`${e.description??""} (one entry per line)`.trim(),error:c,value:p,onChange:u=>{const f=u.split(`
|
|
3
|
+
`).map(h=>h.trim()).filter(h=>h!=="");s(f)}})}default:return null}}function El({section:e,values:n,errors:i,onChange:r}){return a("section",{class:"ac-section","aria-labelledby":`section-${Ae(e.path)}`,children:[a("h2",{class:"ac-section__title",id:`section-${Ae(e.path)}`,children:e.label}),e.description!==void 0?a("p",{class:"ac-section__description",children:e.description}):null,a("div",{class:"ac-section__fields",children:e.fields.map(t=>a("div",{children:Tl(t,n,i,r)},Ae(t.path)))})]})}function Ol(e){const n=Cl(e.schema),i=e.errors??{};return a("form",{class:"ac-form",onSubmit:r=>r.preventDefault(),children:[n.map(r=>a(El,{section:r,values:e.values,errors:i,onChange:e.onChange},Ae(r.path))),e.actions!==void 0?a("div",{class:"ac-form__actions",children:e.actions}):null]})}function Nl(e){const[n]=kr(()=>`${e.id}-list`);return a(re,{id:e.id,label:e.label,description:e.description,error:e.error,children:[a("input",{class:"ac-input",type:"text",id:e.id,name:e.name,value:e.value,placeholder:e.placeholder,list:n,"aria-invalid":e.error!==void 0?"true":void 0,onInput:i=>e.onChange(i.currentTarget.value)}),a("datalist",{id:n,children:e.suggestions.map(i=>a("option",{value:i},i))})]})}const Il=["developer","reviewer","designer","product-manager","ops","qa","maintainer"],Fl=["de","en","en-US","en-GB","fr","es","it","nl","pt","pt-BR"];function Hi(){return new Date().toISOString().slice(0,10)}function Z(e,n){return e?.[n]}function Ll({value:e,onChange:n,errors:i}){const[r,t]=kr(""),l="umd-role-suggestions";function o(f){n({...e,...f,last_updated:Hi()})}const c=e.role.filter(f=>f.trim()!=="");function s(f){const h=f.trim();if(h===""||c.includes(h)){t("");return}o({role:[...c,h]}),t("")}function d(f){c.length<=1||o({role:c.filter(h=>h!==f)})}function p(f){const h={...e,last_updated:Hi()};f===""?delete h.notes:h.notes=f,n(h)}const u=Il.filter(f=>!c.includes(f));return a("div",{class:"ac-user-md-form",children:[a(Mr,{id:"umd-name",name:"identity.name",label:"Name",description:'How the agent addresses you in chat (e.g. "Matze", "Sarah"). Required.',value:e.identity.name,error:Z(i,"identity.name"),onChange:f=>o({identity:{...e.identity,name:f}})}),a(Nl,{id:"umd-language",name:"language",label:"Language",description:"BCP-47 tag the agent mirrors in replies (e.g. 'de', 'en', 'en-US').",value:e.language,suggestions:Fl,error:Z(i,"language"),onChange:f=>o({language:f})}),a(re,{id:"umd-role-input",label:"Roles",description:"One or more roles. Seeded suggestions are non-binding — type anything and press Enter.",error:Z(i,"role"),children:[a("ul",{class:"ac-chip-list","data-testid":"umd-role-list",children:c.map(f=>a("li",{class:"ac-chip",children:[a("span",{children:f}),a("button",{type:"button",class:"ac-chip__remove","aria-label":`Remove ${f}`,disabled:c.length<=1,onClick:()=>d(f),children:"×"})]},f))}),a("div",{class:"ac-role-add",children:[a("input",{class:"ac-input",type:"text",id:"umd-role-input",name:"role-add",list:l,placeholder:"Add a role and press Enter",value:r,onInput:f=>t(f.currentTarget.value),onKeyDown:f=>{(f.key==="Enter"||f.key===",")&&(f.preventDefault(),s(r))}}),a("datalist",{id:l,children:u.map(f=>a("option",{value:f},f))}),a("button",{type:"button",class:"ac-button",onClick:()=>s(r),children:"Add role"})]})]}),a(Kn,{id:"umd-formality",name:"style.formality",label:"Formality",value:e.style.formality,error:Z(i,"style.formality"),options:[{value:"informal",label:"Informal (Du / first-name)"},{value:"formal",label:"Formal (Sie / surname)"}],onChange:f=>o({style:{...e.style,formality:f}})}),a(Kn,{id:"umd-pace",name:"style.pace",label:"Pace",value:e.style.pace,error:Z(i,"style.pace"),options:[{value:"pragmatic",label:"Pragmatic"},{value:"thorough",label:"Thorough"},{value:"rapid",label:"Rapid"}],onChange:f=>o({style:{...e.style,pace:f}})}),a(ln,{id:"umd-voice",name:"voice_sample",label:"Voice sample",description:"One to three sentences in your own style. The agent uses it as a tone anchor.",rows:4,value:e.voice_sample,error:Z(i,"voice_sample"),onChange:f=>o({voice_sample:f})}),a(ln,{id:"umd-notes",name:"notes",label:"Notes",description:"Optional free-form prose the agent remembers across sessions.",rows:6,value:e.notes??"",error:Z(i,"notes"),onChange:p})]})}function jr(){return{version:1,identity:{name:""},language:"en",role:[""],style:{formality:"informal",pace:"pragmatic"},voice_sample:"",last_updated:"1970-01-01"}}function Wi(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ue(e,n){return typeof e=="string"?e:n}function Rl(e){return e==="formal"?"formal":"informal"}function Pl(e){return e==="thorough"||e==="rapid"?e:"pragmatic"}function $l(e){if(!Array.isArray(e))return[""];const n=e.filter(i=>typeof i=="string");return n.length===0?[""]:n}function Ml(e){if(typeof e=="string")return e===""?void 0:e}function Yi(e){const n=jr(),i=Wi(e.identity)?e.identity:{},r=Wi(e.style)?e.style:{},t=Ml(e.notes),l={version:1,identity:{name:Ue(i.name,n.identity.name)},language:Ue(e.language,n.language),role:$l(e.role),style:{formality:Rl(r.formality),pace:Pl(r.pace)},voice_sample:Ue(e.voice_sample,n.voice_sample),last_updated:Ue(e.last_updated,n.last_updated)};return t!==void 0&&(l.notes=t),l}/*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT */function zr(e){return typeof e>"u"||e===null}function Dl(e){return typeof e=="object"&&e!==null}function Bl(e){return Array.isArray(e)?e:zr(e)?[]:[e]}function jl(e,n){var i,r,t,l;if(n)for(l=Object.keys(n),i=0,r=l.length;i<r;i+=1)t=l[i],e[t]=n[t];return e}function zl(e,n){var i="",r;for(r=0;r<n;r+=1)i+=e;return i}function Ul(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var Hl=zr,Wl=Dl,Yl=Bl,ql=zl,Kl=Ul,Gl=jl,E={isNothing:Hl,isObject:Wl,toArray:Yl,repeat:ql,isNegativeZero:Kl,extend:Gl};function Ur(e,n){var i="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(i+='in "'+e.mark.name+'" '),i+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!n&&e.mark.snippet&&(i+=`
|
|
4
|
+
|
|
5
|
+
`+e.mark.snippet),r+" "+i):r}function Ie(e,n){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=n,this.message=Ur(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Ie.prototype=Object.create(Error.prototype);Ie.prototype.constructor=Ie;Ie.prototype.toString=function(n){return this.name+": "+Ur(this,n)};var L=Ie;function In(e,n,i,r,t){var l="",o="",c=Math.floor(t/2)-1;return r-n>c&&(l=" ... ",n=r-c+l.length),i-r>c&&(o=" ...",i=r+c-o.length),{str:l+e.slice(n,i).replace(/\t/g,"→")+o,pos:r-n+l.length}}function Fn(e,n){return E.repeat(" ",n-e.length)+e}function Vl(e,n){if(n=Object.create(n||null),!e.buffer)return null;n.maxLength||(n.maxLength=79),typeof n.indent!="number"&&(n.indent=1),typeof n.linesBefore!="number"&&(n.linesBefore=3),typeof n.linesAfter!="number"&&(n.linesAfter=2);for(var i=/\r?\n|\r|\0/g,r=[0],t=[],l,o=-1;l=i.exec(e.buffer);)t.push(l.index),r.push(l.index+l[0].length),e.position<=l.index&&o<0&&(o=r.length-2);o<0&&(o=r.length-1);var c="",s,d,p=Math.min(e.line+n.linesAfter,t.length).toString().length,u=n.maxLength-(n.indent+p+3);for(s=1;s<=n.linesBefore&&!(o-s<0);s++)d=In(e.buffer,r[o-s],t[o-s],e.position-(r[o]-r[o-s]),u),c=E.repeat(" ",n.indent)+Fn((e.line-s+1).toString(),p)+" | "+d.str+`
|
|
6
|
+
`+c;for(d=In(e.buffer,r[o],t[o],e.position,u),c+=E.repeat(" ",n.indent)+Fn((e.line+1).toString(),p)+" | "+d.str+`
|
|
7
|
+
`,c+=E.repeat("-",n.indent+p+3+d.pos)+`^
|
|
8
|
+
`,s=1;s<=n.linesAfter&&!(o+s>=t.length);s++)d=In(e.buffer,r[o+s],t[o+s],e.position-(r[o]-r[o+s]),u),c+=E.repeat(" ",n.indent)+Fn((e.line+s+1).toString(),p)+" | "+d.str+`
|
|
9
|
+
`;return c.replace(/\n$/,"")}var Ql=Vl,Jl=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Zl=["scalar","sequence","mapping"];function Xl(e){var n={};return e!==null&&Object.keys(e).forEach(function(i){e[i].forEach(function(r){n[String(r)]=i})}),n}function ea(e,n){if(n=n||{},Object.keys(n).forEach(function(i){if(Jl.indexOf(i)===-1)throw new L('Unknown option "'+i+'" is met in definition of "'+e+'" YAML type.')}),this.options=n,this.tag=e,this.kind=n.kind||null,this.resolve=n.resolve||function(){return!0},this.construct=n.construct||function(i){return i},this.instanceOf=n.instanceOf||null,this.predicate=n.predicate||null,this.represent=n.represent||null,this.representName=n.representName||null,this.defaultStyle=n.defaultStyle||null,this.multi=n.multi||!1,this.styleAliases=Xl(n.styleAliases||null),Zl.indexOf(this.kind)===-1)throw new L('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var O=ea;function qi(e,n){var i=[];return e[n].forEach(function(r){var t=i.length;i.forEach(function(l,o){l.tag===r.tag&&l.kind===r.kind&&l.multi===r.multi&&(t=o)}),i[t]=r}),i}function na(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},n,i;function r(t){t.multi?(e.multi[t.kind].push(t),e.multi.fallback.push(t)):e[t.kind][t.tag]=e.fallback[t.tag]=t}for(n=0,i=arguments.length;n<i;n+=1)arguments[n].forEach(r);return e}function Gn(e){return this.extend(e)}Gn.prototype.extend=function(n){var i=[],r=[];if(n instanceof O)r.push(n);else if(Array.isArray(n))r=r.concat(n);else if(n&&(Array.isArray(n.implicit)||Array.isArray(n.explicit)))n.implicit&&(i=i.concat(n.implicit)),n.explicit&&(r=r.concat(n.explicit));else throw new L("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");i.forEach(function(l){if(!(l instanceof O))throw new L("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(l.loadKind&&l.loadKind!=="scalar")throw new L("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(l.multi)throw new L("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),r.forEach(function(l){if(!(l instanceof O))throw new L("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var t=Object.create(Gn.prototype);return t.implicit=(this.implicit||[]).concat(i),t.explicit=(this.explicit||[]).concat(r),t.compiledImplicit=qi(t,"implicit"),t.compiledExplicit=qi(t,"explicit"),t.compiledTypeMap=na(t.compiledImplicit,t.compiledExplicit),t};var Hr=Gn,Wr=new O("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),Yr=new O("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),qr=new O("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),Kr=new Hr({explicit:[Wr,Yr,qr]});function ia(e){if(e===null)return!0;var n=e.length;return n===1&&e==="~"||n===4&&(e==="null"||e==="Null"||e==="NULL")}function ra(){return null}function ta(e){return e===null}var Gr=new O("tag:yaml.org,2002:null",{kind:"scalar",resolve:ia,construct:ra,predicate:ta,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function la(e){if(e===null)return!1;var n=e.length;return n===4&&(e==="true"||e==="True"||e==="TRUE")||n===5&&(e==="false"||e==="False"||e==="FALSE")}function aa(e){return e==="true"||e==="True"||e==="TRUE"}function oa(e){return Object.prototype.toString.call(e)==="[object Boolean]"}var Vr=new O("tag:yaml.org,2002:bool",{kind:"scalar",resolve:la,construct:aa,predicate:oa,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"});function ca(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function sa(e){return 48<=e&&e<=55}function ua(e){return 48<=e&&e<=57}function da(e){if(e===null)return!1;var n=e.length,i=0,r=!1,t;if(!n)return!1;if(t=e[i],(t==="-"||t==="+")&&(t=e[++i]),t==="0"){if(i+1===n)return!0;if(t=e[++i],t==="b"){for(i++;i<n;i++)if(t=e[i],t!=="_"){if(t!=="0"&&t!=="1")return!1;r=!0}return r&&t!=="_"}if(t==="x"){for(i++;i<n;i++)if(t=e[i],t!=="_"){if(!ca(e.charCodeAt(i)))return!1;r=!0}return r&&t!=="_"}if(t==="o"){for(i++;i<n;i++)if(t=e[i],t!=="_"){if(!sa(e.charCodeAt(i)))return!1;r=!0}return r&&t!=="_"}}if(t==="_")return!1;for(;i<n;i++)if(t=e[i],t!=="_"){if(!ua(e.charCodeAt(i)))return!1;r=!0}return!(!r||t==="_")}function fa(e){var n=e,i=1,r;if(n.indexOf("_")!==-1&&(n=n.replace(/_/g,"")),r=n[0],(r==="-"||r==="+")&&(r==="-"&&(i=-1),n=n.slice(1),r=n[0]),n==="0")return 0;if(r==="0"){if(n[1]==="b")return i*parseInt(n.slice(2),2);if(n[1]==="x")return i*parseInt(n.slice(2),16);if(n[1]==="o")return i*parseInt(n.slice(2),8)}return i*parseInt(n,10)}function ha(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!E.isNegativeZero(e)}var Qr=new O("tag:yaml.org,2002:int",{kind:"scalar",resolve:da,construct:fa,predicate:ha,represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),pa=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function _a(e){return!(e===null||!pa.test(e)||e[e.length-1]==="_")}function va(e){var n,i;return n=e.replace(/_/g,"").toLowerCase(),i=n[0]==="-"?-1:1,"+-".indexOf(n[0])>=0&&(n=n.slice(1)),n===".inf"?i===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:n===".nan"?NaN:i*parseFloat(n,10)}var ma=/^[-+]?[0-9]+e/;function ga(e,n){var i;if(isNaN(e))switch(n){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(n){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(n){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(E.isNegativeZero(e))return"-0.0";return i=e.toString(10),ma.test(i)?i.replace("e",".e"):i}function ya(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||E.isNegativeZero(e))}var Jr=new O("tag:yaml.org,2002:float",{kind:"scalar",resolve:_a,construct:va,predicate:ya,represent:ga,defaultStyle:"lowercase"}),Zr=Kr.extend({implicit:[Gr,Vr,Qr,Jr]}),Xr=Zr,et=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),nt=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function ba(e){return e===null?!1:et.exec(e)!==null||nt.exec(e)!==null}function wa(e){var n,i,r,t,l,o,c,s=0,d=null,p,u,f;if(n=et.exec(e),n===null&&(n=nt.exec(e)),n===null)throw new Error("Date resolve error");if(i=+n[1],r=+n[2]-1,t=+n[3],!n[4])return new Date(Date.UTC(i,r,t));if(l=+n[4],o=+n[5],c=+n[6],n[7]){for(s=n[7].slice(0,3);s.length<3;)s+="0";s=+s}return n[9]&&(p=+n[10],u=+(n[11]||0),d=(p*60+u)*6e4,n[9]==="-"&&(d=-d)),f=new Date(Date.UTC(i,r,t,l,o,c,s)),d&&f.setTime(f.getTime()-d),f}function ka(e){return e.toISOString()}var it=new O("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:ba,construct:wa,instanceOf:Date,represent:ka});function xa(e){return e==="<<"||e===null}var rt=new O("tag:yaml.org,2002:merge",{kind:"scalar",resolve:xa}),mi=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
10
|
+
\r`;function Aa(e){if(e===null)return!1;var n,i,r=0,t=e.length,l=mi;for(i=0;i<t;i++)if(n=l.indexOf(e.charAt(i)),!(n>64)){if(n<0)return!1;r+=6}return r%8===0}function Ca(e){var n,i,r=e.replace(/[\r\n=]/g,""),t=r.length,l=mi,o=0,c=[];for(n=0;n<t;n++)n%4===0&&n&&(c.push(o>>16&255),c.push(o>>8&255),c.push(o&255)),o=o<<6|l.indexOf(r.charAt(n));return i=t%4*6,i===0?(c.push(o>>16&255),c.push(o>>8&255),c.push(o&255)):i===18?(c.push(o>>10&255),c.push(o>>2&255)):i===12&&c.push(o>>4&255),new Uint8Array(c)}function Sa(e){var n="",i=0,r,t,l=e.length,o=mi;for(r=0;r<l;r++)r%3===0&&r&&(n+=o[i>>18&63],n+=o[i>>12&63],n+=o[i>>6&63],n+=o[i&63]),i=(i<<8)+e[r];return t=l%3,t===0?(n+=o[i>>18&63],n+=o[i>>12&63],n+=o[i>>6&63],n+=o[i&63]):t===2?(n+=o[i>>10&63],n+=o[i>>4&63],n+=o[i<<2&63],n+=o[64]):t===1&&(n+=o[i>>2&63],n+=o[i<<4&63],n+=o[64],n+=o[64]),n}function Ta(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var tt=new O("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Aa,construct:Ca,predicate:Ta,represent:Sa}),Ea=Object.prototype.hasOwnProperty,Oa=Object.prototype.toString;function Na(e){if(e===null)return!0;var n=[],i,r,t,l,o,c=e;for(i=0,r=c.length;i<r;i+=1){if(t=c[i],o=!1,Oa.call(t)!=="[object Object]")return!1;for(l in t)if(Ea.call(t,l))if(!o)o=!0;else return!1;if(!o)return!1;if(n.indexOf(l)===-1)n.push(l);else return!1}return!0}function Ia(e){return e!==null?e:[]}var lt=new O("tag:yaml.org,2002:omap",{kind:"sequence",resolve:Na,construct:Ia}),Fa=Object.prototype.toString;function La(e){if(e===null)return!0;var n,i,r,t,l,o=e;for(l=new Array(o.length),n=0,i=o.length;n<i;n+=1){if(r=o[n],Fa.call(r)!=="[object Object]"||(t=Object.keys(r),t.length!==1))return!1;l[n]=[t[0],r[t[0]]]}return!0}function Ra(e){if(e===null)return[];var n,i,r,t,l,o=e;for(l=new Array(o.length),n=0,i=o.length;n<i;n+=1)r=o[n],t=Object.keys(r),l[n]=[t[0],r[t[0]]];return l}var at=new O("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:La,construct:Ra}),Pa=Object.prototype.hasOwnProperty;function $a(e){if(e===null)return!0;var n,i=e;for(n in i)if(Pa.call(i,n)&&i[n]!==null)return!1;return!0}function Ma(e){return e!==null?e:{}}var ot=new O("tag:yaml.org,2002:set",{kind:"mapping",resolve:$a,construct:Ma}),gi=Xr.extend({implicit:[it,rt],explicit:[tt,lt,at,ot]}),G=Object.prototype.hasOwnProperty,an=1,ct=2,st=3,on=4,Ln=1,Da=2,Ki=3,Ba=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,ja=/[\x85\u2028\u2029]/,za=/[,\[\]\{\}]/,ut=/^(?:!|!!|![a-z\-]+!)$/i,dt=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Gi(e){return Object.prototype.toString.call(e)}function j(e){return e===10||e===13}function ee(e){return e===9||e===32}function R(e){return e===9||e===32||e===10||e===13}function ce(e){return e===44||e===91||e===93||e===123||e===125}function Ua(e){var n;return 48<=e&&e<=57?e-48:(n=e|32,97<=n&&n<=102?n-97+10:-1)}function Ha(e){return e===120?2:e===117?4:e===85?8:0}function Wa(e){return 48<=e&&e<=57?e-48:-1}function Vi(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?`
|
|
11
|
+
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"
":e===95?" ":e===76?"\u2028":e===80?"\u2029":""}function Ya(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function ft(e,n,i){n==="__proto__"?Object.defineProperty(e,n,{configurable:!0,enumerable:!0,writable:!0,value:i}):e[n]=i}var ht=new Array(256),pt=new Array(256);for(var le=0;le<256;le++)ht[le]=Vi(le)?1:0,pt[le]=Vi(le);function qa(e,n){this.input=e,this.filename=n.filename||null,this.schema=n.schema||gi,this.onWarning=n.onWarning||null,this.legacy=n.legacy||!1,this.json=n.json||!1,this.listener=n.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function _t(e,n){var i={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return i.snippet=Ql(i),new L(n,i)}function m(e,n){throw _t(e,n)}function cn(e,n){e.onWarning&&e.onWarning.call(null,_t(e,n))}var Qi={YAML:function(n,i,r){var t,l,o;n.version!==null&&m(n,"duplication of %YAML directive"),r.length!==1&&m(n,"YAML directive accepts exactly one argument"),t=/^([0-9]+)\.([0-9]+)$/.exec(r[0]),t===null&&m(n,"ill-formed argument of the YAML directive"),l=parseInt(t[1],10),o=parseInt(t[2],10),l!==1&&m(n,"unacceptable YAML version of the document"),n.version=r[0],n.checkLineBreaks=o<2,o!==1&&o!==2&&cn(n,"unsupported YAML version of the document")},TAG:function(n,i,r){var t,l;r.length!==2&&m(n,"TAG directive accepts exactly two arguments"),t=r[0],l=r[1],ut.test(t)||m(n,"ill-formed tag handle (first argument) of the TAG directive"),G.call(n.tagMap,t)&&m(n,'there is a previously declared suffix for "'+t+'" tag handle'),dt.test(l)||m(n,"ill-formed tag prefix (second argument) of the TAG directive");try{l=decodeURIComponent(l)}catch{m(n,"tag prefix is malformed: "+l)}n.tagMap[t]=l}};function Y(e,n,i,r){var t,l,o,c;if(n<i){if(c=e.input.slice(n,i),r)for(t=0,l=c.length;t<l;t+=1)o=c.charCodeAt(t),o===9||32<=o&&o<=1114111||m(e,"expected valid JSON character");else Ba.test(c)&&m(e,"the stream contains non-printable characters");e.result+=c}}function Ji(e,n,i,r){var t,l,o,c;for(E.isObject(i)||m(e,"cannot merge mappings; the provided source object is unacceptable"),t=Object.keys(i),o=0,c=t.length;o<c;o+=1)l=t[o],G.call(n,l)||(ft(n,l,i[l]),r[l]=!0)}function se(e,n,i,r,t,l,o,c,s){var d,p;if(Array.isArray(t))for(t=Array.prototype.slice.call(t),d=0,p=t.length;d<p;d+=1)Array.isArray(t[d])&&m(e,"nested arrays are not supported inside keys"),typeof t=="object"&&Gi(t[d])==="[object Object]"&&(t[d]="[object Object]");if(typeof t=="object"&&Gi(t)==="[object Object]"&&(t="[object Object]"),t=String(t),n===null&&(n={}),r==="tag:yaml.org,2002:merge")if(Array.isArray(l))for(d=0,p=l.length;d<p;d+=1)Ji(e,n,l[d],i);else Ji(e,n,l,i);else!e.json&&!G.call(i,t)&&G.call(n,t)&&(e.line=o||e.line,e.lineStart=c||e.lineStart,e.position=s||e.position,m(e,"duplicated mapping key")),ft(n,t,l),delete i[t];return n}function yi(e){var n;n=e.input.charCodeAt(e.position),n===10?e.position++:n===13?(e.position++,e.input.charCodeAt(e.position)===10&&e.position++):m(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function T(e,n,i){for(var r=0,t=e.input.charCodeAt(e.position);t!==0;){for(;ee(t);)t===9&&e.firstTabInLine===-1&&(e.firstTabInLine=e.position),t=e.input.charCodeAt(++e.position);if(n&&t===35)do t=e.input.charCodeAt(++e.position);while(t!==10&&t!==13&&t!==0);if(j(t))for(yi(e),t=e.input.charCodeAt(e.position),r++,e.lineIndent=0;t===32;)e.lineIndent++,t=e.input.charCodeAt(++e.position);else break}return i!==-1&&r!==0&&e.lineIndent<i&&cn(e,"deficient indentation"),r}function An(e){var n=e.position,i;return i=e.input.charCodeAt(n),!!((i===45||i===46)&&i===e.input.charCodeAt(n+1)&&i===e.input.charCodeAt(n+2)&&(n+=3,i=e.input.charCodeAt(n),i===0||R(i)))}function bi(e,n){n===1?e.result+=" ":n>1&&(e.result+=E.repeat(`
|
|
12
|
+
`,n-1))}function Ka(e,n,i){var r,t,l,o,c,s,d,p,u=e.kind,f=e.result,h;if(h=e.input.charCodeAt(e.position),R(h)||ce(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(t=e.input.charCodeAt(e.position+1),R(t)||i&&ce(t)))return!1;for(e.kind="scalar",e.result="",l=o=e.position,c=!1;h!==0;){if(h===58){if(t=e.input.charCodeAt(e.position+1),R(t)||i&&ce(t))break}else if(h===35){if(r=e.input.charCodeAt(e.position-1),R(r))break}else{if(e.position===e.lineStart&&An(e)||i&&ce(h))break;if(j(h))if(s=e.line,d=e.lineStart,p=e.lineIndent,T(e,!1,-1),e.lineIndent>=n){c=!0,h=e.input.charCodeAt(e.position);continue}else{e.position=o,e.line=s,e.lineStart=d,e.lineIndent=p;break}}c&&(Y(e,l,o,!1),bi(e,e.line-s),l=o=e.position,c=!1),ee(h)||(o=e.position+1),h=e.input.charCodeAt(++e.position)}return Y(e,l,o,!1),e.result?!0:(e.kind=u,e.result=f,!1)}function Ga(e,n){var i,r,t;if(i=e.input.charCodeAt(e.position),i!==39)return!1;for(e.kind="scalar",e.result="",e.position++,r=t=e.position;(i=e.input.charCodeAt(e.position))!==0;)if(i===39)if(Y(e,r,e.position,!0),i=e.input.charCodeAt(++e.position),i===39)r=e.position,e.position++,t=e.position;else return!0;else j(i)?(Y(e,r,t,!0),bi(e,T(e,!1,n)),r=t=e.position):e.position===e.lineStart&&An(e)?m(e,"unexpected end of the document within a single quoted scalar"):(e.position++,t=e.position);m(e,"unexpected end of the stream within a single quoted scalar")}function Va(e,n){var i,r,t,l,o,c;if(c=e.input.charCodeAt(e.position),c!==34)return!1;for(e.kind="scalar",e.result="",e.position++,i=r=e.position;(c=e.input.charCodeAt(e.position))!==0;){if(c===34)return Y(e,i,e.position,!0),e.position++,!0;if(c===92){if(Y(e,i,e.position,!0),c=e.input.charCodeAt(++e.position),j(c))T(e,!1,n);else if(c<256&&ht[c])e.result+=pt[c],e.position++;else if((o=Ha(c))>0){for(t=o,l=0;t>0;t--)c=e.input.charCodeAt(++e.position),(o=Ua(c))>=0?l=(l<<4)+o:m(e,"expected hexadecimal character");e.result+=Ya(l),e.position++}else m(e,"unknown escape sequence");i=r=e.position}else j(c)?(Y(e,i,r,!0),bi(e,T(e,!1,n)),i=r=e.position):e.position===e.lineStart&&An(e)?m(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}m(e,"unexpected end of the stream within a double quoted scalar")}function Qa(e,n){var i=!0,r,t,l,o=e.tag,c,s=e.anchor,d,p,u,f,h,g=Object.create(null),b,w,y,v;if(v=e.input.charCodeAt(e.position),v===91)p=93,h=!1,c=[];else if(v===123)p=125,h=!0,c={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=c),v=e.input.charCodeAt(++e.position);v!==0;){if(T(e,!0,n),v=e.input.charCodeAt(e.position),v===p)return e.position++,e.tag=o,e.anchor=s,e.kind=h?"mapping":"sequence",e.result=c,!0;i?v===44&&m(e,"expected the node content, but found ','"):m(e,"missed comma between flow collection entries"),w=b=y=null,u=f=!1,v===63&&(d=e.input.charCodeAt(e.position+1),R(d)&&(u=f=!0,e.position++,T(e,!0,n))),r=e.line,t=e.lineStart,l=e.position,_e(e,n,an,!1,!0),w=e.tag,b=e.result,T(e,!0,n),v=e.input.charCodeAt(e.position),(f||e.line===r)&&v===58&&(u=!0,v=e.input.charCodeAt(++e.position),T(e,!0,n),_e(e,n,an,!1,!0),y=e.result),h?se(e,c,g,w,b,y,r,t,l):u?c.push(se(e,null,g,w,b,y,r,t,l)):c.push(b),T(e,!0,n),v=e.input.charCodeAt(e.position),v===44?(i=!0,v=e.input.charCodeAt(++e.position)):i=!1}m(e,"unexpected end of the stream within a flow collection")}function Ja(e,n){var i,r,t=Ln,l=!1,o=!1,c=n,s=0,d=!1,p,u;if(u=e.input.charCodeAt(e.position),u===124)r=!1;else if(u===62)r=!0;else return!1;for(e.kind="scalar",e.result="";u!==0;)if(u=e.input.charCodeAt(++e.position),u===43||u===45)Ln===t?t=u===43?Ki:Da:m(e,"repeat of a chomping mode identifier");else if((p=Wa(u))>=0)p===0?m(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?m(e,"repeat of an indentation width identifier"):(c=n+p-1,o=!0);else break;if(ee(u)){do u=e.input.charCodeAt(++e.position);while(ee(u));if(u===35)do u=e.input.charCodeAt(++e.position);while(!j(u)&&u!==0)}for(;u!==0;){for(yi(e),e.lineIndent=0,u=e.input.charCodeAt(e.position);(!o||e.lineIndent<c)&&u===32;)e.lineIndent++,u=e.input.charCodeAt(++e.position);if(!o&&e.lineIndent>c&&(c=e.lineIndent),j(u)){s++;continue}if(e.lineIndent<c){t===Ki?e.result+=E.repeat(`
|
|
13
|
+
`,l?1+s:s):t===Ln&&l&&(e.result+=`
|
|
14
|
+
`);break}for(r?ee(u)?(d=!0,e.result+=E.repeat(`
|
|
15
|
+
`,l?1+s:s)):d?(d=!1,e.result+=E.repeat(`
|
|
16
|
+
`,s+1)):s===0?l&&(e.result+=" "):e.result+=E.repeat(`
|
|
17
|
+
`,s):e.result+=E.repeat(`
|
|
18
|
+
`,l?1+s:s),l=!0,o=!0,s=0,i=e.position;!j(u)&&u!==0;)u=e.input.charCodeAt(++e.position);Y(e,i,e.position,!1)}return!0}function Zi(e,n){var i,r=e.tag,t=e.anchor,l=[],o,c=!1,s;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=l),s=e.input.charCodeAt(e.position);s!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,m(e,"tab characters must not be used in indentation")),!(s!==45||(o=e.input.charCodeAt(e.position+1),!R(o))));){if(c=!0,e.position++,T(e,!0,-1)&&e.lineIndent<=n){l.push(null),s=e.input.charCodeAt(e.position);continue}if(i=e.line,_e(e,n,st,!1,!0),l.push(e.result),T(e,!0,-1),s=e.input.charCodeAt(e.position),(e.line===i||e.lineIndent>n)&&s!==0)m(e,"bad indentation of a sequence entry");else if(e.lineIndent<n)break}return c?(e.tag=r,e.anchor=t,e.kind="sequence",e.result=l,!0):!1}function Za(e,n,i){var r,t,l,o,c,s,d=e.tag,p=e.anchor,u={},f=Object.create(null),h=null,g=null,b=null,w=!1,y=!1,v;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=u),v=e.input.charCodeAt(e.position);v!==0;){if(!w&&e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,m(e,"tab characters must not be used in indentation")),r=e.input.charCodeAt(e.position+1),l=e.line,(v===63||v===58)&&R(r))v===63?(w&&(se(e,u,f,h,g,null,o,c,s),h=g=b=null),y=!0,w=!0,t=!0):w?(w=!1,t=!0):m(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,v=r;else{if(o=e.line,c=e.lineStart,s=e.position,!_e(e,i,ct,!1,!0))break;if(e.line===l){for(v=e.input.charCodeAt(e.position);ee(v);)v=e.input.charCodeAt(++e.position);if(v===58)v=e.input.charCodeAt(++e.position),R(v)||m(e,"a whitespace character is expected after the key-value separator within a block mapping"),w&&(se(e,u,f,h,g,null,o,c,s),h=g=b=null),y=!0,w=!1,t=!1,h=e.tag,g=e.result;else if(y)m(e,"can not read an implicit mapping pair; a colon is missed");else return e.tag=d,e.anchor=p,!0}else if(y)m(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else return e.tag=d,e.anchor=p,!0}if((e.line===l||e.lineIndent>n)&&(w&&(o=e.line,c=e.lineStart,s=e.position),_e(e,n,on,!0,t)&&(w?g=e.result:b=e.result),w||(se(e,u,f,h,g,b,o,c,s),h=g=b=null),T(e,!0,-1),v=e.input.charCodeAt(e.position)),(e.line===l||e.lineIndent>n)&&v!==0)m(e,"bad indentation of a mapping entry");else if(e.lineIndent<n)break}return w&&se(e,u,f,h,g,null,o,c,s),y&&(e.tag=d,e.anchor=p,e.kind="mapping",e.result=u),y}function Xa(e){var n,i=!1,r=!1,t,l,o;if(o=e.input.charCodeAt(e.position),o!==33)return!1;if(e.tag!==null&&m(e,"duplication of a tag property"),o=e.input.charCodeAt(++e.position),o===60?(i=!0,o=e.input.charCodeAt(++e.position)):o===33?(r=!0,t="!!",o=e.input.charCodeAt(++e.position)):t="!",n=e.position,i){do o=e.input.charCodeAt(++e.position);while(o!==0&&o!==62);e.position<e.length?(l=e.input.slice(n,e.position),o=e.input.charCodeAt(++e.position)):m(e,"unexpected end of the stream within a verbatim tag")}else{for(;o!==0&&!R(o);)o===33&&(r?m(e,"tag suffix cannot contain exclamation marks"):(t=e.input.slice(n-1,e.position+1),ut.test(t)||m(e,"named tag handle cannot contain such characters"),r=!0,n=e.position+1)),o=e.input.charCodeAt(++e.position);l=e.input.slice(n,e.position),za.test(l)&&m(e,"tag suffix cannot contain flow indicator characters")}l&&!dt.test(l)&&m(e,"tag name cannot contain such characters: "+l);try{l=decodeURIComponent(l)}catch{m(e,"tag name is malformed: "+l)}return i?e.tag=l:G.call(e.tagMap,t)?e.tag=e.tagMap[t]+l:t==="!"?e.tag="!"+l:t==="!!"?e.tag="tag:yaml.org,2002:"+l:m(e,'undeclared tag handle "'+t+'"'),!0}function eo(e){var n,i;if(i=e.input.charCodeAt(e.position),i!==38)return!1;for(e.anchor!==null&&m(e,"duplication of an anchor property"),i=e.input.charCodeAt(++e.position),n=e.position;i!==0&&!R(i)&&!ce(i);)i=e.input.charCodeAt(++e.position);return e.position===n&&m(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(n,e.position),!0}function no(e){var n,i,r;if(r=e.input.charCodeAt(e.position),r!==42)return!1;for(r=e.input.charCodeAt(++e.position),n=e.position;r!==0&&!R(r)&&!ce(r);)r=e.input.charCodeAt(++e.position);return e.position===n&&m(e,"name of an alias node must contain at least one character"),i=e.input.slice(n,e.position),G.call(e.anchorMap,i)||m(e,'unidentified alias "'+i+'"'),e.result=e.anchorMap[i],T(e,!0,-1),!0}function _e(e,n,i,r,t){var l,o,c,s=1,d=!1,p=!1,u,f,h,g,b,w;if(e.listener!==null&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,l=o=c=on===i||st===i,r&&T(e,!0,-1)&&(d=!0,e.lineIndent>n?s=1:e.lineIndent===n?s=0:e.lineIndent<n&&(s=-1)),s===1)for(;Xa(e)||eo(e);)T(e,!0,-1)?(d=!0,c=l,e.lineIndent>n?s=1:e.lineIndent===n?s=0:e.lineIndent<n&&(s=-1)):c=!1;if(c&&(c=d||t),(s===1||on===i)&&(an===i||ct===i?b=n:b=n+1,w=e.position-e.lineStart,s===1?c&&(Zi(e,w)||Za(e,w,b))||Qa(e,b)?p=!0:(o&&Ja(e,b)||Ga(e,b)||Va(e,b)?p=!0:no(e)?(p=!0,(e.tag!==null||e.anchor!==null)&&m(e,"alias node should not have any properties")):Ka(e,b,an===i)&&(p=!0,e.tag===null&&(e.tag="?")),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):s===0&&(p=c&&Zi(e,w))),e.tag===null)e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);else if(e.tag==="?"){for(e.result!==null&&e.kind!=="scalar"&&m(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),u=0,f=e.implicitTypes.length;u<f;u+=1)if(g=e.implicitTypes[u],g.resolve(e.result)){e.result=g.construct(e.result),e.tag=g.tag,e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);break}}else if(e.tag!=="!"){if(G.call(e.typeMap[e.kind||"fallback"],e.tag))g=e.typeMap[e.kind||"fallback"][e.tag];else for(g=null,h=e.typeMap.multi[e.kind||"fallback"],u=0,f=h.length;u<f;u+=1)if(e.tag.slice(0,h[u].tag.length)===h[u].tag){g=h[u];break}g||m(e,"unknown tag !<"+e.tag+">"),e.result!==null&&g.kind!==e.kind&&m(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+g.kind+'", not "'+e.kind+'"'),g.resolve(e.result,e.tag)?(e.result=g.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):m(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||p}function io(e){var n=e.position,i,r,t,l=!1,o;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(o=e.input.charCodeAt(e.position))!==0&&(T(e,!0,-1),o=e.input.charCodeAt(e.position),!(e.lineIndent>0||o!==37));){for(l=!0,o=e.input.charCodeAt(++e.position),i=e.position;o!==0&&!R(o);)o=e.input.charCodeAt(++e.position);for(r=e.input.slice(i,e.position),t=[],r.length<1&&m(e,"directive name must not be less than one character in length");o!==0;){for(;ee(o);)o=e.input.charCodeAt(++e.position);if(o===35){do o=e.input.charCodeAt(++e.position);while(o!==0&&!j(o));break}if(j(o))break;for(i=e.position;o!==0&&!R(o);)o=e.input.charCodeAt(++e.position);t.push(e.input.slice(i,e.position))}o!==0&&yi(e),G.call(Qi,r)?Qi[r](e,r,t):cn(e,'unknown document directive "'+r+'"')}if(T(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,T(e,!0,-1)):l&&m(e,"directives end mark is expected"),_e(e,e.lineIndent-1,on,!1,!0),T(e,!0,-1),e.checkLineBreaks&&ja.test(e.input.slice(n,e.position))&&cn(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&An(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,T(e,!0,-1));return}if(e.position<e.length-1)m(e,"end of the stream or a document separator is expected");else return}function vt(e,n){e=String(e),n=n||{},e.length!==0&&(e.charCodeAt(e.length-1)!==10&&e.charCodeAt(e.length-1)!==13&&(e+=`
|
|
19
|
+
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var i=new qa(e,n),r=e.indexOf("\0");for(r!==-1&&(i.position=r,m(i,"null byte is not allowed in input")),i.input+="\0";i.input.charCodeAt(i.position)===32;)i.lineIndent+=1,i.position+=1;for(;i.position<i.length-1;)io(i);return i.documents}function ro(e,n,i){n!==null&&typeof n=="object"&&typeof i>"u"&&(i=n,n=null);var r=vt(e,i);if(typeof n!="function")return r;for(var t=0,l=r.length;t<l;t+=1)n(r[t])}function to(e,n){var i=vt(e,n);if(i.length!==0){if(i.length===1)return i[0];throw new L("expected a single document in the stream, but found more")}}var lo=ro,ao=to,mt={loadAll:lo,load:ao},gt=Object.prototype.toString,yt=Object.prototype.hasOwnProperty,wi=65279,oo=9,Fe=10,co=13,so=32,uo=33,fo=34,Vn=35,ho=37,po=38,_o=39,vo=42,bt=44,mo=45,sn=58,go=61,yo=62,bo=63,wo=64,wt=91,kt=93,ko=96,xt=123,xo=124,At=125,F={};F[0]="\\0";F[7]="\\a";F[8]="\\b";F[9]="\\t";F[10]="\\n";F[11]="\\v";F[12]="\\f";F[13]="\\r";F[27]="\\e";F[34]='\\"';F[92]="\\\\";F[133]="\\N";F[160]="\\_";F[8232]="\\L";F[8233]="\\P";var Ao=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],Co=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function So(e,n){var i,r,t,l,o,c,s;if(n===null)return{};for(i={},r=Object.keys(n),t=0,l=r.length;t<l;t+=1)o=r[t],c=String(n[o]),o.slice(0,2)==="!!"&&(o="tag:yaml.org,2002:"+o.slice(2)),s=e.compiledTypeMap.fallback[o],s&&yt.call(s.styleAliases,c)&&(c=s.styleAliases[c]),i[o]=c;return i}function To(e){var n,i,r;if(n=e.toString(16).toUpperCase(),e<=255)i="x",r=2;else if(e<=65535)i="u",r=4;else if(e<=4294967295)i="U",r=8;else throw new L("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+i+E.repeat("0",r-n.length)+n}var Eo=1,Le=2;function Oo(e){this.schema=e.schema||gi,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=E.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=So(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType=e.quotingType==='"'?Le:Eo,this.forceQuotes=e.forceQuotes||!1,this.replacer=typeof e.replacer=="function"?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function Xi(e,n){for(var i=E.repeat(" ",n),r=0,t=-1,l="",o,c=e.length;r<c;)t=e.indexOf(`
|
|
20
|
+
`,r),t===-1?(o=e.slice(r),r=c):(o=e.slice(r,t+1),r=t+1),o.length&&o!==`
|
|
21
|
+
`&&(l+=i),l+=o;return l}function Qn(e,n){return`
|
|
22
|
+
`+E.repeat(" ",e.indent*n)}function No(e,n){var i,r,t;for(i=0,r=e.implicitTypes.length;i<r;i+=1)if(t=e.implicitTypes[i],t.resolve(n))return!0;return!1}function un(e){return e===so||e===oo}function Re(e){return 32<=e&&e<=126||161<=e&&e<=55295&&e!==8232&&e!==8233||57344<=e&&e<=65533&&e!==wi||65536<=e&&e<=1114111}function er(e){return Re(e)&&e!==wi&&e!==co&&e!==Fe}function nr(e,n,i){var r=er(e),t=r&&!un(e);return(i?r:r&&e!==bt&&e!==wt&&e!==kt&&e!==xt&&e!==At)&&e!==Vn&&!(n===sn&&!t)||er(n)&&!un(n)&&e===Vn||n===sn&&t}function Io(e){return Re(e)&&e!==wi&&!un(e)&&e!==mo&&e!==bo&&e!==sn&&e!==bt&&e!==wt&&e!==kt&&e!==xt&&e!==At&&e!==Vn&&e!==po&&e!==vo&&e!==uo&&e!==xo&&e!==go&&e!==yo&&e!==_o&&e!==fo&&e!==ho&&e!==wo&&e!==ko}function Fo(e){return!un(e)&&e!==sn}function be(e,n){var i=e.charCodeAt(n),r;return i>=55296&&i<=56319&&n+1<e.length&&(r=e.charCodeAt(n+1),r>=56320&&r<=57343)?(i-55296)*1024+r-56320+65536:i}function Ct(e){var n=/^\n* /;return n.test(e)}var St=1,Jn=2,Tt=3,Et=4,ae=5;function Lo(e,n,i,r,t,l,o,c){var s,d=0,p=null,u=!1,f=!1,h=r!==-1,g=-1,b=Io(be(e,0))&&Fo(be(e,e.length-1));if(n||o)for(s=0;s<e.length;d>=65536?s+=2:s++){if(d=be(e,s),!Re(d))return ae;b=b&&nr(d,p,c),p=d}else{for(s=0;s<e.length;d>=65536?s+=2:s++){if(d=be(e,s),d===Fe)u=!0,h&&(f=f||s-g-1>r&&e[g+1]!==" ",g=s);else if(!Re(d))return ae;b=b&&nr(d,p,c),p=d}f=f||h&&s-g-1>r&&e[g+1]!==" "}return!u&&!f?b&&!o&&!t(e)?St:l===Le?ae:Jn:i>9&&Ct(e)?ae:o?l===Le?ae:Jn:f?Et:Tt}function Ro(e,n,i,r,t){e.dump=function(){if(n.length===0)return e.quotingType===Le?'""':"''";if(!e.noCompatMode&&(Ao.indexOf(n)!==-1||Co.test(n)))return e.quotingType===Le?'"'+n+'"':"'"+n+"'";var l=e.indent*Math.max(1,i),o=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-l),c=r||e.flowLevel>-1&&i>=e.flowLevel;function s(d){return No(e,d)}switch(Lo(n,c,e.indent,o,s,e.quotingType,e.forceQuotes&&!r,t)){case St:return n;case Jn:return"'"+n.replace(/'/g,"''")+"'";case Tt:return"|"+ir(n,e.indent)+rr(Xi(n,l));case Et:return">"+ir(n,e.indent)+rr(Xi(Po(n,o),l));case ae:return'"'+$o(n)+'"';default:throw new L("impossible error: invalid scalar style")}}()}function ir(e,n){var i=Ct(e)?String(n):"",r=e[e.length-1]===`
|
|
23
|
+
`,t=r&&(e[e.length-2]===`
|
|
24
|
+
`||e===`
|
|
25
|
+
`),l=t?"+":r?"":"-";return i+l+`
|
|
26
|
+
`}function rr(e){return e[e.length-1]===`
|
|
27
|
+
`?e.slice(0,-1):e}function Po(e,n){for(var i=/(\n+)([^\n]*)/g,r=function(){var d=e.indexOf(`
|
|
28
|
+
`);return d=d!==-1?d:e.length,i.lastIndex=d,tr(e.slice(0,d),n)}(),t=e[0]===`
|
|
29
|
+
`||e[0]===" ",l,o;o=i.exec(e);){var c=o[1],s=o[2];l=s[0]===" ",r+=c+(!t&&!l&&s!==""?`
|
|
30
|
+
`:"")+tr(s,n),t=l}return r}function tr(e,n){if(e===""||e[0]===" ")return e;for(var i=/ [^ ]/g,r,t=0,l,o=0,c=0,s="";r=i.exec(e);)c=r.index,c-t>n&&(l=o>t?o:c,s+=`
|
|
31
|
+
`+e.slice(t,l),t=l+1),o=c;return s+=`
|
|
32
|
+
`,e.length-t>n&&o>t?s+=e.slice(t,o)+`
|
|
33
|
+
`+e.slice(o+1):s+=e.slice(t),s.slice(1)}function $o(e){for(var n="",i=0,r,t=0;t<e.length;i>=65536?t+=2:t++)i=be(e,t),r=F[i],!r&&Re(i)?(n+=e[t],i>=65536&&(n+=e[t+1])):n+=r||To(i);return n}function Mo(e,n,i){var r="",t=e.tag,l,o,c;for(l=0,o=i.length;l<o;l+=1)c=i[l],e.replacer&&(c=e.replacer.call(i,String(l),c)),(H(e,n,c,!1,!1)||typeof c>"u"&&H(e,n,null,!1,!1))&&(r!==""&&(r+=","+(e.condenseFlow?"":" ")),r+=e.dump);e.tag=t,e.dump="["+r+"]"}function lr(e,n,i,r){var t="",l=e.tag,o,c,s;for(o=0,c=i.length;o<c;o+=1)s=i[o],e.replacer&&(s=e.replacer.call(i,String(o),s)),(H(e,n+1,s,!0,!0,!1,!0)||typeof s>"u"&&H(e,n+1,null,!0,!0,!1,!0))&&((!r||t!=="")&&(t+=Qn(e,n)),e.dump&&Fe===e.dump.charCodeAt(0)?t+="-":t+="- ",t+=e.dump);e.tag=l,e.dump=t||"[]"}function Do(e,n,i){var r="",t=e.tag,l=Object.keys(i),o,c,s,d,p;for(o=0,c=l.length;o<c;o+=1)p="",r!==""&&(p+=", "),e.condenseFlow&&(p+='"'),s=l[o],d=i[s],e.replacer&&(d=e.replacer.call(i,s,d)),H(e,n,s,!1,!1)&&(e.dump.length>1024&&(p+="? "),p+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),H(e,n,d,!1,!1)&&(p+=e.dump,r+=p));e.tag=t,e.dump="{"+r+"}"}function Bo(e,n,i,r){var t="",l=e.tag,o=Object.keys(i),c,s,d,p,u,f;if(e.sortKeys===!0)o.sort();else if(typeof e.sortKeys=="function")o.sort(e.sortKeys);else if(e.sortKeys)throw new L("sortKeys must be a boolean or a function");for(c=0,s=o.length;c<s;c+=1)f="",(!r||t!=="")&&(f+=Qn(e,n)),d=o[c],p=i[d],e.replacer&&(p=e.replacer.call(i,d,p)),H(e,n+1,d,!0,!0,!0)&&(u=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024,u&&(e.dump&&Fe===e.dump.charCodeAt(0)?f+="?":f+="? "),f+=e.dump,u&&(f+=Qn(e,n)),H(e,n+1,p,!0,u)&&(e.dump&&Fe===e.dump.charCodeAt(0)?f+=":":f+=": ",f+=e.dump,t+=f));e.tag=l,e.dump=t||"{}"}function ar(e,n,i){var r,t,l,o,c,s;for(t=i?e.explicitTypes:e.implicitTypes,l=0,o=t.length;l<o;l+=1)if(c=t[l],(c.instanceOf||c.predicate)&&(!c.instanceOf||typeof n=="object"&&n instanceof c.instanceOf)&&(!c.predicate||c.predicate(n))){if(i?c.multi&&c.representName?e.tag=c.representName(n):e.tag=c.tag:e.tag="?",c.represent){if(s=e.styleMap[c.tag]||c.defaultStyle,gt.call(c.represent)==="[object Function]")r=c.represent(n,s);else if(yt.call(c.represent,s))r=c.represent[s](n,s);else throw new L("!<"+c.tag+'> tag resolver accepts not "'+s+'" style');e.dump=r}return!0}return!1}function H(e,n,i,r,t,l,o){e.tag=null,e.dump=i,ar(e,i,!1)||ar(e,i,!0);var c=gt.call(e.dump),s=r,d;r&&(r=e.flowLevel<0||e.flowLevel>n);var p=c==="[object Object]"||c==="[object Array]",u,f;if(p&&(u=e.duplicates.indexOf(i),f=u!==-1),(e.tag!==null&&e.tag!=="?"||f||e.indent!==2&&n>0)&&(t=!1),f&&e.usedDuplicates[u])e.dump="*ref_"+u;else{if(p&&f&&!e.usedDuplicates[u]&&(e.usedDuplicates[u]=!0),c==="[object Object]")r&&Object.keys(e.dump).length!==0?(Bo(e,n,e.dump,t),f&&(e.dump="&ref_"+u+e.dump)):(Do(e,n,e.dump),f&&(e.dump="&ref_"+u+" "+e.dump));else if(c==="[object Array]")r&&e.dump.length!==0?(e.noArrayIndent&&!o&&n>0?lr(e,n-1,e.dump,t):lr(e,n,e.dump,t),f&&(e.dump="&ref_"+u+e.dump)):(Mo(e,n,e.dump),f&&(e.dump="&ref_"+u+" "+e.dump));else if(c==="[object String]")e.tag!=="?"&&Ro(e,e.dump,n,l,s);else{if(c==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new L("unacceptable kind of an object to dump "+c)}e.tag!==null&&e.tag!=="?"&&(d=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?d="!"+d:d.slice(0,18)==="tag:yaml.org,2002:"?d="!!"+d.slice(18):d="!<"+d+">",e.dump=d+" "+e.dump)}return!0}function jo(e,n){var i=[],r=[],t,l;for(Zn(e,i,r),t=0,l=r.length;t<l;t+=1)n.duplicates.push(i[r[t]]);n.usedDuplicates=new Array(l)}function Zn(e,n,i){var r,t,l;if(e!==null&&typeof e=="object")if(t=n.indexOf(e),t!==-1)i.indexOf(t)===-1&&i.push(t);else if(n.push(e),Array.isArray(e))for(t=0,l=e.length;t<l;t+=1)Zn(e[t],n,i);else for(r=Object.keys(e),t=0,l=r.length;t<l;t+=1)Zn(e[r[t]],n,i)}function zo(e,n){n=n||{};var i=new Oo(n);i.noRefs||jo(e,i);var r=e;return i.replacer&&(r=i.replacer.call({"":r},"",r)),H(i,0,r,!0,!0)?i.dump+`
|
|
34
|
+
`:""}var Uo=zo,Ho={dump:Uo};function ki(e,n){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+n+" instead, which is now safe by default.")}}var Wo=O,Yo=Hr,qo=Kr,Ko=Zr,Go=Xr,Vo=gi,Qo=mt.load,Jo=mt.loadAll,Zo=Ho.dump,Xo=L,ec={binary:tt,float:Jr,map:qr,null:Gr,pairs:at,set:ot,timestamp:it,bool:Vr,int:Qr,merge:rt,omap:lt,seq:Yr,str:Wr},nc=ki("safeLoad","load"),ic=ki("safeLoadAll","loadAll"),rc=ki("safeDump","dump"),tc={Type:Wo,Schema:Yo,FAILSAFE_SCHEMA:qo,JSON_SCHEMA:Ko,CORE_SCHEMA:Go,DEFAULT_SCHEMA:Vo,load:Qo,loadAll:Jo,dump:Zo,YAMLException:Xo,types:ec,safeLoad:nc,safeLoadAll:ic,safeDump:rc};function lc(e){if(e.trim()==="")return{};const i=tc.load(e);if(i==null)return{};if(typeof i!="object"||Array.isArray(i))throw new Error(".agent-user.yml must parse to an object");return i}const ac=[{id:"ai-tools",title:"Which AI tools do you use?",navLabel:"AI tools",subtitle:"Pick the editors and CLIs that should pick up this config. Auto-detect runs first; you can override.",kind:"aiTools"},{id:"packs",title:"Which capability packs do you want?",navLabel:"Packs",subtitle:"Founder-strategy, finance-basic, gtm-sales, ops-people, ai-video — pick zero or more. You can change this later.",kind:"packs"},{id:"modules",title:"Module roots for this project",navLabel:"Modules",subtitle:"Auto-detected source roots from the project. Pick which ones the agent should treat as modules, or skip to leave .agent-project-settings.yml as-is.",kind:"modules"}],Xn=[{id:"identity",title:"Editor and tooling",navLabel:"Editor",subtitle:"IDE and rtk go into .agent-settings.yml so the agent opens files in the right tool. Your name lives in .agent-user.yml (later step).",kind:"form",paths:["personal.ide","personal.open_edited_files","personal.rtk_installed"]},{id:"personality",title:"How should the agent behave?",navLabel:"Personality",subtitle:"Autonomy, output verbosity, and PR-comment style.",kind:"form",paths:["personal.autonomy","personal.minimal_output","personal.play_by_play","personal.pr_comment_bot_icon"]},{id:"cost",title:"Cost profile and budgets",navLabel:"Cost",subtitle:"Master switch for which rule tiers load, plus optional spending ceilings.",kind:"form",paths:["cost_profile","cost.budgets.daily","cost.budgets.weekly","cost.budgets.monthly","cost.enforcement"]},{id:"roadmap-quality",title:"Roadmap & quality cadence",navLabel:"Roadmap & quality",subtitle:"When the agent runs quality tools and refreshes roadmap dashboards.",kind:"form",paths:["roadmap.quality_cadence","roadmap.dashboard_regen_cadence","quality.local_auto_run","quality.wait_for_remote_ci"]},{id:"memory",title:"Memory & redaction",navLabel:"Memory",subtitle:"Inline-review threshold and transcript-redaction regexes.",kind:"form",paths:["memory.review_threshold","memory.redact_patterns"]},{id:"user-md",title:"Your .agent-user.yml",navLabel:"User profile",subtitle:"Identity, voice, preferences. Stored at agents/settings/.agent-user.yml. Skip to leave empty.",kind:"userMd"},{id:"review",title:"Review & finish",navLabel:"Review",subtitle:"These keys will change. Confirm to write .agent-settings.yml and .agent-user.yml atomically.",kind:"review"}],oc=Xn;oc.length;function Ot(e={}){return e.extended===!0?[...ac,...Xn]:Xn}function Cn(e,n={}){const i=Ot(n),r=Math.max(0,Math.min(i.length-1,e));return i[r]}function cc(e,n){const i={type:"object",properties:{},...e.description!==void 0?{description:e.description}:{}},r=i.properties,t=e.properties??{};for(const l of n){const o=l.split(".").filter(D=>D.length>0);if(o.length===0)continue;const[c,s,d]=o;if(c===void 0)continue;const p=t[c];if(p===void 0)continue;if(s===void 0){r[c]=p;continue}const u=p.properties?.[s];if(u===void 0)continue;const h=r[c]??{type:"object",properties:{},...p.description!==void 0?{description:p.description}:{}},g=h.properties??={};if(d===void 0){g[s]=u,r[c]=h;continue}const b=u.properties?.[d];if(b===void 0)continue;const y=g[s]??{type:"object",properties:{},...u.description!==void 0?{description:u.description}:{}},v=y.properties??={};v[d]=b,g[s]=y,r[c]=h}return i}function sc({current:e,total:n}){const i=Math.max(1,n),r=Math.max(0,Math.min(i-1,e)),t=Array.from({length:i},(o,c)=>c<=r),l=Math.round((r+1)/i*100);return a("div",{class:"ac-wizard__progress",role:"progressbar","aria-valuenow":r+1,"aria-valuemin":1,"aria-valuemax":i,"aria-valuetext":`Step ${r+1} of ${i} (${l}%)`,children:t.map((o,c)=>a("span",{class:`ac-wizard__progress-segment${o?" ac-wizard__progress-segment--filled":""}`,"aria-hidden":"true"},c))})}function uc({step:e,index:n,total:i}){return a("header",{class:"ac-page__header ac-wizard__header",children:[a("p",{class:"ac-wizard__step-count",children:["Step ",n+1," of ",i]}),a("div",{class:"ac-wizard__header-text",children:[a("h1",{children:e.title}),a("p",{class:"ac-wizard__subtitle",children:e.subtitle})]}),a(sc,{current:n,total:i})]})}function dc(e){const n=e.canFinish??!0,i=e.completed??!1;return a("div",{class:"ac-form__actions ac-wizard__nav",children:[a("button",{type:"button",class:"ac-button",disabled:!e.canGoPrev||e.busy,onClick:e.onPrev,children:"Back"}),e.canSkip&&e.onSkip!==void 0?a("button",{type:"button",class:"ac-button ac-wizard__skip",disabled:e.busy,onClick:e.onSkip,children:"Skip"}):null,e.isLast?i?null:a("button",{type:"button",class:"ac-button ac-button--primary",disabled:e.busy||!n,onClick:e.onFinish,children:e.busy?"Saving…":"Finish & save"}):a("button",{type:"button",class:"ac-button ac-button--primary",disabled:!e.canGoNext||e.busy,onClick:e.onNext,children:e.nextLabel??"Next"})]})}const Nt=_(!1),Ce=_(null),P=_(null),Pe=_(!1),dn=_(!1),q=_(0),xi=_(null),V=_({}),It=_({}),Ft=_(0),de=_({}),M=_(null),ne=_(null),Lt=_(!1),ei=_(!1),Ai=_(!1),Rt=_({}),Sn=_([]),fn=_("global"),Ci=_(!1),I=_(!1),ni=_(!1),Ke=_(!1),Se=_(null),Si=_([]),hn=_({}),pn=_(!0),_n=_(""),vn=_("agents"),ue=_(!1),Pt=_(null),fc=[{id:"claude-code",label:"Claude Code"},{id:"claude-desktop",label:"Claude Desktop"},{id:"cursor",label:"Cursor"},{id:"windsurf",label:"Windsurf"},{id:"cline",label:"Cline"},{id:"gemini-cli",label:"Gemini CLI"},{id:"copilot",label:"GitHub Copilot"},{id:"augment",label:"Augment"},{id:"aider",label:"Aider"},{id:"codex",label:"Codex"},{id:"roocode",label:"Roo Code"},{id:"continue",label:"Continue"},{id:"kilocode",label:"Kilo Code"},{id:"zed",label:"Zed"},{id:"jetbrains",label:"JetBrains"},{id:"kiro",label:"Kiro"},{id:"qoder",label:"Qoder"},{id:"opencode",label:"OpenCode"},{id:"trae",label:"Trae"},{id:"antigravity",label:"Antigravity"},{id:"codebuddy",label:"CodeBuddy"},{id:"droid",label:"Droid"},{id:"warp",label:"Warp"}],or=_(!1),Ge=_(!1),Te=_(null),$t=_([]),Mt=_([]),$e=_({}),ve=_({}),hc=5,Rn=_({}),cr=_(null),fe=_(null),ii=_(!1),Ve=_(null),mn=_(null),Dt=_(!1),ri=_(null),ti=_(!1),li=_(!1),ai=_(null),Bt=_(null),Pn=_(!1);function jt(){return Ot({extended:I.value})}function De(){return jt().length}function pc(e){return e??new Date().toISOString()}function Ti(e){return Math.max(0,Math.min(De()-1,e))}const _c={skip:"Skip",overwrite:"Overwrite",merge:"Merge"};function vc(e,n,i){const r=n[e.path];return r!==void 0?r:i==="overwrite-all"?"overwrite":i==="merge-json"&&e.mergeable?"merge":"skip"}function sr(e){return e===null?"—":e.slice(0,8)}function mc(e){if(e.conflicts.length===0)return null;const n=e.conflicts.length>=hc;return a("section",{class:"ac-wizard__conflicts","aria-live":"polite",children:[a("h3",{class:"ac-wizard__conflicts-title",children:[e.conflicts.length," file",e.conflicts.length===1?"":"s"," already exist"]}),a("p",{class:"ac-wizard__conflicts-hint",children:"These files are not from a previous install and the planned content differs. Pick how to handle them — unresolved entries are skipped."}),n?a(gc,{choice:e.batchChoice,onChoice:e.onBatchChoice}):null,a(yc,{conflicts:e.conflicts,resolutions:e.resolutions,batchChoice:e.batchChoice,onResolutionChange:e.onResolutionChange})]})}function gc(e){return a("div",{class:"ac-wizard__conflicts-batch",role:"group","aria-label":"Batch resolution",children:[{id:"skip-all",label:"Skip all"},{id:"overwrite-all",label:"Overwrite all"},{id:"merge-json",label:"Merge JSON, skip rest"}].map(i=>{const r=e.choice===i.id;return a("button",{type:"button",class:`ac-wizard__conflicts-batch-btn${r?" ac-wizard__conflicts-batch-btn--active":""}`,"aria-pressed":r,onClick:()=>{e.onChoice(r?null:i.id)},children:i.label},i.id)})})}function yc(e){return a("ul",{class:"ac-wizard__conflicts-list",children:e.conflicts.map(n=>{const i=vc(n,e.resolutions,e.batchChoice),r=n.mergeable?["skip","overwrite","merge"]:["skip","overwrite"];return a("li",{class:"ac-wizard__conflicts-row",children:[a("span",{class:"ac-wizard__conflicts-path",title:n.path,children:n.path}),a("span",{class:"ac-wizard__conflicts-sha",children:["planned ",sr(n.plannedSha256)," · on disk ",sr(n.existingSha256)]}),a("span",{class:"ac-wizard__conflicts-actions",role:"radiogroup","aria-label":`Resolution for ${n.path}`,children:r.map(t=>a("label",{class:`ac-wizard__conflicts-option${i===t?" ac-wizard__conflicts-option--active":""}`,children:[a("input",{type:"radio",name:`ac-conflict-${n.path}`,checked:i===t,onChange:()=>{e.onResolutionChange(n.path,t)}}),a("span",{children:_c[t]})]},t))})]},n.path)})})}function zt(e,n){return e.kind!=="form"||e.paths===void 0?!1:!!(e.paths.includes(n)||e.id==="cost"&&(n.startsWith("telegraph.")||n.startsWith("verbosity.")))}function bc(e,n){return e.kind==="userMd"?n==="body"||n.startsWith("body."):zt(e,n)}function wc(e,n){for(const i of Object.keys(n.errors))if(bc(e,i))return!0;return!1}function kc(e,n){if(wc(e,n))return{label:"needs attention",tone:"error"};if(e.kind==="userMd")return n.userMdChanged?{label:n.userMdAction==="create"?"will create":"will replace",tone:"changed"}:{label:"",tone:"idle"};if(e.kind==="form"){const i=n.changes.filter(r=>zt(e,r.path)).length;return i===0?{label:"",tone:"idle"}:{label:`${i} change${i===1?"":"s"}`,tone:"changed"}}if(e.kind==="aiTools"){const i=n.selectedToolsCount??0;return i===0?{label:"",tone:"idle"}:{label:`${i} tool${i===1?"":"s"}`,tone:"changed"}}if(e.kind==="packs"){const i=n.selectedPacksCount??0;return i===0?{label:"",tone:"idle"}:{label:`${i} pack${i===1?"":"s"}`,tone:"changed"}}return{label:"",tone:"idle"}}function xc(e){const n=e.steps.filter((i,r)=>r!==e.currentIndex);return a(Q,{children:[a("nav",{class:"ac-wizard__review-nav","aria-label":"Jump back to a step",children:[a("p",{class:"ac-wizard__review-nav-label",children:"Jump back to a step:"}),a("ul",{class:"ac-wizard__review-nav-list",children:n.map(i=>{const r=e.steps.indexOf(i),t=kc(i,e),l=t.tone==="error"?"ac-wizard__review-nav-button ac-wizard__review-nav-button--error":"ac-wizard__review-nav-button";return a("li",{children:a("button",{type:"button",class:l,onClick:()=>{e.onJump(r)},children:[a("span",{class:"ac-wizard__review-nav-index",children:r+1}),a("span",{class:"ac-wizard__review-nav-text",children:i.navLabel}),t.label!==""?a("span",{class:`ac-wizard__review-nav-status ac-wizard__review-nav-status--${t.tone}`,children:t.label}):null]})},i.id)})})]}),e.scopeAvailable?a("fieldset",{class:"ac-wizard__scope",children:[a("legend",{class:"ac-wizard__scope-legend",children:"Where should these settings be written?"}),a("label",{class:"ac-wizard__scope-option",children:[a("input",{type:"radio",name:"ac-wizard-scope",value:"global",checked:e.scope==="global",onChange:()=>{e.onScopeChange("global")}}),a("span",{class:"ac-wizard__scope-option-text",children:[a("strong",{children:"Global"})," — write to ",a("code",{children:"~/.event4u/agent-config/"})," so every project picks them up."]})]}),a("label",{class:"ac-wizard__scope-option",children:[a("input",{type:"radio",name:"ac-wizard-scope",value:"project",checked:e.scope==="project",onChange:()=>{e.onScopeChange("project")}}),a("span",{class:"ac-wizard__scope-option-text",children:[a("strong",{children:"This project only"})," — write to ",a("code",{children:"settings/"})," under the current repo (overrides the global layer)."]})]})]}):null,e.installPlanByTool!==void 0?a(Ac,{byTool:e.installPlanByTool,ready:e.installPlanReady===!0,error:e.installPlanError??null}):null,e.conflicts!==void 0&&e.conflictResolutions!==void 0&&e.onConflictResolutionChange!==void 0&&e.onConflictBatchChoice!==void 0?a(mc,{conflicts:e.conflicts,resolutions:e.conflictResolutions,batchChoice:e.conflictBatchChoice??null,onResolutionChange:e.onConflictResolutionChange,onBatchChoice:e.onConflictBatchChoice}):null]})}function Ac(e){if(!e.ready&&e.error===null)return a("section",{class:"ac-wizard__install-plan","aria-live":"polite",children:[a("h3",{class:"ac-wizard__install-plan-title",children:"Install plan"}),a("p",{class:"ac-wizard__install-plan-status",children:"Calculating install plan…"})]});if(e.error!==null)return a("section",{class:"ac-wizard__install-plan ac-wizard__install-plan--error","aria-live":"polite",children:[a("h3",{class:"ac-wizard__install-plan-title",children:"Install plan"}),a("p",{class:"ac-wizard__install-plan-status",children:e.error})]});const n=Object.entries(e.byTool).filter(([,r])=>r>0);if(n.length===0)return a("section",{class:"ac-wizard__install-plan","aria-live":"polite",children:[a("h3",{class:"ac-wizard__install-plan-title",children:"Install plan"}),a("p",{class:"ac-wizard__install-plan-status",children:"Nothing to install — no files match the selected tools."})]});const i=n.reduce((r,[,t])=>r+t,0);return a("section",{class:"ac-wizard__install-plan","aria-live":"polite",children:[a("h3",{class:"ac-wizard__install-plan-title",children:"Install plan"}),a("p",{class:"ac-wizard__install-plan-status",children:[i," file",i===1?"":"s"," across ",n.length," tool",n.length===1?"":"s","."]}),a("ul",{class:"ac-wizard__install-plan-list",children:n.map(([r,t])=>a("li",{class:"ac-wizard__install-plan-row",children:[a("span",{class:"ac-wizard__install-plan-tool",children:r}),a("span",{class:"ac-wizard__install-plan-count",children:[t," file",t===1?"":"s"]})]},r))})]})}function Cc(e){const n=e.abortedAt??"unknown time",i=e.abortNote??"no further detail recorded",r=e.writesSinceRollback;return a("aside",{class:"ac-banner ac-banner--recovery",role:"alert",children:[a("strong",{children:"Previous install was interrupted."}),a("p",{children:["Aborted at ",a("code",{children:n})," — ",i,". ",r," write",r===1?"":"s"," landed before the abort marker."]}),a("p",{children:"Pick how to recover before continuing. Resume reopens the wizard fresh, Rollback discards the abort state, Ignore hides this banner without touching the log."}),a("div",{class:"ac-banner__actions",children:[a("button",{type:"button",disabled:e.busy,onClick:()=>e.onResume(),children:"Resume install"}),a("button",{type:"button",disabled:e.busy,onClick:()=>e.onRollback(),children:"Rollback"}),a("button",{type:"button",disabled:e.busy,onClick:()=>e.onIgnore(),children:"Ignore"})]})]})}function Sc(e){return a("section",{class:"ac-continue-screen","aria-labelledby":"ac-continue-title",children:[a("h2",{id:"ac-continue-title",children:"Install complete — continue with setup?"}),a("p",{children:["The three install steps (AI tools, capability packs, module roots) are captured. You can keep going through the remaining personalisation steps now, or stop here and re-run",a("code",{children:" agent-config setup "}),"later to pick them up."]}),a("ul",{children:[a("li",{children:[a("strong",{children:"Continue with setup"})," — 6 more steps: editor + tooling, personality, cost profile, roadmap & quality, memory, your ",a("code",{children:".agent-user.yml"}),"."]}),a("li",{children:[a("strong",{children:"Finish install here"})," — jumps to the Review step. You can write",a("code",{children:" .agent-settings.yml "}),"with the install-only selections and skip the rest."]})]}),a("div",{class:"ac-continue-screen__actions",children:[a("button",{type:"button",class:"ac-button ac-button--primary",disabled:e.busy,onClick:()=>e.onContinue(),children:"Continue with setup"}),a("button",{type:"button",class:"ac-button",disabled:e.busy,onClick:()=>e.onFinishHere(),children:"Finish install here"})]})]})}function Tc(e){const n=e.version??"unknown";return a("section",{class:"ac-backup-screen","aria-labelledby":"ac-backup-title",children:[a("h2",{id:"ac-backup-title",children:"Existing v3 install detected"}),a("p",{children:["Found a v3.x install at ",a("code",{children:e.sourcePath})," ","(VERSION: ",a("code",{children:n}),"). v4 is a hard-cut release with no auto-migration — settings, identity, and history layouts changed. The wizard can back up the v3 tree before writing the v4 layout so you can roll back manually if needed."]}),e.error!==null?a("p",{class:"ac-banner ac-banner--error",children:["Backup failed: ",e.error]}):null,a("ul",{children:[a("li",{children:[a("strong",{children:"Backup v3 and proceed"})," — copies the tree to ",a("code",{children:e.backupTarget}),", then runs the v4 install. Restore later with",a("code",{children:[" mv ",e.backupTarget," ",e.sourcePath]}),"."]}),a("li",{children:[a("strong",{children:"Abort, uninstall v3 first"})," — closes the wizard. You decide what to keep."]})]}),a("div",{class:"ac-backup-screen__actions",children:[a("button",{type:"button",class:"ac-button ac-button--primary",disabled:e.busy,onClick:()=>e.onBackupAndProceed(),children:e.busy?"Backing up…":"Backup v3 and proceed"}),a("button",{type:"button",class:"ac-button",disabled:e.busy,onClick:()=>e.onAbort(),children:"Abort, uninstall v3 first"})]})]})}function Ec(e){if("$ref"in e&&e.$ref!==void 0&&"definitions"in e&&e.definitions!==void 0){const n=e.$ref.replace("#/definitions/",""),i=e.definitions[n];if(i!==void 0)return i}return e}async function Oc(){try{return await A("/api/v1/settings")}catch(e){if(e instanceof $&&e.status===404&&e.body.error?.code==="NOT_FOUND"){const n=await A("/api/v1/schema");return{values:{},lastModified:0,path:".agent-settings.yml",schema:n.settings}}throw e}}async function Nc(){try{const e=await A("/api/v1/install/recovery");mn.value=e.incomplete?e:null}catch{mn.value=null}}async function Ic(){try{const e=await A("/api/v1/install/legacy-v3");ri.value=e.present?e:null}catch{ri.value=null}}async function Fc(){li.value=!0,ai.value=null;try{await A("/api/v1/install/backup-v3",{method:"POST"}),ti.value=!0}catch(e){ai.value=e instanceof $?K(e.body.error??{code:"UNKNOWN",message:e.message}):e instanceof Error?e.message:String(e)}finally{li.value=!1}}async function $n(e){try{await A("/api/v1/install/recovery/dismiss",{method:"POST",body:{reason:e}})}catch(n){P.value={message:n instanceof Error?n.message:String(n),tone:"error"};return}mn.value=null,Dt.value=!0}async function Lc(){Ce.value=null;try{Nc(),Ic();const[e,n]=await Promise.all([A("/api/v1/wizard/state"),Oc()]);xi.value=Ec(n.schema),Ft.value=n.lastModified,It.value=n.values,Rt.value=n.legacyHints??{},I.value=e.extendedSteps===!0,Bt.value=e.wizardMode??null;const i=Object.keys(e.partial??{});V.value=i.length>0?{...n.values,...e.partial}:n.values,q.value=Ti(e.step),Ci.value=!1,Nt.value=!0;const r=Cn(q.value,{extended:I.value});(r.kind==="userMd"||r.kind==="review")&&Ut(),r.kind==="modules"&&Ht(),(r.kind==="aiTools"||r.kind==="packs")&&Wt(),r.kind==="review"&&(Yt(),qt())}catch(e){e instanceof $?Ce.value=K(e.body.error??{code:"UNKNOWN",message:e.message}):Ce.value=e instanceof Error?e.message:String(e)}}function Rc(e,n){return e.identity.name.trim()!==""?e:{...e,identity:{...e.identity,name:n}}}async function Ut(){if(!ei.value)try{const e=await A("/api/v1/user-md");if(Lt.value=e.exists,e.exists&&e.identity!==null){const n=Yi(e.identity);ne.value=n,M.value=n}else{let n;try{const r=await A("/api/v1/user-md/template");n=Yi(lc(r.body))}catch{n=jr()}const i=Rt.value.user_name;typeof i=="string"&&i.trim()!==""&&(n=Rc(n,i)),ne.value=n,M.value=n}}catch(e){P.value={message:e instanceof Error?e.message:String(e),tone:"error"}}finally{ei.value=!0}}async function Ht(){if(!(ni.value||Ke.value)){Ke.value=!0,Se.value=null;try{const e=await A("/api/v1/modules/detect");Si.value=e.candidates,Pt.value=e.project_root;const n={};for(const i of e.candidates)n[i.path]=!0;hn.value=n,pn.value=e.proposed_block.enabled,_n.value=e.proposed_block.namespace_template??"",vn.value=e.proposed_block.agent_folder??"agents"}catch(e){e instanceof $?Se.value=K(e.body.error??{code:"UNKNOWN",message:e.message}):Se.value=e instanceof Error?e.message:String(e)}finally{Ke.value=!1,ni.value=!0}}}async function Wt(){if(!(or.value||Ge.value)){Ge.value=!0,Te.value=null;try{const[e,n]=await Promise.all([A("/api/v1/wizard/manifest"),A("/api/v1/wizard/auto-detect")]),i=(e.packs??[]).map(l=>({id:l.id,label:l.label??l.id,description:l.description??"",requires_hint:l.requires_hint}));$t.value=i;const r=new Set(i.map(l=>l.id)),t=n.signals.map(l=>l.id.startsWith("pack-")?l.id.slice(5):l.id).filter(l=>r.has(l));if(Mt.value=t,Object.keys(ve.value).length===0){const l={};for(const o of t)l[o]=!0;ve.value=l}}catch(e){e instanceof $?Te.value=K(e.body.error??{code:"UNKNOWN",message:e.message}):Te.value=e instanceof Error?e.message:String(e)}finally{Ge.value=!1,or.value=!0}}}async function Pc(e,n){try{await A("/api/v1/wizard/state",{method:"POST",body:{step:e,totalSteps:De(),partial:n,startedAt:pc(null)}})}catch(i){P.value={message:i instanceof Error?i.message:String(i),tone:"error"}}}async function Yt(){dn.value=!0;try{const e=await A("/api/v1/settings/diff",{method:"POST",body:{values:V.value,ifUnmodifiedSince:Ft.value}});Sn.value=e.changes,de.value={}}catch(e){e instanceof $?(de.value=$r(e.body.error??{message:e.message}),P.value={message:K(e.body.error??{code:"UNKNOWN",message:e.message}),tone:"error"}):P.value={message:e instanceof Error?e.message:String(e),tone:"error"}}finally{dn.value=!1}}async function qt(){const e=Object.entries($e.value).filter(([,n])=>n===!0).map(([n])=>n);if(e.length===0){fe.value=null,Ve.value=null;return}ii.value=!0,Ve.value=null;try{const n=await A("/api/v1/install/plan",{method:"POST",body:{target:"global",root:"~",toolIds:e,policy:{force:!1,interactive:!0,knownPaths:[],knownPointers:[],defaultStrategy:"surface-to-ui"}}});fe.value=n}catch(n){fe.value=null;const i=n instanceof $?K(n.body.error??{code:"UNKNOWN",message:n.message}):n instanceof Error?n.message:String(n);Ve.value=i}finally{ii.value=!1}}function gn(){return Ai.value?!1:M.value===null||ne.value===null?M.value!==ne.value:JSON.stringify(M.value)!==JSON.stringify(ne.value)}async function Ee(e){const n=Ti(e);await Pc(n,V.value),q.value=n,P.value=null;const i=Cn(n,{extended:I.value});i.kind==="userMd"&&Ut(),i.kind==="modules"&&Ht(),(i.kind==="aiTools"||i.kind==="packs")&&Wt(),i.kind==="review"&&(Yt(),qt())}function $c(){const e=Object.entries($e.value).filter(([,r])=>r===!0).map(([r])=>r);if(e.length===0)return null;const n=Object.entries(ve.value).filter(([,r])=>r===!0).map(([r])=>r),i={schema_version:"wizard-v2",tools:e,packs:n,settings:V.value};return pe.value?.projectScopeAvailable===!0&&fn.value==="project"&&(i.scope_to_project_only=!0),i}async function Mc(){Pe.value=!0,P.value=null;try{const e={settings:V.value};gn()&&M.value!==null&&(e.identity=M.value),pe.value?.projectScopeAvailable===!0&&(e.scope=fn.value);const n=Bc();n!==null&&(e.modulesConfig=n);const i=await A("/api/v1/wizard/finish",{method:"POST",body:e}),r="You can close this browser window now.",t=i.dryRun===!0?"Dry-run complete — no files written. Settings would be saved.":Array.isArray(i.writtenPaths)?`Saved (${i.writtenPaths.join(", ")}). Wizard complete.`:"Wizard complete.",l=I.value?$c():null;let o="";if(l!==null)try{const c=await A("/api/v1/wizard/apply",{method:"POST",body:l}),s=l.tools.length,d=l.packs.length;o=c.dryRun?` Installer dry-run planned ${s} tool${s===1?"":"s"}`+(d>0?` and ${d} pack${d===1?"":"s"}.`:"."):` Installer applied ${s} tool${s===1?"":"s"}`+(d>0?` and ${d} pack${d===1?"":"s"}.`:".")}catch(c){o=` Installer bridge failed: ${c instanceof $?K(c.body.error??{code:"UNKNOWN",message:c.message}):c instanceof Error?c.message:String(c)}. Settings were saved; re-run the wizard to retry the install plan.`}P.value={message:`${t}${o} ${r}`,tone:"success"},q.value=Ti(De()-1),It.value=V.value,ne.value=gn()?M.value:ne.value,Sn.value=[],Ci.value=!0}catch(e){e instanceof $?(de.value=$r(e.body.error??{message:e.message}),P.value={message:K(e.body.error??{code:"UNKNOWN",message:e.message}),tone:"error"}):P.value={message:e instanceof Error?e.message:String(e),tone:"error"}}finally{Pe.value=!1}}function Dc(){if(Ke.value)return a("p",{children:"Detecting module roots…"});if(Se.value!==null)return a("div",{class:"ac-wizard-step-stub",children:[a("p",{class:"ac-banner ac-banner--error",children:["Module detection failed: ",Se.value]}),a("p",{children:"You can skip this step — `.agent-project-settings.yml` will be left as-is. Re-run the wizard after fixing the underlying bridge to populate `modules:` automatically."})]});const e=Si.value,n=hn.value,i=Pt.value;return a("div",{class:"ac-wizard-step-stub",children:[i!==null?a("p",{children:["Scanning ",a("code",{children:i}),". Pick which detected roots the agent should treat as modules. Skip leaves",a("code",{children:" .agent-project-settings.yml"})," untouched."]}):null,a("label",{children:[a("input",{type:"checkbox",checked:pn.value,onChange:r=>{pn.value=r.currentTarget.checked,ue.value=!1}})," ","Enable module discovery (writes ",a("code",{children:"modules.enabled"}),")"]}),e.length===0?a("p",{children:[a("em",{children:"No module roots detected."})," The wizard found no common module layouts (Laravel ",a("code",{children:"app/Modules/"}),", Symfony ",a("code",{children:"src/Module/"}),", Node ",a("code",{children:"packages/"}),", Python ",a("code",{children:"src/"}),", Go ",a("code",{children:"internal/"}),"). Skip to leave ",a("code",{children:"modules:"})," blank."]}):a("ul",{style:"list-style: none; padding-left: 0;",children:e.map(r=>a("li",{children:a("label",{children:[a("input",{type:"checkbox",checked:n[r.path]??!1,onChange:t=>{const l=t.currentTarget.checked;hn.value={...n,[r.path]:l},ue.value=!1}})," ",a("code",{children:r.path})," — ",r.stack," ",a("small",{children:["(",r.confidence," confidence)"]})]})},r.path))}),a("label",{children:["Namespace template:"," ",a("input",{type:"text",value:_n.value,placeholder:"e.g. App\\\\Modules\\\\{ModuleName}\\\\App",onInput:r=>{_n.value=r.currentTarget.value,ue.value=!1}})]}),a("label",{children:["Agent folder:"," ",a("input",{type:"text",value:vn.value,placeholder:"agents",onInput:r=>{vn.value=r.currentTarget.value,ue.value=!1}})]})]})}function Bc(){if(ue.value||!ni.value)return null;const e=new Set(Si.value.map(r=>r.path)),n=hn.value,i=Object.keys(n).filter(r=>n[r]===!0&&e.has(r));return{enabled:pn.value,root_paths:i,namespace_template:_n.value,agent_folder:vn.value||"agents"}}function jc(){const e=$e.value;return a("div",{class:"ac-wizard-step-stub",children:[a("p",{children:"Pick the AI tools you use. The installer wires each selected tool's surface (skills, rules, commands) on apply. You can change this list later by re-running the wizard."}),a("ul",{style:"list-style: none; padding-left: 0;",children:fc.map(n=>a("li",{children:a("label",{children:[a("input",{type:"checkbox",checked:e[n.id]??!1,onChange:i=>{const r=i.currentTarget.checked;$e.value={...e,[n.id]:r}}})," ",n.label," ",a("small",{children:a("code",{children:n.id})})]})},n.id))})]})}function zc(){if(Ge.value)return a("p",{children:"Loading discovery manifest…"});if(Te.value!==null)return a("div",{class:"ac-wizard-step-stub",children:[a("p",{class:"ac-banner ac-banner--error",children:["Discovery failed: ",Te.value]}),a("p",{children:"The manifest endpoint is gated on extended-mode. Re-run the server with extended steps enabled to populate this list."})]});const e=$t.value,n=ve.value,i=new Set(Mt.value);return a("div",{class:"ac-wizard-step-stub",children:[a("p",{children:"Pick the capability packs to install. Auto-detected packs are pre-selected based on files in your project root."}),e.length===0?a("p",{children:a("em",{children:"No packs available in the manifest."})}):a("ul",{style:"list-style: none; padding-left: 0;",children:e.map(r=>a("li",{children:a("label",{children:[a("input",{type:"checkbox",checked:n[r.id]??!1,onChange:t=>{const l=t.currentTarget.checked;ve.value={...n,[r.id]:l}}})," ",a("strong",{children:r.label})," ",a("small",{children:a("code",{children:r.id})}),i.has(r.id)?a("small",{children:[" — ",a("em",{children:"auto-detected"})]}):null,r.description!==""?a("div",{children:a("small",{children:r.description})}):null,r.requires_hint&&r.requires_hint.length>0?a("div",{children:a("small",{children:["Requires: ",r.requires_hint.map(t=>a("code",{children:t},t)).reduce((t,l,o)=>o===0?[l]:[...t,a(Q,{children:", "}),l],[])]})}):null]})},r.id))})]})}function Uc(){const e=Cn(q.value,{extended:I.value});if(I.value&&Bt.value==="install"&&q.value===3&&!Pn.value)return a(Sc,{busy:Pe.value,onContinue:()=>{Pn.value=!0},onFinishHere:()=>{Pn.value=!0,Ee(De()-1)}});if(e.kind==="form"){const i=cc(xi.value,e.paths??[]);return a(Ol,{schema:i,values:V.value,errors:de.value,onChange:r=>{V.value=r}})}return e.kind==="userMd"?!ei.value||M.value===null?a("p",{children:"Loading .agent-user.yml…"}):a(Ll,{value:M.value,errors:de.value,onChange:i=>{M.value=i,Ai.value=!1}}):e.kind==="aiTools"?a(jc,{}):e.kind==="packs"?a(zc,{}):e.kind==="modules"?a(Dc,{}):a(xc,{steps:jt(),currentIndex:q.value,changes:Sn.value,errors:de.value,userMdChanged:gn(),userMdAction:Lt.value?"replace":"create",loading:dn.value,onJump:i=>{Ee(i)},scope:fn.value,scopeAvailable:pe.value?.projectScopeAvailable===!0,onScopeChange:i=>{fn.value=i},selectedToolsCount:Object.values($e.value).filter(Boolean).length,selectedPacksCount:Object.values(ve.value).filter(Boolean).length,installPlanByTool:I.value?Hc():void 0,installPlanReady:I.value?fe.value!==null:void 0,installPlanError:I.value&&!ii.value?Ve.value:null,conflicts:I.value?fe.value?.conflicts??[]:void 0,conflictResolutions:I.value?Rn.value:void 0,conflictBatchChoice:I.value?cr.value:void 0,onConflictResolutionChange:I.value?(i,r)=>{Rn.value={...Rn.value,[i]:r}}:void 0,onConflictBatchChoice:I.value?i=>{cr.value=i}:void 0})}function Hc(){const e=fe.value;if(e===null)return{};const n={};for(const[i,r]of Object.entries(e.filesByTool))n[i]=r.length;return n}function Mn({path:e}){if(pi(()=>{Lc()},[]),!Nt.value||xi.value===null)return a("div",{class:"ac-page",children:[a("h1",{children:"Setup wizard"}),Ce.value!==null?a("p",{class:"ac-banner ac-banner--error",children:Ce.value}):a("p",{children:"Loading…"})]});const n=q.value,i=De(),r=Cn(n,{extended:I.value}),t=n===i-1,l=mn.value,o=l!==null&&!Dt.value,c=ri.value;return c!==null&&c.present&&!ti.value?a("div",{class:"ac-page",children:a(Tc,{sourcePath:c.path,backupTarget:c.backupTarget,version:c.version,busy:li.value,error:ai.value,onBackupAndProceed:()=>{Fc()},onAbort:()=>{P.value={tone:"info",message:"Aborted. Uninstall v3 manually, then re-run `agent-config install`."},ti.value=!0}})}):a("div",{class:"ac-page",children:[a(uc,{step:r,index:n,total:i}),o?a(Cc,{abortedAt:l.abortedAt,abortNote:l.abortNote,writesSinceRollback:l.writesSinceRollback,busy:Pe.value,onResume:()=>{$n("resume")},onRollback:()=>{$n("rollback")},onIgnore:()=>{$n("ignore")}}):null,P.value!==null?a("p",{class:`ac-banner${P.value.tone==="error"?" ac-banner--error":""}`,children:P.value.message}):null,a("div",{class:"ac-wizard__step",children:a(Uc,{})}),a(dc,{canGoPrev:n>0,canGoNext:!t,canSkip:r.kind==="userMd"||r.kind==="modules",isLast:t,busy:Pe.value||dn.value,canFinish:Sn.value.length>0||gn(),completed:Ci.value,onPrev:()=>{Ee(n-1)},onNext:()=>{Ee(n+1)},onSkip:()=>{r.kind==="modules"?ue.value=!0:Ai.value=!0,Ee(n+1)},onFinish:()=>{Mc()}})]})}const Qe=_([]),yn=_([]),oi=_([]),ci=_([]),bn=_(null),Kt=_(!1),Oe=_(null),X=_(null),Dn=_("plain");async function Wc(){Oe.value=null;try{const[e,n,i,r]=await Promise.all([A("/api/v1/workspace/roles"),A("/api/v1/workspace/sessions?limit=20"),A("/api/v1/workspace/knowledge?limit=20"),A("/api/v1/workspace/documents?limit=20")]);Qe.value=e.roles,yn.value=n.sessions,oi.value=i.chunks,ci.value=r.documents,Kt.value=!0}catch(e){e instanceof $?Oe.value=e.body?.error?.message??e.message:Oe.value=e instanceof Error?e.message:String(e)}}async function Yc(e,n){X.value=null;try{const i=await A("/api/v1/workspace/launch",{method:"POST",body:{role:e,task:n,host:"local"}});X.value=`Started session ${i.id} (${i.role} · ${i.task}).`;const r=await A("/api/v1/workspace/sessions?limit=20");yn.value=r.sessions}catch(i){i instanceof $?X.value=i.body?.error?.message??i.message:X.value=i instanceof Error?i.message:String(i)}}function qc({role:e}){const n=bn.value===e.slug;return a("button",{type:"button",class:`ac-workspace__role${n?" ac-workspace__role--active":""}`,"aria-current":n?"true":void 0,"aria-label":`Pick role ${e.display_name}`,onClick:()=>{bn.value=e.slug,X.value=null},children:[a("span",{class:"ac-workspace__role-name",children:e.display_name}),a("span",{class:"ac-workspace__role-status","data-status":e.status,children:e.status}),a("span",{class:"ac-workspace__role-tagline",children:e.tagline})]})}function Kc({role:e}){return a("section",{class:"ac-workspace__tasks","aria-labelledby":"task-heading",children:[a("h2",{id:"task-heading",class:"ac-workspace__heading",children:["First tasks · ",e.display_name]}),e.first_tasks.length===0?a("p",{class:"ac-workspace__empty",children:"No tasks scaffolded yet for this role."}):a("ul",{class:"ac-workspace__task-list",children:e.first_tasks.map(n=>a("li",{class:"ac-workspace__task",children:[a("div",{class:"ac-workspace__task-head",children:[a("span",{class:"ac-workspace__task-name",children:n.name}),a("button",{type:"button",class:"ac-button ac-button--primary",onClick:()=>{Yc(e.slug,n.name)},children:"Start session"})]}),a("p",{class:"ac-workspace__task-intent",children:n.intent}),n.prompt!==""?a("code",{class:"ac-workspace__task-prompt",children:["prompts/",n.prompt]}):null]},n.name))}),e.skills.length>0?a("details",{class:"ac-workspace__skills",children:[a("summary",{children:["Skill shortlist (",e.skills.length,")"]}),a("ul",{class:"ac-workspace__skill-list",children:[e.skills.slice(0,5).map(n=>a("li",{class:"ac-workspace__skill",children:[a("code",{children:n.id})," — ",n.why]},n.id)),e.skills.length>5?a("li",{class:"ac-workspace__skill-more",children:["+ ",e.skills.length-5," more"]}):null]})]}):null]})}function Gc(){return a("section",{class:"ac-workspace__sessions","aria-labelledby":"sessions-heading",children:[a("h2",{id:"sessions-heading",class:"ac-workspace__heading",children:"Recent sessions"}),yn.value.length===0?a("p",{class:"ac-workspace__empty",children:"No sessions yet — pick a role and start one."}):a("ul",{class:"ac-workspace__session-list",children:yn.value.map(e=>a("li",{class:"ac-workspace__session",children:[a("span",{class:"ac-workspace__session-id",children:e.id.slice(0,16)}),a("span",{class:"ac-workspace__session-role",children:e.role}),a("span",{class:"ac-workspace__session-task",children:e.task})]},e.id))})]})}function Vc(){return a("section",{class:"ac-workspace__knowledge","aria-labelledby":"knowledge-heading",children:[a("h2",{id:"knowledge-heading",class:"ac-workspace__heading",children:"Knowledge sources"}),oi.value.length===0?a("p",{class:"ac-workspace__empty",children:["No sources yet. Run ",a("code",{children:"/knowledge:ingest <path>"})," to add documents."]}):a("ol",{class:"ac-workspace__citation-list",children:oi.value.map((e,n)=>a("li",{class:"ac-workspace__citation",children:[a("span",{class:"ac-workspace__citation-marker","aria-label":`Citation ${n+1}`,children:["[",n+1,"]"]}),a("a",{href:`file://${e.source}`,class:"ac-workspace__citation-source",title:"Open source in OS default app",children:e.source.split("/").pop()??e.source}),e.pinned?a("span",{class:"ac-workspace__citation-pin","aria-label":"pinned",children:"★"}):null,a("p",{class:"ac-workspace__citation-excerpt",children:[e.excerpt.slice(0,200),e.excerpt.length>200?"…":""]})]},e.id))})]})}function Qc(){return a("section",{class:"ac-workspace__recent","aria-labelledby":"recent-heading",children:[a("h2",{id:"recent-heading",class:"ac-workspace__heading",children:"Recent documents"}),ci.value.length===0?a("p",{class:"ac-workspace__empty",children:"No documents yet. Saved drafts land here."}):a("ul",{class:"ac-workspace__doc-list",children:ci.value.map(e=>a("li",{class:"ac-workspace__doc",children:[a("span",{class:"ac-workspace__doc-type","data-type":e.type,children:e.type}),a("span",{class:"ac-workspace__doc-title",children:e.title}),a("time",{class:"ac-workspace__doc-time",dateTime:e.updated_at,children:e.updated_at.slice(0,10)})]},`${e.type}/${e.slug}`))})]})}function Jc(){const e=Dn.value;return a("fieldset",{class:"ac-workspace__explain",children:[a("legend",{class:"ac-workspace__heading",children:"Explanation style"}),a("label",{class:"ac-workspace__explain-option",children:[a("input",{type:"radio",name:"explain-mode",value:"plain",checked:e==="plain",onChange:()=>{Dn.value="plain"},"aria-label":"Plain language"}),a("span",{children:"Plain language"})]}),a("label",{class:"ac-workspace__explain-option",children:[a("input",{type:"radio",name:"explain-mode",value:"technical",checked:e==="technical",onChange:()=>{Dn.value="technical"},"aria-label":"Technical detail"}),a("span",{children:"Technical detail"})]}),a("p",{class:"ac-workspace__explain-hint",children:e==="plain"?"Replies use everyday words. Toggle to see the technical view.":"Replies keep the technical vocabulary. Toggle for the plain view."})]})}function Zc(){if(pi(()=>{Wc()},[]),Oe.value!==null)return a("div",{class:"ac-page ac-page--error",children:[a("h1",{children:"Workspace"}),a("p",{class:"ac-banner ac-banner--error",children:Oe.value})]});if(!Kt.value)return a("div",{class:"ac-page",children:[a("h1",{children:"Workspace"}),a("p",{children:"Loading…"})]});const e=bn.value!==null?Qe.value.find(n=>n.slug===bn.value)??null:null;return a("div",{class:"ac-page ac-workspace",children:[a("header",{class:"ac-page__header",children:[a("h1",{children:"Workspace"}),a("p",{class:"ac-page__subtitle",children:"Pick a role, pick a first task, run it."})]}),X.value!==null?a("p",{class:"ac-banner",role:"status",children:X.value}):null,a("div",{class:"ac-workspace__grid",children:[a("section",{class:"ac-workspace__roles","aria-labelledby":"roles-heading",children:[a("h2",{id:"roles-heading",class:"ac-workspace__heading",children:"Roles"}),Qe.value.length===0?a("p",{class:"ac-workspace__empty",children:"No roles installed."}):a("div",{class:"ac-workspace__role-grid",children:Qe.value.map(n=>a(qc,{role:n},n.slug))})]}),a("main",{class:"ac-workspace__main","aria-label":"Tasks and sessions",children:[e!==null?a(Kc,{role:e}):a("p",{class:"ac-workspace__empty",children:"Pick a role on the left to see its first tasks."}),a(Gc,{})]}),a("aside",{class:"ac-workspace__rail","aria-label":"Knowledge and documents",children:[a(Vc,{}),a(Qc,{}),a(Jc,{})]})]})]})}const Gt=[{id:"setup",label:"Setup",hashPath:"/setup",matches:["/setup","/wizard"]},{id:"tasks",label:"Tasks",hashPath:"/tasks",matches:["/tasks"]},{id:"council",label:"Council",hashPath:"/council",matches:["/council"]},{id:"memory",label:"Memory",hashPath:"/memory",matches:["/memory"]},{id:"explain",label:"Explain",hashPath:"/explain",matches:["/explain"]},{id:"workspace",label:"Workspace",hashPath:"/workspace",matches:["/workspace"]}];function Xc(e){for(const n of Gt)for(const i of n.matches)if(e===i||e.startsWith(`${i}/`))return n.id;return null}function es(){const e=oe.value,n=Xc(e);return a("header",{class:"ac-topnav",children:a("div",{class:"ac-topnav__inner",children:[a("div",{class:"ac-topnav__brand",children:[a("h1",{class:"ac-topnav__title",children:"@event4u/agent-config"}),a("p",{class:"ac-topnav__subtitle",children:"Browser Wizard"})]}),a("nav",{class:"ac-topnav__tabs","aria-label":"Surfaces",children:Gt.map(i=>a("button",{type:"button",class:`ac-topnav__tab${n===i.id?" ac-topnav__tab--active":""}`,"aria-current":n===i.id?"page":void 0,onClick:()=>Yn(i.hashPath),children:i.label},i.id))})]})})}function He({name:e}){return a("div",{class:"ac-page",children:[a("header",{class:"ac-page__header",children:a("h1",{children:e})}),a("section",{class:"ac-section",children:[a("p",{class:"ac-section__description",children:["The ",a("strong",{children:e})," surface is currently served by the legacy installer GUI on port ",a("code",{children:"41100"}),". It is being ported to the modern shell in a follow-up phase (road-to-unified-setup § Phase 5)."]}),a("p",{class:"ac-section__description",children:["For now the legacy surface remains reachable via"," ",a("code",{children:"installer gui"}),"."]})]})]})}function ns({path:e}){return a("div",{class:"ac-page ac-page--error",children:[a("h1",{children:"Page not found"}),a("p",{children:["Nothing routed to ",a("code",{children:e}),". Try ",a("a",{href:"#/setup",children:"Setup"}),"."]})]})}function is(){const e=pe.value;return e===null||e.dryRun!==!0?null:a("div",{class:"ac-dryrun-banner",role:"status","aria-live":"polite",children:[a("strong",{children:"DRY RUN"}),a("span",{children:" · no files will be written. Validation + rendering run normally; commits return a preview."})]})}function rs(e){return e==="/"||e==="/setup"||e.startsWith("/setup/")?a(Mn,{path:e}):e.startsWith("/wizard")?a(Mn,{path:e}):e==="/settings"||e.startsWith("/settings/")?a(Mn,{path:"/setup"}):e==="/tasks"?a(He,{name:"Tasks"}):e==="/council"?a(He,{name:"Council"}):e==="/memory"?a(He,{name:"Memory"}):e==="/explain"?a(He,{name:"Explain"}):e==="/workspace"?a(Zc,{}):a(ns,{path:e})}function ts(){return pi(()=>{vl(),(oe.value==="/"||oe.value==="/settings"||oe.value.startsWith("/settings/"))&&Yn("/setup"),gl()},[]),a(Q,{children:[a(is,{}),a(es,{}),rs(oe.value)]})}function ls(){return new URLSearchParams(window.location.search).get("token")}function as(){const e=document.getElementById("app");if(e===null)return;const n=ls();if(n===null){e.textContent="agent-config UI · missing token — re-open via `agent-config ui:serve`.";return}ml(n),e.textContent="",il(a(ts,{}),e)}as();
|
|
35
|
+
//# sourceMappingURL=index-DLEuEW1V.js.map
|