@event4u/agent-config 8.4.1 → 8.6.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 (581) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +92 -0
  3. package/README.md +17 -5
  4. package/dist/agent-src/README.md +1 -1
  5. package/dist/agent-src/commands/{analyze-reference-repo.md → analyze/reference-repo.md} +3 -1
  6. package/dist/agent-src/commands/analyze.md +9 -6
  7. package/dist/agent-src/commands/{bug-fix.md → bug/fix.md} +3 -1
  8. package/dist/agent-src/commands/{bug-investigate.md → bug/investigate.md} +4 -2
  9. package/dist/agent-src/commands/bug.md +59 -0
  10. package/dist/agent-src/commands/{set-cost-profile.md → cost/profile.md} +9 -6
  11. package/dist/agent-src/commands/{cost-report.md → cost/report.md} +38 -17
  12. package/dist/agent-src/commands/cost.md +57 -0
  13. package/dist/agent-src/commands/evals/{review-changes.json → review.json} +12 -8
  14. package/dist/agent-src/commands/{quality-fix.md → fix/quality.md} +5 -2
  15. package/dist/agent-src/commands/fix.md +7 -4
  16. package/dist/agent-src/commands/optimize/project.md +250 -0
  17. package/dist/agent-src/commands/{optimize-prompt.md → optimize/prompt.md} +3 -2
  18. package/dist/agent-src/commands/optimize.md +17 -12
  19. package/dist/agent-src/commands/{package-reset.md → package/reset.md} +2 -0
  20. package/dist/agent-src/commands/{package-test.md → package/test.md} +3 -1
  21. package/dist/agent-src/commands/package.md +56 -0
  22. package/dist/agent-src/commands/{project-analyze.md → project/analyze.md} +10 -8
  23. package/dist/agent-src/commands/{project-health.md → project/health.md} +2 -0
  24. package/dist/agent-src/commands/project.md +60 -0
  25. package/dist/agent-src/commands/{review-changes.md → review/changes.md} +26 -24
  26. package/dist/agent-src/commands/{review-routing.md → review/routing.md} +21 -17
  27. package/dist/agent-src/commands/review.md +61 -0
  28. package/dist/agent-src/commands/security-audit-config.md +24 -23
  29. package/dist/agent-src/commands/{sync-agent-settings.md → sync/agent-settings.md} +11 -7
  30. package/dist/agent-src/commands/{sync-gitignore → sync/gitignore}/fix.md +36 -27
  31. package/dist/agent-src/commands/{sync-gitignore.md → sync/gitignore.md} +22 -21
  32. package/dist/agent-src/commands/sync.md +58 -0
  33. package/dist/agent-src/commands/{e2e-heal.md → tests/e2e-heal.md} +5 -2
  34. package/dist/agent-src/commands/{e2e-plan.md → tests/e2e-plan.md} +5 -2
  35. package/dist/agent-src/commands/tests.md +11 -5
  36. package/dist/agent-src/contexts/augment-infrastructure.md +3 -3
  37. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +30 -0
  38. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +15 -1
  39. package/dist/agent-src/contexts/execution/subagent-steering.md +54 -1
  40. package/dist/agent-src/contexts/execution/toolchain-resolver.md +1 -1
  41. package/dist/agent-src/contexts/model-recommendations.md +19 -0
  42. package/dist/agent-src/contexts/skills-and-commands.md +2 -2
  43. package/dist/agent-src/contexts/subagent-configuration.md +8 -0
  44. package/dist/agent-src/rules/external-reference-deep-dive.md +1 -1
  45. package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +2 -2
  46. package/dist/agent-src/skills/judge-artifact-completeness/SKILL.md +1 -1
  47. package/dist/agent-src/skills/judge-bug-hunter/SKILL.md +1 -1
  48. package/dist/agent-src/skills/judge-code-quality/SKILL.md +1 -1
  49. package/dist/agent-src/skills/judge-security-auditor/SKILL.md +1 -1
  50. package/dist/agent-src/skills/judge-synthesis/SKILL.md +1 -1
  51. package/dist/agent-src/skills/judge-test-coverage/SKILL.md +1 -1
  52. package/dist/agent-src/skills/markitdown/SKILL.md +1 -1
  53. package/dist/agent-src/skills/mobile-e2e-strategy/SKILL.md +5 -5
  54. package/dist/agent-src/skills/prompt-optimizer/SKILL.md +2 -2
  55. package/dist/agent-src/skills/quality-tools/SKILL.md +1 -1
  56. package/dist/agent-src/skills/repomix-packer/SKILL.md +1 -1
  57. package/dist/agent-src/skills/requesting-code-review/SKILL.md +2 -2
  58. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
  59. package/dist/agent-src/templates/agent-settings.md +1 -1
  60. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +2 -2
  61. package/dist/agent-src/templates/scripts/work_engine/stack/runner.ts +1 -1
  62. package/dist/cli/commands/config.js +44 -0
  63. package/dist/cli/commands/config.js.map +1 -0
  64. package/dist/cli/commands/uiServe.js +1 -0
  65. package/dist/cli/commands/uiServe.js.map +1 -1
  66. package/dist/cli/help.js +38 -0
  67. package/dist/cli/help.js.map +1 -0
  68. package/dist/cli/initRouting.js +16 -1
  69. package/dist/cli/initRouting.js.map +1 -1
  70. package/dist/cli/main.js +43 -37
  71. package/dist/cli/main.js.map +1 -1
  72. package/dist/cli/registry.js +45 -44
  73. package/dist/cli/registry.js.map +1 -1
  74. package/dist/discovery/deprecation-report.md +1 -1
  75. package/dist/discovery/discovery-manifest.json +419 -210
  76. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  77. package/dist/discovery/discovery-manifest.summary.md +4 -4
  78. package/dist/discovery/orphan-report.md +1 -1
  79. package/dist/discovery/packs.json +31 -25
  80. package/dist/discovery/trust-report.md +2 -2
  81. package/dist/discovery/workspaces.json +30 -24
  82. package/dist/install/install.mjs +6064 -159
  83. package/dist/install/selectedTools.js +39 -10
  84. package/dist/install/selectedTools.js.map +1 -1
  85. package/dist/mcp/registry-manifest.json +3 -3
  86. package/dist/server/app.js +15 -3
  87. package/dist/server/app.js.map +1 -1
  88. package/dist/server/routes/ping.js +16 -0
  89. package/dist/server/routes/ping.js.map +1 -1
  90. package/dist/server/routes/settings.js +42 -6
  91. package/dist/server/routes/settings.js.map +1 -1
  92. package/dist/server/routes/settingsChanges.js +55 -0
  93. package/dist/server/routes/settingsChanges.js.map +1 -0
  94. package/dist/server/routes/userMd.js +7 -2
  95. package/dist/server/routes/userMd.js.map +1 -1
  96. package/dist/server/routes/wizard.js +76 -14
  97. package/dist/server/routes/wizard.js.map +1 -1
  98. package/dist/server/writeRoot.js +17 -0
  99. package/dist/server/writeRoot.js.map +1 -1
  100. package/dist/shared/settingsSurface.js +120 -0
  101. package/dist/shared/settingsSurface.js.map +1 -0
  102. package/dist/ui/assets/index-BPFMZWUs.css +1 -0
  103. package/dist/ui/assets/index-BiEZiZ31.js +40 -0
  104. package/dist/ui/assets/index-BiEZiZ31.js.map +1 -0
  105. package/dist/ui/index.html +15 -2
  106. package/docs/CLAIMS.md +27 -15
  107. package/docs/architecture.md +1 -1
  108. package/docs/catalog.md +37 -31
  109. package/docs/command-flows.md +22 -16
  110. package/docs/contracts/command-clusters.md +39 -9
  111. package/docs/contracts/file-ownership-matrix.json +21 -0
  112. package/docs/contracts/frontmatter-contract.md +1 -1
  113. package/docs/contracts/gui-wizard.md +16 -4
  114. package/docs/contracts/iron-law-overrides.txt +1 -0
  115. package/docs/contracts/rule-classification.md +2 -2
  116. package/docs/contracts/settings-api.md +58 -2
  117. package/docs/contracts/surface-matrix.md +5 -0
  118. package/docs/cookbook.md +7 -7
  119. package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +74 -0
  120. package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +91 -0
  121. package/docs/decisions/ADR-116-memory-tripwire-activation-path.md +125 -0
  122. package/docs/decisions/INDEX.md +3 -0
  123. package/docs/featured-commands.md +1 -1
  124. package/docs/featured-skills.md +4 -4
  125. package/docs/flows.md +2 -2
  126. package/docs/getting-started-by-role.md +1 -1
  127. package/docs/getting-started-laravel.md +1 -1
  128. package/docs/getting-started.md +6 -3
  129. package/docs/governance-advantage.md +1 -1
  130. package/docs/guidelines/agent-infra/5w2h-analysis.md +1 -1
  131. package/docs/guidelines/agent-infra/ios-simulator-guide.md +1 -1
  132. package/docs/proof.md +12 -2
  133. package/package.json +3 -1
  134. package/src/agent-src/README.md +1 -1
  135. package/src/agent-src/templates/scripts/work_engine/stack/runner.ts +1 -1
  136. package/src/config/agent-settings.template.yml +1 -1
  137. package/src/install/selectedTools.ts +38 -10
  138. package/src/scripts/_cli/cmd_converge.ts +38 -0
  139. package/src/scripts/_cli/cmd_doctor.ts +113 -2
  140. package/src/scripts/_cli/cmd_explain.ts +2 -2
  141. package/src/scripts/_cli/cmd_export.ts +3 -3
  142. package/src/scripts/_cli/cmd_fleet.ts +13 -1
  143. package/src/scripts/_cli/cmd_migrate.ts +3 -3
  144. package/src/scripts/_cli/cmd_prune.ts +2 -2
  145. package/src/scripts/_cli/cmd_refresh.ts +4 -4
  146. package/src/scripts/_cli/cmd_settings_check.ts +2 -2
  147. package/src/scripts/_cli/cmd_settings_migrate.ts +2 -2
  148. package/src/scripts/_cli/cmd_sync.ts +2 -2
  149. package/src/scripts/_cli/cmd_uninstall.ts +2 -2
  150. package/src/scripts/_cli/cmd_update.ts +8 -8
  151. package/src/scripts/_cli/cmd_upgrade.ts +4 -3
  152. package/src/scripts/_cli/cmd_validate.ts +3 -3
  153. package/src/scripts/_cli/cmd_versions.ts +2 -2
  154. package/src/scripts/_cli/explain_last/assumptions.ts +2 -2
  155. package/src/scripts/_cli/explain_last/council.ts +2 -2
  156. package/src/scripts/_cli/explain_last/halt.ts +2 -2
  157. package/src/scripts/_cli/explain_last/index.ts +2 -2
  158. package/src/scripts/_cli/explain_last/inputs.ts +4 -4
  159. package/src/scripts/_cli/explain_last/memory.ts +2 -2
  160. package/src/scripts/_cli/explain_last/provider.ts +2 -2
  161. package/src/scripts/_cli/explain_last/render.ts +2 -2
  162. package/src/scripts/_cli/explain_last/route.ts +2 -2
  163. package/src/scripts/_cli/explain_last/scrubber.ts +2 -2
  164. package/src/scripts/_cli/explain_last/sections/assumptions.ts +2 -2
  165. package/src/scripts/_cli/explain_last/sections/council.ts +2 -2
  166. package/src/scripts/_cli/explain_last/sections/halt.ts +2 -2
  167. package/src/scripts/_cli/explain_last/sections/header.ts +2 -2
  168. package/src/scripts/_cli/explain_last/sections/index.ts +1 -1
  169. package/src/scripts/_cli/explain_last/sections/inputs.ts +2 -2
  170. package/src/scripts/_cli/explain_last/sections/memory.ts +2 -2
  171. package/src/scripts/_cli/explain_last/sections/pack.ts +2 -2
  172. package/src/scripts/_cli/explain_last/sections/provider.ts +2 -2
  173. package/src/scripts/_cli/explain_last/sections/route.ts +2 -2
  174. package/src/scripts/_cli/explain_last/state_loader.ts +2 -2
  175. package/src/scripts/_dispatch.bash +20 -1
  176. package/src/scripts/_lib/agent_settings.ts +1 -1
  177. package/src/scripts/_lib/agent_src.ts +7 -7
  178. package/src/scripts/_lib/agents_overlay.ts +1 -1
  179. package/src/scripts/_lib/auto_dispatch.ts +63 -0
  180. package/src/scripts/_lib/bench_ab_cache.ts +1 -1
  181. package/src/scripts/_lib/bench_ab_scoring.ts +1 -1
  182. package/src/scripts/_lib/bench_ab_scoring_v2.ts +3 -3
  183. package/src/scripts/_lib/bench_cost.ts +1 -1
  184. package/src/scripts/_lib/bench_quality.ts +3 -3
  185. package/src/scripts/_lib/bench_report.ts +4 -4
  186. package/src/scripts/_lib/bench_telegraph.ts +1 -1
  187. package/src/scripts/_lib/bench_telegraph_report.ts +4 -4
  188. package/src/scripts/_lib/changelog_eras.ts +1 -1
  189. package/src/scripts/_lib/claude_desktop_bundler.ts +1 -1
  190. package/src/scripts/_lib/cli_wrapper.ts +1 -1
  191. package/src/scripts/_lib/fs_atomic.ts +1 -1
  192. package/src/scripts/_lib/global_deploy_inventory.ts +1 -1
  193. package/src/scripts/_lib/install_layout.ts +1 -1
  194. package/src/scripts/_lib/install_regenerator.ts +1 -1
  195. package/src/scripts/_lib/installed_lock.ts +1 -1
  196. package/src/scripts/_lib/installed_tools.ts +1 -1
  197. package/src/scripts/_lib/json_pointers.ts +1 -1
  198. package/src/scripts/_lib/knowledge_global.ts +1 -1
  199. package/src/scripts/_lib/knowledge_global_promote.ts +2 -2
  200. package/src/scripts/_lib/knowledge_global_redaction.ts +2 -2
  201. package/src/scripts/_lib/link_crypto.ts +4 -4
  202. package/src/scripts/_lib/linked_projects.ts +4 -4
  203. package/src/scripts/_lib/model_tier.ts +1 -1
  204. package/src/scripts/_lib/module_detection.ts +2 -2
  205. package/src/scripts/_lib/pin_resolver.ts +1 -1
  206. package/src/scripts/_lib/script_output.ts +1 -1
  207. package/src/scripts/_lib/security_lint.ts +1 -1
  208. package/src/scripts/_lib/subagent_routing.ts +24 -0
  209. package/src/scripts/_lib/subagent_steering.ts +213 -3
  210. package/src/scripts/_lib/surface_tiers.ts +1 -1
  211. package/src/scripts/_lib/text_similarity.ts +1 -1
  212. package/src/scripts/_lib/update_check.ts +2 -2
  213. package/src/scripts/_lib/user_global_paths.ts +1 -1
  214. package/src/scripts/_lib/value_ladder.ts +1 -1
  215. package/src/scripts/_lib/value_report.ts +1 -1
  216. package/src/scripts/_lib/zip_min.ts +2 -2
  217. package/src/scripts/adoption_report.ts +3 -3
  218. package/src/scripts/adoption_snapshot.ts +3 -3
  219. package/src/scripts/adoption_status.ts +2 -2
  220. package/src/scripts/adr/regenerate_index.ts +3 -3
  221. package/src/scripts/ai_council/_default_prices.ts +2 -3
  222. package/src/scripts/ai_council/advisors.ts +1 -1
  223. package/src/scripts/ai_council/airgap.ts +1 -1
  224. package/src/scripts/ai_council/budget_guard.ts +1 -1
  225. package/src/scripts/ai_council/bundler.ts +1 -1
  226. package/src/scripts/ai_council/cli_hints.ts +1 -1
  227. package/src/scripts/ai_council/clients.ts +5 -5
  228. package/src/scripts/ai_council/compile_corpus.ts +1 -1
  229. package/src/scripts/ai_council/confidence_gate.ts +1 -1
  230. package/src/scripts/ai_council/config.ts +1 -1
  231. package/src/scripts/ai_council/consensus.ts +1 -1
  232. package/src/scripts/ai_council/events_log.ts +1 -1
  233. package/src/scripts/ai_council/learn_low_impact_preview.ts +1 -1
  234. package/src/scripts/ai_council/low_impact_corpus.ts +1 -1
  235. package/src/scripts/ai_council/low_impact_intake.ts +1 -1
  236. package/src/scripts/ai_council/modes.ts +1 -1
  237. package/src/scripts/ai_council/orchestrator.ts +3 -3
  238. package/src/scripts/ai_council/pricing.ts +2 -2
  239. package/src/scripts/ai_council/probation_gate.ts +2 -2
  240. package/src/scripts/ai_council/project_context.ts +1 -1
  241. package/src/scripts/ai_council/prompts.ts +1 -1
  242. package/src/scripts/ai_council/redact_low_impact_entry.ts +2 -2
  243. package/src/scripts/ai_council/session.ts +1 -1
  244. package/src/scripts/ai_council/shadow_dispatch.ts +1 -1
  245. package/src/scripts/ai_council/solo_dispatch.ts +1 -1
  246. package/src/scripts/analysis_freshness.ts +2 -2
  247. package/src/scripts/annotate_discovery.ts +2 -2
  248. package/src/scripts/apply_modules_config.ts +2 -2
  249. package/src/scripts/audit_adr_coverage.ts +3 -3
  250. package/src/scripts/audit_auto_rules.ts +2 -2
  251. package/src/scripts/audit_cloud_compatibility.ts +3 -3
  252. package/src/scripts/audit_command_surface.ts +2 -2
  253. package/src/scripts/audit_initial_context.ts +7 -6
  254. package/src/scripts/audit_likelihood.ts +5 -5
  255. package/src/scripts/audit_mcp_tools.ts +3 -3
  256. package/src/scripts/audit_overlap.ts +2 -2
  257. package/src/scripts/audit_skill_descriptions.ts +2 -2
  258. package/src/scripts/audit_skill_overlap.ts +5 -5
  259. package/src/scripts/audit_user_type_axis.ts +4 -4
  260. package/src/scripts/backfill_model_tier.ts +1 -1
  261. package/src/scripts/bench_ab_cache_dispatch.ts +2 -2
  262. package/src/scripts/bench_ab_clone.ts +2 -2
  263. package/src/scripts/bench_ab_diff.ts +3 -3
  264. package/src/scripts/bench_ab_integrity.ts +2 -2
  265. package/src/scripts/bench_ab_run.ts +4 -4
  266. package/src/scripts/bench_ab_task_runner.ts +1 -1
  267. package/src/scripts/bench_ab_tracka_run.ts +2 -2
  268. package/src/scripts/bench_ab_v2_run.ts +1 -1
  269. package/src/scripts/bench_ab_v2_stats.ts +2 -2
  270. package/src/scripts/bench_baseline_ready.ts +1 -1
  271. package/src/scripts/bench_condense_memory.ts +4 -4
  272. package/src/scripts/bench_drift_check.ts +3 -3
  273. package/src/scripts/bench_per_tool.ts +1 -1
  274. package/src/scripts/bench_rtk_savings.ts +4 -4
  275. package/src/scripts/bench_run.ts +4 -4
  276. package/src/scripts/bench_runner.ts +1 -1
  277. package/src/scripts/build_cloud_bundle.ts +3 -3
  278. package/src/scripts/build_discovery_manifest.ts +13 -15
  279. package/src/scripts/build_linear_digest.ts +2 -2
  280. package/src/scripts/build_mcp_registry_manifest.ts +3 -3
  281. package/src/scripts/build_proof.ts +6 -0
  282. package/src/scripts/build_rule_trigger_matrix.ts +2 -2
  283. package/src/scripts/capture_showcase_session.ts +3 -3
  284. package/src/scripts/chat_history.ts +1 -1
  285. package/src/scripts/check_always_budget.ts +1 -1
  286. package/src/scripts/check_artefact_checksums.ts +4 -4
  287. package/src/scripts/check_artefact_count_messaging.ts +197 -0
  288. package/src/scripts/check_augment_description_cap.ts +3 -3
  289. package/src/scripts/check_augmentignore.ts +1 -1
  290. package/src/scripts/check_beta_review_markers.ts +3 -3
  291. package/src/scripts/check_bite_sized_granularity.ts +1 -1
  292. package/src/scripts/check_cluster_patterns.ts +47 -3
  293. package/src/scripts/check_command_count_messaging.ts +2 -2
  294. package/src/scripts/check_condensation.ts +2 -2
  295. package/src/scripts/check_condensed_paths.ts +6 -6
  296. package/src/scripts/check_context_paths.ts +1 -1
  297. package/src/scripts/check_council_config_location.ts +3 -3
  298. package/src/scripts/check_council_layout.ts +2 -2
  299. package/src/scripts/check_council_references.ts +2 -2
  300. package/src/scripts/check_discovery_determinism.ts +3 -3
  301. package/src/scripts/check_gate_paths.ts +4 -4
  302. package/src/scripts/check_iron_law_prominence.ts +2 -2
  303. package/src/scripts/check_kernel_rule_bundle.ts +3 -3
  304. package/src/scripts/check_knowledge_cards.ts +4 -4
  305. package/src/scripts/check_knowledge_pages.ts +1 -1
  306. package/src/scripts/check_md_language.ts +3 -3
  307. package/src/scripts/check_memory.ts +3 -3
  308. package/src/scripts/check_memory_proposal.ts +2 -2
  309. package/src/scripts/check_module_management_neutral.ts +1 -1
  310. package/src/scripts/check_no_conflict_markers.ts +1 -1
  311. package/src/scripts/check_no_external_sources.ts +1 -1
  312. package/src/scripts/check_no_local_settings_committed.ts +2 -2
  313. package/src/scripts/check_no_new_legacy_path.ts +3 -3
  314. package/src/scripts/check_no_roadmap_refs.ts +3 -3
  315. package/src/scripts/check_one_off_location.ts +3 -3
  316. package/src/scripts/check_overlay_cascade_subdirs.ts +3 -3
  317. package/src/scripts/check_portability.ts +3 -3
  318. package/src/scripts/check_proposal.ts +0 -0
  319. package/src/scripts/check_public_catalog_links.ts +1 -1
  320. package/src/scripts/check_public_links.ts +2 -2
  321. package/src/scripts/check_references.ts +3 -3
  322. package/src/scripts/check_release_includes_discovery.ts +2 -2
  323. package/src/scripts/check_release_pr_shape.ts +2 -2
  324. package/src/scripts/check_release_published.ts +1 -1
  325. package/src/scripts/check_release_trunk_sync.ts +3 -3
  326. package/src/scripts/check_reply_consistency.ts +1 -1
  327. package/src/scripts/check_roadmap_trackable.ts +2 -2
  328. package/src/scripts/check_role_doc_links.ts +2 -2
  329. package/src/scripts/check_safety_floor_untouched.ts +3 -3
  330. package/src/scripts/check_skill_requires.ts +2 -2
  331. package/src/scripts/check_structural_breaking.ts +2 -2
  332. package/src/scripts/check_surface_tiers.ts +2 -2
  333. package/src/scripts/check_template_pin_drift.ts +1 -1
  334. package/src/scripts/check_test_coverage_diff.ts +2 -2
  335. package/src/scripts/check_token_optimizer_freshness.ts +3 -3
  336. package/src/scripts/check_trigger_evals.ts +2 -2
  337. package/src/scripts/check_update_banner.ts +1 -1
  338. package/src/scripts/ci_status.ts +0 -0
  339. package/src/scripts/ci_summary.ts +3 -3
  340. package/src/scripts/ci_time_ratio.ts +1 -1
  341. package/src/scripts/command_suggester/cooldown.ts +1 -1
  342. package/src/scripts/command_suggester/index.ts +1 -1
  343. package/src/scripts/command_suggester/loader.ts +1 -1
  344. package/src/scripts/command_suggester/match.ts +1 -1
  345. package/src/scripts/command_suggester/rank.ts +1 -1
  346. package/src/scripts/command_suggester/render.ts +1 -1
  347. package/src/scripts/command_suggester/sanitize.ts +1 -1
  348. package/src/scripts/command_suggester/settings.ts +1 -1
  349. package/src/scripts/command_suggester/types.ts +0 -0
  350. package/src/scripts/compile_router.ts +4 -4
  351. package/src/scripts/condense.ts +3 -3
  352. package/src/scripts/condense_memory.ts +1 -1
  353. package/src/scripts/config/index.ts +1 -1
  354. package/src/scripts/config/packs.ts +1 -1
  355. package/src/scripts/config/presets.ts +1 -1
  356. package/src/scripts/config/profile_explain.ts +1 -1
  357. package/src/scripts/config/profiles.ts +1 -1
  358. package/src/scripts/config/session_profiles.ts +1 -1
  359. package/src/scripts/context_hygiene_hook.ts +2 -2
  360. package/src/scripts/cost_by_conversation.ts +1 -1
  361. package/src/scripts/cost_summary.ts +2 -2
  362. package/src/scripts/council_cli.ts +1 -1
  363. package/src/scripts/council_prune.ts +1 -1
  364. package/src/scripts/cross_repo_retrieve.ts +2 -2
  365. package/src/scripts/discovery_stats.ts +3 -3
  366. package/src/scripts/evidence_report.ts +4 -4
  367. package/src/scripts/extract_audit_patterns.ts +2 -2
  368. package/src/scripts/first_run_gate_hook.ts +1 -1
  369. package/src/scripts/gen_discovery_baseline.ts +2 -2
  370. package/src/scripts/generate_capabilities_index.ts +2 -2
  371. package/src/scripts/generate_capability_matrix.ts +2 -2
  372. package/src/scripts/generate_catalog.ts +2 -2
  373. package/src/scripts/generate_command_flows.ts +2 -2
  374. package/src/scripts/generate_cookbook.ts +1 -1
  375. package/src/scripts/generate_index.ts +3 -3
  376. package/src/scripts/generate_ownership_matrix.ts +2 -2
  377. package/src/scripts/generate_pack_manifests.ts +2 -2
  378. package/src/scripts/generate_role_experiences_catalog.ts +3 -3
  379. package/src/scripts/hooks/block_no_verify.ts +2 -2
  380. package/src/scripts/hooks/dispatch_hook.ts +2 -2
  381. package/src/scripts/hooks/dispatch_issues.ts +1 -1
  382. package/src/scripts/hooks/envelope.ts +1 -1
  383. package/src/scripts/hooks/replay_hook.ts +1 -1
  384. package/src/scripts/hooks/state_io.ts +1 -1
  385. package/src/scripts/hooks_doctor.ts +1 -1
  386. package/src/scripts/hooks_status.ts +1 -1
  387. package/src/scripts/injection_scan_hook.ts +1 -1
  388. package/src/scripts/install.ts +145 -3
  389. package/src/scripts/inventory_abstraction_budget.ts +5 -5
  390. package/src/scripts/inventory_frontmatter.ts +1 -1
  391. package/src/scripts/inventory_meta_layers.ts +1 -1
  392. package/src/scripts/iron_law_sha.ts +1 -1
  393. package/src/scripts/knowledge_global_cli.ts +3 -3
  394. package/src/scripts/linked_projects_list.ts +1 -1
  395. package/src/scripts/lint_agent_security.ts +4 -4
  396. package/src/scripts/lint_agent_skill_names.ts +1 -1
  397. package/src/scripts/lint_agents_layout.ts +2 -2
  398. package/src/scripts/lint_agents_md.ts +3 -3
  399. package/src/scripts/lint_archived_skills.ts +2 -2
  400. package/src/scripts/lint_artefact_frontmatter.ts +2 -2
  401. package/src/scripts/lint_bench_ab.ts +2 -2
  402. package/src/scripts/lint_bench_corpus.ts +1 -1
  403. package/src/scripts/lint_command_flow_coverage.ts +1 -1
  404. package/src/scripts/lint_command_routing.ts +2 -2
  405. package/src/scripts/lint_command_tiers.ts +1 -1
  406. package/src/scripts/lint_command_verbs.ts +4 -4
  407. package/src/scripts/lint_commit_subjects.ts +2 -2
  408. package/src/scripts/lint_context_spine_usage.ts +3 -3
  409. package/src/scripts/lint_discovery_manifest.ts +4 -4
  410. package/src/scripts/lint_discovery_vocabulary.ts +2 -2
  411. package/src/scripts/lint_empty_roadmaps.ts +3 -3
  412. package/src/scripts/lint_eval_freshness.ts +2 -2
  413. package/src/scripts/lint_examples.ts +2 -2
  414. package/src/scripts/lint_explain_trace.ts +2 -2
  415. package/src/scripts/lint_featured_skills.ts +0 -0
  416. package/src/scripts/lint_flows.ts +5 -5
  417. package/src/scripts/lint_framework_leakage.ts +1 -1
  418. package/src/scripts/lint_framework_leakage_allowlist.json +10 -2
  419. package/src/scripts/lint_frontmatter_boilerplate.ts +2 -2
  420. package/src/scripts/lint_ghostwriter_source.ts +3 -3
  421. package/src/scripts/lint_global_paths.ts +1 -1
  422. package/src/scripts/lint_handoffs.ts +1 -1
  423. package/src/scripts/lint_hidden_unicode.ts +1 -1
  424. package/src/scripts/lint_hook_concern_budget.ts +2 -2
  425. package/src/scripts/lint_hook_manifest.ts +2 -2
  426. package/src/scripts/lint_instruction_smuggling.ts +1 -1
  427. package/src/scripts/lint_load_context.ts +2 -2
  428. package/src/scripts/lint_marketplace.ts +1 -1
  429. package/src/scripts/lint_marketplace_install_completeness.ts +2 -2
  430. package/src/scripts/lint_mcp_config_security.ts +1 -1
  431. package/src/scripts/lint_mcp_registry_manifest.ts +1 -1
  432. package/src/scripts/lint_media_policy_linkage.ts +3 -3
  433. package/src/scripts/lint_missions.ts +3 -3
  434. package/src/scripts/lint_model_tier_coverage.ts +3 -3
  435. package/src/scripts/lint_namespace.ts +2 -2
  436. package/src/scripts/lint_namespace_collisions.ts +2 -2
  437. package/src/scripts/lint_new_skill_gate.ts +3 -3
  438. package/src/scripts/lint_no_new_atomic_commands.ts +9 -6
  439. package/src/scripts/lint_no_python_twin_rationale.ts +102 -0
  440. package/src/scripts/lint_one_off_age.ts +2 -2
  441. package/src/scripts/lint_orchestration_dsl.ts +3 -3
  442. package/src/scripts/lint_orchestrator_auto_detect.ts +1 -1
  443. package/src/scripts/lint_pack_boundaries.ts +2 -2
  444. package/src/scripts/lint_pack_dependencies.ts +2 -2
  445. package/src/scripts/lint_pack_first_win.ts +2 -2
  446. package/src/scripts/lint_persona_governance.ts +3 -3
  447. package/src/scripts/lint_positioning.ts +1 -1
  448. package/src/scripts/lint_profile_overlay_set_only.ts +2 -2
  449. package/src/scripts/lint_readme_jargon.ts +2 -2
  450. package/src/scripts/lint_readme_size.ts +2 -2
  451. package/src/scripts/lint_regression.ts +3 -3
  452. package/src/scripts/lint_roadmap_ci_steps.ts +3 -3
  453. package/src/scripts/lint_roadmap_complexity.ts +1 -1
  454. package/src/scripts/lint_roadmap_later_disposition.ts +2 -2
  455. package/src/scripts/lint_role_experiences.ts +2 -2
  456. package/src/scripts/lint_rule_interactions.ts +1 -1
  457. package/src/scripts/lint_rule_tiers.ts +1 -1
  458. package/src/scripts/lint_showcase_sessions.ts +2 -2
  459. package/src/scripts/lint_skill_frontmatter_safety.ts +1 -1
  460. package/src/scripts/lint_skill_originality.ts +1 -1
  461. package/src/scripts/lint_skill_tools.ts +3 -3
  462. package/src/scripts/lint_ticket_buildable.ts +2 -2
  463. package/src/scripts/lint_topics_yaml.ts +3 -3
  464. package/src/scripts/lint_trust_coherence.ts +3 -3
  465. package/src/scripts/lint_value_dashboard.ts +3 -3
  466. package/src/scripts/lint_workflow_security.ts +3 -3
  467. package/src/scripts/lint_workspace_boundary.ts +2 -2
  468. package/src/scripts/mcp_parity_smoke.ts +1 -1
  469. package/src/scripts/mcp_render.ts +1 -1
  470. package/src/scripts/mcp_server/catalog.ts +1 -1
  471. package/src/scripts/mcp_server/index.ts +1 -1
  472. package/src/scripts/mcp_server/metadata.ts +1 -1
  473. package/src/scripts/mcp_server/prompts.ts +1 -1
  474. package/src/scripts/mcp_server/resources.ts +1 -1
  475. package/src/scripts/mcp_server/server.ts +1 -1
  476. package/src/scripts/mcp_server/telemetry.ts +1 -1
  477. package/src/scripts/mcp_server/tools.ts +1 -1
  478. package/src/scripts/mcp_telemetry_health.ts +1 -1
  479. package/src/scripts/mcp_telemetry_query.ts +3 -3
  480. package/src/scripts/mcp_telemetry_store.ts +3 -3
  481. package/src/scripts/measure_augment_budget.ts +2 -2
  482. package/src/scripts/measure_density.ts +2 -2
  483. package/src/scripts/measure_frugality_savings.ts +3 -3
  484. package/src/scripts/measure_markitdown_lift.ts +1 -1
  485. package/src/scripts/measure_patterns.ts +1 -1
  486. package/src/scripts/measure_projection_bytes.ts +1 -1
  487. package/src/scripts/measure_rule_budget.ts +1 -1
  488. package/src/scripts/measure_skill_reduction.ts +1 -1
  489. package/src/scripts/memory_hash.ts +1 -1
  490. package/src/scripts/memory_lookup.ts +6 -6
  491. package/src/scripts/memory_report.ts +1 -1
  492. package/src/scripts/memory_signal.ts +1 -1
  493. package/src/scripts/memory_status.ts +2 -2
  494. package/src/scripts/migrate_command_suggestions.ts +1 -1
  495. package/src/scripts/migrate_frontmatter_defaults.ts +1 -1
  496. package/src/scripts/mine_session.ts +3 -3
  497. package/src/scripts/minimal_safe_diff_hook.ts +2 -2
  498. package/src/scripts/move_artefact.ts +3 -3
  499. package/src/scripts/new_skill.ts +3 -3
  500. package/src/scripts/onboarding_gate_hook.ts +2 -2
  501. package/src/scripts/pack_mcp_content.ts +1 -1
  502. package/src/scripts/parity/replay.ts +3 -2
  503. package/src/scripts/pattern_share.ts +2 -2
  504. package/src/scripts/plan_physical_move.ts +3 -3
  505. package/src/scripts/prediction-pool/poisson_sim.ts +2 -2
  506. package/src/scripts/prediction-pool/pool_winsim.ts +2 -2
  507. package/src/scripts/prediction-pool/score_ev.ts +2 -2
  508. package/src/scripts/print_required_checks.ts +2 -2
  509. package/src/scripts/probe_projection_fidelity.ts +2 -2
  510. package/src/scripts/probe_skill_registration.ts +2 -2
  511. package/src/scripts/profile_staleness_hook.ts +2 -2
  512. package/src/scripts/profile_use.ts +2 -2
  513. package/src/scripts/project_thin_rules.ts +3 -3
  514. package/src/scripts/propose_modules_config.ts +2 -2
  515. package/src/scripts/prototype_lint_contradictions.ts +2 -2
  516. package/src/scripts/prove_pack_extractable.ts +1 -1
  517. package/src/scripts/readme_linter.ts +4 -4
  518. package/src/scripts/redact_hook_capture.ts +2 -2
  519. package/src/scripts/refine_ticket_detect.ts +1 -1
  520. package/src/scripts/release.ts +30 -19
  521. package/src/scripts/render_benchmark_md.ts +2 -2
  522. package/src/scripts/render_value_md.ts +2 -2
  523. package/src/scripts/roadmap_progress_hook.ts +1 -1
  524. package/src/scripts/router_telemetry.ts +1 -1
  525. package/src/scripts/run_skill_evals.ts +2 -2
  526. package/src/scripts/runtime_dispatcher.ts +1 -1
  527. package/src/scripts/runtime_handler.ts +1 -1
  528. package/src/scripts/runtime_registry.ts +3 -3
  529. package/src/scripts/score_skill_selection.ts +1 -1
  530. package/src/scripts/security_audit_config.ts +2 -2
  531. package/src/scripts/skill_collision_clusters.ts +1 -1
  532. package/src/scripts/skill_discovery.ts +1 -1
  533. package/src/scripts/skill_linter.ts +8 -7
  534. package/src/scripts/skill_overlap.ts +2 -2
  535. package/src/scripts/skill_preview.ts +1 -1
  536. package/src/scripts/skill_tools/audit_persona_coverage.ts +3 -3
  537. package/src/scripts/skill_tools/audit_user_type_coverage.ts +3 -3
  538. package/src/scripts/skill_tools/index.ts +1 -1
  539. package/src/scripts/skill_tools/run_block_d_eval.ts +3 -3
  540. package/src/scripts/skill_tools/score_skill_relevance.ts +3 -3
  541. package/src/scripts/skill_tools/suggest_skill_for_task.ts +3 -3
  542. package/src/scripts/skill_trigger_eval.ts +2 -2
  543. package/src/scripts/skill_usage_collect.ts +2 -2
  544. package/src/scripts/skill_usage_report.ts +2 -2
  545. package/src/scripts/smoke_path_resolution.ts +2 -2
  546. package/src/scripts/smoke_quickstart.ts +4 -4
  547. package/src/scripts/snapshot_agent_outputs.ts +2 -2
  548. package/src/scripts/spotcheck_thin_root.ts +2 -2
  549. package/src/scripts/surface-tiers.yml +1 -0
  550. package/src/scripts/sync_agent_settings.ts +2 -2
  551. package/src/scripts/sync_github_metadata.ts +4 -4
  552. package/src/scripts/sync_gitignore.ts +3 -3
  553. package/src/scripts/sync_yaml_rt.ts +2 -2
  554. package/src/scripts/telegraph_stats.ts +1 -1
  555. package/src/scripts/tool_registry.ts +2 -2
  556. package/src/scripts/tools/adapter_errors.ts +1 -1
  557. package/src/scripts/tools/base_adapter.ts +1 -1
  558. package/src/scripts/tools/github_adapter.ts +1 -1
  559. package/src/scripts/tools/jira_adapter.ts +1 -1
  560. package/src/scripts/trigger_coverage.ts +2 -2
  561. package/src/scripts/update_counts.ts +68 -6
  562. package/src/scripts/update_prices.ts +3 -3
  563. package/src/scripts/validate_agent_settings.ts +3 -3
  564. package/src/scripts/validate_decision_engine.ts +2 -2
  565. package/src/scripts/validate_discovery_manifest.ts +3 -3
  566. package/src/scripts/validate_frontmatter.ts +5 -5
  567. package/src/scripts/validate_pack_yaml.ts +0 -0
  568. package/src/scripts/validate_safe_paths.ts +2 -2
  569. package/src/scripts/validate_telegraph_carveouts.ts +3 -3
  570. package/src/scripts/verify_before_complete_hook.ts +2 -2
  571. package/src/scripts/verify_physical_move.ts +2 -2
  572. package/src/scripts/wrapper_freshness_hook.ts +3 -3
  573. package/src/server/schemas/settings.ts +426 -0
  574. package/src/shared/settingsSurface.ts +184 -0
  575. package/src/shared/userMd/formAdapter.ts +86 -0
  576. package/src/shared/userMd/schema.ts +59 -0
  577. package/src/shared/userMd/utils.ts +91 -0
  578. package/dist/agent-src/commands/optimize-project.md +0 -243
  579. package/dist/ui/assets/index-BbWWuFrF.css +0 -1
  580. package/dist/ui/assets/index-UjcTG_9O.js +0 -40
  581. package/dist/ui/assets/index-UjcTG_9O.js.map +0 -1
@@ -1,40 +0,0 @@
1
- (function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const t of document.querySelectorAll('link[rel="modulepreload"]'))r(t);new MutationObserver(t=>{for(const l of t)if(l.type==="childList")for(const o of l.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function i(t){const l={};return t.integrity&&(l.integrity=t.integrity),t.referrerPolicy&&(l.referrerPolicy=t.referrerPolicy),t.crossOrigin==="use-credentials"?l.credentials="include":t.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function r(t){if(t.ep)return;t.ep=!0;const l=i(t);fetch(t.href,l)}})();var Pn,x,Pr,Mr,K,Ki,Dr,jr,qn,rn,Ee,Hr,xi,ii,ri,sn={},un=[],El=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Mn=Array.isArray;function Y(e,n){for(var i in n)e[i]=n[i];return e}function Si(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function Ol(e,n,i){var r,t,l,o={};for(l in n)l=="key"?r=n[l]:l=="ref"?t=n[l]:o[l]=n[l];if(arguments.length>2&&(o.children=arguments.length>3?Pn.call(arguments,2):i),typeof e=="function"&&e.defaultProps!=null)for(l in e.defaultProps)o[l]===void 0&&(o[l]=e.defaultProps[l]);return tn(e,o,r,t,null)}function tn(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??++Pr,__i:-1,__u:0};return t==null&&x.vnode!=null&&x.vnode(l),l}function Z(e){return e.children}function Oe(e,n){this.props=e,this.context=n}function ke(e,n){if(n==null)return e.__?ke(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"?ke(e):null}function Nl(e){if(e.__P&&e.__d){var n=e.__v,i=n.__e,r=[],t=[],l=Y({},n);l.__v=n.__v+1,x.vnode&&x.vnode(l),Ai(e.__P,l,n,e.__n,e.__P.namespaceURI,32&n.__u?[i]:null,r,i??ke(n),!!(32&n.__u),t),l.__v=n.__v,l.__.__k[l.__i]=l,Yr(r,l,t),n.__e=n.__=null,l.__e!=i&&Br(l)}}function Br(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}),Br(e)}function Gi(e){(!e.__d&&(e.__d=!0)&&K.push(e)&&!dn.__r++||Ki!=x.debounceRendering)&&((Ki=x.debounceRendering)||Dr)(dn)}function dn(){try{for(var e,n=1;K.length;)K.length>n&&K.sort(jr),e=K.shift(),n=K.length,Nl(e)}finally{K.length=dn.__r=0}}function Ur(e,n,i,r,t,l,o,c,u,d,f){var s,h,p,_,g,b,k,m=r&&r.__k||un,H=n.length;for(u=Il(i,n,m,u,H),s=0;s<H;s++)(p=i.__k[s])!=null&&(h=p.__i!=-1&&m[p.__i]||sn,p.__i=s,b=Ai(e,p,h,t,l,o,c,u,d,f),_=p.__e,p.ref&&h.ref!=p.ref&&(h.ref&&Ci(h.ref,null,p),f.push(p.ref,p.__c||_,p)),g==null&&_!=null&&(g=_),(k=!!(4&p.__u))||h.__k===p.__k?(u=Wr(p,u,e,k),k&&h.__e&&(h.__e=null)):typeof p.type=="function"&&b!==void 0?u=b:_&&(u=_.nextSibling),p.__u&=-7);return i.__e=g,u}function Il(e,n,i,r,t){var l,o,c,u,d,f=i.length,s=f,h=0;for(e.__k=new Array(t),l=0;l<t;l++)(o=n[l])!=null&&typeof o!="boolean"&&typeof o!="function"?(typeof o=="string"||typeof o=="number"||typeof o=="bigint"||o.constructor==String?o=e.__k[l]=tn(null,o,null,null,null):Mn(o)?o=e.__k[l]=tn(Z,{children:o},null,null,null):o.constructor===void 0&&o.__b>0?o=e.__k[l]=tn(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):e.__k[l]=o,u=l+h,o.__=e,o.__b=e.__b+1,c=null,(d=o.__i=Ll(o,i,u,s))!=-1&&(s--,(c=i[d])&&(c.__u|=2)),c==null||c.__v==null?(d==-1&&(t>f?h--:t<f&&h++),typeof o.type!="function"&&(o.__u|=4)):d!=u&&(d==u-1?h--:d==u+1?h++:(d>u?h--:h++,o.__u|=4))):e.__k[l]=null;if(s)for(l=0;l<f;l++)(c=i[l])!=null&&!(2&c.__u)&&(c.__e==r&&(r=ke(c)),qr(c,c));return r}function Wr(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=Wr(t[l],n,i,r));return n}e.__e!=n&&(r&&(n&&e.type&&!n.parentNode&&(n=ke(e)),i.insertBefore(e.__e,n||null)),n=e.__e);do n=n&&n.nextSibling;while(n!=null&&n.nodeType==8);return n}function Ll(e,n,i,r){var t,l,o,c=e.key,u=e.type,d=n[i],f=d!=null&&(2&d.__u)==0;if(d===null&&c==null||f&&c==d.key&&u==d.type)return i;if(r>(f?1:0)){for(t=i-1,l=i+1;t>=0||l<n.length;)if((d=n[o=t>=0?t--:l++])!=null&&!(2&d.__u)&&c==d.key&&u==d.type)return o}return-1}function Vi(e,n,i){n[0]=="-"?e.setProperty(n,i??""):e[n]=i==null?"":typeof i!="number"||El.test(n)?i:i+"px"}function Qe(e,n,i,r,t){var l,o;e:if(n=="style")if(typeof i=="string")e.style.cssText=i;else{if(typeof r=="string"&&(e.style.cssText=r=""),r)for(n in r)i&&n in i||Vi(e.style,n,"");if(i)for(n in i)r&&i[n]==r[n]||Vi(e.style,n,i[n])}else if(n[0]=="o"&&n[1]=="n")l=n!=(n=n.replace(Hr,"$1")),o=n.toLowerCase(),n=o in e||n=="onFocusOut"||n=="onFocusIn"?o.slice(2):n.slice(2),e.l||(e.l={}),e.l[n+l]=i,i?r?i[Ee]=r[Ee]:(i[Ee]=xi,e.addEventListener(n,l?ri:ii,l)):e.removeEventListener(n,l?ri:ii,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 Ji(e){return function(n){if(this.l){var i=this.l[n.type+e];if(n[rn]==null)n[rn]=xi++;else if(n[rn]<i[Ee])return;return i(x.event?x.event(n):n)}}}function Ai(e,n,i,r,t,l,o,c,u,d){var f,s,h,p,_,g,b,k,m,H,X,Ae,qi,Je,zn,B=n.type;if(n.constructor!==void 0)return null;128&i.__u&&(u=!!(32&i.__u),l=[c=n.__e=i.__e]),(f=x.__b)&&f(n);e:if(typeof B=="function")try{if(k=n.props,m=B.prototype&&B.prototype.render,H=(f=B.contextType)&&r[f.__c],X=f?H?H.props.value:f.__:r,i.__c?b=(s=n.__c=i.__c).__=s.__E:(m?n.__c=s=new B(k,X):(n.__c=s=new Oe(k,X),s.constructor=B,s.render=Rl),H&&H.sub(s),s.state||(s.state={}),s.__n=r,h=s.__d=!0,s.__h=[],s._sb=[]),m&&s.__s==null&&(s.__s=s.state),m&&B.getDerivedStateFromProps!=null&&(s.__s==s.state&&(s.__s=Y({},s.__s)),Y(s.__s,B.getDerivedStateFromProps(k,s.__s))),p=s.props,_=s.state,s.__v=n,h)m&&B.getDerivedStateFromProps==null&&s.componentWillMount!=null&&s.componentWillMount(),m&&s.componentDidMount!=null&&s.__h.push(s.componentDidMount);else{if(m&&B.getDerivedStateFromProps==null&&k!==p&&s.componentWillReceiveProps!=null&&s.componentWillReceiveProps(k,X),n.__v==i.__v||!s.__e&&s.shouldComponentUpdate!=null&&s.shouldComponentUpdate(k,s.__s,X)===!1){n.__v!=i.__v&&(s.props=k,s.state=s.__s,s.__d=!1),n.__e=i.__e,n.__k=i.__k,n.__k.some(function(de){de&&(de.__=n)}),un.push.apply(s.__h,s._sb),s._sb=[],s.__h.length&&o.push(s);break e}s.componentWillUpdate!=null&&s.componentWillUpdate(k,s.__s,X),m&&s.componentDidUpdate!=null&&s.__h.push(function(){s.componentDidUpdate(p,_,g)})}if(s.context=X,s.props=k,s.__P=e,s.__e=!1,Ae=x.__r,qi=0,m)s.state=s.__s,s.__d=!1,Ae&&Ae(n),f=s.render(s.props,s.state,s.context),un.push.apply(s.__h,s._sb),s._sb=[];else do s.__d=!1,Ae&&Ae(n),f=s.render(s.props,s.state,s.context),s.state=s.__s;while(s.__d&&++qi<25);s.state=s.__s,s.getChildContext!=null&&(r=Y(Y({},r),s.getChildContext())),m&&!h&&s.getSnapshotBeforeUpdate!=null&&(g=s.getSnapshotBeforeUpdate(p,_)),Je=f!=null&&f.type===Z&&f.key==null?zr(f.props.children):f,c=Ur(e,Mn(Je)?Je:[Je],n,i,r,t,l,o,c,u,d),s.base=n.__e,n.__u&=-161,s.__h.length&&o.push(s),b&&(s.__E=s.__=null)}catch(de){if(n.__v=null,u||l!=null)if(de.then){for(n.__u|=u?160:128;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;l[l.indexOf(c)]=null,n.__e=c}else{for(zn=l.length;zn--;)Si(l[zn]);ti(n)}else n.__e=i.__e,n.__k=i.__k,de.then||ti(n);x.__e(de,n,i)}else l==null&&n.__v==i.__v?(n.__k=i.__k,n.__e=i.__e):c=n.__e=Fl(i.__e,n,i,r,t,l,o,u,d);return(f=x.diffed)&&f(n),128&n.__u?void 0:c}function ti(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(ti))}function Yr(e,n,i){for(var r=0;r<i.length;r++)Ci(i[r],i[++r],i[++r]);x.__c&&x.__c(n,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(l){l.call(t)})}catch(l){x.__e(l,t.__v)}})}function zr(e){return typeof e!="object"||e==null||e.__b>0?e:Mn(e)?e.map(zr):e.constructor!==void 0?null:Y({},e)}function Fl(e,n,i,r,t,l,o,c,u){var d,f,s,h,p,_,g,b=i.props||sn,k=n.props,m=n.type;if(m=="svg"?t="http://www.w3.org/2000/svg":m=="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==!!m&&(m?p.localName==m:p.nodeType==3)){e=p,l[d]=null;break}}if(e==null){if(m==null)return document.createTextNode(k);e=document.createElementNS(t,m,k.is&&k),c&&(x.__m&&x.__m(n,l),c=!1),l=null}if(m==null)b===k||c&&e.data==k||(e.data=k);else{if(l=m=="textarea"&&k.defaultValue!=null?null:l&&Pn.call(e.childNodes),!c&&l!=null)for(b={},d=0;d<e.attributes.length;d++)b[(p=e.attributes[d]).name]=p.value;for(d in b)p=b[d],d=="dangerouslySetInnerHTML"?s=p:d=="children"||d in k||d=="value"&&"defaultValue"in k||d=="checked"&&"defaultChecked"in k||Qe(e,d,null,p,t);for(d in k)p=k[d],d=="children"?h=p:d=="dangerouslySetInnerHTML"?f=p:d=="value"?_=p:d=="checked"?g=p:c&&typeof p!="function"||b[d]===p||Qe(e,d,p,b[d],t);if(f)c||s&&(f.__html==s.__html||f.__html==e.innerHTML)||(e.innerHTML=f.__html),n.__k=[];else if(s&&(e.innerHTML=""),Ur(n.type=="template"?e.content:e,Mn(h)?h:[h],n,i,r,m=="foreignObject"?"http://www.w3.org/1999/xhtml":t,l,o,l?l[0]:i.__k&&ke(i,0),c,u),l!=null)for(d=l.length;d--;)Si(l[d]);c&&m!="textarea"||(d="value",m=="progress"&&_==null?e.removeAttribute("value"):_!=null&&(_!==e[d]||m=="progress"&&!_||m=="option"&&_!=b[d])&&Qe(e,d,_,b[d],t),d="checked",g!=null&&g!=e[d]&&Qe(e,d,g,b[d],t))}return e}function Ci(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){x.__e(t,i)}}function qr(e,n,i){var r,t;if(x.unmount&&x.unmount(e),(r=e.ref)&&(r.current&&r.current!=e.__e||Ci(r,null,n)),(r=e.__c)!=null){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(l){x.__e(l,n)}r.base=r.__P=null}if(r=e.__k)for(t=0;t<r.length;t++)r[t]&&qr(r[t],n,i||typeof e.type!="function");i||Si(e.__e),e.__c=e.__=e.__e=void 0}function Rl(e,n,i){return this.constructor(e,i)}function $l(e,n,i){var r,t,l,o;n==document&&(n=document.documentElement),x.__&&x.__(e,n),t=(r=!1)?null:n.__k,l=[],o=[],Ai(n,e=n.__k=Ol(Z,null,[e]),t||sn,sn,n.namespaceURI,t?null:n.firstChild?Pn.call(n.childNodes):null,l,t?t.__e:n.firstChild,r,o),Yr(l,e,o)}Pn=un.slice,x={__e:function(e,n,i,r){for(var t,l,o;n=n.__;)if((t=n.__c)&&!t.__)try{if((l=t.constructor)&&l.getDerivedStateFromError!=null&&(t.setState(l.getDerivedStateFromError(e)),o=t.__d),t.componentDidCatch!=null&&(t.componentDidCatch(e,r||{}),o=t.__d),o)return t.__E=t}catch(c){e=c}throw e}},Pr=0,Mr=function(e){return e!=null&&e.constructor===void 0},Oe.prototype.setState=function(e,n){var i;i=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=Y({},this.state),typeof e=="function"&&(e=e(Y({},i),this.props)),e&&Y(i,e),e!=null&&this.__v&&(n&&this._sb.push(n),Gi(this))},Oe.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Gi(this))},Oe.prototype.render=Z,K=[],Dr=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,jr=function(e,n){return e.__v.__b-n.__v.__b},dn.__r=0,qn=Math.random().toString(8),rn="__d"+qn,Ee="__a"+qn,Hr=/(PointerCapture)$|Capture$/i,xi=0,ii=Ji(!1),ri=Ji(!0);var Pl=0;function a(e,n,i,r,t,l){n||(n={});var o,c,u=n;if("ref"in u)for(c in u={},n)c=="ref"?o=n[c]:u[c]=n[c];var d={type:e,props:u,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Pl,__i:-1,__u:0,__source:t,__self:l};if(typeof e=="function"&&(o=e.defaultProps))for(c in o)u[c]===void 0&&(u[c]=o[c]);return x.vnode&&x.vnode(d),d}var Me,A,Kn,Qi,li=0,Kr=[],C=x,Zi=C.__b,Xi=C.__r,er=C.diffed,nr=C.__c,ir=C.unmount,rr=C.__;function Ti(e,n){C.__h&&C.__h(A,e,li||n),li=0;var i=A.__H||(A.__H={__:[],__h:[]});return e>=i.__.length&&i.__.push({}),i.__[e]}function Gr(e){return li=1,Ml(Qr,e)}function Ml(e,n,i){var r=Ti(Me++,2);if(r.t=e,!r.__c&&(r.__=[Qr(void 0,n),function(c){var u=r.__N?r.__N[0]:r.__[0],d=r.t(u,c);u!==d&&(r.__N=[d,r.__[1]],r.__c.setState({}))}],r.__c=A,!A.__f)){var t=function(c,u,d){if(!r.__c.__H)return!0;var f=r.__c.__H.__.filter(function(h){return h.__c});if(f.every(function(h){return!h.__N}))return!l||l.call(this,c,u,d);var s=r.__c.props!==c;return f.some(function(h){if(h.__N){var p=h.__[0];h.__=h.__N,h.__N=void 0,p!==h.__[0]&&(s=!0)}}),l&&l.call(this,c,u,d)||s};A.__f=!0;var l=A.shouldComponentUpdate,o=A.componentWillUpdate;A.componentWillUpdate=function(c,u,d){if(this.__e){var f=l;l=void 0,t(c,u,d),l=f}o&&o.call(this,c,u,d)},A.shouldComponentUpdate=t}return r.__N||r.__}function Ge(e,n){var i=Ti(Me++,3);!C.__s&&Jr(i.__H,n)&&(i.__=e,i.u=n,A.__H.__h.push(i))}function Vr(e,n){var i=Ti(Me++,7);return Jr(i.__H,n)&&(i.__=e(),i.__H=n,i.__h=e),i.__}function Dl(){for(var e;e=Kr.shift();){var n=e.__H;if(e.__P&&n)try{n.__h.some(ln),n.__h.some(ai),n.__h=[]}catch(i){n.__h=[],C.__e(i,e.__v)}}}C.__b=function(e){A=null,Zi&&Zi(e)},C.__=function(e,n){e&&n.__k&&n.__k.__m&&(e.__m=n.__k.__m),rr&&rr(e,n)},C.__r=function(e){Xi&&Xi(e),Me=0;var n=(A=e.__c).__H;n&&(Kn===A?(n.__h=[],A.__h=[],n.__.some(function(i){i.__N&&(i.__=i.__N),i.u=i.__N=void 0})):(n.__h.some(ln),n.__h.some(ai),n.__h=[],Me=0)),Kn=A},C.diffed=function(e){er&&er(e);var n=e.__c;n&&n.__H&&(n.__H.__h.length&&(Kr.push(n)!==1&&Qi===C.requestAnimationFrame||((Qi=C.requestAnimationFrame)||jl)(Dl)),n.__H.__.some(function(i){i.u&&(i.__H=i.u),i.u=void 0})),Kn=A=null},C.__c=function(e,n){n.some(function(i){try{i.__h.some(ln),i.__h=i.__h.filter(function(r){return!r.__||ai(r)})}catch(r){n.some(function(t){t.__h&&(t.__h=[])}),n=[],C.__e(r,i.__v)}}),nr&&nr(e,n)},C.unmount=function(e){ir&&ir(e);var n,i=e.__c;i&&i.__H&&(i.__H.__.some(function(r){try{ln(r)}catch(t){n=t}}),i.__H=void 0,n&&C.__e(n,i.__v))};var tr=typeof requestAnimationFrame=="function";function jl(e){var n,i=function(){clearTimeout(r),tr&&cancelAnimationFrame(n),setTimeout(e)},r=setTimeout(i,35);tr&&(n=requestAnimationFrame(i))}function ln(e){var n=A,i=e.__c;typeof i=="function"&&(e.__c=void 0,i()),A=n}function ai(e){var n=A;e.__c=e.__(),A=n}function Jr(e,n){return!e||e.length!==n.length||n.some(function(i,r){return i!==e[r]})}function Qr(e,n){return typeof n=="function"?n(e):n}var Hl=Symbol.for("preact-signals");function Dn(){if(z>1)z--;else{var e,n=!1;for(function(){var t=pn;for(pn=void 0;t!==void 0;)t.S.v===t.v&&(t.S.i=t.i),t=t.o}();Ne!==void 0;){var i=Ne;for(Ne=void 0,fn++;i!==void 0;){var r=i.u;if(i.u=void 0,i.f&=-3,!(8&i.f)&&Xr(i))try{i.c()}catch(t){n||(e=t,n=!0)}i=r}}if(fn=0,z--,n)throw e}}function Bl(e){if(z>0)return e();oi=++Ul,z++;try{return e()}finally{Dn()}}var S=void 0;function Ei(e){var n=S;S=void 0;try{return e()}finally{S=n}}var Ne=void 0,z=0,fn=0,Ul=0,oi=0,pn=void 0,hn=0;function Zr(e){if(S!==void 0){var n=e.n;if(n===void 0||n.t!==S)return n={i:0,S:e,p:S.s,n:void 0,t:S,e:void 0,x:void 0,r:n},S.s!==void 0&&(S.s.n=n),S.s=n,e.n=n,32&S.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=S.s,n.n=void 0,S.s.n=n,S.s=n),n}}function I(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}I.prototype.brand=Hl;I.prototype.h=function(){return!0};I.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:Ei(function(){var r;(r=n.W)==null||r.call(n)}))};I.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&&Ei(function(){var t;(t=n.Z)==null||t.call(n)}))}};I.prototype.subscribe=function(e){var n=this;return Ve(function(){var i=n.value,r=S;S=void 0;try{e(i)}finally{S=r}},{name:"sub"})};I.prototype.valueOf=function(){return this.value};I.prototype.toString=function(){return this.value+""};I.prototype.toJSON=function(){return this.value};I.prototype.peek=function(){var e=this;return Ei(function(){return e.value})};Object.defineProperty(I.prototype,"value",{get:function(){var e=Zr(this);return e!==void 0&&(e.i=this.i),this.v},set:function(e){if(e!==this.v){if(fn>100)throw new Error("Cycle detected");(function(i){z!==0&&fn===0&&i.l!==oi&&(i.l=oi,pn={S:i,v:i.v,i:i.i,o:pn})})(this),this.v=e,this.i++,hn++,z++;try{for(var n=this.t;n!==void 0;n=n.x)n.t.N()}finally{Dn()}}}});function v(e,n){return new I(e,n)}function Xr(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 et(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 nt(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 se(e,n){I.call(this,void 0),this.x=e,this.s=void 0,this.g=hn-1,this.f=4,this.W=n?.watched,this.Z=n?.unwatched,this.name=n?.name}se.prototype=new I;se.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===hn))return!0;if(this.g=hn,this.f|=1,this.i>0&&!Xr(this))return this.f&=-2,!0;var e=S;try{et(this),S=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 S=e,nt(this),this.f&=-2,!0};se.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)}I.prototype.S.call(this,e)};se.prototype.U=function(e){if(this.t!==void 0&&(I.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)}};se.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(se.prototype,"value",{get:function(){if(1&this.f)throw new Error("Cycle detected");var e=Zr(this);if(this.h(),e!==void 0&&(e.i=this.i),16&this.f)throw this.v;return this.v}});function lr(e,n){return new se(e,n)}function it(e){var n=e.m;if(e.m=void 0,typeof n=="function"){z++;var i=S;S=void 0;try{n()}catch(r){throw e.f&=-2,e.f|=8,Oi(e),r}finally{S=i,Dn()}}}function Oi(e){for(var n=e.s;n!==void 0;n=n.n)n.S.U(n);e.x=void 0,e.s=void 0,it(e)}function Wl(e){if(S!==this)throw new Error("Out-of-order effect");nt(this),S=e,this.f&=-2,8&this.f&&Oi(this),Dn()}function xe(e,n){this.x=e,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=n?.name}xe.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()}};xe.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,it(this),et(this),z++;var e=S;return S=this,Wl.bind(this,e)};xe.prototype.N=function(){2&this.f||(this.f|=2,this.u=Ne,Ne=this)};xe.prototype.d=function(){this.f|=8,1&this.f||Oi(this)};xe.prototype.dispose=function(){this.d()};function Ve(e,n){var i=new xe(e,n);try{i.c()}catch(t){throw i.d(),t}var r=i.d.bind(i);return r[Symbol.dispose]=r,r}var rt,Ze,Yl=typeof window<"u"&&!!window.__PREACT_SIGNALS_DEVTOOLS__,tt=[];Ve(function(){rt=this.N})();function Se(e,n){x[e]=n.bind(null,x[e]||function(){})}function vn(e){if(Ze){var n=Ze;Ze=void 0,n()}Ze=e&&e.S()}function lt(e){var n=this,i=e.data,r=ql(i);r.value=i;var t=Vr(function(){for(var c=n,u=n.__v;u=u.__;)if(u.__c){u.__c.__$f|=4;break}var d=lr(function(){var p=r.value.value;return p===0?0:p===!0?"":p||""}),f=lr(function(){return!Array.isArray(d.value)&&!Mr(d.value)}),s=Ve(function(){if(this.N=at,f.value){var p=d.value;c.__v&&c.__v.__e&&c.__v.__e.nodeType===3&&(c.__v.__e.data=p)}}),h=n.__$u.d;return n.__$u.d=function(){s(),h.call(this)},[f,d]},[]),l=t[0],o=t[1];return l.value?o.peek():o.value}lt.displayName="ReactiveTextNode";Object.defineProperties(I.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:lt},props:{configurable:!0,get:function(){var e=this;return{data:{get value(){return e.value}}}}},__b:{configurable:!0,value:1}});Se("__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 I&&(i||(n.__np=i={}),i[t]=l,r[t]=l.peek())}}e(n)});Se("__r",function(e,n){if(e(n),n.type!==Z){vn();var i,r=n.__c;r&&(r.__$f&=-2,(i=r.__$u)===void 0&&(r.__$u=i=function(t,l){var o;return Ve(function(){o=this},{name:l}),o.c=t,o}(function(){var t;Yl&&((t=i.y)==null||t.call(i)),r.__$f|=1,r.setState({})},typeof n.type=="function"?n.type.displayName||n.type.name:""))),vn(i)}});Se("__e",function(e,n,i,r){vn(),e(n,i,r)});Se("diffed",function(e,n){vn();var i;if(typeof n.type=="string"&&(i=n.__e)){var r=n.__np,t=n.props;if(r){var l=i.U;if(l)for(var o in l){var c=l[o];c!==void 0&&!(o in r)&&(c.d(),l[o]=void 0)}else l={},i.U=l;for(var u in r){var d=l[u],f=r[u];d===void 0?(d=zl(i,u,f),l[u]=d):d.o(f,t)}for(var s in r)t[s]=r[s]}}e(n)});function zl(e,n,i,r){var t=n in e&&e.ownerSVGElement===void 0,l=v(i),o=i.peek();return{o:function(c,u){l.value=c,o=c.peek()},d:Ve(function(){this.N=at;var c=l.value.value;o!==c?(o=void 0,t?e[n]=c:c!=null&&(c!==!1||n[4]==="-")?e.setAttribute(n,c):e.removeAttribute(n)):o=void 0})}}Se("unmount",function(e,n){if(typeof n.type=="string"){var i=n.__e;if(i){var r=i.U;if(r){i.U=void 0;for(var t in r){var l=r[t];l&&l.d()}}}n.__np=void 0}else{var o=n.__c;if(o){var c=o.__$u;c&&(o.__$u=void 0,c.d())}}e(n)});Se("__h",function(e,n,i,r){(r<3||r===9)&&(n.__$f|=2),e(n,i,r)});Oe.prototype.shouldComponentUpdate=function(e,n){if(this.__R)return!0;var i=this.__$u,r=i&&i.s!==void 0;for(var t in n)return!0;if(this.__f||typeof this.u=="boolean"&&this.u===!0){var l=2&this.__$f;if(!(r||l||4&this.__$f)||1&this.__$f)return!0}else if(!(r||4&this.__$f)||3&this.__$f)return!0;for(var o in e)if(o!=="__source"&&e[o]!==this.props[o])return!0;for(var c in this.props)if(!(c in e))return!0;return!1};function ql(e,n){return Vr(function(){return v(e,n)},[])}var Kl=function(e){queueMicrotask(function(){queueMicrotask(e)})};function Gl(){Bl(function(){for(var e;e=tt.shift();)rt.call(e)})}function at(){tt.push(this)===1&&(x.requestAnimationFrame||Kl)(Gl)}function ot(){const e=window.location.hash;return e===""||e==="#"?"/":e.startsWith("#")?e.slice(1):e}const ve=v(ot());function ci(e){const n=e.startsWith("/")?e:`/${e}`;`#${n}`!==window.location.hash&&(window.location.hash=n)}let ar=!1;function Vl(){ar||(ar=!0,window.addEventListener("hashchange",()=>{ve.value=ot()}))}let De=null;function Jl(e){De=e}class R extends Error{status;body;constructor(n,i,r){super(r),this.status=n,this.body=i}}async function w(e,n={}){const i={Accept:"application/json",...n.headers??{}};De!==null&&(i.Authorization=`Bearer ${De}`);const{body:r,...t}=n,l={...t,headers:i};r!==void 0&&(l.body=JSON.stringify(r),i["Content-Type"]="application/json");const o=await fetch(e,l),c=await o.text(),u=c===""?{}:JSON.parse(c);if(!o.ok){const d=u.error?.message??`request failed (${o.status})`;throw new R(o.status,u,d)}return u}async function Ql(e,n,i,r={}){const t={Accept:"text/event-stream","Content-Type":"application/json",...r.headers??{}};De!==null&&(t.Authorization=`Bearer ${De}`);const l=await fetch(e,{...r,method:"POST",headers:t,body:JSON.stringify(n)});if(!l.ok||l.body===null){const f=await l.text().catch(()=>"");let s={};try{s=f===""?{}:JSON.parse(f)}catch{}throw new R(l.status,s,s.error?.message??`stream failed (${l.status})`)}const o=l.body.getReader(),c=new TextDecoder;let u="";const d=f=>{for(const s of f.split(`
2
- `)){if(!s.startsWith("data:"))continue;const h=s.slice(5).trim();if(h!=="")try{i(JSON.parse(h))}catch{}}};for(;;){const{done:f,value:s}=await o.read();if(f)break;u+=c.decode(s,{stream:!0});let h=u.indexOf(`
3
-
4
- `);for(;h!==-1;)d(u.slice(0,h)),u=u.slice(h+2),h=u.indexOf(`
5
-
6
- `)}u.trim()!==""&&d(u)}const _n=v(null);async function Zl(){try{const e=await w("/api/v1/ping");_n.value={...e,projectScopeAvailable:e.projectScopeAvailable===!0}}catch{_n.value=null}}function J(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 Xl(e){return/expected (boolean|string|number)/i.test(e)?e.replace(/^expected/i,"Expected"):e}function ct(e){const n={};for(const i of e.fields??[])n[i.path]=Xl(i.message);return n}function ea({id:e,children:n}){return a("p",{class:"ac-field__description",id:e,children:n})}function na({id:e,children:n}){return a("p",{class:"ac-field__error",id:e,role:"alert","aria-live":"polite",children:n})}function ue({id:e,label:n,description:i,error:r,children:t}){const l=i!==void 0?`${e}-desc`:void 0,o=r!==void 0?`${e}-err`:void 0;return a("div",{class:"ac-field","data-invalid":r!==void 0?"true":void 0,children:[a("label",{class:"ac-field__label",for:e,children:n}),i!==void 0?a(ea,{id:l,children:i}):null,a("div",{class:"ac-field__control","aria-describedby":l,"aria-errormessage":o,children:t}),r!==void 0?a(na,{id:o,children:r}):null]})}function st(e){return a(ue,{id:e.id,label:e.label,description:e.description,error:e.error,children:a("input",{class:"ac-input",type:"text",id:e.id,name:e.name,value:e.value,placeholder:e.placeholder,"aria-invalid":e.error!==void 0?"true":void 0,onInput:n=>e.onChange(n.currentTarget.value)})})}function ia(e){const n=e.step??(e.integer===!0?1:"any");return a(ue,{id:e.id,label:e.label,description:e.description,error:e.error,children:a("input",{class:"ac-input",type:"number",id:e.id,name:e.name,value:Number.isFinite(e.value)?String(e.value):"0",min:e.min,max:e.max,step:n,"aria-invalid":e.error!==void 0?"true":void 0,onInput:i=>{const r=i.currentTarget.value,t=r===""?0:Number(r);e.onChange(Number.isFinite(t)?t:0)}})})}function ra(e){return a(ue,{id:e.id,label:e.label,description:e.description,error:e.error,children:a("label",{class:"ac-toggle",children:[a("input",{type:"checkbox",id:e.id,name:e.name,checked:e.value,"aria-invalid":e.error!==void 0?"true":void 0,onChange:n=>e.onChange(n.currentTarget.checked)}),a("span",{class:"ac-toggle__track","aria-hidden":"true"}),a("span",{class:"ac-toggle__state",children:e.value?"On":"Off"})]})})}function ut(e){const n=e.options.length>3;return a(ue,{id:e.id,label:e.label,description:e.description,error:e.error,children:n?a("select",{class:"ac-input",id:e.id,name:e.name,value:e.value,"aria-invalid":e.error!==void 0?"true":void 0,onChange:i=>e.onChange(i.currentTarget.value),children:e.options.map(i=>a("option",{value:i.value,children:i.label??(i.value===""?"(none)":i.value)},i.value))}):a("div",{class:"ac-radio-group",role:"radiogroup","aria-labelledby":`${e.id}-label`,children:e.options.map(i=>{const r=`${e.id}-${i.value||"none"}`;return a("label",{class:"ac-radio",for:r,children:[a("input",{type:"radio",id:r,name:e.name,value:i.value,checked:i.value===e.value,onChange:()=>e.onChange(i.value)}),a("span",{children:i.label??(i.value===""?"(none)":i.value)})]},i.value)})})})}function mn(e){return a(ue,{id:e.id,label:e.label,description:e.description,error:e.error,children:a("textarea",{class:"ac-textarea",id:e.id,name:e.name,rows:e.rows??6,placeholder:e.placeholder,"aria-invalid":e.error!==void 0?"true":void 0,onInput:n=>e.onChange(n.currentTarget.value),children:e.value})})}function dt(e){return e.replace(/_/g," ").replace(/\./g," › ").replace(/\b\w/g,n=>n.toUpperCase())}function ta(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 Gn(e,n){const i=ta(n);return{path:e,kind:i,label:dt(e[e.length-1]??""),description:n.description,options:n.enum,min:n.minimum,max:n.maximum}}function la(e){const n=[],i=e.properties??{};for(const[r,t]of Object.entries(i))if(t.type==="object"&&t.properties!==void 0){const l=[];for(const[o,c]of Object.entries(t.properties))if(c.type==="object"&&c.properties!==void 0)for(const[u,d]of Object.entries(c.properties))l.push(Gn([r,o,u],d));else l.push(Gn([r,o],c));n.push({path:[r],label:dt(r),description:t.description,fields:l})}else{const l=n.find(c=>c.path[0]==="__general"),o=Gn([r],t);l===void 0?n.unshift({path:["__general"],label:"General",fields:[o]}):l.fields.push(o)}return n}function aa(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 ft(e,n,i){if(n.length===0)return e;const[r,...t]=n;if(r===void 0)return e;const l={...e};if(t.length===0)return l[r]=i,l;const o=l[r],c=o!==null&&typeof o=="object"&&!Array.isArray(o)?o:{};return l[r]=ft(c,t,i),l}function Ie(e){return e.join(".")}function oa(e,n,i,r){const t=Ie(e.path),l=t,o=aa(n,e.path),c=i[t],u=d=>{r(ft(n,e.path,d))};switch(e.kind){case"string":{const d=typeof o=="string"?o:"";return d.length>80?a(mn,{id:t,name:l,label:e.label,description:e.description,error:c,value:d,onChange:u}):a(st,{id:t,name:l,label:e.label,description:e.description,error:c,value:d,onChange:u})}case"enum":{const d=typeof o=="string"||typeof o=="number"?String(o):"",f=(e.options??[]).map(s=>({value:String(s)}));return a(ut,{id:t,name:l,label:e.label,description:e.description,error:c,value:d,options:f,onChange:u})}case"number":case"integer":{const d=typeof o=="number"?o:0;return a(ia,{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:u})}case"boolean":{const d=typeof o=="boolean"?o:!1;return a(ra,{id:t,name:l,label:e.label,description:e.description,error:c,value:d,onChange:u})}case"array-of-strings":{const f=(Array.isArray(o)?o.filter(s=>typeof s=="string"):[]).join(`
7
- `);return a(mn,{id:t,name:l,label:e.label,description:`${e.description??""} (one entry per line)`.trim(),error:c,value:f,onChange:s=>{const h=s.split(`
8
- `).map(p=>p.trim()).filter(p=>p!=="");u(h)}})}default:return null}}function ca({section:e,values:n,errors:i,onChange:r}){return a("section",{class:"ac-section","aria-labelledby":`section-${Ie(e.path)}`,children:[a("h2",{class:"ac-section__title",id:`section-${Ie(e.path)}`,children:e.label}),e.description!==void 0?a("p",{class:"ac-section__description",children:e.description}):null,a("div",{class:"ac-section__fields",children:e.fields.map(t=>a("div",{children:oa(t,n,i,r)},Ie(t.path)))})]})}function sa(e){const n=la(e.schema),i=e.errors??{};return a("form",{class:"ac-form",onSubmit:r=>r.preventDefault(),children:[n.map(r=>a(ca,{section:r,values:e.values,errors:i,onChange:e.onChange},Ie(r.path))),e.actions!==void 0?a("div",{class:"ac-form__actions",children:e.actions}):null]})}function ua(e){const[n]=Gr(()=>`${e.id}-list`);return a(ue,{id:e.id,label:e.label,description:e.description,error:e.error,children:[a("input",{class:"ac-input",type:"text",id:e.id,name:e.name,value:e.value,placeholder:e.placeholder,list:n,"aria-invalid":e.error!==void 0?"true":void 0,onInput:i=>e.onChange(i.currentTarget.value)}),a("datalist",{id:n,children:e.suggestions.map(i=>a("option",{value:i},i))})]})}const da=["developer","reviewer","designer","product-manager","ops","qa","maintainer"],fa=["de","en","en-US","en-GB","fr","es","it","nl","pt","pt-BR"];function or(){return new Date().toISOString().slice(0,10)}function fe(e,n){return e?.[n]}function pa({value:e,onChange:n,errors:i,hideRole:r,hideIdentityBasics:t}){const[l,o]=Gr(""),c="umd-role-suggestions";function u(_){n({...e,..._,last_updated:or()})}const d=e.role.filter(_=>_.trim()!=="");function f(_){const g=_.trim();if(g===""||d.includes(g)){o("");return}u({role:[...d,g]}),o("")}function s(_){d.length<=1||u({role:d.filter(g=>g!==_)})}function h(_){const g={...e,last_updated:or()};_===""?delete g.notes:g.notes=_,n(g)}const p=da.filter(_=>!d.includes(_));return a("div",{class:"ac-user-md-form",children:[t?null:a(st,{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:fe(i,"identity.name"),onChange:_=>u({identity:{...e.identity,name:_}})}),t?null:a(ua,{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:fa,error:fe(i,"language"),onChange:_=>u({language:_})}),r?null:a(ue,{id:"umd-role-input",label:"Roles",description:"One or more roles. Seeded suggestions are non-binding — type anything and press Enter.",error:fe(i,"role"),children:[a("ul",{class:"ac-chip-list","data-testid":"umd-role-list",children:d.map(_=>a("li",{class:"ac-chip",children:[a("span",{children:_}),a("button",{type:"button",class:"ac-chip__remove","aria-label":`Remove ${_}`,disabled:d.length<=1,onClick:()=>s(_),children:"×"})]},_))}),a("div",{class:"ac-role-add",children:[a("input",{class:"ac-input",type:"text",id:"umd-role-input",name:"role-add",list:c,placeholder:"Add a role and press Enter",value:l,onInput:_=>o(_.currentTarget.value),onKeyDown:_=>{(_.key==="Enter"||_.key===",")&&(_.preventDefault(),f(l))}}),a("datalist",{id:c,children:p.map(_=>a("option",{value:_},_))}),a("button",{type:"button",class:"ac-button",onClick:()=>f(l),children:"Add role"})]})]}),a(ut,{id:"umd-pace",name:"style.pace",label:"Pace",value:e.style.pace,error:fe(i,"style.pace"),options:[{value:"pragmatic",label:"Pragmatic"},{value:"thorough",label:"Thorough"},{value:"rapid",label:"Rapid"}],onChange:_=>u({style:{...e.style,pace:_}})}),a(mn,{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:fe(i,"voice_sample"),onChange:_=>u({voice_sample:_})}),a(mn,{id:"umd-notes",name:"notes",label:"Notes",description:"Optional free-form prose the agent remembers across sessions.",rows:6,value:e.notes??"",error:fe(i,"notes"),onChange:h})]})}function pt(){return{version:1,identity:{name:""},language:"en",role:[],style:{pace:"pragmatic"},voice_sample:"",last_updated:"1970-01-01"}}function cr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Xe(e,n){return typeof e=="string"?e:n}function ha(e){return e==="thorough"||e==="rapid"?e:"pragmatic"}function va(e){return Array.isArray(e)?e.filter(n=>typeof n=="string"&&n.trim()!==""):[]}function _a(e){if(typeof e=="string")return e===""?void 0:e}function sr(e){const n=pt(),i=cr(e.identity)?e.identity:{},r=cr(e.style)?e.style:{},t=_a(e.notes),l={version:1,identity:{name:Xe(i.name,n.identity.name)},language:Xe(e.language,n.language),role:va(e.role),style:{pace:ha(r.pace)},voice_sample:Xe(e.voice_sample,n.voice_sample),last_updated:Xe(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 ht(e){return typeof e>"u"||e===null}function ma(e){return typeof e=="object"&&e!==null}function ga(e){return Array.isArray(e)?e:ht(e)?[]:[e]}function ya(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 ba(e,n){var i="",r;for(r=0;r<n;r+=1)i+=e;return i}function ka(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var wa=ht,xa=ma,Sa=ga,Aa=ba,Ca=ka,Ta=ya,O={isNothing:wa,isObject:xa,toArray:Sa,repeat:Aa,isNegativeZero:Ca,extend:Ta};function vt(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 je(e,n){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=n,this.message=vt(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}je.prototype=Object.create(Error.prototype);je.prototype.constructor=je;je.prototype.toString=function(n){return this.name+": "+vt(this,n)};var F=je;function Vn(e,n,i,r,t){var l="",o="",c=Math.floor(t/2)-1;return r-n>c&&(l=" ... ",n=r-c+l.length),i-r>c&&(o=" ...",i=r+c-o.length),{str:l+e.slice(n,i).replace(/\t/g,"→")+o,pos:r-n+l.length}}function Jn(e,n){return O.repeat(" ",n-e.length)+e}function Ea(e,n){if(n=Object.create(n||null),!e.buffer)return null;n.maxLength||(n.maxLength=79),typeof n.indent!="number"&&(n.indent=1),typeof n.linesBefore!="number"&&(n.linesBefore=3),typeof n.linesAfter!="number"&&(n.linesAfter=2);for(var i=/\r?\n|\r|\0/g,r=[0],t=[],l,o=-1;l=i.exec(e.buffer);)t.push(l.index),r.push(l.index+l[0].length),e.position<=l.index&&o<0&&(o=r.length-2);o<0&&(o=r.length-1);var c="",u,d,f=Math.min(e.line+n.linesAfter,t.length).toString().length,s=n.maxLength-(n.indent+f+3);for(u=1;u<=n.linesBefore&&!(o-u<0);u++)d=Vn(e.buffer,r[o-u],t[o-u],e.position-(r[o]-r[o-u]),s),c=O.repeat(" ",n.indent)+Jn((e.line-u+1).toString(),f)+" | "+d.str+`
11
- `+c;for(d=Vn(e.buffer,r[o],t[o],e.position,s),c+=O.repeat(" ",n.indent)+Jn((e.line+1).toString(),f)+" | "+d.str+`
12
- `,c+=O.repeat("-",n.indent+f+3+d.pos)+`^
13
- `,u=1;u<=n.linesAfter&&!(o+u>=t.length);u++)d=Vn(e.buffer,r[o+u],t[o+u],e.position-(r[o]-r[o+u]),s),c+=O.repeat(" ",n.indent)+Jn((e.line+u+1).toString(),f)+" | "+d.str+`
14
- `;return c.replace(/\n$/,"")}var Oa=Ea,Na=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Ia=["scalar","sequence","mapping"];function La(e){var n={};return e!==null&&Object.keys(e).forEach(function(i){e[i].forEach(function(r){n[String(r)]=i})}),n}function Fa(e,n){if(n=n||{},Object.keys(n).forEach(function(i){if(Na.indexOf(i)===-1)throw new F('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=La(n.styleAliases||null),Ia.indexOf(this.kind)===-1)throw new F('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var N=Fa;function ur(e,n){var i=[];return e[n].forEach(function(r){var t=i.length;i.forEach(function(l,o){l.tag===r.tag&&l.kind===r.kind&&l.multi===r.multi&&(t=o)}),i[t]=r}),i}function Ra(){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 si(e){return this.extend(e)}si.prototype.extend=function(n){var i=[],r=[];if(n instanceof N)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 F("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");i.forEach(function(l){if(!(l instanceof N))throw new F("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(l.loadKind&&l.loadKind!=="scalar")throw new F("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 F("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 N))throw new F("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var t=Object.create(si.prototype);return t.implicit=(this.implicit||[]).concat(i),t.explicit=(this.explicit||[]).concat(r),t.compiledImplicit=ur(t,"implicit"),t.compiledExplicit=ur(t,"explicit"),t.compiledTypeMap=Ra(t.compiledImplicit,t.compiledExplicit),t};var _t=si,mt=new N("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),gt=new N("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),yt=new N("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),bt=new _t({explicit:[mt,gt,yt]});function $a(e){if(e===null)return!0;var n=e.length;return n===1&&e==="~"||n===4&&(e==="null"||e==="Null"||e==="NULL")}function Pa(){return null}function Ma(e){return e===null}var kt=new N("tag:yaml.org,2002:null",{kind:"scalar",resolve:$a,construct:Pa,predicate:Ma,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function Da(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 ja(e){return e==="true"||e==="True"||e==="TRUE"}function Ha(e){return Object.prototype.toString.call(e)==="[object Boolean]"}var wt=new N("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Da,construct:ja,predicate:Ha,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 Ba(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function Ua(e){return 48<=e&&e<=55}function Wa(e){return 48<=e&&e<=57}function Ya(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(!Ba(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(!Wa(e.charCodeAt(i)))return!1;r=!0}return!(!r||t==="_")}function za(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 qa(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!O.isNegativeZero(e)}var xt=new N("tag:yaml.org,2002:int",{kind:"scalar",resolve:Ya,construct:za,predicate:qa,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"]}}),Ka=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Ga(e){return!(e===null||!Ka.test(e)||e[e.length-1]==="_")}function Va(e){var n,i;return n=e.replace(/_/g,"").toLowerCase(),i=n[0]==="-"?-1:1,"+-".indexOf(n[0])>=0&&(n=n.slice(1)),n===".inf"?i===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:n===".nan"?NaN:i*parseFloat(n,10)}var Ja=/^[-+]?[0-9]+e/;function Qa(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(O.isNegativeZero(e))return"-0.0";return i=e.toString(10),Ja.test(i)?i.replace("e",".e"):i}function Za(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||O.isNegativeZero(e))}var St=new N("tag:yaml.org,2002:float",{kind:"scalar",resolve:Ga,construct:Va,predicate:Za,represent:Qa,defaultStyle:"lowercase"}),At=bt.extend({implicit:[kt,wt,xt,St]}),Ct=At,Tt=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Et=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 Xa(e){return e===null?!1:Tt.exec(e)!==null||Et.exec(e)!==null}function eo(e){var n,i,r,t,l,o,c,u=0,d=null,f,s,h;if(n=Tt.exec(e),n===null&&(n=Et.exec(e)),n===null)throw new Error("Date resolve error");if(i=+n[1],r=+n[2]-1,t=+n[3],!n[4])return new Date(Date.UTC(i,r,t));if(l=+n[4],o=+n[5],c=+n[6],n[7]){for(u=n[7].slice(0,3);u.length<3;)u+="0";u=+u}return n[9]&&(f=+n[10],s=+(n[11]||0),d=(f*60+s)*6e4,n[9]==="-"&&(d=-d)),h=new Date(Date.UTC(i,r,t,l,o,c,u)),d&&h.setTime(h.getTime()-d),h}function no(e){return e.toISOString()}var Ot=new N("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Xa,construct:eo,instanceOf:Date,represent:no});function io(e){return e==="<<"||e===null}var Nt=new N("tag:yaml.org,2002:merge",{kind:"scalar",resolve:io}),Ni=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
15
- \r`;function ro(e){if(e===null)return!1;var n,i,r=0,t=e.length,l=Ni;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 to(e){var n,i,r=e.replace(/[\r\n=]/g,""),t=r.length,l=Ni,o=0,c=[];for(n=0;n<t;n++)n%4===0&&n&&(c.push(o>>16&255),c.push(o>>8&255),c.push(o&255)),o=o<<6|l.indexOf(r.charAt(n));return i=t%4*6,i===0?(c.push(o>>16&255),c.push(o>>8&255),c.push(o&255)):i===18?(c.push(o>>10&255),c.push(o>>2&255)):i===12&&c.push(o>>4&255),new Uint8Array(c)}function lo(e){var n="",i=0,r,t,l=e.length,o=Ni;for(r=0;r<l;r++)r%3===0&&r&&(n+=o[i>>18&63],n+=o[i>>12&63],n+=o[i>>6&63],n+=o[i&63]),i=(i<<8)+e[r];return t=l%3,t===0?(n+=o[i>>18&63],n+=o[i>>12&63],n+=o[i>>6&63],n+=o[i&63]):t===2?(n+=o[i>>10&63],n+=o[i>>4&63],n+=o[i<<2&63],n+=o[64]):t===1&&(n+=o[i>>2&63],n+=o[i<<4&63],n+=o[64],n+=o[64]),n}function ao(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var It=new N("tag:yaml.org,2002:binary",{kind:"scalar",resolve:ro,construct:to,predicate:ao,represent:lo}),oo=Object.prototype.hasOwnProperty,co=Object.prototype.toString;function so(e){if(e===null)return!0;var n=[],i,r,t,l,o,c=e;for(i=0,r=c.length;i<r;i+=1){if(t=c[i],o=!1,co.call(t)!=="[object Object]")return!1;for(l in t)if(oo.call(t,l))if(!o)o=!0;else return!1;if(!o)return!1;if(n.indexOf(l)===-1)n.push(l);else return!1}return!0}function uo(e){return e!==null?e:[]}var Lt=new N("tag:yaml.org,2002:omap",{kind:"sequence",resolve:so,construct:uo}),fo=Object.prototype.toString;function po(e){if(e===null)return!0;var n,i,r,t,l,o=e;for(l=new Array(o.length),n=0,i=o.length;n<i;n+=1){if(r=o[n],fo.call(r)!=="[object Object]"||(t=Object.keys(r),t.length!==1))return!1;l[n]=[t[0],r[t[0]]]}return!0}function ho(e){if(e===null)return[];var n,i,r,t,l,o=e;for(l=new Array(o.length),n=0,i=o.length;n<i;n+=1)r=o[n],t=Object.keys(r),l[n]=[t[0],r[t[0]]];return l}var Ft=new N("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:po,construct:ho}),vo=Object.prototype.hasOwnProperty;function _o(e){if(e===null)return!0;var n,i=e;for(n in i)if(vo.call(i,n)&&i[n]!==null)return!1;return!0}function mo(e){return e!==null?e:{}}var Rt=new N("tag:yaml.org,2002:set",{kind:"mapping",resolve:_o,construct:mo}),Ii=Ct.extend({implicit:[Ot,Nt],explicit:[It,Lt,Ft,Rt]}),Q=Object.prototype.hasOwnProperty,gn=1,$t=2,Pt=3,yn=4,Qn=1,go=2,dr=3,yo=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,bo=/[\x85\u2028\u2029]/,ko=/[,\[\]\{\}]/,Mt=/^(?:!|!!|![a-z\-]+!)$/i,Dt=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function fr(e){return Object.prototype.toString.call(e)}function U(e){return e===10||e===13}function ne(e){return e===9||e===32}function $(e){return e===9||e===32||e===10||e===13}function _e(e){return e===44||e===91||e===93||e===123||e===125}function wo(e){var n;return 48<=e&&e<=57?e-48:(n=e|32,97<=n&&n<=102?n-97+10:-1)}function xo(e){return e===120?2:e===117?4:e===85?8:0}function So(e){return 48<=e&&e<=57?e-48:-1}function pr(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 Ao(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function jt(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),Bt=new Array(256);for(var pe=0;pe<256;pe++)Ht[pe]=pr(pe)?1:0,Bt[pe]=pr(pe);function Co(e,n){this.input=e,this.filename=n.filename||null,this.schema=n.schema||Ii,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 Ut(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=Oa(i),new F(n,i)}function y(e,n){throw Ut(e,n)}function bn(e,n){e.onWarning&&e.onWarning.call(null,Ut(e,n))}var hr={YAML:function(n,i,r){var t,l,o;n.version!==null&&y(n,"duplication of %YAML directive"),r.length!==1&&y(n,"YAML directive accepts exactly one argument"),t=/^([0-9]+)\.([0-9]+)$/.exec(r[0]),t===null&&y(n,"ill-formed argument of the YAML directive"),l=parseInt(t[1],10),o=parseInt(t[2],10),l!==1&&y(n,"unacceptable YAML version of the document"),n.version=r[0],n.checkLineBreaks=o<2,o!==1&&o!==2&&bn(n,"unsupported YAML version of the document")},TAG:function(n,i,r){var t,l;r.length!==2&&y(n,"TAG directive accepts exactly two arguments"),t=r[0],l=r[1],Mt.test(t)||y(n,"ill-formed tag handle (first argument) of the TAG directive"),Q.call(n.tagMap,t)&&y(n,'there is a previously declared suffix for "'+t+'" tag handle'),Dt.test(l)||y(n,"ill-formed tag prefix (second argument) of the TAG directive");try{l=decodeURIComponent(l)}catch{y(n,"tag prefix is malformed: "+l)}n.tagMap[t]=l}};function V(e,n,i,r){var t,l,o,c;if(n<i){if(c=e.input.slice(n,i),r)for(t=0,l=c.length;t<l;t+=1)o=c.charCodeAt(t),o===9||32<=o&&o<=1114111||y(e,"expected valid JSON character");else yo.test(c)&&y(e,"the stream contains non-printable characters");e.result+=c}}function vr(e,n,i,r){var t,l,o,c;for(O.isObject(i)||y(e,"cannot merge mappings; the provided source object is unacceptable"),t=Object.keys(i),o=0,c=t.length;o<c;o+=1)l=t[o],Q.call(n,l)||(jt(n,l,i[l]),r[l]=!0)}function me(e,n,i,r,t,l,o,c,u){var d,f;if(Array.isArray(t))for(t=Array.prototype.slice.call(t),d=0,f=t.length;d<f;d+=1)Array.isArray(t[d])&&y(e,"nested arrays are not supported inside keys"),typeof t=="object"&&fr(t[d])==="[object Object]"&&(t[d]="[object Object]");if(typeof t=="object"&&fr(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,f=l.length;d<f;d+=1)vr(e,n,l[d],i);else vr(e,n,l,i);else!e.json&&!Q.call(i,t)&&Q.call(n,t)&&(e.line=o||e.line,e.lineStart=c||e.lineStart,e.position=u||e.position,y(e,"duplicated mapping key")),jt(n,t,l),delete i[t];return n}function Li(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++):y(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(;ne(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(U(t))for(Li(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&&bn(e,"deficient indentation"),r}function jn(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||$(i)))}function Fi(e,n){n===1?e.result+=" ":n>1&&(e.result+=O.repeat(`
17
- `,n-1))}function To(e,n,i){var r,t,l,o,c,u,d,f,s=e.kind,h=e.result,p;if(p=e.input.charCodeAt(e.position),$(p)||_e(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),$(t)||i&&_e(t)))return!1;for(e.kind="scalar",e.result="",l=o=e.position,c=!1;p!==0;){if(p===58){if(t=e.input.charCodeAt(e.position+1),$(t)||i&&_e(t))break}else if(p===35){if(r=e.input.charCodeAt(e.position-1),$(r))break}else{if(e.position===e.lineStart&&jn(e)||i&&_e(p))break;if(U(p))if(u=e.line,d=e.lineStart,f=e.lineIndent,T(e,!1,-1),e.lineIndent>=n){c=!0,p=e.input.charCodeAt(e.position);continue}else{e.position=o,e.line=u,e.lineStart=d,e.lineIndent=f;break}}c&&(V(e,l,o,!1),Fi(e,e.line-u),l=o=e.position,c=!1),ne(p)||(o=e.position+1),p=e.input.charCodeAt(++e.position)}return V(e,l,o,!1),e.result?!0:(e.kind=s,e.result=h,!1)}function Eo(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(V(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 U(i)?(V(e,r,t,!0),Fi(e,T(e,!1,n)),r=t=e.position):e.position===e.lineStart&&jn(e)?y(e,"unexpected end of the document within a single quoted scalar"):(e.position++,t=e.position);y(e,"unexpected end of the stream within a single quoted scalar")}function Oo(e,n){var i,r,t,l,o,c;if(c=e.input.charCodeAt(e.position),c!==34)return!1;for(e.kind="scalar",e.result="",e.position++,i=r=e.position;(c=e.input.charCodeAt(e.position))!==0;){if(c===34)return V(e,i,e.position,!0),e.position++,!0;if(c===92){if(V(e,i,e.position,!0),c=e.input.charCodeAt(++e.position),U(c))T(e,!1,n);else if(c<256&&Ht[c])e.result+=Bt[c],e.position++;else if((o=xo(c))>0){for(t=o,l=0;t>0;t--)c=e.input.charCodeAt(++e.position),(o=wo(c))>=0?l=(l<<4)+o:y(e,"expected hexadecimal character");e.result+=Ao(l),e.position++}else y(e,"unknown escape sequence");i=r=e.position}else U(c)?(V(e,i,r,!0),Fi(e,T(e,!1,n)),i=r=e.position):e.position===e.lineStart&&jn(e)?y(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}y(e,"unexpected end of the stream within a double quoted scalar")}function No(e,n){var i=!0,r,t,l,o=e.tag,c,u=e.anchor,d,f,s,h,p,_=Object.create(null),g,b,k,m;if(m=e.input.charCodeAt(e.position),m===91)f=93,p=!1,c=[];else if(m===123)f=125,p=!0,c={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=c),m=e.input.charCodeAt(++e.position);m!==0;){if(T(e,!0,n),m=e.input.charCodeAt(e.position),m===f)return e.position++,e.tag=o,e.anchor=u,e.kind=p?"mapping":"sequence",e.result=c,!0;i?m===44&&y(e,"expected the node content, but found ','"):y(e,"missed comma between flow collection entries"),b=g=k=null,s=h=!1,m===63&&(d=e.input.charCodeAt(e.position+1),$(d)&&(s=h=!0,e.position++,T(e,!0,n))),r=e.line,t=e.lineStart,l=e.position,we(e,n,gn,!1,!0),b=e.tag,g=e.result,T(e,!0,n),m=e.input.charCodeAt(e.position),(h||e.line===r)&&m===58&&(s=!0,m=e.input.charCodeAt(++e.position),T(e,!0,n),we(e,n,gn,!1,!0),k=e.result),p?me(e,c,_,b,g,k,r,t,l):s?c.push(me(e,null,_,b,g,k,r,t,l)):c.push(g),T(e,!0,n),m=e.input.charCodeAt(e.position),m===44?(i=!0,m=e.input.charCodeAt(++e.position)):i=!1}y(e,"unexpected end of the stream within a flow collection")}function Io(e,n){var i,r,t=Qn,l=!1,o=!1,c=n,u=0,d=!1,f,s;if(s=e.input.charCodeAt(e.position),s===124)r=!1;else if(s===62)r=!0;else return!1;for(e.kind="scalar",e.result="";s!==0;)if(s=e.input.charCodeAt(++e.position),s===43||s===45)Qn===t?t=s===43?dr:go:y(e,"repeat of a chomping mode identifier");else if((f=So(s))>=0)f===0?y(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?y(e,"repeat of an indentation width identifier"):(c=n+f-1,o=!0);else break;if(ne(s)){do s=e.input.charCodeAt(++e.position);while(ne(s));if(s===35)do s=e.input.charCodeAt(++e.position);while(!U(s)&&s!==0)}for(;s!==0;){for(Li(e),e.lineIndent=0,s=e.input.charCodeAt(e.position);(!o||e.lineIndent<c)&&s===32;)e.lineIndent++,s=e.input.charCodeAt(++e.position);if(!o&&e.lineIndent>c&&(c=e.lineIndent),U(s)){u++;continue}if(e.lineIndent<c){t===dr?e.result+=O.repeat(`
18
- `,l?1+u:u):t===Qn&&l&&(e.result+=`
19
- `);break}for(r?ne(s)?(d=!0,e.result+=O.repeat(`
20
- `,l?1+u:u)):d?(d=!1,e.result+=O.repeat(`
21
- `,u+1)):u===0?l&&(e.result+=" "):e.result+=O.repeat(`
22
- `,u):e.result+=O.repeat(`
23
- `,l?1+u:u),l=!0,o=!0,u=0,i=e.position;!U(s)&&s!==0;)s=e.input.charCodeAt(++e.position);V(e,i,e.position,!1)}return!0}function _r(e,n){var i,r=e.tag,t=e.anchor,l=[],o,c=!1,u;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=l),u=e.input.charCodeAt(e.position);u!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,y(e,"tab characters must not be used in indentation")),!(u!==45||(o=e.input.charCodeAt(e.position+1),!$(o))));){if(c=!0,e.position++,T(e,!0,-1)&&e.lineIndent<=n){l.push(null),u=e.input.charCodeAt(e.position);continue}if(i=e.line,we(e,n,Pt,!1,!0),l.push(e.result),T(e,!0,-1),u=e.input.charCodeAt(e.position),(e.line===i||e.lineIndent>n)&&u!==0)y(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 Lo(e,n,i){var r,t,l,o,c,u,d=e.tag,f=e.anchor,s={},h=Object.create(null),p=null,_=null,g=null,b=!1,k=!1,m;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=s),m=e.input.charCodeAt(e.position);m!==0;){if(!b&&e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,y(e,"tab characters must not be used in indentation")),r=e.input.charCodeAt(e.position+1),l=e.line,(m===63||m===58)&&$(r))m===63?(b&&(me(e,s,h,p,_,null,o,c,u),p=_=g=null),k=!0,b=!0,t=!0):b?(b=!1,t=!0):y(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,m=r;else{if(o=e.line,c=e.lineStart,u=e.position,!we(e,i,$t,!1,!0))break;if(e.line===l){for(m=e.input.charCodeAt(e.position);ne(m);)m=e.input.charCodeAt(++e.position);if(m===58)m=e.input.charCodeAt(++e.position),$(m)||y(e,"a whitespace character is expected after the key-value separator within a block mapping"),b&&(me(e,s,h,p,_,null,o,c,u),p=_=g=null),k=!0,b=!1,t=!1,p=e.tag,_=e.result;else if(k)y(e,"can not read an implicit mapping pair; a colon is missed");else return e.tag=d,e.anchor=f,!0}else if(k)y(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else return e.tag=d,e.anchor=f,!0}if((e.line===l||e.lineIndent>n)&&(b&&(o=e.line,c=e.lineStart,u=e.position),we(e,n,yn,!0,t)&&(b?_=e.result:g=e.result),b||(me(e,s,h,p,_,g,o,c,u),p=_=g=null),T(e,!0,-1),m=e.input.charCodeAt(e.position)),(e.line===l||e.lineIndent>n)&&m!==0)y(e,"bad indentation of a mapping entry");else if(e.lineIndent<n)break}return b&&me(e,s,h,p,_,null,o,c,u),k&&(e.tag=d,e.anchor=f,e.kind="mapping",e.result=s),k}function Fo(e){var n,i=!1,r=!1,t,l,o;if(o=e.input.charCodeAt(e.position),o!==33)return!1;if(e.tag!==null&&y(e,"duplication of a tag property"),o=e.input.charCodeAt(++e.position),o===60?(i=!0,o=e.input.charCodeAt(++e.position)):o===33?(r=!0,t="!!",o=e.input.charCodeAt(++e.position)):t="!",n=e.position,i){do o=e.input.charCodeAt(++e.position);while(o!==0&&o!==62);e.position<e.length?(l=e.input.slice(n,e.position),o=e.input.charCodeAt(++e.position)):y(e,"unexpected end of the stream within a verbatim tag")}else{for(;o!==0&&!$(o);)o===33&&(r?y(e,"tag suffix cannot contain exclamation marks"):(t=e.input.slice(n-1,e.position+1),Mt.test(t)||y(e,"named tag handle cannot contain such characters"),r=!0,n=e.position+1)),o=e.input.charCodeAt(++e.position);l=e.input.slice(n,e.position),ko.test(l)&&y(e,"tag suffix cannot contain flow indicator characters")}l&&!Dt.test(l)&&y(e,"tag name cannot contain such characters: "+l);try{l=decodeURIComponent(l)}catch{y(e,"tag name is malformed: "+l)}return i?e.tag=l:Q.call(e.tagMap,t)?e.tag=e.tagMap[t]+l:t==="!"?e.tag="!"+l:t==="!!"?e.tag="tag:yaml.org,2002:"+l:y(e,'undeclared tag handle "'+t+'"'),!0}function Ro(e){var n,i;if(i=e.input.charCodeAt(e.position),i!==38)return!1;for(e.anchor!==null&&y(e,"duplication of an anchor property"),i=e.input.charCodeAt(++e.position),n=e.position;i!==0&&!$(i)&&!_e(i);)i=e.input.charCodeAt(++e.position);return e.position===n&&y(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(n,e.position),!0}function $o(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)&&!_e(r);)r=e.input.charCodeAt(++e.position);return e.position===n&&y(e,"name of an alias node must contain at least one character"),i=e.input.slice(n,e.position),Q.call(e.anchorMap,i)||y(e,'unidentified alias "'+i+'"'),e.result=e.anchorMap[i],T(e,!0,-1),!0}function we(e,n,i,r,t){var l,o,c,u=1,d=!1,f=!1,s,h,p,_,g,b;if(e.listener!==null&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,l=o=c=yn===i||Pt===i,r&&T(e,!0,-1)&&(d=!0,e.lineIndent>n?u=1:e.lineIndent===n?u=0:e.lineIndent<n&&(u=-1)),u===1)for(;Fo(e)||Ro(e);)T(e,!0,-1)?(d=!0,c=l,e.lineIndent>n?u=1:e.lineIndent===n?u=0:e.lineIndent<n&&(u=-1)):c=!1;if(c&&(c=d||t),(u===1||yn===i)&&(gn===i||$t===i?g=n:g=n+1,b=e.position-e.lineStart,u===1?c&&(_r(e,b)||Lo(e,b,g))||No(e,g)?f=!0:(o&&Io(e,g)||Eo(e,g)||Oo(e,g)?f=!0:$o(e)?(f=!0,(e.tag!==null||e.anchor!==null)&&y(e,"alias node should not have any properties")):To(e,g,gn===i)&&(f=!0,e.tag===null&&(e.tag="?")),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):u===0&&(f=c&&_r(e,b))),e.tag===null)e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);else if(e.tag==="?"){for(e.result!==null&&e.kind!=="scalar"&&y(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),s=0,h=e.implicitTypes.length;s<h;s+=1)if(_=e.implicitTypes[s],_.resolve(e.result)){e.result=_.construct(e.result),e.tag=_.tag,e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);break}}else if(e.tag!=="!"){if(Q.call(e.typeMap[e.kind||"fallback"],e.tag))_=e.typeMap[e.kind||"fallback"][e.tag];else for(_=null,p=e.typeMap.multi[e.kind||"fallback"],s=0,h=p.length;s<h;s+=1)if(e.tag.slice(0,p[s].tag.length)===p[s].tag){_=p[s];break}_||y(e,"unknown tag !<"+e.tag+">"),e.result!==null&&_.kind!==e.kind&&y(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+_.kind+'", not "'+e.kind+'"'),_.resolve(e.result,e.tag)?(e.result=_.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):y(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||f}function Po(e){var n=e.position,i,r,t,l=!1,o;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(o=e.input.charCodeAt(e.position))!==0&&(T(e,!0,-1),o=e.input.charCodeAt(e.position),!(e.lineIndent>0||o!==37));){for(l=!0,o=e.input.charCodeAt(++e.position),i=e.position;o!==0&&!$(o);)o=e.input.charCodeAt(++e.position);for(r=e.input.slice(i,e.position),t=[],r.length<1&&y(e,"directive name must not be less than one character in length");o!==0;){for(;ne(o);)o=e.input.charCodeAt(++e.position);if(o===35){do o=e.input.charCodeAt(++e.position);while(o!==0&&!U(o));break}if(U(o))break;for(i=e.position;o!==0&&!$(o);)o=e.input.charCodeAt(++e.position);t.push(e.input.slice(i,e.position))}o!==0&&Li(e),Q.call(hr,r)?hr[r](e,r,t):bn(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&&y(e,"directives end mark is expected"),we(e,e.lineIndent-1,yn,!1,!0),T(e,!0,-1),e.checkLineBreaks&&bo.test(e.input.slice(n,e.position))&&bn(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&jn(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,T(e,!0,-1));return}if(e.position<e.length-1)y(e,"end of the stream or a document separator is expected");else return}function Wt(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 Co(e,n),r=e.indexOf("\0");for(r!==-1&&(i.position=r,y(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;)Po(i);return i.documents}function Mo(e,n,i){n!==null&&typeof n=="object"&&typeof i>"u"&&(i=n,n=null);var r=Wt(e,i);if(typeof n!="function")return r;for(var t=0,l=r.length;t<l;t+=1)n(r[t])}function Do(e,n){var i=Wt(e,n);if(i.length!==0){if(i.length===1)return i[0];throw new F("expected a single document in the stream, but found more")}}var jo=Mo,Ho=Do,Yt={loadAll:jo,load:Ho},zt=Object.prototype.toString,qt=Object.prototype.hasOwnProperty,Ri=65279,Bo=9,He=10,Uo=13,Wo=32,Yo=33,zo=34,ui=35,qo=37,Ko=38,Go=39,Vo=42,Kt=44,Jo=45,kn=58,Qo=61,Zo=62,Xo=63,ec=64,Gt=91,Vt=93,nc=96,Jt=123,ic=124,Qt=125,L={};L[0]="\\0";L[7]="\\a";L[8]="\\b";L[9]="\\t";L[10]="\\n";L[11]="\\v";L[12]="\\f";L[13]="\\r";L[27]="\\e";L[34]='\\"';L[92]="\\\\";L[133]="\\N";L[160]="\\_";L[8232]="\\L";L[8233]="\\P";var rc=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],tc=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function lc(e,n){var i,r,t,l,o,c,u;if(n===null)return{};for(i={},r=Object.keys(n),t=0,l=r.length;t<l;t+=1)o=r[t],c=String(n[o]),o.slice(0,2)==="!!"&&(o="tag:yaml.org,2002:"+o.slice(2)),u=e.compiledTypeMap.fallback[o],u&&qt.call(u.styleAliases,c)&&(c=u.styleAliases[c]),i[o]=c;return i}function ac(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 F("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+i+O.repeat("0",r-n.length)+n}var oc=1,Be=2;function cc(e){this.schema=e.schema||Ii,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=O.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=lc(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==='"'?Be:oc,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 mr(e,n){for(var i=O.repeat(" ",n),r=0,t=-1,l="",o,c=e.length;r<c;)t=e.indexOf(`
25
- `,r),t===-1?(o=e.slice(r),r=c):(o=e.slice(r,t+1),r=t+1),o.length&&o!==`
26
- `&&(l+=i),l+=o;return l}function di(e,n){return`
27
- `+O.repeat(" ",e.indent*n)}function sc(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 wn(e){return e===Wo||e===Bo}function Ue(e){return 32<=e&&e<=126||161<=e&&e<=55295&&e!==8232&&e!==8233||57344<=e&&e<=65533&&e!==Ri||65536<=e&&e<=1114111}function gr(e){return Ue(e)&&e!==Ri&&e!==Uo&&e!==He}function yr(e,n,i){var r=gr(e),t=r&&!wn(e);return(i?r:r&&e!==Kt&&e!==Gt&&e!==Vt&&e!==Jt&&e!==Qt)&&e!==ui&&!(n===kn&&!t)||gr(n)&&!wn(n)&&e===ui||n===kn&&t}function uc(e){return Ue(e)&&e!==Ri&&!wn(e)&&e!==Jo&&e!==Xo&&e!==kn&&e!==Kt&&e!==Gt&&e!==Vt&&e!==Jt&&e!==Qt&&e!==ui&&e!==Ko&&e!==Vo&&e!==Yo&&e!==ic&&e!==Qo&&e!==Zo&&e!==Go&&e!==zo&&e!==qo&&e!==ec&&e!==nc}function dc(e){return!wn(e)&&e!==kn}function Ce(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 Zt(e){var n=/^\n* /;return n.test(e)}var Xt=1,fi=2,el=3,nl=4,he=5;function fc(e,n,i,r,t,l,o,c){var u,d=0,f=null,s=!1,h=!1,p=r!==-1,_=-1,g=uc(Ce(e,0))&&dc(Ce(e,e.length-1));if(n||o)for(u=0;u<e.length;d>=65536?u+=2:u++){if(d=Ce(e,u),!Ue(d))return he;g=g&&yr(d,f,c),f=d}else{for(u=0;u<e.length;d>=65536?u+=2:u++){if(d=Ce(e,u),d===He)s=!0,p&&(h=h||u-_-1>r&&e[_+1]!==" ",_=u);else if(!Ue(d))return he;g=g&&yr(d,f,c),f=d}h=h||p&&u-_-1>r&&e[_+1]!==" "}return!s&&!h?g&&!o&&!t(e)?Xt:l===Be?he:fi:i>9&&Zt(e)?he:o?l===Be?he:fi:h?nl:el}function pc(e,n,i,r,t){e.dump=function(){if(n.length===0)return e.quotingType===Be?'""':"''";if(!e.noCompatMode&&(rc.indexOf(n)!==-1||tc.test(n)))return e.quotingType===Be?'"'+n+'"':"'"+n+"'";var l=e.indent*Math.max(1,i),o=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-l),c=r||e.flowLevel>-1&&i>=e.flowLevel;function u(d){return sc(e,d)}switch(fc(n,c,e.indent,o,u,e.quotingType,e.forceQuotes&&!r,t)){case Xt:return n;case fi:return"'"+n.replace(/'/g,"''")+"'";case el:return"|"+br(n,e.indent)+kr(mr(n,l));case nl:return">"+br(n,e.indent)+kr(mr(hc(n,o),l));case he:return'"'+vc(n)+'"';default:throw new F("impossible error: invalid scalar style")}}()}function br(e,n){var i=Zt(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 kr(e){return e[e.length-1]===`
32
- `?e.slice(0,-1):e}function hc(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,wr(e.slice(0,d),n)}(),t=e[0]===`
34
- `||e[0]===" ",l,o;o=i.exec(e);){var c=o[1],u=o[2];l=u[0]===" ",r+=c+(!t&&!l&&u!==""?`
35
- `:"")+wr(u,n),t=l}return r}function wr(e,n){if(e===""||e[0]===" ")return e;for(var i=/ [^ ]/g,r,t=0,l,o=0,c=0,u="";r=i.exec(e);)c=r.index,c-t>n&&(l=o>t?o:c,u+=`
36
- `+e.slice(t,l),t=l+1),o=c;return u+=`
37
- `,e.length-t>n&&o>t?u+=e.slice(t,o)+`
38
- `+e.slice(o+1):u+=e.slice(t),u.slice(1)}function vc(e){for(var n="",i=0,r,t=0;t<e.length;i>=65536?t+=2:t++)i=Ce(e,t),r=L[i],!r&&Ue(i)?(n+=e[t],i>=65536&&(n+=e[t+1])):n+=r||ac(i);return n}function _c(e,n,i){var r="",t=e.tag,l,o,c;for(l=0,o=i.length;l<o;l+=1)c=i[l],e.replacer&&(c=e.replacer.call(i,String(l),c)),(q(e,n,c,!1,!1)||typeof c>"u"&&q(e,n,null,!1,!1))&&(r!==""&&(r+=","+(e.condenseFlow?"":" ")),r+=e.dump);e.tag=t,e.dump="["+r+"]"}function xr(e,n,i,r){var t="",l=e.tag,o,c,u;for(o=0,c=i.length;o<c;o+=1)u=i[o],e.replacer&&(u=e.replacer.call(i,String(o),u)),(q(e,n+1,u,!0,!0,!1,!0)||typeof u>"u"&&q(e,n+1,null,!0,!0,!1,!0))&&((!r||t!=="")&&(t+=di(e,n)),e.dump&&He===e.dump.charCodeAt(0)?t+="-":t+="- ",t+=e.dump);e.tag=l,e.dump=t||"[]"}function mc(e,n,i){var r="",t=e.tag,l=Object.keys(i),o,c,u,d,f;for(o=0,c=l.length;o<c;o+=1)f="",r!==""&&(f+=", "),e.condenseFlow&&(f+='"'),u=l[o],d=i[u],e.replacer&&(d=e.replacer.call(i,u,d)),q(e,n,u,!1,!1)&&(e.dump.length>1024&&(f+="? "),f+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),q(e,n,d,!1,!1)&&(f+=e.dump,r+=f));e.tag=t,e.dump="{"+r+"}"}function gc(e,n,i,r){var t="",l=e.tag,o=Object.keys(i),c,u,d,f,s,h;if(e.sortKeys===!0)o.sort();else if(typeof e.sortKeys=="function")o.sort(e.sortKeys);else if(e.sortKeys)throw new F("sortKeys must be a boolean or a function");for(c=0,u=o.length;c<u;c+=1)h="",(!r||t!=="")&&(h+=di(e,n)),d=o[c],f=i[d],e.replacer&&(f=e.replacer.call(i,d,f)),q(e,n+1,d,!0,!0,!0)&&(s=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024,s&&(e.dump&&He===e.dump.charCodeAt(0)?h+="?":h+="? "),h+=e.dump,s&&(h+=di(e,n)),q(e,n+1,f,!0,s)&&(e.dump&&He===e.dump.charCodeAt(0)?h+=":":h+=": ",h+=e.dump,t+=h));e.tag=l,e.dump=t||"{}"}function Sr(e,n,i){var r,t,l,o,c,u;for(t=i?e.explicitTypes:e.implicitTypes,l=0,o=t.length;l<o;l+=1)if(c=t[l],(c.instanceOf||c.predicate)&&(!c.instanceOf||typeof n=="object"&&n instanceof c.instanceOf)&&(!c.predicate||c.predicate(n))){if(i?c.multi&&c.representName?e.tag=c.representName(n):e.tag=c.tag:e.tag="?",c.represent){if(u=e.styleMap[c.tag]||c.defaultStyle,zt.call(c.represent)==="[object Function]")r=c.represent(n,u);else if(qt.call(c.represent,u))r=c.represent[u](n,u);else throw new F("!<"+c.tag+'> tag resolver accepts not "'+u+'" style');e.dump=r}return!0}return!1}function q(e,n,i,r,t,l,o){e.tag=null,e.dump=i,Sr(e,i,!1)||Sr(e,i,!0);var c=zt.call(e.dump),u=r,d;r&&(r=e.flowLevel<0||e.flowLevel>n);var f=c==="[object Object]"||c==="[object Array]",s,h;if(f&&(s=e.duplicates.indexOf(i),h=s!==-1),(e.tag!==null&&e.tag!=="?"||h||e.indent!==2&&n>0)&&(t=!1),h&&e.usedDuplicates[s])e.dump="*ref_"+s;else{if(f&&h&&!e.usedDuplicates[s]&&(e.usedDuplicates[s]=!0),c==="[object Object]")r&&Object.keys(e.dump).length!==0?(gc(e,n,e.dump,t),h&&(e.dump="&ref_"+s+e.dump)):(mc(e,n,e.dump),h&&(e.dump="&ref_"+s+" "+e.dump));else if(c==="[object Array]")r&&e.dump.length!==0?(e.noArrayIndent&&!o&&n>0?xr(e,n-1,e.dump,t):xr(e,n,e.dump,t),h&&(e.dump="&ref_"+s+e.dump)):(_c(e,n,e.dump),h&&(e.dump="&ref_"+s+" "+e.dump));else if(c==="[object String]")e.tag!=="?"&&pc(e,e.dump,n,l,u);else{if(c==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new F("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 yc(e,n){var i=[],r=[],t,l;for(pi(e,i,r),t=0,l=r.length;t<l;t+=1)n.duplicates.push(i[r[t]]);n.usedDuplicates=new Array(l)}function pi(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)pi(e[t],n,i);else for(r=Object.keys(e),t=0,l=r.length;t<l;t+=1)pi(e[r[t]],n,i)}function bc(e,n){n=n||{};var i=new cc(n);i.noRefs||yc(e,i);var r=e;return i.replacer&&(r=i.replacer.call({"":r},"",r)),q(i,0,r,!0,!0)?i.dump+`
39
- `:""}var kc=bc,wc={dump:kc};function $i(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 xc=N,Sc=_t,Ac=bt,Cc=At,Tc=Ct,Ec=Ii,Oc=Yt.load,Nc=Yt.loadAll,Ic=wc.dump,Lc=F,Fc={binary:It,float:St,map:yt,null:kt,pairs:Ft,set:Rt,timestamp:Ot,bool:wt,int:xt,merge:Nt,omap:Lt,seq:gt,str:mt},Rc=$i("safeLoad","load"),$c=$i("safeLoadAll","loadAll"),Pc=$i("safeDump","dump"),Mc={Type:xc,Schema:Sc,FAILSAFE_SCHEMA:Ac,JSON_SCHEMA:Cc,CORE_SCHEMA:Tc,DEFAULT_SCHEMA:Ec,load:Oc,loadAll:Nc,dump:Ic,YAMLException:Lc,types:Fc,safeLoad:Rc,safeLoadAll:$c,safeDump:Pc};function Dc(e){if(e.trim()==="")return{};const i=Mc.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 Ar={id:"welcome",title:"Welcome — who are you?",navLabel:"You",subtitle:"Your name and language. Stored in .agent-user.yml; we pre-fill what we can detect.",kind:"welcome"},Cr={id:"profile",title:"Which experience?",navLabel:"Experience",subtitle:"Pick the experience that fits you — developer · content · founder · agency · finance · ops. It selects your default command/skill surface and persona pre-selection. Cost tier is a secondary knob on a later step. You can switch later with `agent-config use --profile=<id>`.",kind:"form",paths:["profile.id"]},jc=[{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:"roles",title:"What do you work on?",navLabel:"Roles",subtitle:"Pick the areas you work in. We use them to recommend capability packs on the next step, and they become your roles in .agent-user.yml.",kind:"roles"},{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:"legal-consent",title:"Legal review-prep — not legal advice",navLabel:"Legal consent",subtitle:"Only relevant if you picked the legal-review-prep pack. It provides templates and general information, never legal advice — check the box to acknowledge before it activates. Leave unchecked otherwise; the pack stays inactive.",kind:"form",paths:["legal_review_prep.acknowledged"]}],Tr=[{id:"identity",title:"Editor and tooling",navLabel:"Editor",subtitle:"IDE goes into .agent-settings.yml so the agent opens files in the right tool. rtk presence is auto-detected (see the rtk row). Your name lives in .agent-user.yml (later step).",kind:"form",paths:["personal.ide","personal.open_edited_files"]},{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:"Rule loading, budgets & model tier",navLabel:"Cost & rules",subtitle:"Three distinct levers: rule_loading_tier (how many behavioural rules load — token footprint), cost.budgets (optional USD spending ceilings), and model.auto_switch (per-skill model tier). They are independent — the rule tier is not a spend lever and the model tier is not a rule lever.",kind:"form",paths:["rule_loading_tier","cost.budgets.daily","cost.budgets.weekly","cost.budgets.monthly","cost.enforcement","model.auto_switch","tokens.rich_skills"]},{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"}];function il(e={}){return e.extended===!0?[Ar,Cr,...jc,...Tr]:[Ar,Cr,...Tr]}function Hn(e,n={}){const i=il(n),r=Math.max(0,Math.min(i.length-1,e));return i[r]}function Hc(e,n){const i={type:"object",properties:{},...e.description!==void 0?{description:e.description}:{}},r=i.properties,t=e.properties??{};for(const l of n){const o=l.split(".").filter(H=>H.length>0);if(o.length===0)continue;const[c,u,d]=o;if(c===void 0)continue;const f=t[c];if(f===void 0)continue;if(u===void 0){r[c]=f;continue}const s=f.properties?.[u];if(s===void 0)continue;const p=r[c]??{type:"object",properties:{},...f.description!==void 0?{description:f.description}:{}},_=p.properties??={};if(d===void 0){_[u]=s,r[c]=p;continue}const g=s.properties?.[d];if(g===void 0)continue;const k=_[u]??{type:"object",properties:{},...s.description!==void 0?{description:s.description}:{}},m=k.properties??={};m[d]=g,_[u]=k,r[c]=p}return i}function Bc({current:e,total:n}){const i=Math.max(1,n),r=Math.max(0,Math.min(i-1,e)),t=Array.from({length:i},(o,c)=>c<=r),l=Math.round((r+1)/i*100);return a("div",{class:"ac-wizard__progress",role:"progressbar","aria-valuenow":r+1,"aria-valuemin":1,"aria-valuemax":i,"aria-valuetext":`Step ${r+1} of ${i} (${l}%)`,children:t.map((o,c)=>a("span",{class:`ac-wizard__progress-segment${o?" ac-wizard__progress-segment--filled":""}`,"aria-hidden":"true"},c))})}function Uc({step:e,index:n,total:i}){return a("header",{class:"ac-page__header ac-wizard__header",children:[a("p",{class:"ac-wizard__step-count",children:["Step ",n+1," of ",i]}),a("div",{class:"ac-wizard__header-text",children:[a("h1",{children:e.title}),a("p",{class:"ac-wizard__subtitle",children:e.subtitle})]}),a(Bc,{current:n,total:i})]})}function Wc(e){const n=e.canFinish??!0,i=e.completed??!1;return a("div",{class:"ac-form__actions ac-wizard__nav",children:[a("button",{type:"button",class:"ac-button",disabled:!e.canGoPrev||e.busy,onClick:e.onPrev,children:"Back"}),e.canSkip&&e.onSkip!==void 0?a("button",{type:"button",class:"ac-button ac-wizard__skip",disabled:e.busy,onClick:e.onSkip,children:e.skipLabel??"Skip"}):null,e.isLast?i?null:a("button",{type:"button",class:"ac-button ac-button--primary",disabled:e.busy||!n,onClick:e.onFinish,children:e.busy?"Saving…":"Finish & save"}):a("button",{type:"button",class:"ac-button ac-button--primary",disabled:!e.canGoNext||e.busy,onClick:e.onNext,children:e.nextLabel??"Next"})]})}function rl(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 Yc(e,n){return e.kind==="userMd"?n==="body"||n.startsWith("body."):rl(e,n)}function zc(e,n){for(const i of Object.keys(n.errors))if(Yc(e,i))return!0;return!1}function qc(e,n){if(zc(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=>rl(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 Kc(e){const n=e.steps.filter((i,r)=>r!==e.currentIndex);return a(Z,{children:a("nav",{class:"ac-wizard__review-nav","aria-label":"Jump back to a step",children:[a("p",{class:"ac-wizard__review-nav-label",children:"Jump back to a step:"}),a("ul",{class:"ac-wizard__review-nav-list",children:n.map(i=>{const r=e.steps.indexOf(i),t=qc(i,e),l=t.tone==="error"?"ac-wizard__review-nav-button ac-wizard__review-nav-button--error":"ac-wizard__review-nav-button";return a("li",{children:a("button",{type:"button",class:l,onClick:()=>{e.onJump(r)},children:[a("span",{class:"ac-wizard__review-nav-index",children:r+1}),a("span",{class:"ac-wizard__review-nav-text",children:i.navLabel}),t.label!==""?a("span",{class:`ac-wizard__review-nav-status ac-wizard__review-nav-status--${t.tone}`,children:t.label}):null]})},i.id)})})]})})}function Gc(e){const n=e.abortedAt??"unknown time",i=e.abortNote??"no further detail recorded",r=e.writesSinceRollback;return a("aside",{class:"ac-banner ac-banner--recovery",role:"alert",children:[a("strong",{children:"Previous install was interrupted."}),a("p",{children:["Aborted at ",a("code",{children:n})," — ",i,". ",r," write",r===1?"":"s"," landed before the abort marker."]}),a("p",{children:"Pick how to recover before continuing. Resume reopens the wizard fresh, Rollback discards the abort state, Ignore hides this banner without touching the log."}),a("div",{class:"ac-banner__actions",children:[a("button",{type:"button",disabled:e.busy,onClick:()=>e.onResume(),children:"Resume install"}),a("button",{type:"button",disabled:e.busy,onClick:()=>e.onRollback(),children:"Rollback"}),a("button",{type:"button",disabled:e.busy,onClick:()=>e.onIgnore(),children:"Ignore"})]})]})}function Vc(){return a("section",{class:"ac-continue-screen","aria-labelledby":"ac-continue-title",children:[a("h2",{id:"ac-continue-title",children:"Install complete — continue with setup?"}),a("p",{children:"Your install selections (AI tools, roles, capability packs) are captured. Use the footer to continue:"}),a("ul",{children:[a("li",{children:[a("strong",{children:"Next"})," — go through the remaining personalisation steps: editor + tooling, personality, cost profile, roadmap & quality, memory, your",a("code",{children:" .agent-user.yml"}),", and finally the project module roots."]}),a("li",{children:[a("strong",{children:"Finish install here"})," — skip the rest and write ",a("code",{children:".agent-settings.yml"})," with the install-only selections. You can re-run ",a("code",{children:"agent-config setup"}),"later to pick up the personalisation steps."]})]})]})}function Jc(e){const n=e.version??"unknown";return a("section",{class:"ac-backup-screen","aria-labelledby":"ac-backup-title",children:[a("h2",{id:"ac-backup-title",children:"Existing v3 install detected"}),a("p",{children:["Found a v3.x install at ",a("code",{children:e.sourcePath})," ","(VERSION: ",a("code",{children:n}),"). v4 is a hard-cut release with no auto-migration — settings, identity, and history layouts changed. The wizard can back up the v3 tree before writing the v4 layout so you can roll back manually if needed."]}),e.error!==null?a("p",{class:"ac-banner ac-banner--error",children:["Backup failed: ",e.error]}):null,a("ul",{children:[a("li",{children:[a("strong",{children:"Backup v3 and proceed"})," — copies the tree to ",a("code",{children:e.backupTarget}),", then runs the v4 install. Restore later with",a("code",{children:[" mv ",e.backupTarget," ",e.sourcePath]}),"."]}),a("li",{children:[a("strong",{children:"Abort, uninstall v3 first"})," — closes the wizard. You decide what to keep."]})]}),a("div",{class:"ac-backup-screen__actions",children:[a("button",{type:"button",class:"ac-button ac-button--primary",disabled:e.busy,onClick:()=>e.onBackupAndProceed(),children:e.busy?"Backing up…":"Backup v3 and proceed"}),a("button",{type:"button",class:"ac-button",disabled:e.busy,onClick:()=>e.onAbort(),children:"Abort, uninstall v3 first"})]})]})}const tl=v(!1),Le=v(null),P=v(null),xn=v(!1),Sn=v(!1),oe=v(0),Pi=v(null),j=v({}),ll=v({}),al=v(0),ye=v({}),E=v(null),ie=v(null),Mi=v(!1),hi=v(!1),Bn=v(!1),ol=v({}),Un=v([]);v("global");const Di=v(!1),D=v(!1),Qc=v(!1),An=v(!1),Cn=v(null),ji=v([]),Tn=v({}),En=v(!0),On=v(""),Nn=v("agents");v(!1);const cl=v(null),Zc=[{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"}],Er=v(!1),Fe=v(!1),re=v(null),Hi=v([]),Bi=v([]),Wn=v([]),te=v({}),Or=v(!1),Zn=v(!1),sl=v({}),Nr=v(!1),ul=v(null),dl=v(null),fl=v("https://github.com/event4u-app/rtk");v(!1);v(null);v([]);v({});v({});const ce=v({}),G=v({}),vi=v(!1),Ir=v(!1);v({});v(null);v(null);v(!1);v(null);const In=v(null),pl=v(!1),_i=v(null),mi=v(!1),gi=v(!1),yi=v(null),Re=v(null),an=v(!1);function hl(){return il({extended:D.value})}function We(){return hl().length}function Xc(e){return e??new Date().toISOString()}function Ui(e){return Math.max(0,Math.min(We()-1,e))}function es(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 ns(){try{return await w("/api/v1/settings")}catch(e){if(e instanceof R&&e.status===404&&e.body.error?.code==="NOT_FOUND"){const n=e.body;if(n.defaults!==void 0&&n.schema!==void 0)return{values:n.defaults,lastModified:n.lastModified??0,path:n.path??".agent-settings.yml",schema:n.schema};const i=await w("/api/v1/schema");return{values:{},lastModified:0,path:".agent-settings.yml",schema:i.settings}}throw e}}async function is(){try{const e=await w("/api/v1/install/recovery");In.value=e.incomplete?e:null}catch{In.value=null}}async function rs(){try{const e=await w("/api/v1/install/legacy-v3");_i.value=e.present?e:null}catch{_i.value=null}}async function ts(){gi.value=!0,yi.value=null;try{await w("/api/v1/install/backup-v3",{method:"POST"}),mi.value=!0}catch(e){yi.value=e instanceof R?J(e.body.error??{code:"UNKNOWN",message:e.message}):e instanceof Error?e.message:String(e)}finally{gi.value=!1}}async function Xn(e){try{await w("/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}In.value=null,pl.value=!0}async function ls(){Le.value=null;try{is(),rs();const[e,n]=await Promise.all([w("/api/v1/wizard/state"),ns()]);Pi.value=es(n.schema),al.value=n.lastModified,ll.value=n.values,ol.value=n.legacyHints??{},D.value=e.extendedSteps===!0,Re.value=e.wizardMode??null;const i=Object.keys(e.partial??{});j.value=i.length>0?{...n.values,...e.partial}:n.values,oe.value=Ui(e.step),Di.value=!1,tl.value=!0;const r=Hn(oe.value,{extended:D.value});(r.kind==="welcome"||r.kind==="userMd"||r.kind==="review")&&vl(),(r.kind==="roles"||r.kind==="aiTools"||r.kind==="packs")&&_l(),r.kind==="aiTools"&&ml(),r.id==="identity"&&gl(),r.kind==="review"&&yl()}catch(e){e instanceof R?Le.value=J(e.body.error??{code:"UNKNOWN",message:e.message}):Le.value=e instanceof Error?e.message:String(e)}}function as(e,n){return e.identity.name.trim()!==""?e:{...e,identity:{...e.identity,name:n}}}async function vl(){if(!hi.value)try{const e=await w("/api/v1/user-md");if(Mi.value=e.exists,e.exists&&e.identity!==null){const n=sr(e.identity);ie.value=n,E.value=n}else{let n;try{const r=await w("/api/v1/user-md/template");n=sr(Dc(r.body))}catch{n=pt()}const i=ol.value.user_name;typeof i=="string"&&i.trim()!==""&&(n=as(n,i)),ie.value=n,E.value=n}}catch(e){P.value={message:e instanceof Error?e.message:String(e),tone:"error"}}finally{hi.value=!0}}const os=new Set(["python"]);async function _l(){if(!(Er.value||Fe.value)){Fe.value=!0,re.value=null;try{const[e,n]=await Promise.all([w("/api/v1/wizard/manifest"),w("/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,cluster:l.cluster??void 0,workspaces:l.workspaces}));Hi.value=i,Wn.value=(e.workspaces??[]).filter(l=>l.id!=="agent-config-maintainer").map(l=>({id:l.id,label:l.label??l.id,description:l.description??"",default_packs:l.default_packs??[],optional_packs:l.optional_packs??[],...l.example_roles!==void 0?{example_roles:l.example_roles}:{}}));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)).filter(l=>!os.has(l));Bi.value=t}catch(e){e instanceof R?re.value=J(e.body.error??{code:"UNKNOWN",message:e.message}):re.value=e instanceof Error?e.message:String(e)}finally{Fe.value=!1,Er.value=!0}}}async function ml(){if(!(Or.value||Zn.value)){Zn.value=!0;try{const e=await w("/api/v1/wizard/detect-tools"),n=e.tools??{},i=e.configured??[];if(sl.value=n,Object.keys(ce.value).length===0){const r={};if(i.length>0)for(const t of i)r[t]=!0;else for(const[t,l]of Object.entries(n))l&&(r[t]=!0);ce.value=r}}catch{}finally{Zn.value=!1,Or.value=!0}}}async function gl(){if(!Nr.value){Nr.value=!0;try{const e=await w("/api/v1/wizard/detect-rtk"),n=e.installed===!0;ul.value=n,dl.value=e.installCommand??null,typeof e.repo=="string"&&(fl.value=e.repo);const i=j.value.personal??{};j.value={...j.value,personal:{...i,rtk_installed:n}}}catch{}}}async function cs(e,n){try{await w("/api/v1/wizard/state",{method:"POST",body:{step:e,totalSteps:We(),partial:n,startedAt:Xc(null)}})}catch(i){P.value={message:i instanceof Error?i.message:String(i),tone:"error"}}}async function yl(){Sn.value=!0;try{const e=await w("/api/v1/settings/diff",{method:"POST",body:{values:j.value,ifUnmodifiedSince:al.value}});Un.value=e.changes,ye.value={}}catch(e){e instanceof R?(ye.value=ct(e.body.error??{message:e.message}),P.value={message:J(e.body.error??{code:"UNKNOWN",message:e.message}),tone:"error"}):P.value={message:e instanceof Error?e.message:String(e),tone:"error"}}finally{Sn.value=!1}}function Ln(){return Bn.value?!1:E.value===null||ie.value===null?E.value!==ie.value:JSON.stringify(E.value)!==JSON.stringify(ie.value)}async function Te(e){const n=Ui(e);await cs(n,j.value),oe.value=n,P.value=null;const i=Hn(n,{extended:D.value});(i.kind==="welcome"||i.kind==="userMd")&&vl(),(i.kind==="roles"||i.kind==="aiTools"||i.kind==="packs")&&_l(),i.kind==="packs"&&kl(),i.kind==="aiTools"&&ml(),i.id==="identity"&&gl(),i.kind==="review"&&yl()}function bl(){const e=G.value,n=new Map(Hi.value.map(l=>[l.id,l])),i=Object.entries(e).filter(([,l])=>l===!0).map(([l])=>l).filter(l=>{const o=n.get(l)?.cluster;return o===void 0||e[o]===!0}),r=new Set,t=l=>{if(!r.has(l)){r.add(l);for(const o of n.get(l)?.requires_hint??[])t(o)}};for(const l of i)t(l);return[...r].sort()}function kl(){if(vi.value)return;const e=Object.entries(te.value).filter(([,r])=>r===!0).map(([r])=>r),n=new Map(Wn.value.map(r=>[r.id,r])),i={};for(const r of e)for(const t of n.get(r)?.default_packs??[])i[t]=!0;for(const r of Bi.value)i[r]=!0;G.value=i}function ss(){const e=Object.entries(ce.value).filter(([,r])=>r===!0).map(([r])=>r);if(e.length===0)return null;const n=bl();return{schema_version:"wizard-v2",tools:e,packs:n,settings:j.value}}async function us(){xn.value=!0,P.value=null;try{const e={settings:j.value},n=Object.entries(te.value).filter(([,u])=>u===!0).map(([u])=>u),i=E.value!==null&&typeof E.value.identity?.name=="string"&&E.value.identity.name.trim().length>0;E.value!==null&&i&&(Ln()||n.length>0)&&(e.identity=n.length>0?{...E.value,role:n}:E.value);const r=await w("/api/v1/wizard/finish",{method:"POST",body:e}),t="You can close this browser window now.",l=r.dryRun===!0?"Dry-run complete — no files written. Settings would be saved.":Array.isArray(r.writtenPaths)?`Saved (${r.writtenPaths.join(", ")}). Wizard complete.`:"Wizard complete.",o=D.value?ss():null;let c="";if(o!==null)try{let u=null;await Ql("/api/v1/wizard/apply",o,s=>{s.type==="error"&&(u=typeof s.message=="string"?s.message:"install failed")});const d=o.tools.length,f=o.packs.length;c=u!==null?` Installer failed: ${u}. Settings were saved; re-run the wizard to retry.`:` Installer applied ${d} tool${d===1?"":"s"}`+(f>0?` and ${f} pack${f===1?"":"s"}.`:".")}catch(u){c=` Installer bridge failed: ${u instanceof R?J(u.body.error??{code:"UNKNOWN",message:u.message}):u instanceof Error?u.message:String(u)}. Settings were saved; re-run the wizard to retry the install plan.`}P.value={message:`${l}${c} ${t}`,tone:"success"},oe.value=Ui(We()-1),ll.value=j.value,ie.value=Ln()?E.value:ie.value,Un.value=[],Di.value=!0}catch(e){e instanceof R?(ye.value=ct(e.body.error??{message:e.message}),P.value={message:J(e.body.error??{code:"UNKNOWN",message:e.message}),tone:"error"}):P.value={message:e instanceof Error?e.message:String(e),tone:"error"}}finally{xn.value=!1}}const ds=["de","en","en-US","en-GB","fr","es","it","nl","pt","pt-BR"];function fs(){if(Ir.value)return;const e=E.value;if(e===null)return;Ir.value=!0;let n=e;if(e.identity.name.trim()===""){const i=_n.value?.systemUser;i!==void 0&&i.trim()!==""&&(n={...n,identity:{...n.identity,name:i}})}if(!Mi.value&&typeof navigator<"u"){const i=(navigator.language||"").split("-")[0];i.length>=2&&(n={...n,language:i})}n!==e&&(E.value=n)}function ps(){const e=E.value;if(Ge(()=>{fs()},[e]),e===null)return a("p",{children:"Loading…"});const n=i=>{E.value={...i,last_updated:new Date().toISOString().slice(0,10)},Bn.value=!1};return a("div",{class:"ac-wizard-step-stub ac-wizard__module-fields",children:[a("p",{children:["Tell the agent who you are. We pre-filled what we could detect — adjust freely. Stored in ",a("code",{children:".agent-user.yml"}),"."]}),a("div",{class:"ac-field",children:[a("label",{class:"ac-field__label",for:"welcome-name",children:"Name"}),a("input",{class:"ac-input",id:"welcome-name",type:"text",placeholder:"How should the agent address you?",value:e.identity.name,onInput:i=>n({...e,identity:{...e.identity,name:i.currentTarget.value}})})]}),a("div",{class:"ac-field",children:[a("label",{class:"ac-field__label",for:"welcome-lang",children:"Language"}),a("input",{class:"ac-input",id:"welcome-lang",type:"text",list:"welcome-lang-list",placeholder:"BCP-47 code, e.g. de, en, en-US",value:e.language,onInput:i=>n({...e,language:i.currentTarget.value})}),a("datalist",{id:"welcome-lang-list",children:ds.map(i=>a("option",{value:i},i))})]})]})}function hs(){const e=ce.value,n=sl.value;return a("div",{class:"ac-wizard-step-stub",children:[a("p",{children:"Pick the AI tools you use. Tools detected on this machine are pre-selected on first run. The installer wires each selected tool's surface (skills, rules, commands) on apply; you can change this list later by re-running the wizard."}),a("ul",{class:"ac-wizard__tool-list",children:Zc.map(i=>{const r=n[i.id]===!0;return a("li",{class:"ac-wizard__tool-row",children:[a("label",{class:"ac-wizard__tool-label",children:[a("input",{type:"checkbox",checked:e[i.id]??!1,onChange:t=>{const l=t.currentTarget.checked;ce.value={...e,[i.id]:l}}})," ",i.label]}),a("span",{class:`ac-badge ${r?"ac-badge--installed":"ac-badge--missing"}`,title:r?"Detected on this machine":"Not detected on this machine",children:r?"installed":"not installed"})]},i.id)})})]})}function vs(){if(Fe.value)return a("p",{children:"Loading roles…"});if(re.value!==null)return a("div",{class:"ac-wizard-step-stub",children:a("p",{class:"ac-banner ac-banner--error",children:["Discovery failed: ",re.value]})});const e=te.value,n=Wn.value,i=(r,t)=>{te.value={...te.value,[r]:t},kl()};return a("div",{class:"ac-wizard-step-stub",children:[a("p",{children:["Pick the areas you work in. We use them to recommend capability packs on the next step, and they become your roles in",a("code",{children:" .agent-user.yml"}),"."]}),n.length===0?a("p",{children:a("em",{children:"No roles available in the manifest."})}):a("div",{class:"ac-wizard__pack-grid",children:n.map(r=>a("section",{class:"ac-pack-tile",children:[a("label",{class:"ac-pack-tile__head",children:[a("input",{type:"checkbox",checked:e[r.id]??!1,onChange:t=>{i(r.id,t.currentTarget.checked)}}),a("span",{class:"ac-pack-tile__title",children:r.label})]}),(r.example_roles??[]).length>0?a("p",{class:"ac-pack-tile__role",children:["e.g. ",(r.example_roles??[]).join(", ")]}):null,r.description!==""?a("p",{class:"ac-pack-tile__desc",children:r.description}):null]},r.id))})]})}function _s(){if(Fe.value)return a("p",{children:"Loading discovery manifest…"});if(re.value!==null)return a("div",{class:"ac-wizard-step-stub",children:[a("p",{class:"ac-banner ac-banner--error",children:["Discovery failed: ",re.value]}),a("p",{children:"The manifest endpoint is gated on extended-mode. Re-run the server with extended steps enabled to populate this list."})]});const e=G.value,n=new Set(Bi.value),i=new Map(Wn.value.map(s=>[s.id,s.label])),r=te.value,t=s=>{const h=(s??[]).filter(p=>p!=="agent-config-maintainer");return h.length===0?null:a("span",{class:"ac-pack-tile__ws",children:h.map(p=>a("span",{class:`ac-badge ac-badge--ws${r[p]===!0?" ac-badge--ws-active":""}`,title:r[p]===!0?"Matches a role you picked":"Workspace / area",children:i.get(p)??p},p))})},l=Hi.value.filter(s=>s.id!=="engineering-base"),o=new Map;for(const s of l)if(s.cluster!==void 0){const h=o.get(s.cluster)??[];h.push(s),o.set(s.cluster,h)}const c=new Set(l.filter(s=>s.cluster!==void 0).map(s=>s.id)),u=l.filter(s=>!c.has(s.id)),d=(s,h)=>{vi.value=!0,G.value={...G.value,[s]:h}},f=(s,h)=>{vi.value=!0;const p={...G.value,[s]:h};if(h)for(const _ of o.get(s)??[])p[_.id]===void 0&&(p[_.id]=!0);G.value=p};return a("div",{class:"ac-wizard-step-stub",children:[a("p",{children:"Pick the capability packs to install. Auto-detected packs are pre-selected; engineering hygiene is included automatically when a pack needs it. A language tile expands to its frameworks — turn the language off to skip them all."}),u.length===0?a("p",{children:a("em",{children:"No packs available in the manifest."})}):a("div",{class:"ac-wizard__pack-grid",children:u.map(s=>{const h=o.get(s.id)??[],p=h.length>0,_=e[s.id]??!1;return a("section",{class:"ac-pack-tile",children:[a("label",{class:"ac-pack-tile__head",children:[a("input",{type:"checkbox",checked:_,onChange:g=>{const b=g.currentTarget.checked;p?f(s.id,b):d(s.id,b)}}),a("span",{class:"ac-pack-tile__title",children:s.label}),n.has(s.id)?a("span",{class:"ac-badge ac-badge--installed",children:"auto-detected"}):null]}),t(s.workspaces),s.description!==""?a("p",{class:"ac-pack-tile__desc",children:s.description}):null,p?a("fieldset",{class:"ac-pack-tile__children",disabled:!_,children:h.map(g=>a("label",{class:"ac-pack-tile__child",children:[a("input",{type:"checkbox",checked:e[g.id]??!1,disabled:!_,onChange:b=>{d(g.id,b.currentTarget.checked)}}),a("span",{children:g.label})]},g.id))}):null]},s.id)})})]})}function ms(){const e=ul.value,n=dl.value;return a("div",{class:"ac-rtk-row",children:[a("div",{class:"ac-rtk-row__head",children:[a("span",{class:"ac-rtk-row__label",children:["rtk ",a("small",{children:"(Rust Token Killer)"})]}),e===null?a("span",{class:"ac-badge ac-badge--missing",children:"detecting…"}):e?a("span",{class:"ac-badge ac-badge--installed",children:"installed"}):a("span",{class:"ac-badge ac-badge--missing",children:"not installed"})]}),e===!1?a("div",{class:"ac-rtk-row__install",children:[a("p",{class:"ac-field__description",children:"rtk wraps verbose CLI output for ~60–90% token savings. Install it, then re-open the wizard to pick up detection:"}),n!==null?a("code",{class:"ac-rtk-row__cmd",children:n}):null,a("a",{class:"ac-button",href:fl.value,target:"_blank",rel:"noreferrer noopener",children:"Open rtk repo"})]}):null]})}function gs(){const e=Hn(oe.value,{extended:D.value});if(D.value&&Re.value==="install"&&e.id==="identity"&&!an.value)return a(Vc,{});if(e.kind==="form"){const i=Hc(Pi.value,e.paths??[]);return a(Z,{children:[e.id==="identity"?a(ms,{}):null,a(sa,{schema:i,values:j.value,errors:ye.value,onChange:r=>{j.value=r}})]})}return e.kind==="userMd"?!hi.value||E.value===null?a("p",{children:"Loading .agent-user.yml…"}):a(pa,{value:E.value,errors:ye.value,hideRole:D.value&&Re.value==="install",hideIdentityBasics:D.value&&Re.value==="install",onChange:i=>{E.value=i,Bn.value=!1}}):e.kind==="welcome"?a(ps,{}):e.kind==="aiTools"?a(hs,{}):e.kind==="roles"?a(vs,{}):e.kind==="packs"?a(_s,{}):a(Kc,{steps:hl(),currentIndex:oe.value,changes:Un.value,errors:ye.value,userMdChanged:Ln(),userMdAction:Mi.value?"replace":"create",loading:Sn.value,onJump:i=>{Te(i)},selectedToolsCount:Object.values(ce.value).filter(Boolean).length,selectedPacksCount:Object.values(G.value).filter(Boolean).length})}function ei({path:e}){if(Ge(()=>{ls()},[]),!tl.value||Pi.value===null)return a("div",{class:"ac-page",children:[a("h1",{children:"Setup wizard"}),Le.value!==null?a("p",{class:"ac-banner ac-banner--error",children:Le.value}):a("p",{children:"Loading…"})]});const n=oe.value,i=We(),r=Hn(n,{extended:D.value}),t=n===i-1,l=r.kind==="aiTools"&&Object.values(ce.value).filter(Boolean).length===0||r.kind==="roles"&&Object.values(te.value).filter(Boolean).length===0||r.kind==="packs"&&bl().length===0,o=D.value&&Re.value==="install"&&r.id==="identity"&&!an.value,c=In.value,u=c!==null&&!pl.value,d=_i.value;return d!==null&&d.present&&!mi.value?a("div",{class:"ac-page",children:a(Jc,{sourcePath:d.path,backupTarget:d.backupTarget,version:d.version,busy:gi.value,error:yi.value,onBackupAndProceed:()=>{ts()},onAbort:()=>{P.value={tone:"info",message:"Aborted. Uninstall v3 manually, then re-run `agent-config install`."},mi.value=!0}})}):a("div",{class:"ac-page",children:[a(Uc,{step:r,index:n,total:i}),u?a(Gc,{abortedAt:c.abortedAt,abortNote:c.abortNote,writesSinceRollback:c.writesSinceRollback,busy:xn.value,onResume:()=>{Xn("resume")},onRollback:()=>{Xn("rollback")},onIgnore:()=>{Xn("ignore")}}):null,P.value!==null?a("p",{class:`ac-banner${P.value.tone==="error"?" ac-banner--error":""}`,children:P.value.message}):null,a("div",{class:"ac-wizard__step",children:a(gs,{})}),l?a("p",{class:"ac-wizard__hint",children:r.kind==="aiTools"?"Select at least one AI tool to continue.":r.kind==="roles"?"Select at least one role to continue.":"Select at least one capability pack to continue."}):null,a(Wc,{canGoPrev:n>0,canGoNext:!t&&!l,canSkip:o||r.kind==="userMd",skipLabel:o?"Finish install here":"Skip",isLast:t,busy:xn.value||Sn.value,canFinish:Un.value.length>0||Ln(),completed:Di.value,onPrev:()=>{Te(n-1)},onNext:()=>{if(o){an.value=!0;return}Te(n+1)},onSkip:()=>{if(o){an.value=!0,Te(We()-1);return}Bn.value=!0,Te(n+1)},onFinish:()=>{us()}})]})}const Fn=v(!1),be=v(null);async function ys(){An.value=!0,Cn.value=null;try{const e=await w("/api/v1/modules/detect");ji.value=e.candidates,cl.value=e.project_root;const n={};for(const i of e.candidates)n[i.path]=!0;Tn.value=n,En.value=e.proposed_block.enabled,On.value=e.proposed_block.namespace_template??"",Nn.value=e.proposed_block.agent_folder??"agents"}catch(e){Cn.value=e instanceof R?J(e.body.error??{code:"UNKNOWN",message:e.message}):e instanceof Error?e.message:String(e)}finally{An.value=!1,Qc.value=!0}}function bs(){const e=new Set(ji.value.map(r=>r.path)),n=Tn.value,i=Object.keys(n).filter(r=>n[r]===!0&&e.has(r));return{enabled:En.value,root_paths:i,namespace_template:On.value,agent_folder:Nn.value||"agents"}}async function ks(){Fn.value=!0,be.value=null;try{const e=await w("/api/v1/modules/apply",{method:"POST",body:bs()});be.value={message:e.appliedTo!==null?`Saved project settings to ${e.appliedTo}.`:`Saved project settings to ${e.projectRoot}.`,tone:"success"}}catch(e){const n=e instanceof R?J(e.body.error??{code:"UNKNOWN",message:e.message}):e instanceof Error?e.message:String(e);be.value={message:`Could not save project settings: ${n}`,tone:"error"}}finally{Fn.value=!1}}function ws(){if(An.value)return a("p",{children:"Detecting module roots…"});if(Cn.value!==null)return a("p",{class:"ac-banner ac-banner--error",children:["Module detection failed: ",Cn.value]});const e=ji.value,n=Tn.value,i=cl.value;return a("div",{class:"ac-section",children:[i!==null?a("p",{class:"ac-section__description",children:["Scanning ",a("code",{children:i}),". Pick which detected roots the agent should treat as modules. These write to",a("code",{children:" .agent-project-settings.yml"})," in this repo only."]}):null,a("label",{children:[a("input",{type:"checkbox",checked:En.value,onChange:r=>{En.value=r.currentTarget.checked}})," ","Enable module discovery (writes ",a("code",{children:"modules.enabled"}),")"]}),e.length===0?a("p",{children:[a("em",{children:"No module roots detected."})," The scan found no common module layouts (Laravel ",a("code",{children:"app/Modules/"}),", Symfony",a("code",{children:" src/Module/"}),", Node ",a("code",{children:"packages/"}),", Python",a("code",{children:" src/"}),", Go ",a("code",{children:"internal/"}),")."]}):a("ul",{style:"list-style: none; padding-left: 0;",children:e.map(r=>a("li",{children:a("label",{children:[a("input",{type:"checkbox",checked:n[r.path]??!1,onChange:t=>{const l=t.currentTarget.checked;Tn.value={...n,[r.path]:l}}})," ",a("code",{children:r.path})," — ",r.stack," ",a("small",{children:["(",r.confidence," confidence)"]})]})},r.path))}),a("div",{class:"ac-wizard__module-fields",children:[a("div",{class:"ac-field",children:[a("label",{class:"ac-field__label",for:"ac-modules-namespace",children:"Namespace template"}),a("input",{id:"ac-modules-namespace",class:"ac-input",type:"text",value:On.value,placeholder:"e.g. App\\\\Modules\\\\{ModuleName}\\\\App",onInput:r=>{On.value=r.currentTarget.value}}),a("span",{class:"ac-field__description",children:"How a module path maps to its namespace. Leave blank to skip namespacing."})]}),a("div",{class:"ac-field",children:[a("label",{class:"ac-field__label",for:"ac-modules-agent-folder",children:"Agent folder"}),a("input",{id:"ac-modules-agent-folder",class:"ac-input",type:"text",value:Nn.value,placeholder:"agents",onInput:r=>{Nn.value=r.currentTarget.value}}),a("span",{class:"ac-field__description",children:["Folder name that holds per-module agent docs (default ",a("code",{children:"agents"}),")."]})]})]})]})}function xs(){return Ge(()=>{ys()},[]),a("div",{class:"ac-page",children:[a("header",{class:"ac-page__header",children:[a("h1",{children:"Project settings"}),a("p",{class:"ac-section__description",children:["Configuration scoped to this repository — written to",a("code",{children:" .agent-project-settings.yml"}),", not the global tree."]})]}),be.value!==null?a("p",{class:`ac-banner ac-banner--${be.value.tone==="success"?"success":"error"}`,children:be.value.message}):null,a("section",{class:"ac-section",children:[a("h2",{class:"ac-section__title",children:"Modules"}),a(ws,{})]}),a("div",{class:"ac-form__actions ac-wizard__nav",children:a("button",{type:"button",class:"ac-button ac-button--primary",disabled:Fn.value||An.value,onClick:()=>{ks()},children:Fn.value?"Saving…":"Save project settings"})})]})}const on=v([]),Ye=v([]),bi=v([]),ki=v([]),Rn=v(null),wl=v(!1),$e=v(null),M=v(null),ni=v("plain"),$n=v({}),xl=v([]),Lr={"claude-code":"Claude Code",codex:"Codex",gemini:"Gemini"};function Ss(){try{return globalThis.sessionStorage?.getItem("ac-workspace-host")??"claude-code"}catch{return"claude-code"}}const Wi=v(Ss());function As(e){Wi.value=e;try{globalThis.sessionStorage?.setItem("ac-workspace-host",e)}catch{}}const ze=v([]),W=v(null),ge=v({}),le=v(!1),qe=v(null),ee=v(""),Pe=v(!1),Yn=v(!1),wi=v(null),ae=v(null),Ke=v([]),cn=v(new Set),Sl="claude-code",Fr=2e3;async function Cs(){$e.value=null;try{const[e,n,i,r,t,l]=await Promise.all([w("/api/v1/workspace/roles"),w("/api/v1/workspace/sessions?limit=20"),w("/api/v1/workspace/knowledge?limit=20"),w("/api/v1/workspace/documents?limit=20"),w("/api/v1/workspace/drive-health").catch(()=>({health:{}})),w("/api/v1/workspace/hosts").catch(()=>({hosts:[]}))]);on.value=e.roles,Ye.value=n.sessions,bi.value=i.chunks,ki.value=r.documents,$n.value=t.health??{},xl.value=l.hosts??[],wl.value=!0}catch(e){e instanceof R?$e.value=e.body?.error?.message??e.message:$e.value=e instanceof Error?e.message:String(e)}}async function Ts(e,n){try{const i=await w(`/api/v1/workspace/roles/${e}/tasks`);ze.value=i.tasks}catch{ze.value=n}}async function Yi(e){ae.value=e,cn.value=new Set;try{const n=await w(`/api/v1/workspace/sessions/${e}`);Ke.value=Array.isArray(n.log)?n.log:[]}catch{Ke.value=[]}}async function Es(e){M.value=null,Yn.value=!1,ee.value="",W.value=null,await Yi(e)}async function Al(e,n,i){M.value=null,le.value=!0,ee.value="",Yn.value=!1,wi.value={role:e,task:n,inputs:i};try{const r=await w("/api/v1/workspace/launch",{method:"POST",body:{role:e,task:n,inputs:i,host:Wi.value}});qe.value=r,M.value=Cl(r),W.value=null,await Yi(r.id);const t=await w("/api/v1/workspace/sessions?limit=20");Ye.value=t.sessions,await zi()}catch(r){qe.value=null,r instanceof R?M.value=r.body?.error?.message??r.message:M.value=r instanceof Error?r.message:String(r)}finally{le.value=!1}}async function Os(e,n){if(!(n.trim()===""||Pe.value)){Pe.value=!0,M.value=null;try{const i=await w(`/api/v1/workspace/sessions/${e}/continue`,{method:"POST",body:{prompt:n}});qe.value=i,M.value=Cl(i),i.driven&&(ee.value=""),await Yi(e);const r=await w("/api/v1/workspace/sessions?limit=20");Ye.value=r.sessions,await zi()}catch(i){i instanceof R&&i.status===410?(Yn.value=!0,M.value="Host session expired — start a new conversation."):i instanceof R?M.value=i.body?.error?.message??i.message:M.value=i instanceof Error?i.message:String(i)}finally{Pe.value=!1}}}async function zi(){try{const e=await w("/api/v1/workspace/drive-health");$n.value=e.health??{}}catch{}}async function Ns(e){try{await w(`/api/v1/workspace/drive-health/${e}/reset`,{method:"POST"}),await zi()}catch{}}function Cl(e){return e.driven?e.recovered===!0?`Host recovered — drove the turn for ${e.role} · ${e.task}.`:`Drove the turn for ${e.role} · ${e.task}.`:e.host_killed===!0?`Host ${Sl} is paused after repeated failures — handed off to the inbox.`:e.error_kind==="render-error"?`Couldn't fill the prompt: ${e.error??"missing input"}.`:e.reason==="no-prompt-for-task"?"Recorded the session — this task has no runnable prompt yet.":typeof e.handoff=="string"?`Prepared a hand-off — open ${e.handoff} and paste it into your host.`:`Recorded the session ${e.id} (${e.role} · ${e.task}).`}function Is({role:e}){const n=Rn.value===e.slug;return a("button",{type:"button",class:`ac-workspace__role${n?" ac-workspace__role--active":""}`,"aria-current":n?"true":void 0,"aria-label":`Pick role ${e.display_name}`,onClick:()=>{Rn.value=e.slug,M.value=null,qe.value=null,W.value=null,ge.value={},ze.value=e.first_tasks,Ts(e.slug,e.first_tasks)},children:[a("span",{class:"ac-workspace__role-name",children:e.display_name}),a("span",{class:"ac-workspace__role-status","data-status":e.status,children:e.status}),a("span",{class:"ac-workspace__role-tagline",children:e.tagline})]})}function Ls({role:e,task:n}){const i=n.inputs??[],r=ge.value,t=i.some(l=>l.required&&(r[l.name]??"").trim()==="");return a("form",{class:"ac-workspace__task-form",onSubmit:l=>{l.preventDefault(),!t&&!le.value&&Al(e,n.name,ge.value)},children:[i.length===0?a("p",{class:"ac-workspace__form-note",children:"No inputs — runs the prompt as-is."}):i.map(l=>a("label",{class:"ac-workspace__field",children:[a("span",{class:"ac-workspace__field-label",children:[l.name,l.required?a("span",{class:"ac-workspace__req","aria-hidden":"true",children:" *"}):null]}),a("textarea",{class:"ac-workspace__field-input",placeholder:l.shape,required:l.required,"aria-label":`${l.name}${l.required?" (required)":""}`,value:r[l.name]??"",onInput:o=>{ge.value={...ge.value,[l.name]:o.target.value}}})]},l.name)),a("div",{class:"ac-workspace__form-actions",children:[a("button",{type:"submit",class:"ac-button ac-button--primary",disabled:t||le.value,children:le.value?"Running…":"Run task"}),a("button",{type:"button",class:"ac-button",onClick:()=>{W.value=null},children:"Cancel"})]})]})}function Fs(e){const n=[];for(const i of e){const r=i.data??{};if(i.kind==="launcher.input")r.followup===!0?n.push({kind:"user",text:typeof r.prompt=="string"?r.prompt:""}):n.push({kind:"task",text:typeof r.task=="string"?r.task:""});else if(i.kind==="host.turn"){const t=r.usage,l=t!=null?`${typeof r.model=="string"?r.model:Sl} · in ${t.input_tokens??0} / out ${t.output_tokens??0} tokens`:void 0;n.push({kind:"assistant",text:typeof r.text=="string"?r.text:"",meta:l})}else if(i.kind==="host.error"){const t=typeof r.error_kind=="string"?r.error_kind:"error";n.push({kind:"error",text:`${t}: ${typeof r.error=="string"?r.error:""}`})}}return n}function Rs(){if(ae.value===null)return null;const e=Fs(Ke.value),n=Ke.value.some(i=>i.kind==="host.turn");return a("section",{class:"ac-workspace__thread","aria-label":"Conversation thread",children:[a("h2",{class:"ac-workspace__heading",children:"Conversation"}),e.length===0?a("p",{class:"ac-workspace__empty",children:"No turns yet."}):a("ol",{class:"ac-workspace__thread-list",children:e.map((i,r)=>{const t=i.kind==="assistant"&&i.text.length>Fr,l=cn.value.has(r),o=t&&!l?`${i.text.slice(0,Fr)}…`:i.text;return a("li",{class:`ac-workspace__thread-block ac-workspace__thread-block--${i.kind}`,children:[a("span",{class:"ac-workspace__thread-role",children:i.kind==="task"?"Task":i.kind==="user"?"You":i.kind==="assistant"?"Host":"Error"}),a("pre",{class:"ac-workspace__thread-text",children:o}),t?a("button",{type:"button",class:"ac-button",onClick:()=>{const c=new Set(cn.value);c.has(r)?c.delete(r):c.add(r),cn.value=c},children:l?"Show less":"Show full"}):null,i.meta!=null?a("p",{class:"ac-workspace__turn-meta",children:i.meta}):null]},r)})}),Yn.value?a("div",{class:"ac-workspace__followup-gone",role:"status",children:[a("p",{children:"Host session expired."}),wi.value!==null?a("button",{type:"button",class:"ac-button ac-button--primary",disabled:le.value,onClick:()=>{const i=wi.value;i!==null&&Al(i.role,i.task,i.inputs)},children:le.value?"Starting…":"Start a new conversation"}):a("p",{children:"Pick a task above to start a new conversation."})]}):n?a("form",{class:"ac-workspace__followup",onSubmit:i=>{i.preventDefault(),ae.value!==null&&Os(ae.value,ee.value)},children:[a("label",{class:"ac-workspace__field",children:[a("span",{class:"ac-workspace__field-label",children:"Follow up"}),a("textarea",{class:"ac-workspace__field-input",placeholder:"Continue this conversation — e.g. make it shorter","aria-label":"Follow-up prompt",value:ee.value,onInput:i=>{ee.value=i.target.value}})]}),a("button",{type:"submit",class:"ac-button ac-button--primary",disabled:ee.value.trim()===""||Pe.value,children:Pe.value?"Continuing…":"Send follow-up"})]}):null]})}function $s({role:e}){const n=ze.value.length>0?ze.value:e.first_tasks;return a("section",{class:"ac-workspace__tasks","aria-labelledby":"task-heading",children:[a("h2",{id:"task-heading",class:"ac-workspace__heading",children:["First tasks · ",e.display_name]}),n.length===0?a("p",{class:"ac-workspace__empty",children:"No tasks scaffolded yet for this role."}):a("ul",{class:"ac-workspace__task-list",children:n.map(i=>a("li",{class:"ac-workspace__task",children:[a("div",{class:"ac-workspace__task-head",children:[a("span",{class:"ac-workspace__task-name",children:i.name}),a("button",{type:"button",class:"ac-button ac-button--primary","aria-expanded":W.value===i.name,onClick:()=>{W.value=W.value===i.name?null:i.name,ge.value={},qe.value=null,ae.value=null,Ke.value=[]},children:W.value===i.name?"Close":"Start session"})]}),a("p",{class:"ac-workspace__task-intent",children:i.intent}),i.prompt!==""?a("code",{class:"ac-workspace__task-prompt",children:["prompts/",i.prompt]}):null,W.value===i.name?a(Ls,{role:e.slug,task:i}):null]},i.name))}),e.skills.length>0?a("details",{class:"ac-workspace__skills",children:[a("summary",{children:["Skill shortlist (",e.skills.length,")"]}),a("ul",{class:"ac-workspace__skill-list",children:[e.skills.slice(0,5).map(i=>a("li",{class:"ac-workspace__skill",children:[a("code",{children:i.id})," — ",i.why]},i.id)),e.skills.length>5?a("li",{class:"ac-workspace__skill-more",children:["+ ",e.skills.length-5," more"]}):null]})]}):null]})}function Ps(){return a("section",{class:"ac-workspace__sessions","aria-labelledby":"sessions-heading",children:[a("h2",{id:"sessions-heading",class:"ac-workspace__heading",children:"Recent sessions"}),Ye.value.length===0?a("p",{class:"ac-workspace__empty",children:"No sessions yet — pick a role and start one."}):a("ul",{class:"ac-workspace__session-list",children:Ye.value.map(e=>a("li",{class:"ac-workspace__session",children:a("button",{type:"button",class:`ac-workspace__session-open${ae.value===e.id?" ac-workspace__session-open--active":""}`,"aria-label":`Open session ${e.task}`,"aria-current":ae.value===e.id?"true":void 0,onClick:()=>{Es(e.id)},children:[a("span",{class:"ac-workspace__session-id",children:e.id.slice(0,16)}),a("span",{class:"ac-workspace__session-role",children:e.role}),a("span",{class:"ac-workspace__session-task",children:e.task})]})},e.id))})]})}function Ms(){return a("section",{class:"ac-workspace__knowledge","aria-labelledby":"knowledge-heading",children:[a("h2",{id:"knowledge-heading",class:"ac-workspace__heading",children:"Knowledge sources"}),bi.value.length===0?a("p",{class:"ac-workspace__empty",children:["No sources yet. Run ",a("code",{children:"/knowledge:ingest <path>"})," to add documents."]}):a("ol",{class:"ac-workspace__citation-list",children:bi.value.map((e,n)=>a("li",{class:"ac-workspace__citation",children:[a("span",{class:"ac-workspace__citation-marker","aria-label":`Citation ${n+1}`,children:["[",n+1,"]"]}),a("a",{href:`file://${e.source}`,class:"ac-workspace__citation-source",title:"Open source in OS default app",children:e.source.split("/").pop()??e.source}),e.pinned?a("span",{class:"ac-workspace__citation-pin","aria-label":"pinned",children:"★"}):null,a("p",{class:"ac-workspace__citation-excerpt",children:[e.excerpt.slice(0,200),e.excerpt.length>200?"…":""]})]},e.id))})]})}function Ds(){return a("section",{class:"ac-workspace__recent","aria-labelledby":"recent-heading",children:[a("h2",{id:"recent-heading",class:"ac-workspace__heading",children:"Recent documents"}),ki.value.length===0?a("p",{class:"ac-workspace__empty",children:"No documents yet. Saved drafts land here."}):a("ul",{class:"ac-workspace__doc-list",children:ki.value.map(e=>a("li",{class:"ac-workspace__doc",children:[a("span",{class:"ac-workspace__doc-type","data-type":e.type,children:e.type}),a("span",{class:"ac-workspace__doc-title",children:e.title}),a("time",{class:"ac-workspace__doc-time",dateTime:e.updated_at,children:e.updated_at.slice(0,10)})]},`${e.type}/${e.slug}`))})]})}function js(){const n=Object.values($n.value).filter(i=>i.killed||i.consecutive_failures>0);return a("section",{class:"ac-workspace__drive-health","aria-labelledby":"drive-health-heading",children:[a("h2",{id:"drive-health-heading",class:"ac-workspace__heading",children:"Host health"}),n.length===0?a("p",{class:"ac-workspace__empty",children:"All hosts healthy."}):a("ul",{class:"ac-workspace__health-list",children:Object.entries($n.value).filter(([,i])=>i.killed||i.consecutive_failures>0).map(([i,r])=>{const t=r.killed?r.kill_reason==="manual"?"paused (manual)":"paused — auto-recovering":"degraded";return a("li",{class:"ac-workspace__health","data-killed":r.killed?"true":"false",children:[a("span",{class:"ac-workspace__health-host",children:i}),a("span",{class:"ac-workspace__health-state",children:t}),a("span",{class:"ac-workspace__health-meta",children:[r.consecutive_failures," fail streak",r.last_error_kind!=null?` · ${r.last_error_kind}`:""]}),r.killed?a("button",{type:"button",class:"ac-button ac-workspace__health-reset","aria-label":`Reset ${i}`,onClick:()=>{Ns(i)},children:"Reset"}):null]},i)})})]})}function Hs(){const e=ni.value;return a("fieldset",{class:"ac-workspace__explain",children:[a("legend",{class:"ac-workspace__heading",children:"Explanation style"}),a("label",{class:"ac-workspace__explain-option",children:[a("input",{type:"radio",name:"explain-mode",value:"plain",checked:e==="plain",onChange:()=>{ni.value="plain"},"aria-label":"Plain language"}),a("span",{children:"Plain language"})]}),a("label",{class:"ac-workspace__explain-option",children:[a("input",{type:"radio",name:"explain-mode",value:"technical",checked:e==="technical",onChange:()=>{ni.value="technical"},"aria-label":"Technical detail"}),a("span",{children:"Technical detail"})]}),a("p",{class:"ac-workspace__explain-hint",children:e==="plain"?"Replies use everyday words. Toggle to see the technical view.":"Replies keep the technical vocabulary. Toggle for the plain view."})]})}function Bs(){const e=xl.value,n=e.length>0?e.map(r=>r.id):Object.keys(Lr),i=new Map(e.map(r=>[r.id,r.cli_present]));return a("label",{class:"ac-workspace__host-picker",children:[a("span",{class:"ac-workspace__host-label",children:"Host"}),a("select",{class:"ac-workspace__host-select","aria-label":"Host agent",value:Wi.value,onChange:r=>{As(r.target.value)},children:n.map(r=>{const t=i.get(r)!==!1,l=Lr[r]??r;return a("option",{value:r,disabled:!t,children:[l," (",r,")",t?"":" — not installed"]},r)})})]})}function Us(){if(Ge(()=>{Cs()},[]),$e.value!==null)return a("div",{class:"ac-page ac-page--error",children:[a("h1",{children:"Workspace"}),a("p",{class:"ac-banner ac-banner--error",children:$e.value})]});if(!wl.value)return a("div",{class:"ac-page",children:[a("h1",{children:"Workspace"}),a("p",{children:"Loading…"})]});const e=Rn.value!==null?on.value.find(n=>n.slug===Rn.value)??null:null;return a("div",{class:"ac-page ac-workspace",children:[a("header",{class:"ac-page__header",children:[a("h1",{children:"Workspace"}),a("p",{class:"ac-page__subtitle",children:"Pick a role, pick a first task, run it."}),a(Bs,{})]}),M.value!==null?a("p",{class:"ac-banner",role:"status",children:M.value}):null,a("div",{class:"ac-workspace__grid",children:[a("section",{class:"ac-workspace__roles","aria-labelledby":"roles-heading",children:[a("h2",{id:"roles-heading",class:"ac-workspace__heading",children:"Roles"}),on.value.length===0?a("p",{class:"ac-workspace__empty",children:"No roles installed."}):a("div",{class:"ac-workspace__role-grid",children:on.value.map(n=>a(Is,{role:n},n.slug))})]}),a("main",{class:"ac-workspace__main","aria-label":"Tasks and sessions",children:[e!==null?a($s,{role:e}):a("p",{class:"ac-workspace__empty",children:"Pick a role on the left to see its first tasks."}),a(Rs,{}),a(Ps,{})]}),a("aside",{class:"ac-workspace__rail","aria-label":"Knowledge and documents",children:[a(Ms,{}),a(Ds,{}),a(js,{}),a(Hs,{})]})]})]})}const Tl=[{id:"setup",label:"Setup",hashPath:"/setup",matches:["/setup","/wizard"]},{id:"project",label:"Projekt",hashPath:"/project",matches:["/project"]},{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 Ws(e){for(const n of Tl)for(const i of n.matches)if(e===i||e.startsWith(`${i}/`))return n.id;return null}function Ys(){const e=ve.value,n=Ws(e);return a("header",{class:"ac-topnav",children:a("div",{class:"ac-topnav__inner",children:[a("div",{class:"ac-topnav__brand",children:[a("h1",{class:"ac-topnav__title",children:"@event4u/agent-config"}),a("p",{class:"ac-topnav__subtitle",children:"Browser Wizard"})]}),a("nav",{class:"ac-topnav__tabs","aria-label":"Surfaces",children:Tl.map(i=>a("button",{type:"button",class:`ac-topnav__tab${n===i.id?" ac-topnav__tab--active":""}`,"aria-current":n===i.id?"page":void 0,onClick:()=>ci(i.hashPath),children:i.label},i.id))})]})})}function en({name:e}){return a("div",{class:"ac-page",children:[a("header",{class:"ac-page__header",children:a("h1",{children:e})}),a("section",{class:"ac-section",children:[a("p",{class:"ac-section__description",children:["The ",a("strong",{children:e})," surface is currently served by the legacy installer GUI on port ",a("code",{children:"41100"}),". It is being ported to the modern shell in a follow-up phase (road-to-unified-setup § Phase 5)."]}),a("p",{class:"ac-section__description",children:["For now the legacy surface remains reachable via"," ",a("code",{children:"installer gui"}),"."]})]})]})}function zs({path:e}){return a("div",{class:"ac-page ac-page--error",children:[a("h1",{children:"Page not found"}),a("p",{children:["Nothing routed to ",a("code",{children:e}),". Try ",a("a",{href:"#/setup",children:"Setup"}),"."]})]})}function qs(){const e=_n.value;return e===null||e.dryRun!==!0?null:a("div",{class:"ac-dryrun-banner",role:"status","aria-live":"polite",children:[a("strong",{children:"DRY RUN"}),a("span",{children:" · no files will be written. Validation + rendering run normally; commits return a preview."})]})}function Ks(e){return e==="/"||e==="/setup"||e.startsWith("/setup/")?a(ei,{path:e}):e.startsWith("/wizard")?a(ei,{path:e}):e==="/settings"||e.startsWith("/settings/")?a(ei,{path:"/setup"}):e==="/project"||e.startsWith("/project/")?a(xs,{}):e==="/tasks"?a(en,{name:"Tasks"}):e==="/council"?a(en,{name:"Council"}):e==="/memory"?a(en,{name:"Memory"}):e==="/explain"?a(en,{name:"Explain"}):e==="/workspace"?a(Us,{}):a(zs,{path:e})}function Gs(){return Ge(()=>{Vl(),(ve.value==="/"||ve.value==="/settings"||ve.value.startsWith("/settings/"))&&ci("/setup"),Zl()},[]),a(Z,{children:[a(qs,{}),a(Ys,{}),Ks(ve.value)]})}const Vs=3e4,Js=30*6e4;let nn=null,Rr=!1;function $r(e){if(!Rr&&(Rr=!0,!(typeof navigator>"u"||typeof navigator.sendBeacon!="function")))try{navigator.sendBeacon(`/api/v1/shutdown?token=${encodeURIComponent(e)}`)}catch{}}function Qs(e){if(typeof window>"u")return()=>{};let n=Date.now();const i=()=>{n=Date.now()},r=["pointerdown","keydown","wheel","touchstart"];for(const c of r)window.addEventListener(c,i,{passive:!0});const t=()=>{document.hidden||i()};document.addEventListener("visibilitychange",t);const l=()=>{nn!==null&&clearInterval(nn),nn=null;for(const c of r)window.removeEventListener(c,i);document.removeEventListener("visibilitychange",t),window.removeEventListener("pagehide",o)};nn=setInterval(()=>{if(!document.hidden){if(Date.now()-n>Js){$r(e),l();return}w("/api/v1/ping").catch(()=>{})}},Vs);function o(){$r(e)}return window.addEventListener("pagehide",o),l}function Zs(){return new URLSearchParams(window.location.search).get("token")}function Xs(){const e=document.getElementById("app");if(e===null)return;const n=Zs();if(n===null){e.textContent="agent-config UI · missing token — re-open via `agent-config ui:serve`.";return}Jl(n),Qs(n),e.textContent="",$l(a(Gs,{}),e)}Xs();
40
- //# sourceMappingURL=index-UjcTG_9O.js.map