@event4u/agent-config 3.3.0 → 4.2.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.
Files changed (561) hide show
  1. package/.agent-src/README.md +2 -2
  2. package/.agent-src/commands/agent-handoff.md +31 -2
  3. package/.agent-src/commands/agent-status.md +5 -5
  4. package/.agent-src/commands/agents/audit.md +8 -8
  5. package/.agent-src/commands/agents/init.md +25 -1
  6. package/.agent-src/commands/agents/optimize.md +3 -3
  7. package/.agent-src/commands/agents/user.md +1 -1
  8. package/.agent-src/commands/agents.md +1 -1
  9. package/.agent-src/commands/analyze-reference-repo.md +1 -1
  10. package/.agent-src/commands/check-current-md.md +8 -8
  11. package/.agent-src/commands/{compress.md → condense.md} +55 -55
  12. package/.agent-src/commands/context/create.md +7 -4
  13. package/.agent-src/commands/context/refactor.md +3 -1
  14. package/.agent-src/commands/feature/dev.md +1 -1
  15. package/.agent-src/commands/feature/explore.md +1 -1
  16. package/.agent-src/commands/feature/plan.md +10 -8
  17. package/.agent-src/commands/feature/refactor.md +3 -1
  18. package/.agent-src/commands/feature/roadmap.md +7 -4
  19. package/.agent-src/commands/fix/portability.md +3 -3
  20. package/.agent-src/commands/fix/refs.md +4 -4
  21. package/.agent-src/commands/ghostwriter.md +2 -2
  22. package/.agent-src/commands/memory/learn-low-impact.md +3 -3
  23. package/.agent-src/commands/module/explore.md +34 -8
  24. package/.agent-src/commands/optimize/agents-dir.md +9 -7
  25. package/.agent-src/commands/optimize/augmentignore.md +2 -2
  26. package/.agent-src/commands/optimize/skills.md +9 -9
  27. package/.agent-src/commands/post-as.md +1 -1
  28. package/.agent-src/commands/project-analyze.md +2 -2
  29. package/.agent-src/commands/project-health.md +3 -2
  30. package/.agent-src/commands/research/deep.md +1 -1
  31. package/.agent-src/commands/research/report.md +1 -1
  32. package/.agent-src/commands/research.md +1 -1
  33. package/.agent-src/commands/roadmap/ai-council.md +1 -1
  34. package/.agent-src/commands/roadmap/create.md +9 -4
  35. package/.agent-src/commands/rule-compliance-audit.md +1 -1
  36. package/.agent-src/commands/upstream-contribute.md +14 -14
  37. package/.agent-src/commands/video/from-script.md +1 -1
  38. package/.agent-src/commands/video/scene.md +1 -1
  39. package/.agent-src/commands/video/stitch.md +1 -1
  40. package/.agent-src/commands/video/storyboard.md +1 -1
  41. package/.agent-src/commands/video.md +1 -1
  42. package/.agent-src/contexts/augment-infrastructure.md +1 -1
  43. package/.agent-src/contexts/authority/commit-mechanics.md +15 -0
  44. package/.agent-src/contexts/authority/kernel-rule-edits.md +3 -3
  45. package/.agent-src/contexts/authority/scope-mechanics.md +1 -1
  46. package/.agent-src/contexts/communication/rules-auto/augment-source-of-truth-mechanics.md +28 -28
  47. package/.agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +4 -4
  48. package/.agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +2 -2
  49. package/.agent-src/contexts/contracts/artifact-engagement-flow.md +6 -6
  50. package/.agent-src/contexts/contracts/command-suggestion-flow.md +3 -3
  51. package/.agent-src/contexts/contracts/emergency-triage-block.md +4 -4
  52. package/.agent-src/contexts/contracts/frugality-charter.md +3 -3
  53. package/.agent-src/contexts/documentation-hierarchy.md +14 -7
  54. package/.agent-src/contexts/execution/autonomy-examples.md +1 -1
  55. package/.agent-src/contexts/execution/cheap-question-mechanics.md +39 -2
  56. package/.agent-src/contexts/execution/roadmap-process-loop.md +28 -5
  57. package/.agent-src/contexts/override-system.md +5 -5
  58. package/.agent-src/ghostwriter/fictional-fixture-v1.md +1 -1
  59. package/.agent-src/personas/advisors/first-principles.md +1 -1
  60. package/.agent-src/personas/hollywood-director.md +1 -1
  61. package/.agent-src/rules/architecture.md +5 -1
  62. package/.agent-src/rules/augment-edit-discipline.md +5 -5
  63. package/.agent-src/rules/augment-source-of-truth.md +15 -15
  64. package/.agent-src/rules/commit-conventions.md +1 -1
  65. package/.agent-src/rules/commit-policy.md +10 -0
  66. package/.agent-src/rules/domain-adoption-policy.md +3 -3
  67. package/.agent-src/rules/fast-path-marker-visibility.md +3 -3
  68. package/.agent-src/rules/finance-safety-floor.md +1 -1
  69. package/.agent-src/rules/framework-neutrality-in-generic-skills.md +8 -8
  70. package/.agent-src/rules/git-history-discipline.md +1 -1
  71. package/.agent-src/rules/improve-before-implement.md +2 -2
  72. package/.agent-src/rules/language-and-tone.md +2 -2
  73. package/.agent-src/rules/media-governance-routing.md +5 -5
  74. package/.agent-src/rules/no-attribution-footers.md +1 -0
  75. package/.agent-src/rules/no-cheap-questions.md +3 -0
  76. package/.agent-src/rules/no-decorative-emojis-in-git-surfaces.md +111 -0
  77. package/.agent-src/rules/no-pr-progress-comments.md +118 -0
  78. package/.agent-src/rules/no-roadmap-references.md +3 -3
  79. package/.agent-src/rules/non-destructive-by-default.md +1 -1
  80. package/.agent-src/rules/persona-governance.md +3 -3
  81. package/.agent-src/rules/preservation-guard.md +15 -15
  82. package/.agent-src/rules/roadmap-ci-steps-policy.md +7 -3
  83. package/.agent-src/rules/rule-type-governance.md +1 -1
  84. package/.agent-src/rules/skill-quality.md +1 -1
  85. package/.agent-src/rules/{caveman-speak.md → telegraph-speak.md} +15 -15
  86. package/.agent-src/rules/token-optimizer-maintenance.md +6 -6
  87. package/.agent-src/skills/agent-docs-writing/SKILL.md +17 -11
  88. package/.agent-src/skills/agents-md-thin-root/SKILL.md +9 -9
  89. package/.agent-src/skills/check-refs/SKILL.md +2 -2
  90. package/.agent-src/skills/code-refactoring/SKILL.md +2 -2
  91. package/.agent-src/skills/command-writing/SKILL.md +19 -19
  92. package/.agent-src/skills/comp-banding/SKILL.md +1 -1
  93. package/.agent-src/skills/condense-memory/SKILL.md +131 -0
  94. package/.agent-src/skills/context-authoring/SKILL.md +2 -2
  95. package/.agent-src/skills/context-document/SKILL.md +5 -3
  96. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +3 -3
  97. package/.agent-src/skills/description-assist/SKILL.md +2 -2
  98. package/.agent-src/skills/git-workflow/SKILL.md +1 -1
  99. package/.agent-src/skills/guideline-writing/SKILL.md +5 -5
  100. package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +4 -4
  101. package/.agent-src/skills/lint-skills/SKILL.md +3 -3
  102. package/.agent-src/skills/md-language-check/SKILL.md +2 -2
  103. package/.agent-src/skills/module-detect-on-the-fly/SKILL.md +138 -0
  104. package/.agent-src/skills/module-management/SKILL.md +166 -94
  105. package/.agent-src/skills/override-management/SKILL.md +1 -1
  106. package/.agent-src/skills/persona-writing/SKILL.md +5 -5
  107. package/.agent-src/skills/positioning-strategy/SKILL.md +1 -1
  108. package/.agent-src/skills/project-docs/SKILL.md +6 -4
  109. package/.agent-src/skills/readme-reviewer/SKILL.md +2 -2
  110. package/.agent-src/skills/roadmap-management/SKILL.md +13 -1
  111. package/.agent-src/skills/roadmap-writing/SKILL.md +4 -2
  112. package/.agent-src/skills/rule-refactor/SKILL.md +5 -5
  113. package/.agent-src/skills/rule-writing/SKILL.md +18 -18
  114. package/.agent-src/skills/script-writing/SKILL.md +1 -1
  115. package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +6 -6
  116. package/.agent-src/skills/skill-management/SKILL.md +21 -21
  117. package/.agent-src/skills/skill-reviewer/SKILL.md +2 -2
  118. package/.agent-src/skills/skill-writing/SKILL.md +8 -8
  119. package/.agent-src/skills/skill-writing/evals/triggers.json +1 -1
  120. package/.agent-src/skills/token-optimizer/SKILL.md +4 -4
  121. package/.agent-src/skills/unit-economics-modeling/SKILL.md +1 -1
  122. package/.agent-src/skills/upstream-contribute/SKILL.md +17 -17
  123. package/.agent-src/templates/AGENTS.md +1 -0
  124. package/.agent-src/templates/agent-settings.md +24 -13
  125. package/.agent-src/templates/agents/agent-project-settings.example.yml +61 -2
  126. package/.agent-src/templates/command.md +5 -5
  127. package/.agent-src/templates/contexts.md +1 -1
  128. package/.agent-src/templates/copilot-instructions.md +8 -8
  129. package/.agent-src/templates/features.md +1 -1
  130. package/.agent-src/templates/hooks/pre-commit-frontmatter +2 -2
  131. package/.agent-src/templates/hooks/pre-commit-roadmap-progress +3 -3
  132. package/.agent-src/templates/persona.md +2 -2
  133. package/.agent-src/templates/roadmaps.md +1 -1
  134. package/.agent-src/templates/rule.md +13 -13
  135. package/.agent-src/templates/scripts/memory_lookup.py +1 -1
  136. package/.agent-src/templates/scripts/memory_status.py +2 -2
  137. package/.agent-src/templates/scripts/work_engine/_lib/agent_settings.py +195 -1
  138. package/.agent-src/templates/scripts/work_engine/orchestration.py +1 -1
  139. package/.agent-src/templates/skill-archive-note.md +5 -5
  140. package/.agent-src/templates/skill.md +1 -1
  141. package/.claude-plugin/marketplace.json +4 -4
  142. package/AGENTS.md +16 -17
  143. package/CHANGELOG.md +216 -3
  144. package/CONTRIBUTING.md +31 -12
  145. package/README.md +21 -12
  146. package/config/agent-settings.template.yml +22 -2
  147. package/config/discovery/unassigned-artefacts.yml +24 -24
  148. package/config/profiles/full.ini +1 -1
  149. package/dist/cli/agent-config.js +52 -3
  150. package/dist/cli/agent-config.js.map +1 -1
  151. package/dist/cli/commands/uiServe.js +9 -0
  152. package/dist/cli/commands/uiServe.js.map +1 -1
  153. package/dist/cli/registry.js +2 -1
  154. package/dist/cli/registry.js.map +1 -1
  155. package/dist/discovery/deprecation-report.md +1 -1
  156. package/dist/discovery/discovery-manifest.json +649 -606
  157. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  158. package/dist/discovery/discovery-manifest.summary.md +4 -4
  159. package/dist/discovery/orphan-report.md +1 -1
  160. package/dist/discovery/packs.json +439 -437
  161. package/dist/discovery/trust-report.md +5 -5
  162. package/dist/discovery/workspaces.json +450 -448
  163. package/dist/install/atomic.js +92 -0
  164. package/dist/install/atomic.js.map +1 -0
  165. package/dist/install/conflict.js +196 -0
  166. package/dist/install/conflict.js.map +1 -0
  167. package/dist/install/detect.js +218 -0
  168. package/dist/install/detect.js.map +1 -0
  169. package/dist/install/paths.js +82 -0
  170. package/dist/install/paths.js.map +1 -0
  171. package/dist/install/plan.js +157 -0
  172. package/dist/install/plan.js.map +1 -0
  173. package/dist/install/txlog.js +140 -0
  174. package/dist/install/txlog.js.map +1 -0
  175. package/dist/install/types.js +19 -0
  176. package/dist/install/types.js.map +1 -0
  177. package/dist/install/wizard-plan.js +184 -0
  178. package/dist/install/wizard-plan.js.map +1 -0
  179. package/dist/mcp/registry-manifest.json +4 -4
  180. package/dist/router.json +67 -19
  181. package/dist/server/app.js +6 -0
  182. package/dist/server/app.js.map +1 -1
  183. package/dist/server/routes/install.js +358 -0
  184. package/dist/server/routes/install.js.map +1 -0
  185. package/dist/server/routes/wizard.js +468 -32
  186. package/dist/server/routes/wizard.js.map +1 -1
  187. package/dist/server/routes/workspace.js +396 -0
  188. package/dist/server/routes/workspace.js.map +1 -0
  189. package/dist/server/schemas/settings.js +5 -3
  190. package/dist/server/schemas/settings.js.map +1 -1
  191. package/dist/ui/assets/index-BDAhhpDV.js +40 -0
  192. package/dist/ui/assets/index-BDAhhpDV.js.map +1 -0
  193. package/dist/ui/assets/index-BXZILUxe.css +1 -0
  194. package/dist/ui/index.html +2 -2
  195. package/docs/MIGRATION.md +1 -1
  196. package/docs/adrs/cost/0001-hard-stop-hook.md +1 -1
  197. package/docs/adrs/router/0001-three-tier-routing.md +4 -4
  198. package/docs/adrs/schema/0001-json-schema-frontmatter.md +1 -1
  199. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +4 -4
  200. package/docs/adrs/{caveman → telegraph}/0001-default-off-until-bench.md +9 -9
  201. package/docs/adrs/telegraph/README.md +9 -0
  202. package/docs/architecture/augment-projection.md +4 -4
  203. package/docs/architecture/claude-bundle.md +1 -1
  204. package/docs/architecture/current-onboard-baseline.md +3 -3
  205. package/docs/architecture/multi-tool-projection.md +10 -10
  206. package/docs/architecture/source-projection.md +27 -27
  207. package/docs/architecture.md +19 -15
  208. package/docs/archive/CHANGELOG-pre-2.11.0.md +2 -2
  209. package/docs/archive/CHANGELOG-pre-2.15.0.md +3 -3
  210. package/docs/archive/CHANGELOG-pre-2.16.0.md +1 -1
  211. package/docs/archive/CHANGELOG-pre-2.2.0.md +70 -70
  212. package/docs/archive/CHANGELOG-pre-2.20.0.md +2 -2
  213. package/docs/archive/CHANGELOG-pre-2.25.0.md +15 -15
  214. package/docs/archive/CHANGELOG-pre-3.0.0.md +4 -4
  215. package/docs/archive/CHANGELOG-pre-3.1.0.md +2 -2
  216. package/docs/archive/CHANGELOG-pre-3.2.0.md +3 -3
  217. package/docs/benchmark.md +65 -0
  218. package/docs/benchmarks.md +16 -16
  219. package/docs/catalog.md +17 -15
  220. package/docs/contracts/CHANGELOG-conventions.md +1 -1
  221. package/docs/contracts/STABILITY.md +2 -2
  222. package/docs/contracts/adoption-signal-floor.md +110 -0
  223. package/docs/contracts/adr-chat-history-split.md +4 -4
  224. package/docs/contracts/adr-command-suggestion.md +4 -4
  225. package/docs/contracts/adr-gtm-context-spine.md +1 -1
  226. package/docs/contracts/adr-implement-ticket-runtime.md +4 -4
  227. package/docs/contracts/adr-install-user-type-axis.md +1 -1
  228. package/docs/contracts/adr-layout.md +2 -2
  229. package/docs/contracts/adr-product-ui-track.md +10 -10
  230. package/docs/contracts/adr-user-types-axis.md +3 -3
  231. package/docs/contracts/adr-wing4-context-spine.md +1 -1
  232. package/docs/contracts/agent-memory-contract.md +3 -3
  233. package/docs/contracts/agents-md-tech-stack.md +2 -2
  234. package/docs/contracts/ai-council-config.md +2 -2
  235. package/docs/contracts/at-rest-encryption.md +4 -0
  236. package/docs/contracts/audit-log-v1.md +1 -1
  237. package/docs/contracts/benchmark-ab-contract.md +101 -0
  238. package/docs/contracts/benchmark-corpus-spec.md +1 -1
  239. package/docs/contracts/branch-protection-policy.md +98 -0
  240. package/docs/contracts/ci-cost-budget.md +106 -0
  241. package/docs/contracts/ci-green-floor.md +141 -0
  242. package/docs/contracts/command-clusters.md +6 -6
  243. package/docs/contracts/command-surface-tiers.md +2 -2
  244. package/docs/contracts/command-taxonomy.md +2 -2
  245. package/docs/contracts/{compression-default-kill-criterion.md → condensation-default-kill-criterion.md} +29 -29
  246. package/docs/contracts/config-presets.md +1 -1
  247. package/docs/contracts/context-paths.md +3 -3
  248. package/docs/contracts/context-spine.md +1 -1
  249. package/docs/contracts/cost-summary-schema.md +12 -12
  250. package/docs/contracts/cross-wing-handoff.md +4 -4
  251. package/docs/contracts/daily-workspace.md +4 -0
  252. package/docs/contracts/decision-trace-v1.md +2 -2
  253. package/docs/contracts/discovery-manifest.md +4 -4
  254. package/docs/contracts/explain-modes.md +4 -0
  255. package/docs/contracts/file-ownership-matrix.json +3493 -3318
  256. package/docs/contracts/file-ownership-matrix.md +3 -3
  257. package/docs/contracts/frontmatter-contract.md +4 -4
  258. package/docs/contracts/ghostwriter-schema.md +3 -3
  259. package/docs/contracts/gui-wizard.md +110 -97
  260. package/docs/contracts/harness-expectations.md +123 -0
  261. package/docs/contracts/host-agent-protocol.md +4 -0
  262. package/docs/contracts/implement-ticket-flow.md +9 -9
  263. package/docs/contracts/install-scopes.md +77 -0
  264. package/docs/contracts/iron-law-overrides.txt +1 -1
  265. package/docs/contracts/kernel-membership.md +26 -26
  266. package/docs/contracts/linear-ai-rules-inclusion.md +1 -1
  267. package/docs/contracts/linter-structural-model.md +2 -2
  268. package/docs/contracts/load-context-budget-model.md +4 -4
  269. package/docs/contracts/load-context-schema.md +13 -13
  270. package/docs/contracts/local-analytics.md +4 -0
  271. package/docs/contracts/local-knowledge-ingestion.md +1 -1
  272. package/docs/contracts/mcp-cloud-scope.md +2 -2
  273. package/docs/contracts/mcp-phase-1-scope.md +3 -3
  274. package/docs/contracts/measurement-baseline.md +5 -5
  275. package/docs/contracts/mental-models.md +30 -30
  276. package/docs/contracts/multi-tool-projection-fidelity.md +4 -4
  277. package/docs/contracts/namespace.md +4 -4
  278. package/docs/contracts/orchestration-dsl-v1.md +7 -7
  279. package/docs/contracts/package-self-orientation.md +12 -12
  280. package/docs/contracts/persona-schema.md +6 -6
  281. package/docs/contracts/pilot/language-and-tone.md +1 -1
  282. package/docs/contracts/plain-language-surface.md +117 -0
  283. package/docs/contracts/profile-system.md +3 -3
  284. package/docs/contracts/release-pr-gating.md +103 -0
  285. package/docs/contracts/role-experience.md +3 -3
  286. package/docs/contracts/rule-classification.md +13 -13
  287. package/docs/contracts/rule-interactions.md +4 -4
  288. package/docs/contracts/rule-interactions.yml +30 -30
  289. package/docs/contracts/rule-priority-hierarchy.md +13 -13
  290. package/docs/contracts/rule-router.md +2 -2
  291. package/docs/contracts/safety-model.md +1 -1
  292. package/docs/contracts/skill-distribution-channels.md +61 -0
  293. package/docs/contracts/skill-domains.md +2 -2
  294. package/docs/contracts/smoke-contracts.md +5 -5
  295. package/docs/contracts/telegraph-telemetry.md +83 -0
  296. package/docs/contracts/trust-and-safety.md +5 -5
  297. package/docs/contracts/ui-stack-extension.md +7 -7
  298. package/docs/contracts/ui-track-flow.md +9 -9
  299. package/docs/contracts/user-type-schema.md +4 -4
  300. package/docs/contracts/workflow-packs.md +4 -4
  301. package/docs/contracts/workspace-documents.md +4 -0
  302. package/docs/customization.md +28 -8
  303. package/docs/decisions/ADR-001-kernel-swap-deferred.md +6 -6
  304. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +11 -11
  305. package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +2 -2
  306. package/docs/decisions/ADR-004-rule-governance-pruning.md +4 -4
  307. package/docs/decisions/ADR-005-subagent-worktrees.md +7 -7
  308. package/docs/decisions/ADR-011-domain-pack-readiness.md +6 -6
  309. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +3 -3
  310. package/docs/decisions/ADR-015-discovery-manifest-contract.md +3 -3
  311. package/docs/decisions/ADR-017-monorepo-physical-layout.md +10 -10
  312. package/docs/decisions/ADR-018-trust-and-safety-layer.md +6 -6
  313. package/docs/decisions/ADR-019-router-json-dist-location.md +2 -2
  314. package/docs/decisions/ADR-020-global-only-consumer-scope.md +2 -2
  315. package/docs/decisions/ADR-021-deployment-shape.md +3 -3
  316. package/docs/decisions/ADR-022-daily-workspace-decomposition.md +1 -1
  317. package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +2 -2
  318. package/docs/decisions/ADR-028-root-layout.md +7 -7
  319. package/docs/decisions/ADR-029-multi-workspace-deferred.md +2 -2
  320. package/docs/decisions/ADR-rule-kernel-and-router.md +5 -5
  321. package/docs/deploy/connector-setup.md +2 -2
  322. package/docs/deploy/policy-cookbook.md +2 -2
  323. package/docs/deploy/team-deployment-posture.md +20 -0
  324. package/docs/development.md +17 -17
  325. package/docs/distribution/registries.md +32 -0
  326. package/docs/distribution/registry-submissions.md +85 -0
  327. package/docs/distribution/telemetry-schema.md +1 -1
  328. package/docs/getting-started-by-role.md +45 -3
  329. package/docs/getting-started.md +2 -2
  330. package/docs/guidelines/agent-infra/5w2h-analysis.md +3 -3
  331. package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
  332. package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +3 -3
  333. package/docs/guidelines/agent-infra/carve-out-predicates.md +3 -3
  334. package/docs/guidelines/agent-infra/critical-thinking.md +4 -4
  335. package/docs/guidelines/agent-infra/direct-answers-demos.md +1 -1
  336. package/docs/guidelines/agent-infra/first-principles.md +2 -2
  337. package/docs/guidelines/agent-infra/inversion-thinking.md +5 -5
  338. package/docs/guidelines/agent-infra/layered-settings.md +56 -2
  339. package/docs/guidelines/agent-infra/mental-models.md +3 -3
  340. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +2 -2
  341. package/docs/guidelines/agent-infra/rule-type-governance.md +1 -1
  342. package/docs/guidelines/agent-infra/scqa-framework.md +5 -5
  343. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +2 -2
  344. package/docs/guidelines/agent-infra/six-hats.md +3 -3
  345. package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
  346. package/docs/guidelines/agent-infra/systems-thinking.md +1 -1
  347. package/docs/guidelines/agent-infra/verify-before-complete-demos.md +1 -1
  348. package/docs/guidelines/augment-portability-patterns.md +4 -4
  349. package/docs/guidelines/cross-role-handoff.md +2 -2
  350. package/docs/guidelines/php/php-coding-patterns.md +1 -1
  351. package/docs/guidelines/prompt-templates.md +6 -6
  352. package/docs/maintainers/dev-mode.md +1 -1
  353. package/docs/mcp.md +1 -1
  354. package/docs/parity/bench.json +3 -3
  355. package/docs/parity/ruflo.md +2 -2
  356. package/docs/profiles.md +11 -11
  357. package/docs/quality.md +11 -11
  358. package/docs/safety.md +3 -3
  359. package/docs/setup/mcp-client-config.md +1 -1
  360. package/docs/setup/mcp-r2-bootstrap.md +1 -1
  361. package/docs/setup/mcp-server-docker.md +3 -3
  362. package/docs/setup/per-ide/windsurf.md +1 -1
  363. package/docs/skills-catalog.md +8 -7
  364. package/docs/troubleshooting.md +1 -1
  365. package/docs/walkthroughs/daily-workspace-a11y.md +87 -0
  366. package/llms.txt +7 -6
  367. package/package.json +1 -1
  368. package/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
  369. package/scripts/_archive/README.md +2 -2
  370. package/scripts/_archive/_backfill_skill_domains.py +3 -3
  371. package/scripts/_archive/_bootstrap_tier_frontmatter.py +3 -3
  372. package/scripts/_archive/_p43_bodies.py +10 -10
  373. package/scripts/_archive/{_p43_compress.py → _p43_condense.py} +5 -5
  374. package/scripts/_archive/_p4_migrate.py +7 -7
  375. package/scripts/_archive/_phase2_shim_helper.py +1 -1
  376. package/scripts/_archive/_pilot_council_question.py +5 -5
  377. package/scripts/_cli/explain_last/inputs.py +1 -1
  378. package/scripts/_lib/__pycache__/__init__.cpython-312.pyc +0 -0
  379. package/scripts/_lib/__pycache__/agent_src.cpython-312.pyc +0 -0
  380. package/scripts/_lib/agent_settings.py +195 -1
  381. package/scripts/_lib/agent_src.py +19 -19
  382. package/scripts/_lib/bench_ab_cache.py +162 -0
  383. package/scripts/_lib/bench_ab_scoring.py +209 -0
  384. package/scripts/_lib/{bench_caveman.py → bench_telegraph.py} +21 -21
  385. package/scripts/_lib/{bench_caveman_report.py → bench_telegraph_report.py} +21 -21
  386. package/scripts/_lib/claude_desktop_bundler.py +5 -5
  387. package/scripts/_lib/module_detection.py +223 -0
  388. package/scripts/_lib/scope_guard.sh +162 -0
  389. package/scripts/_phase4_bucket.py +3 -3
  390. package/scripts/_pilot_measure.py +4 -4
  391. package/scripts/_tmp_scan_framework_leakage.py +1 -1
  392. package/scripts/adoption_report.py +195 -0
  393. package/scripts/adoption_snapshot.py +219 -0
  394. package/scripts/adoption_status.py +166 -0
  395. package/scripts/ai-video/lib/parse-blueprint.sh +1 -1
  396. package/scripts/ai_council/advisors.py +5 -5
  397. package/scripts/ai_council/compile_corpus.py +1 -1
  398. package/scripts/ai_council/one_off_archive/2026-05/_one_off_budget_v2_audit.py +3 -3
  399. package/scripts/ai_council/one_off_archive/2026-05/_one_off_context_layer_v1_review.py +2 -2
  400. package/scripts/ai_council/one_off_archive/2026-05/_one_off_inject_quiet_flag.py +1 -1
  401. package/scripts/ai_council/one_off_archive/2026-05/_one_off_measure_v2.sh +1 -1
  402. package/scripts/ai_council/one_off_archive/2026-05/_one_off_measure_verbosity.sh +1 -1
  403. package/scripts/ai_council/one_off_archive/2026-05/_one_off_nondestructive_inline_audit.py +3 -3
  404. package/scripts/ai_council/one_off_archive/2026-05/_one_off_per_task.sh +1 -1
  405. package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase6_trigger_jaccard.py +1 -1
  406. package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase_2a_budget_rebalance.py +6 -6
  407. package/scripts/ai_council/one_off_archive/2026-05/_one_off_rebalancing_audit.py +1 -1
  408. package/scripts/ai_council/one_off_archive/2026-05/_one_off_tier_retrofit.py +6 -6
  409. package/scripts/annotate_discovery.py +13 -13
  410. package/scripts/apply_modules_config.py +290 -0
  411. package/scripts/audit_adr_coverage.py +2 -2
  412. package/scripts/audit_auto_rules.py +2 -2
  413. package/scripts/audit_cloud_compatibility.py +3 -3
  414. package/scripts/audit_command_surface.py +9 -9
  415. package/scripts/audit_likelihood.py +2 -2
  416. package/scripts/audit_user_type_axis.py +2 -2
  417. package/scripts/bench_ab_cache_dispatch.py +68 -0
  418. package/scripts/bench_ab_clone.py +170 -0
  419. package/scripts/bench_ab_diff.py +227 -0
  420. package/scripts/bench_ab_integrity.py +143 -0
  421. package/scripts/bench_ab_run.py +235 -0
  422. package/scripts/bench_ab_task_runner.py +369 -0
  423. package/scripts/bench_ab_tracka_run.py +202 -0
  424. package/scripts/{bench_compress_memory.py → bench_condense_memory.py} +16 -16
  425. package/scripts/bench_run.py +33 -33
  426. package/scripts/bench_runner.py +2 -2
  427. package/scripts/bootstrap.sh +99 -0
  428. package/scripts/build_cloud_bundle.py +6 -6
  429. package/scripts/build_discovery_manifest.py +7 -7
  430. package/scripts/build_linear_digest.py +3 -3
  431. package/scripts/build_rule_trigger_matrix.py +8 -8
  432. package/scripts/chat_history.py +5 -5
  433. package/scripts/check_always_budget.py +11 -5
  434. package/scripts/check_augment_description_cap.py +3 -3
  435. package/scripts/check_cluster_patterns.py +2 -2
  436. package/scripts/check_command_count_messaging.py +3 -3
  437. package/scripts/{check_compression.py → check_condensation.py} +34 -34
  438. package/scripts/{check_compressed_paths.py → check_condensed_paths.py} +8 -8
  439. package/scripts/check_context_paths.py +7 -7
  440. package/scripts/check_council_layout.py +2 -2
  441. package/scripts/check_council_references.py +9 -9
  442. package/scripts/check_iron_law_prominence.py +2 -2
  443. package/scripts/check_kernel_rule_bundle.py +2 -2
  444. package/scripts/check_module_management_neutral.py +149 -0
  445. package/scripts/check_no_roadmap_refs.py +9 -9
  446. package/scripts/check_portability.py +3 -3
  447. package/scripts/check_public_catalog_links.py +4 -4
  448. package/scripts/check_references.py +7 -6
  449. package/scripts/check_release_pr_shape.py +112 -0
  450. package/scripts/check_reply_consistency.py +3 -3
  451. package/scripts/check_safety_floor_untouched.py +1 -1
  452. package/scripts/check_template_pin_drift.py +5 -5
  453. package/scripts/check_token_optimizer_freshness.py +3 -3
  454. package/scripts/ci_status.py +301 -0
  455. package/scripts/ci_time_ratio.py +1 -1
  456. package/scripts/cleanup_other_scope.sh +146 -0
  457. package/scripts/compile_router.py +10 -10
  458. package/scripts/{compress.py → condense.py} +64 -64
  459. package/scripts/condense.sh +18 -0
  460. package/scripts/{compress_memory.py → condense_memory.py} +33 -33
  461. package/scripts/config/presets.py +2 -2
  462. package/scripts/config/profiles.py +1 -1
  463. package/scripts/cost_by_conversation.py +3 -3
  464. package/scripts/cost_summary.py +7 -7
  465. package/scripts/count_token_optimizer_usage.sh +1 -1
  466. package/scripts/gen_discovery_baseline.py +5 -5
  467. package/scripts/generate_index.py +6 -6
  468. package/scripts/generate_ownership_matrix.py +10 -10
  469. package/scripts/generate_pack_manifests.py +1 -1
  470. package/scripts/ghostwriter_fixture_allowlist.txt +1 -1
  471. package/scripts/install +3 -3
  472. package/scripts/install-hooks.sh +6 -6
  473. package/scripts/install.py +273 -45
  474. package/scripts/install.sh +187 -1
  475. package/scripts/inventory_frontmatter.py +2 -2
  476. package/scripts/iron_law_sha.py +3 -3
  477. package/scripts/lint_agents_layout.py +14 -7
  478. package/scripts/lint_agents_md.py +4 -4
  479. package/scripts/lint_archived_skills.py +3 -3
  480. package/scripts/lint_artefact_frontmatter.py +2 -2
  481. package/scripts/lint_bench_ab.py +172 -0
  482. package/scripts/lint_bench_corpus.py +1 -1
  483. package/scripts/lint_command_tiers.py +5 -5
  484. package/scripts/lint_context_spine_usage.py +1 -1
  485. package/scripts/lint_framework_leakage.py +7 -7
  486. package/scripts/lint_framework_leakage_allowlist.json +152 -84
  487. package/scripts/lint_ghostwriter_source.py +3 -3
  488. package/scripts/lint_handoffs.py +1 -1
  489. package/scripts/lint_load_context.py +11 -11
  490. package/scripts/lint_media_policy_linkage.py +5 -5
  491. package/scripts/lint_namespace.py +1 -1
  492. package/scripts/lint_no_new_atomic_commands.py +2 -2
  493. package/scripts/lint_orchestration_dsl.py +1 -1
  494. package/scripts/lint_pack_boundaries.py +2 -2
  495. package/scripts/lint_persona_governance.py +4 -4
  496. package/scripts/lint_role_experiences.py +237 -0
  497. package/scripts/lint_rule_interactions.py +2 -2
  498. package/scripts/lint_rule_tiers.py +1 -1
  499. package/scripts/lint_trust_coherence.py +2 -2
  500. package/scripts/mcp_registry_submit.sh +187 -0
  501. package/scripts/mcp_server/tools.py +1 -1
  502. package/scripts/measure_frugality_savings.py +10 -10
  503. package/scripts/measure_patterns.py +1 -1
  504. package/scripts/measure_projection_bytes.py +5 -5
  505. package/scripts/measure_rule_budget.py +3 -3
  506. package/scripts/measure_skill_reduction.py +1 -1
  507. package/scripts/memory_lookup.py +1 -1
  508. package/scripts/memory_status.py +2 -2
  509. package/scripts/migrate_command_suggestions.py +3 -3
  510. package/scripts/mine_session.py +1 -1
  511. package/scripts/move_artefact.py +3 -3
  512. package/scripts/new_skill.py +2 -2
  513. package/scripts/pack_mcp_content.py +9 -9
  514. package/scripts/plan_physical_move.py +6 -6
  515. package/scripts/print_required_checks.py +196 -0
  516. package/scripts/probe_skill_registration.py +413 -0
  517. package/scripts/propose_modules_config.py +145 -0
  518. package/scripts/prototype_lint_contradictions.py +1 -1
  519. package/scripts/recruit_preflight.sh +152 -0
  520. package/scripts/refine_ticket_detect.py +3 -3
  521. package/scripts/release.py +20 -0
  522. package/scripts/render_benchmark_md.py +308 -0
  523. package/scripts/roadmap_progress_hook.py +1 -1
  524. package/scripts/run_skill_evals.py +2 -2
  525. package/scripts/runtime_registry.py +4 -4
  526. package/scripts/schemas/command.schema.json +4 -4
  527. package/scripts/schemas/rule.schema.json +5 -5
  528. package/scripts/schemas/skill.schema.json +3 -3
  529. package/scripts/schemas/user-type.schema.json +1 -1
  530. package/scripts/score_skill_selection.py +1 -1
  531. package/scripts/skill_collision_clusters.py +2 -2
  532. package/scripts/skill_linter.py +81 -81
  533. package/scripts/skill_overlap.py +5 -5
  534. package/scripts/skill_tools/audit_persona_coverage.py +2 -2
  535. package/scripts/skill_tools/audit_user_type_coverage.py +2 -2
  536. package/scripts/skill_tools/run_block_d_eval.py +1 -1
  537. package/scripts/skill_tools/score_skill_relevance.py +1 -1
  538. package/scripts/skill_tools/suggest_skill_for_task.py +1 -1
  539. package/scripts/skill_trigger_eval.py +3 -3
  540. package/scripts/smoke/kernel.sh +7 -1
  541. package/scripts/smoke/router.sh +5 -5
  542. package/scripts/smoke/skills.sh +1 -1
  543. package/scripts/smoke_quickstart.py +1 -1
  544. package/scripts/snapshot_agent_outputs.py +3 -3
  545. package/scripts/spotcheck_thin_root.py +1 -1
  546. package/scripts/{caveman_stats.py → telegraph_stats.py} +18 -18
  547. package/scripts/update_counts.py +1 -1
  548. package/scripts/validate_decision_engine.py +1 -1
  549. package/scripts/validate_frontmatter.py +1 -1
  550. package/scripts/validate_safe_paths.py +3 -3
  551. package/scripts/{validate_caveman_carveouts.py → validate_telegraph_carveouts.py} +7 -7
  552. package/scripts/verify_roadmap_closure.py +6 -6
  553. package/templates/consumer-settings/ONBOARDING.md +41 -0
  554. package/.agent-src/commands/install-via-agent.md +0 -129
  555. package/.agent-src/skills/compress-memory/SKILL.md +0 -131
  556. package/dist/ui/assets/index-D-DY1ywI.js +0 -35
  557. package/dist/ui/assets/index-D-DY1ywI.js.map +0 -1
  558. package/dist/ui/assets/index-Dqfhmg-d.css +0 -1
  559. package/docs/adrs/caveman/README.md +0 -9
  560. package/docs/contracts/caveman-telemetry.md +0 -83
  561. package/scripts/compress.sh +0 -18
@@ -0,0 +1,40 @@
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 a of l.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).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 kn,k,ur,dr,W,Oi,fr,hr,On,Ye,we,pr,si,jn,zn,Ze={},Xe=[],Vt=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,xn=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 Jt(e,n,i){var r,t,l,a={};for(l in n)l=="key"?r=n[l]:l=="ref"?t=n[l]:a[l]=n[l];if(arguments.length>2&&(a.children=arguments.length>3?kn.call(arguments,2):i),typeof e=="function"&&e.defaultProps!=null)for(l in e.defaultProps)a[l]===void 0&&(a[l]=e.defaultProps[l]);return qe(e,a,r,t,null)}function qe(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 J(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 Qt(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)&&!en.__r++||Oi!=k.debounceRendering)&&((Oi=k.debounceRendering)||fr)(en)}function en(){try{for(var e,n=1;W.length;)W.length>n&&W.sort(hr),e=W.shift(),n=W.length,Qt(e)}finally{W.length=en.__r=0}}function vr(e,n,i,r,t,l,a,c,s,d,h){var u,f,p,g,b,w,y,v=r&&r.__k||Xe,D=n.length;for(s=Zt(i,n,v,s,D),u=0;u<D;u++)(p=i.__k[u])!=null&&(f=p.__i!=-1&&v[p.__i]||Ze,p.__i=u,w=di(e,p,f,t,l,a,c,s,d,h),g=p.__e,p.ref&&f.ref!=p.ref&&(f.ref&&fi(f.ref,null,p),h.push(p.ref,p.__c||g,p)),b==null&&g!=null&&(b=g),(y=!!(4&p.__u))||f.__k===p.__k?(s=mr(p,s,e,y),y&&f.__e&&(f.__e=null)):typeof p.type=="function"&&w!==void 0?s=w:g&&(s=g.nextSibling),p.__u&=-7);return i.__e=b,s}function Zt(e,n,i,r,t){var l,a,c,s,d,h=i.length,u=h,f=0;for(e.__k=new Array(t),l=0;l<t;l++)(a=n[l])!=null&&typeof a!="boolean"&&typeof a!="function"?(typeof a=="string"||typeof a=="number"||typeof a=="bigint"||a.constructor==String?a=e.__k[l]=qe(null,a,null,null,null):xn(a)?a=e.__k[l]=qe(J,{children:a},null,null,null):a.constructor===void 0&&a.__b>0?a=e.__k[l]=qe(a.type,a.props,a.key,a.ref?a.ref:null,a.__v):e.__k[l]=a,s=l+f,a.__=e,a.__b=e.__b+1,c=null,(d=a.__i=Xt(a,i,s,u))!=-1&&(u--,(c=i[d])&&(c.__u|=2)),c==null||c.__v==null?(d==-1&&(t>h?f--:t<h&&f++),typeof a.type!="function"&&(a.__u|=4)):d!=s&&(d==s-1?f--:d==s+1?f++:(d>s?f--:f++,a.__u|=4))):e.__k[l]=null;if(u)for(l=0;l<h;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,a,c=e.key,s=e.type,d=n[i],h=d!=null&&(2&d.__u)==0;if(d===null&&c==null||h&&c==d.key&&s==d.type)return i;if(r>(h?1:0)){for(t=i-1,l=i+1;t>=0||l<n.length;)if((d=n[a=t>=0?t--:l++])!=null&&!(2&d.__u)&&c==d.key&&s==d.type)return a}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 ze(e,n,i,r,t){var l,a;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")),a=n.toLowerCase(),n=a in e||n=="onFocusOut"||n=="onFocusIn"?a.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?zn:jn,l)):e.removeEventListener(n,l?zn:jn,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[Ye]==null)n[Ye]=si++;else if(n[Ye]<i[we])return;return i(k.event?k.event(n):n)}}}function di(e,n,i,r,t,l,a,c,s,d){var h,u,f,p,g,b,w,y,v,D,Q,ye,Ei,je,En,B=n.type;if(n.constructor!==void 0)return null;128&i.__u&&(s=!!(32&i.__u),l=[c=n.__e=i.__e]),(h=k.__b)&&h(n);e:if(typeof B=="function")try{if(y=n.props,v=B.prototype&&B.prototype.render,D=(h=B.contextType)&&r[h.__c],Q=h?D?D.props.value:h.__:r,i.__c?w=(u=n.__c=i.__c).__=u.__E:(v?n.__c=u=new B(y,Q):(n.__c=u=new ke(y,Q),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))),p=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!==p&&u.componentWillReceiveProps!=null&&u.componentWillReceiveProps(y,Q),n.__v==i.__v||!u.__e&&u.shouldComponentUpdate!=null&&u.shouldComponentUpdate(y,u.__s,Q)===!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)}),Xe.push.apply(u.__h,u._sb),u._sb=[],u.__h.length&&a.push(u);break e}u.componentWillUpdate!=null&&u.componentWillUpdate(y,u.__s,Q),v&&u.componentDidUpdate!=null&&u.__h.push(function(){u.componentDidUpdate(p,g,b)})}if(u.context=Q,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),h=u.render(u.props,u.state,u.context),Xe.push.apply(u.__h,u._sb),u._sb=[];else do u.__d=!1,ye&&ye(n),h=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(p,g)),je=h!=null&&h.type===J&&h.key==null?yr(h.props.children):h,c=vr(e,xn(je)?je:[je],n,i,r,t,l,a,c,s,d),u.base=n.__e,n.__u&=-161,u.__h.length&&a.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(En=l.length;En--;)ui(l[En]);Un(n)}else n.__e=i.__e,n.__k=i.__k,te.then||Un(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,a,s,d);return(h=k.diffed)&&h(n),128&n.__u?void 0:c}function Un(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(Un))}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:xn(e)?e.map(yr):e.constructor!==void 0?null:z({},e)}function el(e,n,i,r,t,l,a,c,s){var d,h,u,f,p,g,b,w=i.props||Ze,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((p=l[d])&&"setAttribute"in p==!!v&&(v?p.localName==v:p.nodeType==3)){e=p,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&&kn.call(e.childNodes),!c&&l!=null)for(w={},d=0;d<e.attributes.length;d++)w[(p=e.attributes[d]).name]=p.value;for(d in w)p=w[d],d=="dangerouslySetInnerHTML"?u=p:d=="children"||d in y||d=="value"&&"defaultValue"in y||d=="checked"&&"defaultChecked"in y||ze(e,d,null,p,t);for(d in y)p=y[d],d=="children"?f=p:d=="dangerouslySetInnerHTML"?h=p:d=="value"?g=p:d=="checked"?b=p:c&&typeof p!="function"||w[d]===p||ze(e,d,p,w[d],t);if(h)c||u&&(h.__html==u.__html||h.__html==e.innerHTML)||(e.innerHTML=h.__html),n.__k=[];else if(u&&(e.innerHTML=""),vr(n.type=="template"?e.content:e,xn(f)?f:[f],n,i,r,v=="foreignObject"?"http://www.w3.org/1999/xhtml":t,l,a,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])&&ze(e,d,g,w[d],t),d="checked",b!=null&&b!=e[d]&&ze(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,a;n==document&&(n=document.documentElement),k.__&&k.__(e,n),t=(r=!1)?null:n.__k,l=[],a=[],di(n,e=n.__k=Jt(J,null,[e]),t||Ze,Ze,n.namespaceURI,t?null:n.firstChild?kn.call(n.childNodes):null,l,t?t.__e:n.firstChild,r,a),gr(l,e,a)}kn=Xe.slice,k={__e:function(e,n,i,r){for(var t,l,a;n=n.__;)if((t=n.__c)&&!t.__)try{if((l=t.constructor)&&l.getDerivedStateFromError!=null&&(t.setState(l.getDerivedStateFromError(e)),a=t.__d),t.componentDidCatch!=null&&(t.componentDidCatch(e,r||{}),a=t.__d),a)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=J,W=[],fr=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,hr=function(e,n){return e.__v.__b-n.__v.__b},en.__r=0,On=Math.random().toString(8),Ye="__d"+On,we="__a"+On,pr=/(PointerCapture)$|Capture$/i,si=0,jn=Fi(!1),zn=Fi(!0);var rl=0;function o(e,n,i,r,t,l){n||(n={});var a,c,s=n;if("ref"in s)for(c in s={},n)c=="ref"?a=n[c]:s[c]=n[c];var d={type:e,props:s,key:i,ref:a,__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"&&(a=e.defaultProps))for(c in a)s[c]===void 0&&(s[c]=a[c]);return k.vnode&&k.vnode(d),d}var Ne,C,Nn,Li,Hn=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,Hn||n),Hn=0;var i=C.__H||(C.__H={__:[],__h:[]});return e>=i.__.length&&i.__.push({}),i.__[e]}function kr(e){return Hn=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 h=r.__c.__H.__.filter(function(f){return f.__c});if(h.every(function(f){return!f.__N}))return!l||l.call(this,c,s,d);var u=r.__c.props!==c;return h.some(function(f){if(f.__N){var p=f.__[0];f.__=f.__N,f.__N=void 0,p!==f.__[0]&&(u=!0)}}),l&&l.call(this,c,s,d)||u};C.__f=!0;var l=C.shouldComponentUpdate,a=C.componentWillUpdate;C.componentWillUpdate=function(c,s,d){if(this.__e){var h=l;l=void 0,t(c,s,d),l=h}a&&a.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(Ke),n.__h.some(Wn),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&&(Nn===C?(n.__h=[],C.__h=[],n.__.some(function(i){i.__N&&(i.__=i.__N),i.u=i.__N=void 0})):(n.__h.some(Ke),n.__h.some(Wn),n.__h=[],Ne=0)),Nn=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})),Nn=C=null},S.__c=function(e,n){n.some(function(i){try{i.__h.some(Ke),i.__h=i.__h.filter(function(r){return!r.__||Wn(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{Ke(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 Ke(e){var n=C,i=e.__c;typeof i=="function"&&(e.__c=void 0,i()),C=n}function Wn(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 An(){if(U>1)U--;else{var e,n=!1;for(function(){var t=rn;for(rn=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,nn++;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(nn=0,U--,n)throw e}}function cl(e){if(U>0)return e();Yn=++sl,U++;try{return e()}finally{An()}}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,nn=0,sl=0,Yn=0,rn=void 0,tn=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 De(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(nn>100)throw new Error("Cycle detected");(function(i){U!==0&&nn===0&&i.l!==Yn&&(i.l=Yn,rn={S:i,v:i.v,i:i.i,o:rn})})(this),this.v=e,this.i++,tn++,U++;try{for(var n=this.t;n!==void 0;n=n.x)n.t.N()}finally{An()}}}});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=tn-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===tn))return!0;if(this.g=tn,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,An()}}}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),An()}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 De(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,Ue,dl=typeof window<"u"&&!!window.__PREACT_SIGNALS_DEVTOOLS__,Fr=[];De(function(){Ir=this.N})();function ge(e,n){k[e]=n.bind(null,k[e]||function(){})}function ln(e){if(Ue){var n=Ue;Ue=void 0,n()}Ue=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 p=r.value.value;return p===0?0:p===!0?"":p||""}),h=zi(function(){return!Array.isArray(d.value)&&!dr(d.value)}),u=De(function(){if(this.N=Rr,h.value){var p=d.value;c.__v&&c.__v.__e&&c.__v.__e.nodeType===3&&(c.__v.__e.data=p)}}),f=n.__$u.d;return n.__$u.d=function(){u(),f.call(this)},[h,d]},[]),l=t[0],a=t[1];return l.value?a.peek():a.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!==J){ln();var i,r=n.__c;r&&(r.__$f&=-2,(i=r.__$u)===void 0&&(r.__$u=i=function(t,l){var a;return De(function(){a=this},{name:l}),a.c=t,a}(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:""))),ln(i)}});ge("__e",function(e,n,i,r){ln(),e(n,i,r)});ge("diffed",function(e,n){ln();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 a in l){var c=l[a];c!==void 0&&!(a in r)&&(c.d(),l[a]=void 0)}else l={},i.U=l;for(var s in r){var d=l[s],h=r[s];d===void 0?(d=fl(i,s,h),l[s]=d):d.o(h,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),a=i.peek();return{o:function(c,s){l.value=c,a=c.peek()},d:De(function(){this.N=Rr;var c=l.value.value;a!==c?(a=void 0,t?e[n]=c:c!=null&&(c!==!1||n[4]==="-")?e.setAttribute(n,c):e.removeAttribute(n)):a=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 a=n.__c;if(a){var c=a.__$u;c&&(a.__$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 a in e)if(a!=="__source"&&e[a]!==this.props[a])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 qn(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 Ie=null;function ml(e){Ie=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??{}};Ie!==null&&(i.Authorization=`Bearer ${Ie}`);const{body:r,...t}=n,l={...t,headers:i};r!==void 0&&(l.body=JSON.stringify(r),i["Content-Type"]="application/json");const a=await fetch(e,l),c=await a.text(),s=c===""?{}:JSON.parse(c);if(!a.ok){const d=s.error?.message??`request failed (${a.status})`;throw new $(a.status,s,d)}return s}async function gl(e,n,i,r={}){const t={Accept:"text/event-stream","Content-Type":"application/json",...r.headers??{}};Ie!==null&&(t.Authorization=`Bearer ${Ie}`);const l=await fetch(e,{...r,method:"POST",headers:t,body:JSON.stringify(n)});if(!l.ok||l.body===null){const h=await l.text().catch(()=>"");let u={};try{u=h===""?{}:JSON.parse(h)}catch{}throw new $(l.status,u,u.error?.message??`stream failed (${l.status})`)}const a=l.body.getReader(),c=new TextDecoder;let s="";const d=h=>{for(const u of h.split(`
2
+ `)){if(!u.startsWith("data:"))continue;const f=u.slice(5).trim();if(f!=="")try{i(JSON.parse(f))}catch{}}};for(;;){const{done:h,value:u}=await a.read();if(h)break;s+=c.decode(u,{stream:!0});let f=s.indexOf(`
3
+
4
+ `);for(;f!==-1;)d(s.slice(0,f)),s=s.slice(f+2),f=s.indexOf(`
5
+
6
+ `)}s.trim()!==""&&d(s)}const pe=_(null);async function yl(){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 bl(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]=bl(i.message);return n}function wl({id:e,children:n}){return o("p",{class:"ac-field__description",id:e,children:n})}function kl({id:e,children:n}){return o("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,a=r!==void 0?`${e}-err`:void 0;return o("div",{class:"ac-field","data-invalid":r!==void 0?"true":void 0,children:[o("label",{class:"ac-field__label",for:e,children:n}),i!==void 0?o(wl,{id:l,children:i}):null,o("div",{class:"ac-field__control","aria-describedby":l,"aria-errormessage":a,children:t}),r!==void 0?o(kl,{id:a,children:r}):null]})}function Mr(e){return o(re,{id:e.id,label:e.label,description:e.description,error:e.error,children:o("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 xl(e){const n=e.step??(e.integer===!0?1:"any");return o(re,{id:e.id,label:e.label,description:e.description,error:e.error,children:o("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 Al(e){return o(re,{id:e.id,label:e.label,description:e.description,error:e.error,children:o("label",{class:"ac-toggle",children:[o("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)}),o("span",{class:"ac-toggle__track","aria-hidden":"true"}),o("span",{class:"ac-toggle__state",children:e.value?"On":"Off"})]})})}function Kn(e){const n=e.options.length>3;return o(re,{id:e.id,label:e.label,description:e.description,error:e.error,children:n?o("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=>o("option",{value:i.value,children:i.label??(i.value===""?"(none)":i.value)},i.value))}):o("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 o("label",{class:"ac-radio",for:r,children:[o("input",{type:"radio",id:r,name:e.name,value:i.value,checked:i.value===e.value,onChange:()=>e.onChange(i.value)}),o("span",{children:i.label??(i.value===""?"(none)":i.value)})]},i.value)})})})}function an(e){return o(re,{id:e.id,label:e.label,description:e.description,error:e.error,children:o("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 Cl(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 In(e,n){const i=Cl(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 Sl(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[a,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(In([r,a,s],d));else l.push(In([r,a],c));n.push({path:[r],label:Dr(r),description:t.description,fields:l})}else{const l=n.find(c=>c.path[0]==="__general"),a=In([r],t);l===void 0?n.unshift({path:["__general"],label:"General",fields:[a]}):l.fields.push(a)}return n}function Tl(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 a=l[r],c=a!==null&&typeof a=="object"&&!Array.isArray(a)?a:{};return l[r]=Br(c,t,i),l}function Ae(e){return e.join(".")}function El(e,n,i,r){const t=Ae(e.path),l=t,a=Tl(n,e.path),c=i[t],s=d=>{r(Br(n,e.path,d))};switch(e.kind){case"string":{const d=typeof a=="string"?a:"";return d.length>80?o(an,{id:t,name:l,label:e.label,description:e.description,error:c,value:d,onChange:s}):o(Mr,{id:t,name:l,label:e.label,description:e.description,error:c,value:d,onChange:s})}case"enum":{const d=typeof a=="string"||typeof a=="number"?String(a):"",h=(e.options??[]).map(u=>({value:String(u)}));return o(Kn,{id:t,name:l,label:e.label,description:e.description,error:c,value:d,options:h,onChange:s})}case"number":case"integer":{const d=typeof a=="number"?a:0;return o(xl,{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 a=="boolean"?a:!1;return o(Al,{id:t,name:l,label:e.label,description:e.description,error:c,value:d,onChange:s})}case"array-of-strings":{const h=(Array.isArray(a)?a.filter(u=>typeof u=="string"):[]).join(`
7
+ `);return o(an,{id:t,name:l,label:e.label,description:`${e.description??""} (one entry per line)`.trim(),error:c,value:h,onChange:u=>{const f=u.split(`
8
+ `).map(p=>p.trim()).filter(p=>p!=="");s(f)}})}default:return null}}function Ol({section:e,values:n,errors:i,onChange:r}){return o("section",{class:"ac-section","aria-labelledby":`section-${Ae(e.path)}`,children:[o("h2",{class:"ac-section__title",id:`section-${Ae(e.path)}`,children:e.label}),e.description!==void 0?o("p",{class:"ac-section__description",children:e.description}):null,o("div",{class:"ac-section__fields",children:e.fields.map(t=>o("div",{children:El(t,n,i,r)},Ae(t.path)))})]})}function Nl(e){const n=Sl(e.schema),i=e.errors??{};return o("form",{class:"ac-form",onSubmit:r=>r.preventDefault(),children:[n.map(r=>o(Ol,{section:r,values:e.values,errors:i,onChange:e.onChange},Ae(r.path))),e.actions!==void 0?o("div",{class:"ac-form__actions",children:e.actions}):null]})}function Il(e){const[n]=kr(()=>`${e.id}-list`);return o(re,{id:e.id,label:e.label,description:e.description,error:e.error,children:[o("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)}),o("datalist",{id:n,children:e.suggestions.map(i=>o("option",{value:i},i))})]})}const Fl=["developer","reviewer","designer","product-manager","ops","qa","maintainer"],Ll=["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 Rl({value:e,onChange:n,errors:i}){const[r,t]=kr(""),l="umd-role-suggestions";function a(f){n({...e,...f,last_updated:Hi()})}const c=e.role.filter(f=>f.trim()!=="");function s(f){const p=f.trim();if(p===""||c.includes(p)){t("");return}a({role:[...c,p]}),t("")}function d(f){c.length<=1||a({role:c.filter(p=>p!==f)})}function h(f){const p={...e,last_updated:Hi()};f===""?delete p.notes:p.notes=f,n(p)}const u=Fl.filter(f=>!c.includes(f));return o("div",{class:"ac-user-md-form",children:[o(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=>a({identity:{...e.identity,name:f}})}),o(Il,{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:Ll,error:Z(i,"language"),onChange:f=>a({language:f})}),o(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:[o("ul",{class:"ac-chip-list","data-testid":"umd-role-list",children:c.map(f=>o("li",{class:"ac-chip",children:[o("span",{children:f}),o("button",{type:"button",class:"ac-chip__remove","aria-label":`Remove ${f}`,disabled:c.length<=1,onClick:()=>d(f),children:"×"})]},f))}),o("div",{class:"ac-role-add",children:[o("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))}}),o("datalist",{id:l,children:u.map(f=>o("option",{value:f},f))}),o("button",{type:"button",class:"ac-button",onClick:()=>s(r),children:"Add role"})]})]}),o(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=>a({style:{...e.style,formality:f}})}),o(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=>a({style:{...e.style,pace:f}})}),o(an,{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=>a({voice_sample:f})}),o(an,{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:h})]})}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 He(e,n){return typeof e=="string"?e:n}function Pl(e){return e==="formal"?"formal":"informal"}function $l(e){return e==="thorough"||e==="rapid"?e:"pragmatic"}function Ml(e){if(!Array.isArray(e))return[""];const n=e.filter(i=>typeof i=="string");return n.length===0?[""]:n}function Dl(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=Dl(e.notes),l={version:1,identity:{name:He(i.name,n.identity.name)},language:He(e.language,n.language),role:Ml(e.role),style:{formality:Pl(r.formality),pace:$l(r.pace)},voice_sample:He(e.voice_sample,n.voice_sample),last_updated:He(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 Bl(e){return typeof e=="object"&&e!==null}function jl(e){return Array.isArray(e)?e:zr(e)?[]:[e]}function zl(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 Ul(e,n){var i="",r;for(r=0;r<n;r+=1)i+=e;return i}function Hl(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var Wl=zr,Yl=Bl,ql=jl,Kl=Ul,Gl=Hl,Vl=zl,E={isNothing:Wl,isObject:Yl,toArray:ql,repeat:Kl,isNegativeZero:Gl,extend:Vl};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+=`
9
+
10
+ `+e.mark.snippet),r+" "+i):r}function Fe(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||""}Fe.prototype=Object.create(Error.prototype);Fe.prototype.constructor=Fe;Fe.prototype.toString=function(n){return this.name+": "+Ur(this,n)};var L=Fe;function Fn(e,n,i,r,t){var l="",a="",c=Math.floor(t/2)-1;return r-n>c&&(l=" ... ",n=r-c+l.length),i-r>c&&(a=" ...",i=r+c-a.length),{str:l+e.slice(n,i).replace(/\t/g,"→")+a,pos:r-n+l.length}}function Ln(e,n){return E.repeat(" ",n-e.length)+e}function Jl(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,a=-1;l=i.exec(e.buffer);)t.push(l.index),r.push(l.index+l[0].length),e.position<=l.index&&a<0&&(a=r.length-2);a<0&&(a=r.length-1);var c="",s,d,h=Math.min(e.line+n.linesAfter,t.length).toString().length,u=n.maxLength-(n.indent+h+3);for(s=1;s<=n.linesBefore&&!(a-s<0);s++)d=Fn(e.buffer,r[a-s],t[a-s],e.position-(r[a]-r[a-s]),u),c=E.repeat(" ",n.indent)+Ln((e.line-s+1).toString(),h)+" | "+d.str+`
11
+ `+c;for(d=Fn(e.buffer,r[a],t[a],e.position,u),c+=E.repeat(" ",n.indent)+Ln((e.line+1).toString(),h)+" | "+d.str+`
12
+ `,c+=E.repeat("-",n.indent+h+3+d.pos)+`^
13
+ `,s=1;s<=n.linesAfter&&!(a+s>=t.length);s++)d=Fn(e.buffer,r[a+s],t[a+s],e.position-(r[a]-r[a+s]),u),c+=E.repeat(" ",n.indent)+Ln((e.line+s+1).toString(),h)+" | "+d.str+`
14
+ `;return c.replace(/\n$/,"")}var Ql=Jl,Zl=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Xl=["scalar","sequence","mapping"];function ea(e){var n={};return e!==null&&Object.keys(e).forEach(function(i){e[i].forEach(function(r){n[String(r)]=i})}),n}function na(e,n){if(n=n||{},Object.keys(n).forEach(function(i){if(Zl.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=ea(n.styleAliases||null),Xl.indexOf(this.kind)===-1)throw new L('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var O=na;function qi(e,n){var i=[];return e[n].forEach(function(r){var t=i.length;i.forEach(function(l,a){l.tag===r.tag&&l.kind===r.kind&&l.multi===r.multi&&(t=a)}),i[t]=r}),i}function ia(){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=ia(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 ra(e){if(e===null)return!0;var n=e.length;return n===1&&e==="~"||n===4&&(e==="null"||e==="Null"||e==="NULL")}function ta(){return null}function la(e){return e===null}var Gr=new O("tag:yaml.org,2002:null",{kind:"scalar",resolve:ra,construct:ta,predicate:la,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function aa(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 oa(e){return e==="true"||e==="True"||e==="TRUE"}function ca(e){return Object.prototype.toString.call(e)==="[object Boolean]"}var Vr=new O("tag:yaml.org,2002:bool",{kind:"scalar",resolve:aa,construct:oa,predicate:ca,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 sa(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function ua(e){return 48<=e&&e<=55}function da(e){return 48<=e&&e<=57}function fa(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(!sa(e.charCodeAt(i)))return!1;r=!0}return r&&t!=="_"}if(t==="o"){for(i++;i<n;i++)if(t=e[i],t!=="_"){if(!ua(e.charCodeAt(i)))return!1;r=!0}return r&&t!=="_"}}if(t==="_")return!1;for(;i<n;i++)if(t=e[i],t!=="_"){if(!da(e.charCodeAt(i)))return!1;r=!0}return!(!r||t==="_")}function ha(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 pa(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!E.isNegativeZero(e)}var Jr=new O("tag:yaml.org,2002:int",{kind:"scalar",resolve:fa,construct:ha,predicate:pa,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"]}}),_a=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function va(e){return!(e===null||!_a.test(e)||e[e.length-1]==="_")}function ma(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 ga=/^[-+]?[0-9]+e/;function ya(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),ga.test(i)?i.replace("e",".e"):i}function ba(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||E.isNegativeZero(e))}var Qr=new O("tag:yaml.org,2002:float",{kind:"scalar",resolve:va,construct:ma,predicate:ba,represent:ya,defaultStyle:"lowercase"}),Zr=Kr.extend({implicit:[Gr,Vr,Jr,Qr]}),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 wa(e){return e===null?!1:et.exec(e)!==null||nt.exec(e)!==null}function ka(e){var n,i,r,t,l,a,c,s=0,d=null,h,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],a=+n[5],c=+n[6],n[7]){for(s=n[7].slice(0,3);s.length<3;)s+="0";s=+s}return n[9]&&(h=+n[10],u=+(n[11]||0),d=(h*60+u)*6e4,n[9]==="-"&&(d=-d)),f=new Date(Date.UTC(i,r,t,l,a,c,s)),d&&f.setTime(f.getTime()-d),f}function xa(e){return e.toISOString()}var it=new O("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:wa,construct:ka,instanceOf:Date,represent:xa});function Aa(e){return e==="<<"||e===null}var rt=new O("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Aa}),mi=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
15
+ \r`;function Ca(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 Sa(e){var n,i,r=e.replace(/[\r\n=]/g,""),t=r.length,l=mi,a=0,c=[];for(n=0;n<t;n++)n%4===0&&n&&(c.push(a>>16&255),c.push(a>>8&255),c.push(a&255)),a=a<<6|l.indexOf(r.charAt(n));return i=t%4*6,i===0?(c.push(a>>16&255),c.push(a>>8&255),c.push(a&255)):i===18?(c.push(a>>10&255),c.push(a>>2&255)):i===12&&c.push(a>>4&255),new Uint8Array(c)}function Ta(e){var n="",i=0,r,t,l=e.length,a=mi;for(r=0;r<l;r++)r%3===0&&r&&(n+=a[i>>18&63],n+=a[i>>12&63],n+=a[i>>6&63],n+=a[i&63]),i=(i<<8)+e[r];return t=l%3,t===0?(n+=a[i>>18&63],n+=a[i>>12&63],n+=a[i>>6&63],n+=a[i&63]):t===2?(n+=a[i>>10&63],n+=a[i>>4&63],n+=a[i<<2&63],n+=a[64]):t===1&&(n+=a[i>>2&63],n+=a[i<<4&63],n+=a[64],n+=a[64]),n}function Ea(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var tt=new O("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Ca,construct:Sa,predicate:Ea,represent:Ta}),Oa=Object.prototype.hasOwnProperty,Na=Object.prototype.toString;function Ia(e){if(e===null)return!0;var n=[],i,r,t,l,a,c=e;for(i=0,r=c.length;i<r;i+=1){if(t=c[i],a=!1,Na.call(t)!=="[object Object]")return!1;for(l in t)if(Oa.call(t,l))if(!a)a=!0;else return!1;if(!a)return!1;if(n.indexOf(l)===-1)n.push(l);else return!1}return!0}function Fa(e){return e!==null?e:[]}var lt=new O("tag:yaml.org,2002:omap",{kind:"sequence",resolve:Ia,construct:Fa}),La=Object.prototype.toString;function Ra(e){if(e===null)return!0;var n,i,r,t,l,a=e;for(l=new Array(a.length),n=0,i=a.length;n<i;n+=1){if(r=a[n],La.call(r)!=="[object Object]"||(t=Object.keys(r),t.length!==1))return!1;l[n]=[t[0],r[t[0]]]}return!0}function Pa(e){if(e===null)return[];var n,i,r,t,l,a=e;for(l=new Array(a.length),n=0,i=a.length;n<i;n+=1)r=a[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:Ra,construct:Pa}),$a=Object.prototype.hasOwnProperty;function Ma(e){if(e===null)return!0;var n,i=e;for(n in i)if($a.call(i,n)&&i[n]!==null)return!1;return!0}function Da(e){return e!==null?e:{}}var ot=new O("tag:yaml.org,2002:set",{kind:"mapping",resolve:Ma,construct:Da}),gi=Xr.extend({implicit:[it,rt],explicit:[tt,lt,at,ot]}),G=Object.prototype.hasOwnProperty,on=1,ct=2,st=3,cn=4,Rn=1,Ba=2,Ki=3,ja=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,za=/[\x85\u2028\u2029]/,Ua=/[,\[\]\{\}]/,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 Ha(e){var n;return 48<=e&&e<=57?e-48:(n=e|32,97<=n&&n<=102?n-97+10:-1)}function Wa(e){return e===120?2:e===117?4:e===85?8:0}function Ya(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?`
16
+ `: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 qa(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 Ka(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 sn(e,n){e.onWarning&&e.onWarning.call(null,_t(e,n))}var Ji={YAML:function(n,i,r){var t,l,a;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),a=parseInt(t[2],10),l!==1&&m(n,"unacceptable YAML version of the document"),n.version=r[0],n.checkLineBreaks=a<2,a!==1&&a!==2&&sn(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,a,c;if(n<i){if(c=e.input.slice(n,i),r)for(t=0,l=c.length;t<l;t+=1)a=c.charCodeAt(t),a===9||32<=a&&a<=1114111||m(e,"expected valid JSON character");else ja.test(c)&&m(e,"the stream contains non-printable characters");e.result+=c}}function Qi(e,n,i,r){var t,l,a,c;for(E.isObject(i)||m(e,"cannot merge mappings; the provided source object is unacceptable"),t=Object.keys(i),a=0,c=t.length;a<c;a+=1)l=t[a],G.call(n,l)||(ft(n,l,i[l]),r[l]=!0)}function se(e,n,i,r,t,l,a,c,s){var d,h;if(Array.isArray(t))for(t=Array.prototype.slice.call(t),d=0,h=t.length;d<h;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,h=l.length;d<h;d+=1)Qi(e,n,l[d],i);else Qi(e,n,l,i);else!e.json&&!G.call(i,t)&&G.call(n,t)&&(e.line=a||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&&sn(e,"deficient indentation"),r}function Cn(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(`
17
+ `,n-1))}function Ga(e,n,i){var r,t,l,a,c,s,d,h,u=e.kind,f=e.result,p;if(p=e.input.charCodeAt(e.position),R(p)||ce(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(t=e.input.charCodeAt(e.position+1),R(t)||i&&ce(t)))return!1;for(e.kind="scalar",e.result="",l=a=e.position,c=!1;p!==0;){if(p===58){if(t=e.input.charCodeAt(e.position+1),R(t)||i&&ce(t))break}else if(p===35){if(r=e.input.charCodeAt(e.position-1),R(r))break}else{if(e.position===e.lineStart&&Cn(e)||i&&ce(p))break;if(j(p))if(s=e.line,d=e.lineStart,h=e.lineIndent,T(e,!1,-1),e.lineIndent>=n){c=!0,p=e.input.charCodeAt(e.position);continue}else{e.position=a,e.line=s,e.lineStart=d,e.lineIndent=h;break}}c&&(Y(e,l,a,!1),bi(e,e.line-s),l=a=e.position,c=!1),ee(p)||(a=e.position+1),p=e.input.charCodeAt(++e.position)}return Y(e,l,a,!1),e.result?!0:(e.kind=u,e.result=f,!1)}function Va(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&&Cn(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 Ja(e,n){var i,r,t,l,a,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((a=Wa(c))>0){for(t=a,l=0;t>0;t--)c=e.input.charCodeAt(++e.position),(a=Ha(c))>=0?l=(l<<4)+a:m(e,"expected hexadecimal character");e.result+=qa(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&&Cn(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,a=e.tag,c,s=e.anchor,d,h,u,f,p,g=Object.create(null),b,w,y,v;if(v=e.input.charCodeAt(e.position),v===91)h=93,p=!1,c=[];else if(v===123)h=125,p=!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===h)return e.position++,e.tag=a,e.anchor=s,e.kind=p?"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,on,!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,on,!1,!0),y=e.result),p?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 Za(e,n){var i,r,t=Rn,l=!1,a=!1,c=n,s=0,d=!1,h,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)Rn===t?t=u===43?Ki:Ba:m(e,"repeat of a chomping mode identifier");else if((h=Ya(u))>=0)h===0?m(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):a?m(e,"repeat of an indentation width identifier"):(c=n+h-1,a=!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);(!a||e.lineIndent<c)&&u===32;)e.lineIndent++,u=e.input.charCodeAt(++e.position);if(!a&&e.lineIndent>c&&(c=e.lineIndent),j(u)){s++;continue}if(e.lineIndent<c){t===Ki?e.result+=E.repeat(`
18
+ `,l?1+s:s):t===Rn&&l&&(e.result+=`
19
+ `);break}for(r?ee(u)?(d=!0,e.result+=E.repeat(`
20
+ `,l?1+s:s)):d?(d=!1,e.result+=E.repeat(`
21
+ `,s+1)):s===0?l&&(e.result+=" "):e.result+=E.repeat(`
22
+ `,s):e.result+=E.repeat(`
23
+ `,l?1+s:s),l=!0,a=!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=[],a,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||(a=e.input.charCodeAt(e.position+1),!R(a))));){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 Xa(e,n,i){var r,t,l,a,c,s,d=e.tag,h=e.anchor,u={},f=Object.create(null),p=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,p,g,null,a,c,s),p=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(a=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,p,g,null,a,c,s),p=g=b=null),y=!0,w=!1,t=!1,p=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=h,!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=h,!0}if((e.line===l||e.lineIndent>n)&&(w&&(a=e.line,c=e.lineStart,s=e.position),_e(e,n,cn,!0,t)&&(w?g=e.result:b=e.result),w||(se(e,u,f,p,g,b,a,c,s),p=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,p,g,null,a,c,s),y&&(e.tag=d,e.anchor=h,e.kind="mapping",e.result=u),y}function eo(e){var n,i=!1,r=!1,t,l,a;if(a=e.input.charCodeAt(e.position),a!==33)return!1;if(e.tag!==null&&m(e,"duplication of a tag property"),a=e.input.charCodeAt(++e.position),a===60?(i=!0,a=e.input.charCodeAt(++e.position)):a===33?(r=!0,t="!!",a=e.input.charCodeAt(++e.position)):t="!",n=e.position,i){do a=e.input.charCodeAt(++e.position);while(a!==0&&a!==62);e.position<e.length?(l=e.input.slice(n,e.position),a=e.input.charCodeAt(++e.position)):m(e,"unexpected end of the stream within a verbatim tag")}else{for(;a!==0&&!R(a);)a===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)),a=e.input.charCodeAt(++e.position);l=e.input.slice(n,e.position),Ua.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 no(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 io(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,a,c,s=1,d=!1,h=!1,u,f,p,g,b,w;if(e.listener!==null&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,l=a=c=cn===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(;eo(e)||no(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||cn===i)&&(on===i||ct===i?b=n:b=n+1,w=e.position-e.lineStart,s===1?c&&(Zi(e,w)||Xa(e,w,b))||Qa(e,b)?h=!0:(a&&Za(e,b)||Va(e,b)||Ja(e,b)?h=!0:io(e)?(h=!0,(e.tag!==null||e.anchor!==null)&&m(e,"alias node should not have any properties")):Ga(e,b,on===i)&&(h=!0,e.tag===null&&(e.tag="?")),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):s===0&&(h=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,p=e.typeMap.multi[e.kind||"fallback"],u=0,f=p.length;u<f;u+=1)if(e.tag.slice(0,p[u].tag.length)===p[u].tag){g=p[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||h}function ro(e){var n=e.position,i,r,t,l=!1,a;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(a=e.input.charCodeAt(e.position))!==0&&(T(e,!0,-1),a=e.input.charCodeAt(e.position),!(e.lineIndent>0||a!==37));){for(l=!0,a=e.input.charCodeAt(++e.position),i=e.position;a!==0&&!R(a);)a=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");a!==0;){for(;ee(a);)a=e.input.charCodeAt(++e.position);if(a===35){do a=e.input.charCodeAt(++e.position);while(a!==0&&!j(a));break}if(j(a))break;for(i=e.position;a!==0&&!R(a);)a=e.input.charCodeAt(++e.position);t.push(e.input.slice(i,e.position))}a!==0&&yi(e),G.call(Ji,r)?Ji[r](e,r,t):sn(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,cn,!1,!0),T(e,!0,-1),e.checkLineBreaks&&za.test(e.input.slice(n,e.position))&&sn(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Cn(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+=`
24
+ `),e.charCodeAt(0)===65279&&(e=e.slice(1)));var i=new Ka(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;)ro(i);return i.documents}function to(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 lo(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 ao=to,oo=lo,mt={loadAll:ao,load:oo},gt=Object.prototype.toString,yt=Object.prototype.hasOwnProperty,wi=65279,co=9,Le=10,so=13,uo=32,fo=33,ho=34,Vn=35,po=37,_o=38,vo=39,mo=42,bt=44,go=45,un=58,yo=61,bo=62,wo=63,ko=64,wt=91,kt=93,xo=96,xt=123,Ao=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 Co=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],So=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function To(e,n){var i,r,t,l,a,c,s;if(n===null)return{};for(i={},r=Object.keys(n),t=0,l=r.length;t<l;t+=1)a=r[t],c=String(n[a]),a.slice(0,2)==="!!"&&(a="tag:yaml.org,2002:"+a.slice(2)),s=e.compiledTypeMap.fallback[a],s&&yt.call(s.styleAliases,c)&&(c=s.styleAliases[c]),i[a]=c;return i}function Eo(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 Oo=1,Re=2;function No(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=To(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==='"'?Re:Oo,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="",a,c=e.length;r<c;)t=e.indexOf(`
25
+ `,r),t===-1?(a=e.slice(r),r=c):(a=e.slice(r,t+1),r=t+1),a.length&&a!==`
26
+ `&&(l+=i),l+=a;return l}function Jn(e,n){return`
27
+ `+E.repeat(" ",e.indent*n)}function Io(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 dn(e){return e===uo||e===co}function Pe(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 Pe(e)&&e!==wi&&e!==so&&e!==Le}function nr(e,n,i){var r=er(e),t=r&&!dn(e);return(i?r:r&&e!==bt&&e!==wt&&e!==kt&&e!==xt&&e!==At)&&e!==Vn&&!(n===un&&!t)||er(n)&&!dn(n)&&e===Vn||n===un&&t}function Fo(e){return Pe(e)&&e!==wi&&!dn(e)&&e!==go&&e!==wo&&e!==un&&e!==bt&&e!==wt&&e!==kt&&e!==xt&&e!==At&&e!==Vn&&e!==_o&&e!==mo&&e!==fo&&e!==Ao&&e!==yo&&e!==bo&&e!==vo&&e!==ho&&e!==po&&e!==ko&&e!==xo}function Lo(e){return!dn(e)&&e!==un}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,Qn=2,Tt=3,Et=4,ae=5;function Ro(e,n,i,r,t,l,a,c){var s,d=0,h=null,u=!1,f=!1,p=r!==-1,g=-1,b=Fo(be(e,0))&&Lo(be(e,e.length-1));if(n||a)for(s=0;s<e.length;d>=65536?s+=2:s++){if(d=be(e,s),!Pe(d))return ae;b=b&&nr(d,h,c),h=d}else{for(s=0;s<e.length;d>=65536?s+=2:s++){if(d=be(e,s),d===Le)u=!0,p&&(f=f||s-g-1>r&&e[g+1]!==" ",g=s);else if(!Pe(d))return ae;b=b&&nr(d,h,c),h=d}f=f||p&&s-g-1>r&&e[g+1]!==" "}return!u&&!f?b&&!a&&!t(e)?St:l===Re?ae:Qn:i>9&&Ct(e)?ae:a?l===Re?ae:Qn:f?Et:Tt}function Po(e,n,i,r,t){e.dump=function(){if(n.length===0)return e.quotingType===Re?'""':"''";if(!e.noCompatMode&&(Co.indexOf(n)!==-1||So.test(n)))return e.quotingType===Re?'"'+n+'"':"'"+n+"'";var l=e.indent*Math.max(1,i),a=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 Io(e,d)}switch(Ro(n,c,e.indent,a,s,e.quotingType,e.forceQuotes&&!r,t)){case St:return n;case Qn:return"'"+n.replace(/'/g,"''")+"'";case Tt:return"|"+ir(n,e.indent)+rr(Xi(n,l));case Et:return">"+ir(n,e.indent)+rr(Xi($o(n,a),l));case ae:return'"'+Mo(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]===`
28
+ `,t=r&&(e[e.length-2]===`
29
+ `||e===`
30
+ `),l=t?"+":r?"":"-";return i+l+`
31
+ `}function rr(e){return e[e.length-1]===`
32
+ `?e.slice(0,-1):e}function $o(e,n){for(var i=/(\n+)([^\n]*)/g,r=function(){var d=e.indexOf(`
33
+ `);return d=d!==-1?d:e.length,i.lastIndex=d,tr(e.slice(0,d),n)}(),t=e[0]===`
34
+ `||e[0]===" ",l,a;a=i.exec(e);){var c=a[1],s=a[2];l=s[0]===" ",r+=c+(!t&&!l&&s!==""?`
35
+ `:"")+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,a=0,c=0,s="";r=i.exec(e);)c=r.index,c-t>n&&(l=a>t?a:c,s+=`
36
+ `+e.slice(t,l),t=l+1),a=c;return s+=`
37
+ `,e.length-t>n&&a>t?s+=e.slice(t,a)+`
38
+ `+e.slice(a+1):s+=e.slice(t),s.slice(1)}function Mo(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&&Pe(i)?(n+=e[t],i>=65536&&(n+=e[t+1])):n+=r||Eo(i);return n}function Do(e,n,i){var r="",t=e.tag,l,a,c;for(l=0,a=i.length;l<a;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,a,c,s;for(a=0,c=i.length;a<c;a+=1)s=i[a],e.replacer&&(s=e.replacer.call(i,String(a),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+=Jn(e,n)),e.dump&&Le===e.dump.charCodeAt(0)?t+="-":t+="- ",t+=e.dump);e.tag=l,e.dump=t||"[]"}function Bo(e,n,i){var r="",t=e.tag,l=Object.keys(i),a,c,s,d,h;for(a=0,c=l.length;a<c;a+=1)h="",r!==""&&(h+=", "),e.condenseFlow&&(h+='"'),s=l[a],d=i[s],e.replacer&&(d=e.replacer.call(i,s,d)),H(e,n,s,!1,!1)&&(e.dump.length>1024&&(h+="? "),h+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),H(e,n,d,!1,!1)&&(h+=e.dump,r+=h));e.tag=t,e.dump="{"+r+"}"}function jo(e,n,i,r){var t="",l=e.tag,a=Object.keys(i),c,s,d,h,u,f;if(e.sortKeys===!0)a.sort();else if(typeof e.sortKeys=="function")a.sort(e.sortKeys);else if(e.sortKeys)throw new L("sortKeys must be a boolean or a function");for(c=0,s=a.length;c<s;c+=1)f="",(!r||t!=="")&&(f+=Jn(e,n)),d=a[c],h=i[d],e.replacer&&(h=e.replacer.call(i,d,h)),H(e,n+1,d,!0,!0,!0)&&(u=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024,u&&(e.dump&&Le===e.dump.charCodeAt(0)?f+="?":f+="? "),f+=e.dump,u&&(f+=Jn(e,n)),H(e,n+1,h,!0,u)&&(e.dump&&Le===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,a,c,s;for(t=i?e.explicitTypes:e.implicitTypes,l=0,a=t.length;l<a;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,a){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 h=c==="[object Object]"||c==="[object Array]",u,f;if(h&&(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(h&&f&&!e.usedDuplicates[u]&&(e.usedDuplicates[u]=!0),c==="[object Object]")r&&Object.keys(e.dump).length!==0?(jo(e,n,e.dump,t),f&&(e.dump="&ref_"+u+e.dump)):(Bo(e,n,e.dump),f&&(e.dump="&ref_"+u+" "+e.dump));else if(c==="[object Array]")r&&e.dump.length!==0?(e.noArrayIndent&&!a&&n>0?lr(e,n-1,e.dump,t):lr(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 String]")e.tag!=="?"&&Po(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 zo(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 Uo(e,n){n=n||{};var i=new No(n);i.noRefs||zo(e,i);var r=e;return i.replacer&&(r=i.replacer.call({"":r},"",r)),H(i,0,r,!0,!0)?i.dump+`
39
+ `:""}var Ho=Uo,Wo={dump:Ho};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 Yo=O,qo=Hr,Ko=Kr,Go=Zr,Vo=Xr,Jo=gi,Qo=mt.load,Zo=mt.loadAll,Xo=Wo.dump,ec=L,nc={binary:tt,float:Qr,map:qr,null:Gr,pairs:at,set:ot,timestamp:it,bool:Vr,int:Jr,merge:rt,omap:lt,seq:Yr,str:Wr},ic=ki("safeLoad","load"),rc=ki("safeLoadAll","loadAll"),tc=ki("safeDump","dump"),lc={Type:Yo,Schema:qo,FAILSAFE_SCHEMA:Ko,JSON_SCHEMA:Go,CORE_SCHEMA:Vo,DEFAULT_SCHEMA:Jo,load:Qo,loadAll:Zo,dump:Xo,YAMLException:ec,types:nc,safeLoad:ic,safeLoadAll:rc,safeDump:tc};function ac(e){if(e.trim()==="")return{};const i=lc.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 oc=[{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"}],cc=Xn;cc.length;function Ot(e={}){return e.extended===!0?[...oc,...Xn]:Xn}function Sn(e,n={}){const i=Ot(n),r=Math.max(0,Math.min(i.length-1,e));return i[r]}function sc(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 a=l.split(".").filter(D=>D.length>0);if(a.length===0)continue;const[c,s,d]=a;if(c===void 0)continue;const h=t[c];if(h===void 0)continue;if(s===void 0){r[c]=h;continue}const u=h.properties?.[s];if(u===void 0)continue;const p=r[c]??{type:"object",properties:{},...h.description!==void 0?{description:h.description}:{}},g=p.properties??={};if(d===void 0){g[s]=u,r[c]=p;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]=p}return i}function uc({current:e,total:n}){const i=Math.max(1,n),r=Math.max(0,Math.min(i-1,e)),t=Array.from({length:i},(a,c)=>c<=r),l=Math.round((r+1)/i*100);return o("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((a,c)=>o("span",{class:`ac-wizard__progress-segment${a?" ac-wizard__progress-segment--filled":""}`,"aria-hidden":"true"},c))})}function dc({step:e,index:n,total:i}){return o("header",{class:"ac-page__header ac-wizard__header",children:[o("p",{class:"ac-wizard__step-count",children:["Step ",n+1," of ",i]}),o("div",{class:"ac-wizard__header-text",children:[o("h1",{children:e.title}),o("p",{class:"ac-wizard__subtitle",children:e.subtitle})]}),o(uc,{current:n,total:i})]})}function fc(e){const n=e.canFinish??!0,i=e.completed??!1;return o("div",{class:"ac-form__actions ac-wizard__nav",children:[o("button",{type:"button",class:"ac-button",disabled:!e.canGoPrev||e.busy,onClick:e.onPrev,children:"Back"}),e.canSkip&&e.onSkip!==void 0?o("button",{type:"button",class:"ac-button ac-wizard__skip",disabled:e.busy,onClick:e.onSkip,children:"Skip"}):null,e.isLast?i?null:o("button",{type:"button",class:"ac-button ac-button--primary",disabled:e.busy||!n,onClick:e.onFinish,children:e.busy?"Saving…":"Finish & save"}):o("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),$e=_(!1),fn=_(!1),q=_(0),xi=_(null),V=_({}),It=_({}),Ft=_(0),de=_({}),M=_(null),ne=_(null),Lt=_(!1),ei=_(!1),Ai=_(!1),Rt=_({}),Tn=_([]),hn=_("global"),Ci=_(!1),I=_(!1),ni=_(!1),Ge=_(!1),Se=_(null),Si=_([]),pn=_({}),_n=_(!0),vn=_(""),mn=_("agents"),ue=_(!1),Pt=_(null),hc=[{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),Ve=_(!1),Te=_(null),$t=_([]),Mt=_([]),Me=_({}),ve=_({}),pc=5,Pn=_({}),cr=_(null),fe=_(null),ii=_(!1),Je=_(null),gn=_(null),Dt=_(!1),ri=_(null),ti=_(!1),li=_(!1),ai=_(null),Bt=_(null),$n=_(!1);function jt(){return Ot({extended:I.value})}function Be(){return jt().length}function _c(e){return e??new Date().toISOString()}function Ti(e){return Math.max(0,Math.min(Be()-1,e))}const vc={skip:"Skip",overwrite:"Overwrite",merge:"Merge"};function mc(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 gc(e){if(e.conflicts.length===0)return null;const n=e.conflicts.length>=pc;return o("section",{class:"ac-wizard__conflicts","aria-live":"polite",children:[o("h3",{class:"ac-wizard__conflicts-title",children:[e.conflicts.length," file",e.conflicts.length===1?"":"s"," already exist"]}),o("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?o(yc,{choice:e.batchChoice,onChoice:e.onBatchChoice}):null,o(bc,{conflicts:e.conflicts,resolutions:e.resolutions,batchChoice:e.batchChoice,onResolutionChange:e.onResolutionChange})]})}function yc(e){return o("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 o("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 bc(e){return o("ul",{class:"ac-wizard__conflicts-list",children:e.conflicts.map(n=>{const i=mc(n,e.resolutions,e.batchChoice),r=n.mergeable?["skip","overwrite","merge"]:["skip","overwrite"];return o("li",{class:"ac-wizard__conflicts-row",children:[o("span",{class:"ac-wizard__conflicts-path",title:n.path,children:n.path}),o("span",{class:"ac-wizard__conflicts-sha",children:["planned ",sr(n.plannedSha256)," · on disk ",sr(n.existingSha256)]}),o("span",{class:"ac-wizard__conflicts-actions",role:"radiogroup","aria-label":`Resolution for ${n.path}`,children:r.map(t=>o("label",{class:`ac-wizard__conflicts-option${i===t?" ac-wizard__conflicts-option--active":""}`,children:[o("input",{type:"radio",name:`ac-conflict-${n.path}`,checked:i===t,onChange:()=>{e.onResolutionChange(n.path,t)}}),o("span",{children:vc[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 wc(e,n){return e.kind==="userMd"?n==="body"||n.startsWith("body."):zt(e,n)}function kc(e,n){for(const i of Object.keys(n.errors))if(wc(e,i))return!0;return!1}function xc(e,n){if(kc(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 Ac(e){const n=e.steps.filter((i,r)=>r!==e.currentIndex);return o(J,{children:[o("nav",{class:"ac-wizard__review-nav","aria-label":"Jump back to a step",children:[o("p",{class:"ac-wizard__review-nav-label",children:"Jump back to a step:"}),o("ul",{class:"ac-wizard__review-nav-list",children:n.map(i=>{const r=e.steps.indexOf(i),t=xc(i,e),l=t.tone==="error"?"ac-wizard__review-nav-button ac-wizard__review-nav-button--error":"ac-wizard__review-nav-button";return o("li",{children:o("button",{type:"button",class:l,onClick:()=>{e.onJump(r)},children:[o("span",{class:"ac-wizard__review-nav-index",children:r+1}),o("span",{class:"ac-wizard__review-nav-text",children:i.navLabel}),t.label!==""?o("span",{class:`ac-wizard__review-nav-status ac-wizard__review-nav-status--${t.tone}`,children:t.label}):null]})},i.id)})})]}),e.scopeAvailable?o("fieldset",{class:"ac-wizard__scope",children:[o("legend",{class:"ac-wizard__scope-legend",children:"Where should these settings be written?"}),o("label",{class:"ac-wizard__scope-option",children:[o("input",{type:"radio",name:"ac-wizard-scope",value:"global",checked:e.scope==="global",onChange:()=>{e.onScopeChange("global")}}),o("span",{class:"ac-wizard__scope-option-text",children:[o("strong",{children:"Global"})," — write to ",o("code",{children:"~/.event4u/agent-config/"})," so every project picks them up."]})]}),o("label",{class:"ac-wizard__scope-option",children:[o("input",{type:"radio",name:"ac-wizard-scope",value:"project",checked:e.scope==="project",onChange:()=>{e.onScopeChange("project")}}),o("span",{class:"ac-wizard__scope-option-text",children:[o("strong",{children:"This project only"})," — write to ",o("code",{children:"settings/"})," under the current repo (overrides the global layer)."]})]})]}):null,e.installPlanByTool!==void 0?o(Cc,{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?o(gc,{conflicts:e.conflicts,resolutions:e.conflictResolutions,batchChoice:e.conflictBatchChoice??null,onResolutionChange:e.onConflictResolutionChange,onBatchChoice:e.onConflictBatchChoice}):null]})}function Cc(e){if(!e.ready&&e.error===null)return o("section",{class:"ac-wizard__install-plan","aria-live":"polite",children:[o("h3",{class:"ac-wizard__install-plan-title",children:"Install plan"}),o("p",{class:"ac-wizard__install-plan-status",children:"Calculating install plan…"})]});if(e.error!==null)return o("section",{class:"ac-wizard__install-plan ac-wizard__install-plan--error","aria-live":"polite",children:[o("h3",{class:"ac-wizard__install-plan-title",children:"Install plan"}),o("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 o("section",{class:"ac-wizard__install-plan","aria-live":"polite",children:[o("h3",{class:"ac-wizard__install-plan-title",children:"Install plan"}),o("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 o("section",{class:"ac-wizard__install-plan","aria-live":"polite",children:[o("h3",{class:"ac-wizard__install-plan-title",children:"Install plan"}),o("p",{class:"ac-wizard__install-plan-status",children:[i," file",i===1?"":"s"," across ",n.length," tool",n.length===1?"":"s","."]}),o("ul",{class:"ac-wizard__install-plan-list",children:n.map(([r,t])=>o("li",{class:"ac-wizard__install-plan-row",children:[o("span",{class:"ac-wizard__install-plan-tool",children:r}),o("span",{class:"ac-wizard__install-plan-count",children:[t," file",t===1?"":"s"]})]},r))})]})}function Sc(e){const n=e.abortedAt??"unknown time",i=e.abortNote??"no further detail recorded",r=e.writesSinceRollback;return o("aside",{class:"ac-banner ac-banner--recovery",role:"alert",children:[o("strong",{children:"Previous install was interrupted."}),o("p",{children:["Aborted at ",o("code",{children:n})," — ",i,". ",r," write",r===1?"":"s"," landed before the abort marker."]}),o("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."}),o("div",{class:"ac-banner__actions",children:[o("button",{type:"button",disabled:e.busy,onClick:()=>e.onResume(),children:"Resume install"}),o("button",{type:"button",disabled:e.busy,onClick:()=>e.onRollback(),children:"Rollback"}),o("button",{type:"button",disabled:e.busy,onClick:()=>e.onIgnore(),children:"Ignore"})]})]})}function Tc(e){return o("section",{class:"ac-continue-screen","aria-labelledby":"ac-continue-title",children:[o("h2",{id:"ac-continue-title",children:"Install complete — continue with setup?"}),o("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",o("code",{children:" agent-config setup "}),"later to pick them up."]}),o("ul",{children:[o("li",{children:[o("strong",{children:"Continue with setup"})," — 6 more steps: editor + tooling, personality, cost profile, roadmap & quality, memory, your ",o("code",{children:".agent-user.yml"}),"."]}),o("li",{children:[o("strong",{children:"Finish install here"})," — jumps to the Review step. You can write",o("code",{children:" .agent-settings.yml "}),"with the install-only selections and skip the rest."]})]}),o("div",{class:"ac-continue-screen__actions",children:[o("button",{type:"button",class:"ac-button ac-button--primary",disabled:e.busy,onClick:()=>e.onContinue(),children:"Continue with setup"}),o("button",{type:"button",class:"ac-button",disabled:e.busy,onClick:()=>e.onFinishHere(),children:"Finish install here"})]})]})}function Ec(e){const n=e.version??"unknown";return o("section",{class:"ac-backup-screen","aria-labelledby":"ac-backup-title",children:[o("h2",{id:"ac-backup-title",children:"Existing v3 install detected"}),o("p",{children:["Found a v3.x install at ",o("code",{children:e.sourcePath})," ","(VERSION: ",o("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?o("p",{class:"ac-banner ac-banner--error",children:["Backup failed: ",e.error]}):null,o("ul",{children:[o("li",{children:[o("strong",{children:"Backup v3 and proceed"})," — copies the tree to ",o("code",{children:e.backupTarget}),", then runs the v4 install. Restore later with",o("code",{children:[" mv ",e.backupTarget," ",e.sourcePath]}),"."]}),o("li",{children:[o("strong",{children:"Abort, uninstall v3 first"})," — closes the wizard. You decide what to keep."]})]}),o("div",{class:"ac-backup-screen__actions",children:[o("button",{type:"button",class:"ac-button ac-button--primary",disabled:e.busy,onClick:()=>e.onBackupAndProceed(),children:e.busy?"Backing up…":"Backup v3 and proceed"}),o("button",{type:"button",class:"ac-button",disabled:e.busy,onClick:()=>e.onAbort(),children:"Abort, uninstall v3 first"})]})]})}function Oc(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 Nc(){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 Ic(){try{const e=await A("/api/v1/install/recovery");gn.value=e.incomplete?e:null}catch{gn.value=null}}async function Fc(){try{const e=await A("/api/v1/install/legacy-v3");ri.value=e.present?e:null}catch{ri.value=null}}async function Lc(){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 Mn(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}gn.value=null,Dt.value=!0}async function Rc(){Ce.value=null;try{Ic(),Fc();const[e,n]=await Promise.all([A("/api/v1/wizard/state"),Nc()]);xi.value=Oc(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=Sn(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 Pc(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(ac(r.body))}catch{n=jr()}const i=Rt.value.user_name;typeof i=="string"&&i.trim()!==""&&(n=Pc(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||Ge.value)){Ge.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;pn.value=n,_n.value=e.proposed_block.enabled,vn.value=e.proposed_block.namespace_template??"",mn.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{Ge.value=!1,ni.value=!0}}}async function Wt(){if(!(or.value||Ve.value)){Ve.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 a of t)l[a]=!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{Ve.value=!1,or.value=!0}}}async function $c(e,n){try{await A("/api/v1/wizard/state",{method:"POST",body:{step:e,totalSteps:Be(),partial:n,startedAt:_c(null)}})}catch(i){P.value={message:i instanceof Error?i.message:String(i),tone:"error"}}}async function Yt(){fn.value=!0;try{const e=await A("/api/v1/settings/diff",{method:"POST",body:{values:V.value,ifUnmodifiedSince:Ft.value}});Tn.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{fn.value=!1}}async function qt(){const e=Object.entries(Me.value).filter(([,n])=>n===!0).map(([n])=>n);if(e.length===0){fe.value=null,Je.value=null;return}ii.value=!0,Je.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);Je.value=i}finally{ii.value=!1}}function yn(){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 $c(n,V.value),q.value=n,P.value=null;const i=Sn(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 Mc(){const e=Object.entries(Me.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&&hn.value==="project"&&(i.scope_to_project_only=!0),i}async function Dc(){$e.value=!0,P.value=null;try{const e={settings:V.value};yn()&&M.value!==null&&(e.identity=M.value),pe.value?.projectScopeAvailable===!0&&(e.scope=hn.value);const n=jc();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?Mc():null;let a="";if(l!==null)try{let c=null;await gl("/api/v1/wizard/apply",l,h=>{h.type==="error"&&(c=typeof h.message=="string"?h.message:"install failed")});const s=l.tools.length,d=l.packs.length;a=c!==null?` Installer failed: ${c}. Settings were saved; re-run the wizard to retry.`:` Installer applied ${s} tool${s===1?"":"s"}`+(d>0?` and ${d} pack${d===1?"":"s"}.`:".")}catch(c){a=` 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}${a} ${r}`,tone:"success"},q.value=Ti(Be()-1),It.value=V.value,ne.value=yn()?M.value:ne.value,Tn.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{$e.value=!1}}function Bc(){if(Ge.value)return o("p",{children:"Detecting module roots…"});if(Se.value!==null)return o("div",{class:"ac-wizard-step-stub",children:[o("p",{class:"ac-banner ac-banner--error",children:["Module detection failed: ",Se.value]}),o("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=pn.value,i=Pt.value;return o("div",{class:"ac-wizard-step-stub",children:[i!==null?o("p",{children:["Scanning ",o("code",{children:i}),". Pick which detected roots the agent should treat as modules. Skip leaves",o("code",{children:" .agent-project-settings.yml"})," untouched."]}):null,o("label",{children:[o("input",{type:"checkbox",checked:_n.value,onChange:r=>{_n.value=r.currentTarget.checked,ue.value=!1}})," ","Enable module discovery (writes ",o("code",{children:"modules.enabled"}),")"]}),e.length===0?o("p",{children:[o("em",{children:"No module roots detected."})," The wizard found no common module layouts (Laravel ",o("code",{children:"app/Modules/"}),", Symfony ",o("code",{children:"src/Module/"}),", Node ",o("code",{children:"packages/"}),", Python ",o("code",{children:"src/"}),", Go ",o("code",{children:"internal/"}),"). Skip to leave ",o("code",{children:"modules:"})," blank."]}):o("ul",{style:"list-style: none; padding-left: 0;",children:e.map(r=>o("li",{children:o("label",{children:[o("input",{type:"checkbox",checked:n[r.path]??!1,onChange:t=>{const l=t.currentTarget.checked;pn.value={...n,[r.path]:l},ue.value=!1}})," ",o("code",{children:r.path})," — ",r.stack," ",o("small",{children:["(",r.confidence," confidence)"]})]})},r.path))}),o("label",{children:["Namespace template:"," ",o("input",{type:"text",value:vn.value,placeholder:"e.g. App\\\\Modules\\\\{ModuleName}\\\\App",onInput:r=>{vn.value=r.currentTarget.value,ue.value=!1}})]}),o("label",{children:["Agent folder:"," ",o("input",{type:"text",value:mn.value,placeholder:"agents",onInput:r=>{mn.value=r.currentTarget.value,ue.value=!1}})]})]})}function jc(){if(ue.value||!ni.value)return null;const e=new Set(Si.value.map(r=>r.path)),n=pn.value,i=Object.keys(n).filter(r=>n[r]===!0&&e.has(r));return{enabled:_n.value,root_paths:i,namespace_template:vn.value,agent_folder:mn.value||"agents"}}function zc(){const e=Me.value;return o("div",{class:"ac-wizard-step-stub",children:[o("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."}),o("ul",{style:"list-style: none; padding-left: 0;",children:hc.map(n=>o("li",{children:o("label",{children:[o("input",{type:"checkbox",checked:e[n.id]??!1,onChange:i=>{const r=i.currentTarget.checked;Me.value={...e,[n.id]:r}}})," ",n.label," ",o("small",{children:o("code",{children:n.id})})]})},n.id))})]})}function Uc(){if(Ve.value)return o("p",{children:"Loading discovery manifest…"});if(Te.value!==null)return o("div",{class:"ac-wizard-step-stub",children:[o("p",{class:"ac-banner ac-banner--error",children:["Discovery failed: ",Te.value]}),o("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 o("div",{class:"ac-wizard-step-stub",children:[o("p",{children:"Pick the capability packs to install. Auto-detected packs are pre-selected based on files in your project root."}),e.length===0?o("p",{children:o("em",{children:"No packs available in the manifest."})}):o("ul",{style:"list-style: none; padding-left: 0;",children:e.map(r=>o("li",{children:o("label",{children:[o("input",{type:"checkbox",checked:n[r.id]??!1,onChange:t=>{const l=t.currentTarget.checked;ve.value={...n,[r.id]:l}}})," ",o("strong",{children:r.label})," ",o("small",{children:o("code",{children:r.id})}),i.has(r.id)?o("small",{children:[" — ",o("em",{children:"auto-detected"})]}):null,r.description!==""?o("div",{children:o("small",{children:r.description})}):null,r.requires_hint&&r.requires_hint.length>0?o("div",{children:o("small",{children:["Requires: ",r.requires_hint.map(t=>o("code",{children:t},t)).reduce((t,l,a)=>a===0?[l]:[...t,o(J,{children:", "}),l],[])]})}):null]})},r.id))})]})}function Hc(){const e=Sn(q.value,{extended:I.value});if(I.value&&Bt.value==="install"&&q.value===3&&!$n.value)return o(Tc,{busy:$e.value,onContinue:()=>{$n.value=!0},onFinishHere:()=>{$n.value=!0,Ee(Be()-1)}});if(e.kind==="form"){const i=sc(xi.value,e.paths??[]);return o(Nl,{schema:i,values:V.value,errors:de.value,onChange:r=>{V.value=r}})}return e.kind==="userMd"?!ei.value||M.value===null?o("p",{children:"Loading .agent-user.yml…"}):o(Rl,{value:M.value,errors:de.value,onChange:i=>{M.value=i,Ai.value=!1}}):e.kind==="aiTools"?o(zc,{}):e.kind==="packs"?o(Uc,{}):e.kind==="modules"?o(Bc,{}):o(Ac,{steps:jt(),currentIndex:q.value,changes:Tn.value,errors:de.value,userMdChanged:yn(),userMdAction:Lt.value?"replace":"create",loading:fn.value,onJump:i=>{Ee(i)},scope:hn.value,scopeAvailable:pe.value?.projectScopeAvailable===!0,onScopeChange:i=>{hn.value=i},selectedToolsCount:Object.values(Me.value).filter(Boolean).length,selectedPacksCount:Object.values(ve.value).filter(Boolean).length,installPlanByTool:I.value?Wc():void 0,installPlanReady:I.value?fe.value!==null:void 0,installPlanError:I.value&&!ii.value?Je.value:null,conflicts:I.value?fe.value?.conflicts??[]:void 0,conflictResolutions:I.value?Pn.value:void 0,conflictBatchChoice:I.value?cr.value:void 0,onConflictResolutionChange:I.value?(i,r)=>{Pn.value={...Pn.value,[i]:r}}:void 0,onConflictBatchChoice:I.value?i=>{cr.value=i}:void 0})}function Wc(){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 Dn({path:e}){if(pi(()=>{Rc()},[]),!Nt.value||xi.value===null)return o("div",{class:"ac-page",children:[o("h1",{children:"Setup wizard"}),Ce.value!==null?o("p",{class:"ac-banner ac-banner--error",children:Ce.value}):o("p",{children:"Loading…"})]});const n=q.value,i=Be(),r=Sn(n,{extended:I.value}),t=n===i-1,l=gn.value,a=l!==null&&!Dt.value,c=ri.value;return c!==null&&c.present&&!ti.value?o("div",{class:"ac-page",children:o(Ec,{sourcePath:c.path,backupTarget:c.backupTarget,version:c.version,busy:li.value,error:ai.value,onBackupAndProceed:()=>{Lc()},onAbort:()=>{P.value={tone:"info",message:"Aborted. Uninstall v3 manually, then re-run `agent-config install`."},ti.value=!0}})}):o("div",{class:"ac-page",children:[o(dc,{step:r,index:n,total:i}),a?o(Sc,{abortedAt:l.abortedAt,abortNote:l.abortNote,writesSinceRollback:l.writesSinceRollback,busy:$e.value,onResume:()=>{Mn("resume")},onRollback:()=>{Mn("rollback")},onIgnore:()=>{Mn("ignore")}}):null,P.value!==null?o("p",{class:`ac-banner${P.value.tone==="error"?" ac-banner--error":""}`,children:P.value.message}):null,o("div",{class:"ac-wizard__step",children:o(Hc,{})}),o(fc,{canGoPrev:n>0,canGoNext:!t,canSkip:r.kind==="userMd"||r.kind==="modules",isLast:t,busy:$e.value||fn.value,canFinish:Tn.value.length>0||yn(),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:()=>{Dc()}})]})}const Qe=_([]),bn=_([]),oi=_([]),ci=_([]),wn=_(null),Kt=_(!1),Oe=_(null),X=_(null),Bn=_("plain");async function Yc(){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,bn.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 qc(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");bn.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 Kc({role:e}){const n=wn.value===e.slug;return o("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:()=>{wn.value=e.slug,X.value=null},children:[o("span",{class:"ac-workspace__role-name",children:e.display_name}),o("span",{class:"ac-workspace__role-status","data-status":e.status,children:e.status}),o("span",{class:"ac-workspace__role-tagline",children:e.tagline})]})}function Gc({role:e}){return o("section",{class:"ac-workspace__tasks","aria-labelledby":"task-heading",children:[o("h2",{id:"task-heading",class:"ac-workspace__heading",children:["First tasks · ",e.display_name]}),e.first_tasks.length===0?o("p",{class:"ac-workspace__empty",children:"No tasks scaffolded yet for this role."}):o("ul",{class:"ac-workspace__task-list",children:e.first_tasks.map(n=>o("li",{class:"ac-workspace__task",children:[o("div",{class:"ac-workspace__task-head",children:[o("span",{class:"ac-workspace__task-name",children:n.name}),o("button",{type:"button",class:"ac-button ac-button--primary",onClick:()=>{qc(e.slug,n.name)},children:"Start session"})]}),o("p",{class:"ac-workspace__task-intent",children:n.intent}),n.prompt!==""?o("code",{class:"ac-workspace__task-prompt",children:["prompts/",n.prompt]}):null]},n.name))}),e.skills.length>0?o("details",{class:"ac-workspace__skills",children:[o("summary",{children:["Skill shortlist (",e.skills.length,")"]}),o("ul",{class:"ac-workspace__skill-list",children:[e.skills.slice(0,5).map(n=>o("li",{class:"ac-workspace__skill",children:[o("code",{children:n.id})," — ",n.why]},n.id)),e.skills.length>5?o("li",{class:"ac-workspace__skill-more",children:["+ ",e.skills.length-5," more"]}):null]})]}):null]})}function Vc(){return o("section",{class:"ac-workspace__sessions","aria-labelledby":"sessions-heading",children:[o("h2",{id:"sessions-heading",class:"ac-workspace__heading",children:"Recent sessions"}),bn.value.length===0?o("p",{class:"ac-workspace__empty",children:"No sessions yet — pick a role and start one."}):o("ul",{class:"ac-workspace__session-list",children:bn.value.map(e=>o("li",{class:"ac-workspace__session",children:[o("span",{class:"ac-workspace__session-id",children:e.id.slice(0,16)}),o("span",{class:"ac-workspace__session-role",children:e.role}),o("span",{class:"ac-workspace__session-task",children:e.task})]},e.id))})]})}function Jc(){return o("section",{class:"ac-workspace__knowledge","aria-labelledby":"knowledge-heading",children:[o("h2",{id:"knowledge-heading",class:"ac-workspace__heading",children:"Knowledge sources"}),oi.value.length===0?o("p",{class:"ac-workspace__empty",children:["No sources yet. Run ",o("code",{children:"/knowledge:ingest <path>"})," to add documents."]}):o("ol",{class:"ac-workspace__citation-list",children:oi.value.map((e,n)=>o("li",{class:"ac-workspace__citation",children:[o("span",{class:"ac-workspace__citation-marker","aria-label":`Citation ${n+1}`,children:["[",n+1,"]"]}),o("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?o("span",{class:"ac-workspace__citation-pin","aria-label":"pinned",children:"★"}):null,o("p",{class:"ac-workspace__citation-excerpt",children:[e.excerpt.slice(0,200),e.excerpt.length>200?"…":""]})]},e.id))})]})}function Qc(){return o("section",{class:"ac-workspace__recent","aria-labelledby":"recent-heading",children:[o("h2",{id:"recent-heading",class:"ac-workspace__heading",children:"Recent documents"}),ci.value.length===0?o("p",{class:"ac-workspace__empty",children:"No documents yet. Saved drafts land here."}):o("ul",{class:"ac-workspace__doc-list",children:ci.value.map(e=>o("li",{class:"ac-workspace__doc",children:[o("span",{class:"ac-workspace__doc-type","data-type":e.type,children:e.type}),o("span",{class:"ac-workspace__doc-title",children:e.title}),o("time",{class:"ac-workspace__doc-time",dateTime:e.updated_at,children:e.updated_at.slice(0,10)})]},`${e.type}/${e.slug}`))})]})}function Zc(){const e=Bn.value;return o("fieldset",{class:"ac-workspace__explain",children:[o("legend",{class:"ac-workspace__heading",children:"Explanation style"}),o("label",{class:"ac-workspace__explain-option",children:[o("input",{type:"radio",name:"explain-mode",value:"plain",checked:e==="plain",onChange:()=>{Bn.value="plain"},"aria-label":"Plain language"}),o("span",{children:"Plain language"})]}),o("label",{class:"ac-workspace__explain-option",children:[o("input",{type:"radio",name:"explain-mode",value:"technical",checked:e==="technical",onChange:()=>{Bn.value="technical"},"aria-label":"Technical detail"}),o("span",{children:"Technical detail"})]}),o("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 Xc(){if(pi(()=>{Yc()},[]),Oe.value!==null)return o("div",{class:"ac-page ac-page--error",children:[o("h1",{children:"Workspace"}),o("p",{class:"ac-banner ac-banner--error",children:Oe.value})]});if(!Kt.value)return o("div",{class:"ac-page",children:[o("h1",{children:"Workspace"}),o("p",{children:"Loading…"})]});const e=wn.value!==null?Qe.value.find(n=>n.slug===wn.value)??null:null;return o("div",{class:"ac-page ac-workspace",children:[o("header",{class:"ac-page__header",children:[o("h1",{children:"Workspace"}),o("p",{class:"ac-page__subtitle",children:"Pick a role, pick a first task, run it."})]}),X.value!==null?o("p",{class:"ac-banner",role:"status",children:X.value}):null,o("div",{class:"ac-workspace__grid",children:[o("section",{class:"ac-workspace__roles","aria-labelledby":"roles-heading",children:[o("h2",{id:"roles-heading",class:"ac-workspace__heading",children:"Roles"}),Qe.value.length===0?o("p",{class:"ac-workspace__empty",children:"No roles installed."}):o("div",{class:"ac-workspace__role-grid",children:Qe.value.map(n=>o(Kc,{role:n},n.slug))})]}),o("main",{class:"ac-workspace__main","aria-label":"Tasks and sessions",children:[e!==null?o(Gc,{role:e}):o("p",{class:"ac-workspace__empty",children:"Pick a role on the left to see its first tasks."}),o(Vc,{})]}),o("aside",{class:"ac-workspace__rail","aria-label":"Knowledge and documents",children:[o(Jc,{}),o(Qc,{}),o(Zc,{})]})]})]})}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 es(e){for(const n of Gt)for(const i of n.matches)if(e===i||e.startsWith(`${i}/`))return n.id;return null}function ns(){const e=oe.value,n=es(e);return o("header",{class:"ac-topnav",children:o("div",{class:"ac-topnav__inner",children:[o("div",{class:"ac-topnav__brand",children:[o("h1",{class:"ac-topnav__title",children:"@event4u/agent-config"}),o("p",{class:"ac-topnav__subtitle",children:"Browser Wizard"})]}),o("nav",{class:"ac-topnav__tabs","aria-label":"Surfaces",children:Gt.map(i=>o("button",{type:"button",class:`ac-topnav__tab${n===i.id?" ac-topnav__tab--active":""}`,"aria-current":n===i.id?"page":void 0,onClick:()=>qn(i.hashPath),children:i.label},i.id))})]})})}function We({name:e}){return o("div",{class:"ac-page",children:[o("header",{class:"ac-page__header",children:o("h1",{children:e})}),o("section",{class:"ac-section",children:[o("p",{class:"ac-section__description",children:["The ",o("strong",{children:e})," surface is currently served by the legacy installer GUI on port ",o("code",{children:"41100"}),". It is being ported to the modern shell in a follow-up phase (road-to-unified-setup § Phase 5)."]}),o("p",{class:"ac-section__description",children:["For now the legacy surface remains reachable via"," ",o("code",{children:"installer gui"}),"."]})]})]})}function is({path:e}){return o("div",{class:"ac-page ac-page--error",children:[o("h1",{children:"Page not found"}),o("p",{children:["Nothing routed to ",o("code",{children:e}),". Try ",o("a",{href:"#/setup",children:"Setup"}),"."]})]})}function rs(){const e=pe.value;return e===null||e.dryRun!==!0?null:o("div",{class:"ac-dryrun-banner",role:"status","aria-live":"polite",children:[o("strong",{children:"DRY RUN"}),o("span",{children:" · no files will be written. Validation + rendering run normally; commits return a preview."})]})}function ts(e){return e==="/"||e==="/setup"||e.startsWith("/setup/")?o(Dn,{path:e}):e.startsWith("/wizard")?o(Dn,{path:e}):e==="/settings"||e.startsWith("/settings/")?o(Dn,{path:"/setup"}):e==="/tasks"?o(We,{name:"Tasks"}):e==="/council"?o(We,{name:"Council"}):e==="/memory"?o(We,{name:"Memory"}):e==="/explain"?o(We,{name:"Explain"}):e==="/workspace"?o(Xc,{}):o(is,{path:e})}function ls(){return pi(()=>{vl(),(oe.value==="/"||oe.value==="/settings"||oe.value.startsWith("/settings/"))&&qn("/setup"),yl()},[]),o(J,{children:[o(rs,{}),o(ns,{}),ts(oe.value)]})}function as(){return new URLSearchParams(window.location.search).get("token")}function os(){const e=document.getElementById("app");if(e===null)return;const n=as();if(n===null){e.textContent="agent-config UI · missing token — re-open via `agent-config ui:serve`.";return}ml(n),e.textContent="",il(o(ls,{}),e)}os();
40
+ //# sourceMappingURL=index-BDAhhpDV.js.map