@event4u/agent-config 9.8.0 → 9.9.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 (817) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +278 -298
  3. package/CONTRIBUTING.md +23 -7
  4. package/MIGRATION.md +20 -0
  5. package/README.md +55 -9
  6. package/dist/agent-src/commands/agents/audit.md +1 -1
  7. package/dist/agent-src/commands/agents/optimize.md +2 -2
  8. package/dist/agent-src/commands/agents/user.md +1 -1
  9. package/dist/agent-src/commands/agents.md +1 -1
  10. package/dist/agent-src/commands/check-current-md.md +3 -3
  11. package/dist/agent-src/commands/fix/portability.md +2 -2
  12. package/dist/agent-src/commands/fix/pr-comments-loop.md +136 -0
  13. package/dist/agent-src/commands/fix/refs.md +2 -2
  14. package/dist/agent-src/commands/fix/route.md +4 -3
  15. package/dist/agent-src/commands/fix.md +9 -6
  16. package/dist/agent-src/commands/ghostwriter.md +1 -1
  17. package/dist/agent-src/commands/image.md +1 -1
  18. package/dist/agent-src/commands/optimize/augmentignore.md +1 -1
  19. package/dist/agent-src/commands/optimize/skills.md +2 -2
  20. package/dist/agent-src/commands/post-as.md +1 -1
  21. package/dist/agent-src/commands/research.md +1 -1
  22. package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
  23. package/dist/agent-src/commands/security-audit-config.md +1 -1
  24. package/dist/agent-src/commands/team/delegate.md +4 -0
  25. package/dist/agent-src/commands/video.md +1 -1
  26. package/dist/agent-src/contexts/authority/kernel-rule-edits.md +1 -1
  27. package/dist/agent-src/contexts/contracts/emergency-triage-block.md +2 -2
  28. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +48 -2
  29. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +10 -0
  30. package/dist/agent-src/contexts/execution/subagent-modes-detail.md +109 -8
  31. package/dist/agent-src/contexts/execution/subagent-response-contract.md +20 -0
  32. package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +53 -3
  33. package/dist/agent-src/rules/code-provenance.md +112 -0
  34. package/dist/agent-src/rules/external-code-graph-interop.md +4 -4
  35. package/dist/agent-src/rules/history-discipline.md +80 -0
  36. package/dist/agent-src/rules/no-roadmap-references.md +1 -1
  37. package/dist/agent-src/rules/php-coding.md +1 -0
  38. package/dist/agent-src/rules/reviewer-awareness.md +1 -0
  39. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +1 -0
  40. package/dist/agent-src/rules/roadmap-progress-sync.md +7 -0
  41. package/dist/agent-src/rules/scale-discipline.md +92 -0
  42. package/dist/agent-src/rules/security-sensitive-stop.md +10 -0
  43. package/dist/agent-src/rules/session-canary.md +77 -0
  44. package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
  45. package/dist/agent-src/rules/tool-safety.md +3 -1
  46. package/dist/agent-src/rules/untrusted-input-defense.md +10 -0
  47. package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
  48. package/dist/agent-src/skills/code-intelligence/SKILL.md +17 -14
  49. package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
  50. package/dist/agent-src/skills/corpus-grounding/SKILL.md +0 -3
  51. package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
  52. package/dist/agent-src/skills/design-review/SKILL.md +5 -6
  53. package/dist/agent-src/skills/design-tokens/SKILL.md +0 -1
  54. package/dist/agent-src/skills/history-design/SKILL.md +101 -0
  55. package/dist/agent-src/skills/history-design/evals/triggers.json +17 -0
  56. package/dist/agent-src/skills/humanizer/SKILL.md +3 -3
  57. package/dist/agent-src/skills/image-editing/SKILL.md +1 -1
  58. package/dist/agent-src/skills/image-generation/SKILL.md +2 -1
  59. package/dist/agent-src/skills/image-provider-routing/SKILL.md +2 -2
  60. package/dist/agent-src/skills/launch-readiness/SKILL.md +1 -1
  61. package/dist/agent-src/skills/license-compliance-audit/SKILL.md +161 -0
  62. package/dist/agent-src/skills/license-compliance-audit/evals/triggers.json +52 -0
  63. package/dist/agent-src/skills/license-compliance-borrow-check/SKILL.md +145 -0
  64. package/dist/agent-src/skills/license-compliance-borrow-check/evals/triggers.json +52 -0
  65. package/dist/agent-src/skills/license-compliance-credits/SKILL.md +97 -0
  66. package/dist/agent-src/skills/license-compliance-credits/evals/triggers.json +52 -0
  67. package/dist/agent-src/skills/md-language-check/SKILL.md +1 -1
  68. package/dist/agent-src/skills/override-management/SKILL.md +1 -1
  69. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +7 -7
  70. package/dist/agent-src/skills/project-analysis-core/SKILL.md +1 -1
  71. package/dist/agent-src/skills/prompt-engineering-image/SKILL.md +3 -2
  72. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +2 -2
  73. package/dist/agent-src/skills/recursive-verification/SKILL.md +6 -0
  74. package/dist/agent-src/skills/refine-ticket/SKILL.md +3 -3
  75. package/dist/agent-src/skills/roadmap-writing/SKILL.md +4 -0
  76. package/dist/agent-src/skills/rtk-output-filtering/SKILL.md +31 -12
  77. package/dist/agent-src/skills/rule-refactor/SKILL.md +3 -3
  78. package/dist/agent-src/skills/schema-review/SKILL.md +92 -0
  79. package/dist/agent-src/skills/schema-review/evals/triggers.json +17 -0
  80. package/dist/agent-src/skills/secrets-management/SKILL.md +3 -4
  81. package/dist/agent-src/skills/security-audit/SKILL.md +1 -1
  82. package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +1 -1
  83. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +3 -3
  84. package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
  85. package/dist/agent-src/skills/source-discovery/SKILL.md +5 -5
  86. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +45 -85
  87. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +5 -4
  88. package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
  89. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -3
  90. package/dist/agent-src/skills/token-optimizer/SKILL.md +4 -4
  91. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +1 -1
  92. package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +2 -3
  93. package/dist/agent-src/templates/AGENTS.md +1 -1
  94. package/dist/agent-src/templates/agents/.gitattributes.fragment +25 -6
  95. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  96. package/dist/agent-src/templates/command.md +3 -3
  97. package/dist/agent-src/templates/persona.md +2 -2
  98. package/dist/agent-src/templates/rule.md +2 -2
  99. package/dist/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
  100. package/dist/agent-src/templates/scripts/telemetry_record.ts +33 -1
  101. package/dist/cli/commands/doctorShell.js +20 -0
  102. package/dist/cli/commands/doctorShell.js.map +1 -1
  103. package/dist/cli/commands/rtkDetect.js +58 -0
  104. package/dist/cli/commands/rtkDetect.js.map +1 -0
  105. package/dist/cli/firstRunNotice.js +70 -0
  106. package/dist/cli/firstRunNotice.js.map +1 -0
  107. package/dist/cli/main.js +35 -3
  108. package/dist/cli/main.js.map +1 -1
  109. package/dist/cli/registry.js +7 -1
  110. package/dist/cli/registry.js.map +1 -1
  111. package/dist/discovery/deprecation-report.md +1 -1
  112. package/dist/discovery/discovery-manifest.json +362 -78
  113. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  114. package/dist/discovery/discovery-manifest.summary.md +6 -4
  115. package/dist/discovery/orphan-report.md +1 -1
  116. package/dist/discovery/packs.json +90 -8
  117. package/dist/discovery/trust-report.md +11 -11
  118. package/dist/discovery/workspaces.json +31 -7
  119. package/dist/hooks/dispatch.js +19475 -0
  120. package/dist/install/agentSwitchDetection.js +75 -0
  121. package/dist/install/agentSwitchDetection.js.map +1 -0
  122. package/dist/install/agentSwitchProfile.js +117 -0
  123. package/dist/install/agentSwitchProfile.js.map +1 -0
  124. package/dist/install/atomic.js +1 -1
  125. package/dist/install/detect.js +1 -1
  126. package/dist/install/install.mjs +775 -486
  127. package/dist/install/rtkDetection.js +213 -0
  128. package/dist/install/rtkDetection.js.map +1 -0
  129. package/dist/install/rule_scope.js +2 -1
  130. package/dist/install/rule_scope.js.map +1 -1
  131. package/dist/install/types.js +2 -2
  132. package/dist/install/wizard-plan.js +1 -1
  133. package/dist/install/wizardDismissals.js +58 -0
  134. package/dist/install/wizardDismissals.js.map +1 -0
  135. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  136. package/dist/mcp/mcp-cloudflare-catalogue.json +1 -1
  137. package/dist/mcp/registry-manifest.json +15 -4
  138. package/dist/mcp/server.json +20 -0
  139. package/dist/mcp/server.mjs +44292 -0
  140. package/dist/router.json +1 -1
  141. package/dist/scripts/condense.js +14 -7
  142. package/dist/scripts/condense.js.map +1 -1
  143. package/dist/server/app.js +4 -2
  144. package/dist/server/app.js.map +1 -1
  145. package/dist/server/io/sharedWriteCheck.js +101 -0
  146. package/dist/server/io/sharedWriteCheck.js.map +1 -0
  147. package/dist/server/routes/ping.js +14 -0
  148. package/dist/server/routes/ping.js.map +1 -1
  149. package/dist/server/routes/settings.js +21 -4
  150. package/dist/server/routes/settings.js.map +1 -1
  151. package/dist/server/routes/userMd.js +21 -4
  152. package/dist/server/routes/userMd.js.map +1 -1
  153. package/dist/server/routes/wizard.js +68 -25
  154. package/dist/server/routes/wizard.js.map +1 -1
  155. package/dist/server/schemas/settings.js +4 -2
  156. package/dist/server/schemas/settings.js.map +1 -1
  157. package/dist/ui/assets/index-BpSQt5vm.js +40 -0
  158. package/dist/ui/assets/index-BpSQt5vm.js.map +1 -0
  159. package/dist/ui/assets/index-jSfMW8_t.css +1 -0
  160. package/dist/ui/index.html +2 -2
  161. package/docs/MIGRATION.md +16 -0
  162. package/docs/guidelines/component-oriented-and-oop-development.md +4 -2
  163. package/package.json +21 -11
  164. package/src/agent-src/templates/AGENTS.md +1 -1
  165. package/src/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
  166. package/src/agent-src/templates/scripts/telemetry_record.ts +33 -1
  167. package/src/config/agent-settings.template.yml +52 -14
  168. package/src/config/discovery/packs.yml +22 -0
  169. package/src/config/discovery/workspaces.yml +1 -1
  170. package/src/config/evaluator-budgets.json +47 -0
  171. package/src/config/hook-latency-budget.json +20 -0
  172. package/src/install/agentSwitchDetection.ts +90 -0
  173. package/src/install/agentSwitchProfile.ts +131 -0
  174. package/src/install/atomic.ts +1 -1
  175. package/src/install/detect.ts +1 -1
  176. package/src/install/rtkDetection.ts +274 -0
  177. package/src/install/rule_scope.ts +9 -2
  178. package/src/install/types.ts +2 -2
  179. package/src/install/wizard-plan.ts +1 -1
  180. package/src/install/wizardDismissals.ts +60 -0
  181. package/src/scripts/_cli/cmd_doctor.ts +62 -1
  182. package/src/scripts/_cli/cmd_memory_get.ts +197 -0
  183. package/src/scripts/_cli/cmd_refresh.ts +30 -0
  184. package/src/scripts/_dispatch.bash +81 -0
  185. package/src/scripts/_lib/auto_dispatch.corpus.test.ts +64 -1
  186. package/src/scripts/_lib/auto_dispatch.ts +76 -0
  187. package/src/scripts/_lib/detect_target_license.ts +714 -0
  188. package/src/scripts/_lib/fixtures/secret-detector/negatives.txt +5 -0
  189. package/src/scripts/_lib/fixtures/secret-detector/positives.txt +4 -0
  190. package/src/scripts/_lib/install_drift.ts +194 -0
  191. package/src/scripts/_lib/memory_fts_index.ts +390 -0
  192. package/src/scripts/_lib/orchestration_record.ts +91 -2
  193. package/src/scripts/_lib/persistence/adapter_raw_sql.ts +443 -0
  194. package/src/scripts/_lib/persistence/detect_audit_coverage.ts +423 -0
  195. package/src/scripts/_lib/persistence/detect_bounded_reads.ts +154 -0
  196. package/src/scripts/_lib/persistence/detect_index_parity.ts +576 -0
  197. package/src/scripts/_lib/persistence/detect_n1_eloquent.ts +226 -0
  198. package/src/scripts/_lib/persistence/detect_offload.ts +441 -0
  199. package/src/scripts/_lib/persistence/detect_prisma_growth.ts +74 -0
  200. package/src/scripts/_lib/persistence/offload_catalog.ts +73 -0
  201. package/src/scripts/_lib/persistence/types.ts +109 -0
  202. package/src/scripts/_lib/rtk_allowlist.ts +44 -0
  203. package/src/scripts/_lib/secret_detector.test.ts +5 -0
  204. package/src/scripts/_lib/secret_detector.ts +9 -0
  205. package/src/scripts/_lib/secret_detector_adversarial.test.ts +116 -0
  206. package/src/scripts/_lib/spawn_env.ts +7 -0
  207. package/src/scripts/_lib/sqlite_guard.ts +191 -0
  208. package/src/scripts/_lib/subagent_spawn.ts +53 -0
  209. package/src/scripts/_lib/worker_budget.ts +107 -0
  210. package/src/scripts/ai_council/blind_review.ts +0 -0
  211. package/src/scripts/ai_council/config.ts +12 -6
  212. package/src/scripts/ai_council/orchestrator.ts +73 -3
  213. package/src/scripts/ai_team/review_gate.ts +8 -10
  214. package/src/scripts/ai_team/team_dispatch.ts +48 -0
  215. package/src/scripts/audit_initial_context.ts +1 -1
  216. package/src/scripts/bench_cross_source_eval.ts +400 -0
  217. package/src/scripts/bench_honesty_score.ts +1093 -0
  218. package/src/scripts/bench_hook_latency.ts +218 -0
  219. package/src/scripts/build_mcp_catalog.ts +275 -0
  220. package/src/scripts/build_mcp_registry_manifest.ts +46 -0
  221. package/src/scripts/build_proof.ts +45 -0
  222. package/src/scripts/chat_history.ts +8 -5
  223. package/src/scripts/check_backstop_debt.ts +23 -13
  224. package/src/scripts/check_bundle_path_leakage.ts +343 -0
  225. package/src/scripts/check_evaluator_budgets.ts +99 -0
  226. package/src/scripts/check_knowledge_sharing.ts +12 -1
  227. package/src/scripts/check_no_external_sources.ts +2 -2
  228. package/src/scripts/check_source_pointer_freshness.ts +28 -3
  229. package/src/scripts/code_graph/build.ts +0 -0
  230. package/src/scripts/code_graph/cli.ts +181 -9
  231. package/src/scripts/code_graph/detect.ts +52 -0
  232. package/src/scripts/code_graph/intent.ts +45 -0
  233. package/src/scripts/code_graph/query.ts +143 -29
  234. package/src/scripts/code_graph/sqlite_store.ts +174 -0
  235. package/src/scripts/condense.ts +14 -6
  236. package/src/scripts/context_hygiene_hook.ts +8 -5
  237. package/src/scripts/council_cli.ts +126 -12
  238. package/src/scripts/detect_target_license.ts +203 -0
  239. package/src/scripts/evaluator_umbrella.sh +145 -0
  240. package/src/scripts/external_sources_denylist.json +5 -3
  241. package/src/scripts/first_run_gate_hook.ts +9 -5
  242. package/src/scripts/hermetic-install.sh +3 -3
  243. package/src/scripts/hook_manifest.yaml +55 -16
  244. package/src/scripts/hooks/block_kernel_rule_writes.ts +212 -0
  245. package/src/scripts/hooks/block_no_verify.ts +9 -9
  246. package/src/scripts/hooks/code_graph_nudge_hook.ts +11 -4
  247. package/src/scripts/hooks/concern_registry.ts +75 -0
  248. package/src/scripts/hooks/design_slop_hook.ts +8 -5
  249. package/src/scripts/hooks/dispatch_entry.ts +37 -0
  250. package/src/scripts/hooks/dispatch_hook.ts +176 -3
  251. package/src/scripts/hooks/hook_stdin.ts +42 -0
  252. package/src/scripts/hooks/rtk_wrap_hook.ts +26 -12
  253. package/src/scripts/hot_context_hook.ts +7 -6
  254. package/src/scripts/injection_scan_hook.ts +9 -1
  255. package/src/scripts/install +6 -6
  256. package/src/scripts/install-hooks.sh +4 -4
  257. package/src/scripts/install.sh +5 -4
  258. package/src/scripts/install.ts +264 -23
  259. package/src/scripts/learning_sidecar.ts +0 -0
  260. package/src/scripts/lint_budget_ownership.ts +89 -0
  261. package/src/scripts/lint_command_routing.ts +35 -5
  262. package/src/scripts/lint_command_verbs.ts +42 -9
  263. package/src/scripts/lint_consumer_internal_refs.ts +211 -0
  264. package/src/scripts/lint_discovery_vocabulary.ts +2 -0
  265. package/src/scripts/lint_documented_commands.ts +670 -0
  266. package/src/scripts/lint_framework_leakage.ts +17 -3
  267. package/src/scripts/lint_framework_leakage_allowlist.json +32 -0
  268. package/src/scripts/lint_governed_writes.ts +335 -0
  269. package/src/scripts/lint_hidden_unicode.ts +6 -0
  270. package/src/scripts/lint_mcp_registry_manifest.ts +26 -1
  271. package/src/scripts/lint_memory_tripwire.ts +186 -0
  272. package/src/scripts/lint_override_kernel_guard.ts +74 -26
  273. package/src/scripts/lint_persistence.ts +171 -0
  274. package/src/scripts/lint_pre_migration_refs.ts +106 -0
  275. package/src/scripts/lint_provenance.ts +547 -0
  276. package/src/scripts/lint_provenance_vocabulary.ts +437 -0
  277. package/src/scripts/lint_spawn_payload.ts +283 -0
  278. package/src/scripts/lint_store_boundary.ts +152 -0
  279. package/src/scripts/lint_versioned_cache.ts +7 -1
  280. package/src/scripts/mcp_server/__main__.ts +7 -2
  281. package/src/scripts/mcp_server/catalog.ts +23 -1
  282. package/src/scripts/mcp_server/consumer_tool_catalog.json +563 -193
  283. package/src/scripts/mcp_server/prompts.ts +6 -0
  284. package/src/scripts/mcp_server/tool_catalog_source.ts +332 -0
  285. package/src/scripts/mcp_server/tools.ts +56 -5
  286. package/src/scripts/mcp_telemetry_query.ts +2 -33
  287. package/src/scripts/mcp_telemetry_store.ts +64 -34
  288. package/src/scripts/memory_learn_hook.ts +126 -0
  289. package/src/scripts/memory_lookup.ts +0 -0
  290. package/src/scripts/memory_replay_24.ts +312 -0
  291. package/src/scripts/memory_report.ts +16 -3
  292. package/src/scripts/memory_signal.ts +48 -0
  293. package/src/scripts/memory_status.ts +6 -0
  294. package/src/scripts/minimal_safe_diff_hook.ts +8 -5
  295. package/src/scripts/onboarding_gate_hook.ts +8 -5
  296. package/src/scripts/orchestration_record.ts +16 -0
  297. package/src/scripts/pr_url_reminder_hook.ts +8 -1
  298. package/src/scripts/prepack-check.mjs +17 -0
  299. package/src/scripts/prepack_lifecycle_check.d.mts +8 -0
  300. package/src/scripts/prepack_lifecycle_check.mjs +82 -0
  301. package/src/scripts/profile_staleness_hook.ts +8 -7
  302. package/src/scripts/report_install_drift.ts +109 -0
  303. package/src/scripts/roadmap_progress_hook.ts +8 -5
  304. package/src/scripts/schemas/license-policy.schema.json +89 -0
  305. package/src/scripts/schemas/provenance-borrow.schema.json +46 -0
  306. package/src/scripts/schemas/rule.schema.json +10 -0
  307. package/src/scripts/self_review_gate.test.ts +173 -1
  308. package/src/scripts/self_review_gate.ts +155 -15
  309. package/src/scripts/session_canary_hook.ts +182 -0
  310. package/src/scripts/smoke_quickstart.ts +2 -2
  311. package/src/scripts/surface_probe_hook.ts +8 -7
  312. package/src/scripts/sync_gitattributes.ts +310 -0
  313. package/src/scripts/team_review_gate_hook.ts +13 -16
  314. package/src/scripts/verify_before_complete_hook.ts +8 -5
  315. package/src/scripts/wrapper_freshness_hook.ts +8 -7
  316. package/src/server/schemas/settings.ts +8 -2
  317. package/dist/ui/assets/index-BPFMZWUs.css +0 -1
  318. package/dist/ui/assets/index-CrmZ34Rg.js +0 -40
  319. package/dist/ui/assets/index-CrmZ34Rg.js.map +0 -1
  320. package/docs/CLAIMS.md +0 -286
  321. package/docs/DISTRIBUTION_CHECKLIST.md +0 -170
  322. package/docs/RELEASE_STORY_TEMPLATE.md +0 -37
  323. package/docs/SKILL_CENSUS.md +0 -352
  324. package/docs/adrs/cost/0001-hard-stop-hook.md +0 -114
  325. package/docs/adrs/cost/README.md +0 -9
  326. package/docs/adrs/memory/0001-consumer-side-snapshot.md +0 -119
  327. package/docs/adrs/memory/README.md +0 -10
  328. package/docs/adrs/router/0001-three-tier-routing.md +0 -119
  329. package/docs/adrs/router/README.md +0 -9
  330. package/docs/adrs/schema/0001-json-schema-frontmatter.md +0 -102
  331. package/docs/adrs/schema/README.md +0 -9
  332. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +0 -99
  333. package/docs/adrs/smoke/README.md +0 -9
  334. package/docs/adrs/telegraph/0001-default-off-until-bench.md +0 -93
  335. package/docs/adrs/telegraph/README.md +0 -9
  336. package/docs/announcements/2026-05-non-dev-launch.md +0 -79
  337. package/docs/announcements/2026-07-honest-cost-sweep-launch.md +0 -84
  338. package/docs/anti-reskin-gate.md +0 -60
  339. package/docs/architecture/augment-projection.md +0 -70
  340. package/docs/architecture/claude-bundle.md +0 -77
  341. package/docs/architecture/current-onboard-baseline.md +0 -126
  342. package/docs/architecture/current-safety-behavior.md +0 -137
  343. package/docs/architecture/multi-tool-projection.md +0 -125
  344. package/docs/architecture/setup-vs-settings-shared-surface.md +0 -114
  345. package/docs/architecture/source-projection.md +0 -85
  346. package/docs/architecture.md +0 -390
  347. package/docs/archive/CHANGELOG-6.0.0-overview.md +0 -953
  348. package/docs/archive/CHANGELOG-7.0.0.md +0 -419
  349. package/docs/archive/CHANGELOG-pre-2.11.0.md +0 -141
  350. package/docs/archive/CHANGELOG-pre-2.15.0.md +0 -244
  351. package/docs/archive/CHANGELOG-pre-2.16.0.md +0 -48
  352. package/docs/archive/CHANGELOG-pre-2.17.0.md +0 -63
  353. package/docs/archive/CHANGELOG-pre-2.2.0.md +0 -2138
  354. package/docs/archive/CHANGELOG-pre-2.20.0.md +0 -159
  355. package/docs/archive/CHANGELOG-pre-2.25.0.md +0 -191
  356. package/docs/archive/CHANGELOG-pre-2.7.0.md +0 -185
  357. package/docs/archive/CHANGELOG-pre-3.0.0.md +0 -130
  358. package/docs/archive/CHANGELOG-pre-3.1.0.md +0 -167
  359. package/docs/archive/CHANGELOG-pre-3.2.0.md +0 -268
  360. package/docs/archive/CHANGELOG-pre-4.0.0.md +0 -80
  361. package/docs/archive/CHANGELOG-pre-4.5.0.md +0 -289
  362. package/docs/archive/CHANGELOG-pre-5.4.0.md +0 -260
  363. package/docs/archive/CHANGELOG-pre-5.9.0.md +0 -270
  364. package/docs/archive/CHANGELOG-pre-6.0.0.md +0 -473
  365. package/docs/archive/CHANGELOG-pre-7.0.0.md +0 -126
  366. package/docs/archive/CHANGELOG-pre-8.0.0.md +0 -301
  367. package/docs/archive/CHANGELOG-pre-8.1.0.md +0 -316
  368. package/docs/archive/CHANGELOG-pre-8.12.0.md +0 -304
  369. package/docs/archive/CHANGELOG-pre-8.9.0.md +0 -306
  370. package/docs/archive/CHANGELOG-pre-9.2.0.md +0 -276
  371. package/docs/artefact-census.md +0 -71
  372. package/docs/benchmark.md +0 -785
  373. package/docs/benchmark.pinned.yml +0 -31
  374. package/docs/benchmarks.md +0 -85
  375. package/docs/capability-matrix.md +0 -33
  376. package/docs/case-studies/_template.md +0 -60
  377. package/docs/case-studies/frontend-design-positioning.md +0 -86
  378. package/docs/catalog.md +0 -726
  379. package/docs/command-flows.md +0 -272
  380. package/docs/command-naming-audit.md +0 -60
  381. package/docs/comparison.yaml +0 -87
  382. package/docs/contracts/CHANGELOG-conventions.md +0 -149
  383. package/docs/contracts/STABILITY.md +0 -188
  384. package/docs/contracts/adoption-signal-floor.md +0 -127
  385. package/docs/contracts/adr-architectural-consensus-mechanism.md +0 -68
  386. package/docs/contracts/adr-chat-history-split.md +0 -140
  387. package/docs/contracts/adr-command-suggestion.md +0 -144
  388. package/docs/contracts/adr-forecast-construction-shape.md +0 -90
  389. package/docs/contracts/adr-gtm-context-spine.md +0 -116
  390. package/docs/contracts/adr-implement-ticket-runtime.md +0 -121
  391. package/docs/contracts/adr-install-user-type-axis.md +0 -107
  392. package/docs/contracts/adr-layout.md +0 -107
  393. package/docs/contracts/adr-level-6-productization.md +0 -145
  394. package/docs/contracts/adr-mcp-runtime.md +0 -128
  395. package/docs/contracts/adr-product-ui-track.md +0 -381
  396. package/docs/contracts/adr-prompt-driven-execution.md +0 -186
  397. package/docs/contracts/adr-settings-sync-engine.md +0 -128
  398. package/docs/contracts/adr-user-types-axis.md +0 -127
  399. package/docs/contracts/adr-wing4-context-spine.md +0 -126
  400. package/docs/contracts/agent-user-schema.md +0 -170
  401. package/docs/contracts/agents-layout.md +0 -148
  402. package/docs/contracts/agents-md-tech-stack.md +0 -75
  403. package/docs/contracts/ai-council-config.md +0 -829
  404. package/docs/contracts/ai-team-config.md +0 -224
  405. package/docs/contracts/analysis-memory-loop.md +0 -149
  406. package/docs/contracts/at-rest-encryption.md +0 -191
  407. package/docs/contracts/audit-log-v1.md +0 -150
  408. package/docs/contracts/auto-orchestration-v1.md +0 -70
  409. package/docs/contracts/benchmark-ab-contract.md +0 -106
  410. package/docs/contracts/benchmark-corpus-spec.md +0 -125
  411. package/docs/contracts/benchmark-report-schema.md +0 -113
  412. package/docs/contracts/branch-protection-policy.md +0 -139
  413. package/docs/contracts/brand-token-consumption.md +0 -74
  414. package/docs/contracts/capability-boundary.md +0 -69
  415. package/docs/contracts/capability-packs.md +0 -217
  416. package/docs/contracts/ci-cost-budget.md +0 -111
  417. package/docs/contracts/ci-green-floor.md +0 -141
  418. package/docs/contracts/command-category-governance.md +0 -84
  419. package/docs/contracts/command-clusters.md +0 -399
  420. package/docs/contracts/command-surface-tiers.md +0 -176
  421. package/docs/contracts/command-taxonomy.md +0 -137
  422. package/docs/contracts/condensation-default-kill-criterion.md +0 -116
  423. package/docs/contracts/config-presets.md +0 -144
  424. package/docs/contracts/conformance.md +0 -84
  425. package/docs/contracts/consumer-bridge.md +0 -73
  426. package/docs/contracts/context-paths.md +0 -101
  427. package/docs/contracts/context-spine.md +0 -179
  428. package/docs/contracts/cost-dashboard.md +0 -143
  429. package/docs/contracts/cost-enforcement.md +0 -134
  430. package/docs/contracts/cost-profile-defaults.md +0 -110
  431. package/docs/contracts/cost-summary-schema.md +0 -107
  432. package/docs/contracts/creative-pack-boundary.md +0 -63
  433. package/docs/contracts/cross-repo-retrieval.md +0 -64
  434. package/docs/contracts/cross-wing-handoff.md +0 -134
  435. package/docs/contracts/daily-workspace.md +0 -147
  436. package/docs/contracts/decision-engine-gates.md +0 -120
  437. package/docs/contracts/decision-trace-v1.md +0 -177
  438. package/docs/contracts/design-artifact-lifecycle.md +0 -93
  439. package/docs/contracts/design-artifact-verification.md +0 -153
  440. package/docs/contracts/discovery-manifest.md +0 -209
  441. package/docs/contracts/discovery-manifest.schema.json +0 -254
  442. package/docs/contracts/evidence-based-pruning.md +0 -102
  443. package/docs/contracts/explain-modes.md +0 -187
  444. package/docs/contracts/explain-trace.schema.json +0 -144
  445. package/docs/contracts/file-ownership-matrix.json +0 -13941
  446. package/docs/contracts/file-ownership-matrix.md +0 -135
  447. package/docs/contracts/frontmatter-contract.md +0 -140
  448. package/docs/contracts/ghostwriter-schema.md +0 -337
  449. package/docs/contracts/governance-enforcement-projection.md +0 -159
  450. package/docs/contracts/gui-wizard.md +0 -350
  451. package/docs/contracts/harness-expectations.md +0 -128
  452. package/docs/contracts/hook-architecture-v1.md +0 -325
  453. package/docs/contracts/host-agent-protocol.md +0 -110
  454. package/docs/contracts/implement-ticket-flow.md +0 -625
  455. package/docs/contracts/init-telemetry.md +0 -132
  456. package/docs/contracts/injected-block-authenticity-model.md +0 -66
  457. package/docs/contracts/install-layout.md +0 -249
  458. package/docs/contracts/install-scopes.md +0 -82
  459. package/docs/contracts/installed-tools-lockfile.md +0 -144
  460. package/docs/contracts/installer-agent-mode.md +0 -137
  461. package/docs/contracts/iron-law-overrides.txt +0 -26
  462. package/docs/contracts/kernel-membership.md +0 -339
  463. package/docs/contracts/linear-ai-rules-inclusion.md +0 -143
  464. package/docs/contracts/linear-ai-three-layers.md +0 -130
  465. package/docs/contracts/linter-structural-model.md +0 -181
  466. package/docs/contracts/load-context-budget-model.md +0 -259
  467. package/docs/contracts/load-context-schema.md +0 -220
  468. package/docs/contracts/local-analytics.md +0 -160
  469. package/docs/contracts/local-knowledge-ingestion.md +0 -96
  470. package/docs/contracts/local-server-api.md +0 -134
  471. package/docs/contracts/local-server-ports.md +0 -53
  472. package/docs/contracts/low-impact-corpus-format.md +0 -95
  473. package/docs/contracts/mcp-beta-criteria.md +0 -130
  474. package/docs/contracts/mcp-cloud-scope.md +0 -355
  475. package/docs/contracts/mcp-discovery-phase-notice.md +0 -60
  476. package/docs/contracts/mcp-phase-1-scope.md +0 -272
  477. package/docs/contracts/mcp-registry-manifest.schema.json +0 -129
  478. package/docs/contracts/mcp-tool-inventory.md +0 -64
  479. package/docs/contracts/mcp-tool-stub-envelope.md +0 -78
  480. package/docs/contracts/measurement-baseline.md +0 -103
  481. package/docs/contracts/memory-visibility-v1.md +0 -160
  482. package/docs/contracts/mental-models.md +0 -336
  483. package/docs/contracts/migrate-command.md +0 -233
  484. package/docs/contracts/multi-tool-projection-fidelity.md +0 -134
  485. package/docs/contracts/namespace.md +0 -125
  486. package/docs/contracts/no-runtime-boundary.md +0 -61
  487. package/docs/contracts/one-off-script-lifecycle.md +0 -110
  488. package/docs/contracts/orchestration-dsl-v1.md +0 -153
  489. package/docs/contracts/package-self-orientation.md +0 -163
  490. package/docs/contracts/pilot/agent-authority.md +0 -24
  491. package/docs/contracts/pilot/direct-answers.md +0 -70
  492. package/docs/contracts/pilot/language-and-tone.md +0 -63
  493. package/docs/contracts/plain-language-surface.md +0 -117
  494. package/docs/contracts/prelaunch-diagnostics.md +0 -151
  495. package/docs/contracts/profile-system.md +0 -167
  496. package/docs/contracts/reasoning-discipline-protocol.md +0 -83
  497. package/docs/contracts/release-pr-gating.md +0 -151
  498. package/docs/contracts/release-sizing.md +0 -107
  499. package/docs/contracts/release-trunk-sync.md +0 -105
  500. package/docs/contracts/review-lens-schema.md +0 -64
  501. package/docs/contracts/roadmap-complexity-standard.md +0 -138
  502. package/docs/contracts/role-experience.md +0 -125
  503. package/docs/contracts/router-blending.md +0 -71
  504. package/docs/contracts/rule-classification.md +0 -171
  505. package/docs/contracts/rule-interactions.md +0 -132
  506. package/docs/contracts/rule-interactions.yml +0 -260
  507. package/docs/contracts/rule-priority-hierarchy.md +0 -88
  508. package/docs/contracts/rule-router.md +0 -287
  509. package/docs/contracts/safety-model.md +0 -129
  510. package/docs/contracts/session-profile-overlay.md +0 -157
  511. package/docs/contracts/settings-api.md +0 -264
  512. package/docs/contracts/settings-gui-agent-mode.schema.json +0 -128
  513. package/docs/contracts/settings-sync-yaml-subset.md +0 -139
  514. package/docs/contracts/skill-bundled-assets.md +0 -62
  515. package/docs/contracts/skill-discovery.md +0 -80
  516. package/docs/contracts/skill-distribution-channels.md +0 -66
  517. package/docs/contracts/skill-domains.md +0 -144
  518. package/docs/contracts/skill-dry-run.md +0 -47
  519. package/docs/contracts/skill-family-map.yml +0 -915
  520. package/docs/contracts/smoke-contracts.md +0 -144
  521. package/docs/contracts/subagent-boundary.md +0 -74
  522. package/docs/contracts/surface-agent-contracts.md +0 -153
  523. package/docs/contracts/surface-matrix.md +0 -108
  524. package/docs/contracts/surface-tiers.md +0 -81
  525. package/docs/contracts/telegraph-telemetry.md +0 -83
  526. package/docs/contracts/ticket-bundle-format.md +0 -233
  527. package/docs/contracts/tier-3-contrib-plugin.md +0 -137
  528. package/docs/contracts/trust-and-safety.md +0 -144
  529. package/docs/contracts/ui-stack-extension.md +0 -237
  530. package/docs/contracts/ui-track-flow.md +0 -329
  531. package/docs/contracts/universal-skills.md +0 -91
  532. package/docs/contracts/user-type-schema.md +0 -146
  533. package/docs/contracts/value-dashboard-spec.md +0 -378
  534. package/docs/contracts/value-report-schema.md +0 -168
  535. package/docs/contracts/workflow-packs.md +0 -121
  536. package/docs/contracts/workspace-boundary.md +0 -84
  537. package/docs/contracts/workspace-documents.md +0 -144
  538. package/docs/contracts/write-engine.md +0 -182
  539. package/docs/cookbook.md +0 -152
  540. package/docs/customization.md +0 -696
  541. package/docs/decisions/ADR-001-kernel-swap-deferred.md +0 -109
  542. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +0 -135
  543. package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +0 -137
  544. package/docs/decisions/ADR-004-rule-governance-pruning.md +0 -240
  545. package/docs/decisions/ADR-005-subagent-worktrees.md +0 -120
  546. package/docs/decisions/ADR-006-skill-tools-python-pilot.md +0 -114
  547. package/docs/decisions/ADR-007-agent-discovery-scopes.md +0 -371
  548. package/docs/decisions/ADR-008-installed-tools-manifest.md +0 -160
  549. package/docs/decisions/ADR-009-event4u-namespace.md +0 -188
  550. package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +0 -168
  551. package/docs/decisions/ADR-011-domain-pack-readiness.md +0 -213
  552. package/docs/decisions/ADR-012-typescript-cli-shell.md +0 -162
  553. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +0 -342
  554. package/docs/decisions/ADR-014-gui-framework-choice.md +0 -136
  555. package/docs/decisions/ADR-015-discovery-manifest-contract.md +0 -146
  556. package/docs/decisions/ADR-016-installer-architecture.md +0 -191
  557. package/docs/decisions/ADR-017-monorepo-physical-layout.md +0 -261
  558. package/docs/decisions/ADR-018-trust-and-safety-layer.md +0 -159
  559. package/docs/decisions/ADR-019-router-json-dist-location.md +0 -124
  560. package/docs/decisions/ADR-020-global-only-consumer-scope.md +0 -213
  561. package/docs/decisions/ADR-021-deployment-shape.md +0 -153
  562. package/docs/decisions/ADR-022-daily-workspace-decomposition.md +0 -140
  563. package/docs/decisions/ADR-023-host-agent-protocol.md +0 -129
  564. package/docs/decisions/ADR-024-workspace-v0-feature-floor.md +0 -126
  565. package/docs/decisions/ADR-025-workspace-chrome.md +0 -119
  566. package/docs/decisions/ADR-026-explain-mode-translation.md +0 -117
  567. package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +0 -129
  568. package/docs/decisions/ADR-028-root-layout.md +0 -147
  569. package/docs/decisions/ADR-029-multi-workspace-deferred.md +0 -122
  570. package/docs/decisions/ADR-030-claude-code-command-projection.md +0 -147
  571. package/docs/decisions/ADR-031-validation-severity-tiers-and-projection-roundtrip.md +0 -97
  572. package/docs/decisions/ADR-032-linked-projects-scope.md +0 -122
  573. package/docs/decisions/ADR-033-distribution-identity-npm-primary.md +0 -81
  574. package/docs/decisions/ADR-034-per-skill-model-recommendation-transport.md +0 -63
  575. package/docs/decisions/ADR-035-model-capability-tiers.md +0 -104
  576. package/docs/decisions/ADR-036-global-install-browser-wizard-handoff.md +0 -106
  577. package/docs/decisions/ADR-037-cost-profile-untangle.md +0 -117
  578. package/docs/decisions/ADR-038-canonical-settings-path.md +0 -96
  579. package/docs/decisions/ADR-039-claude-skills-untracked.md +0 -139
  580. package/docs/decisions/ADR-040-execution-model-projection-time-filtering.md +0 -244
  581. package/docs/decisions/ADR-041-controlled-command-verbs.md +0 -133
  582. package/docs/decisions/ADR-042-runtime-resolver-decision-gate.md +0 -113
  583. package/docs/decisions/ADR-043-monorepo-collapse-to-src-domains.md +0 -128
  584. package/docs/decisions/ADR-044-command-naming-scheme-hyphenated.md +0 -250
  585. package/docs/decisions/ADR-045-src-source-layout-and-profiles-as-views.md +0 -111
  586. package/docs/decisions/ADR-046-thin-command-principle.md +0 -93
  587. package/docs/decisions/ADR-047-framework-neutral-stack-adaptive-commands.md +0 -94
  588. package/docs/decisions/ADR-048-command-justification-rule.md +0 -106
  589. package/docs/decisions/ADR-049-configuration-trust-boundary.md +0 -132
  590. package/docs/decisions/ADR-050-workspace-vs-package-root-boundary.md +0 -121
  591. package/docs/decisions/ADR-051-uncondensed-source-container-relocation.md +0 -114
  592. package/docs/decisions/ADR-052-packages-removal-and-pack-home-migration.md +0 -86
  593. package/docs/decisions/ADR-053-agents-namespace-dual-role-resolution.md +0 -132
  594. package/docs/decisions/ADR-054-rule-adherence-decay-triggered-restate.md +0 -143
  595. package/docs/decisions/ADR-055-flow-layer-data-model.md +0 -235
  596. package/docs/decisions/ADR-056-unvalidated-video-adapters-disposition.md +0 -124
  597. package/docs/decisions/ADR-057-consolidation-evidence-gate-outcomes.md +0 -135
  598. package/docs/decisions/ADR-058-condensed-output-relocation-to-dist.md +0 -94
  599. package/docs/decisions/ADR-059-render-resume-filesystem-as-state.md +0 -161
  600. package/docs/decisions/ADR-060-comfyui-sandbox-model.md +0 -154
  601. package/docs/decisions/ADR-061-corpus-grounding-layer.md +0 -230
  602. package/docs/decisions/ADR-062-encrypt-at-rest-store-architecture.md +0 -121
  603. package/docs/decisions/ADR-063-append-jsonl-encryption-deferred.md +0 -83
  604. package/docs/decisions/ADR-064-append-jsonl-per-record-encryption.md +0 -113
  605. package/docs/decisions/ADR-065-tier3-inbox-handoff-v0.md +0 -86
  606. package/docs/decisions/ADR-066-skill-body-prerendering.md +0 -93
  607. package/docs/decisions/ADR-067-glama-registry-listing.md +0 -259
  608. package/docs/decisions/ADR-068-host-tier-detection.md +0 -90
  609. package/docs/decisions/ADR-069-prompt-renderer.md +0 -97
  610. package/docs/decisions/ADR-070-tier1-drive-loop.md +0 -94
  611. package/docs/decisions/ADR-071-launch-drive-integration.md +0 -95
  612. package/docs/decisions/ADR-072-codex-gemini-drive-configs.md +0 -90
  613. package/docs/decisions/ADR-073-drive-health-kill-switch.md +0 -81
  614. package/docs/decisions/ADR-074-drive-kill-switch-auto-recovery.md +0 -84
  615. package/docs/decisions/ADR-075-workspace-gui-drive.md +0 -83
  616. package/docs/decisions/ADR-076-workspace-multi-turn.md +0 -92
  617. package/docs/decisions/ADR-077-workspace-followup-gui.md +0 -70
  618. package/docs/decisions/ADR-078-drive-health-panel.md +0 -70
  619. package/docs/decisions/ADR-079-workspace-host-picker.md +0 -81
  620. package/docs/decisions/ADR-080-host-session-expired-410.md +0 -92
  621. package/docs/decisions/ADR-081-drive-health-reset-and-410-affordance.md +0 -71
  622. package/docs/decisions/ADR-082-410-one-click-relaunch.md +0 -58
  623. package/docs/decisions/ADR-083-session-thread-and-arbitrary-continuation.md +0 -85
  624. package/docs/decisions/ADR-084-drive-health-refresh-on-drive.md +0 -52
  625. package/docs/decisions/ADR-085-mcp-stdio-end-user-distribution-shape.md +0 -158
  626. package/docs/decisions/ADR-086-read-only-cross-agent-mcp-discovery-helper.md +0 -171
  627. package/docs/decisions/ADR-087-installer-e2e-test-strategy.md +0 -111
  628. package/docs/decisions/ADR-088-no-external-runtime-federation.md +0 -144
  629. package/docs/decisions/ADR-089-lean-local-plugin-install.md +0 -111
  630. package/docs/decisions/ADR-090-visibility-command-frontmatter-field.md +0 -95
  631. package/docs/decisions/ADR-091-split-meta-capability-packs.md +0 -113
  632. package/docs/decisions/ADR-092-defer-command-tier-alias-removal.md +0 -117
  633. package/docs/decisions/ADR-093-ai-council-config-user-global.md +0 -117
  634. package/docs/decisions/ADR-094-agent-memory-layer-removal.md +0 -94
  635. package/docs/decisions/ADR-095-workspace-boundary-contract.md +0 -108
  636. package/docs/decisions/ADR-096-analysis-workbench.md +0 -110
  637. package/docs/decisions/ADR-097-mission-recipe-privilege-boundary.md +0 -121
  638. package/docs/decisions/ADR-098-evidence-first-structure-discovery.md +0 -154
  639. package/docs/decisions/ADR-099-file-first-pattern-library.md +0 -87
  640. package/docs/decisions/ADR-100-global-knowledge-card-sharing.md +0 -140
  641. package/docs/decisions/ADR-101-ticket-bundle-emission.md +0 -109
  642. package/docs/decisions/ADR-102-ticket-handoff-paste-and-mcp.md +0 -72
  643. package/docs/decisions/ADR-103-global-knowledge-default-off-until-measured.md +0 -92
  644. package/docs/decisions/ADR-104-ai-council-config-global-only.md +0 -119
  645. package/docs/decisions/ADR-105-automatic-subagent-orchestration.md +0 -108
  646. package/docs/decisions/ADR-106-recursive-verification-benchmark-gate.md +0 -126
  647. package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +0 -70
  648. package/docs/decisions/ADR-108-open-source-forever-no-commercial-tier.md +0 -46
  649. package/docs/decisions/ADR-109-subagent-v1-contract.md +0 -248
  650. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +0 -112
  651. package/docs/decisions/ADR-111-canonical-glama-listing.md +0 -97
  652. package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +0 -92
  653. package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +0 -209
  654. package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +0 -85
  655. package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +0 -91
  656. package/docs/decisions/ADR-116-memory-tripwire-activation-path.md +0 -144
  657. package/docs/decisions/ADR-117-subagents-auto-default-on.md +0 -89
  658. package/docs/decisions/ADR-118-loop-engineering-boundaries.md +0 -162
  659. package/docs/decisions/ADR-119-global-knowledge-default-on.md +0 -104
  660. package/docs/decisions/ADR-120-council-chairman-mode.md +0 -70
  661. package/docs/decisions/ADR-121-knowledge-sensitivity-classes.md +0 -90
  662. package/docs/decisions/ADR-122-adversarial-verification-council.md +0 -166
  663. package/docs/decisions/ADR-123-runtime-security-scope-and-spawn-hardening.md +0 -142
  664. package/docs/decisions/ADR-124-embedded-engine-doctrine.md +0 -255
  665. package/docs/decisions/ADR-125-doc-screenshot-anonymization.md +0 -131
  666. package/docs/decisions/ADR-126-internet-reach-operator-tooling.md +0 -254
  667. package/docs/decisions/ADR-127-enforcement-claims-must-resolve.md +0 -150
  668. package/docs/decisions/ADR-128-executable-evidence-and-measured-escalation.md +0 -201
  669. package/docs/decisions/ADR-200-python-to-typescript-migration.md +0 -203
  670. package/docs/decisions/ADR-rule-kernel-and-router.md +0 -133
  671. package/docs/decisions/INDEX.md +0 -157
  672. package/docs/decisions/engine-reclassification-2026-07.md +0 -104
  673. package/docs/deploy/connector-setup.md +0 -129
  674. package/docs/deploy/env-vars.md +0 -70
  675. package/docs/deploy/policy-cookbook.md +0 -130
  676. package/docs/deploy/quickstart.md +0 -112
  677. package/docs/deploy/small-team-recipe.md +0 -148
  678. package/docs/deploy/team-deployment-posture.md +0 -111
  679. package/docs/design/adversarial-council-eval.md +0 -106
  680. package/docs/design/council-vs-solo-baseline.md +0 -92
  681. package/docs/design/cross-model-parity-eval.md +0 -82
  682. package/docs/design/length-neutral-judge-rerun.md +0 -92
  683. package/docs/design/utilization-window-criteria.md +0 -51
  684. package/docs/development.md +0 -230
  685. package/docs/distribution/awesome-list-submission.md +0 -46
  686. package/docs/distribution/consumer-matrix.md +0 -96
  687. package/docs/distribution/launch-story-draft.md +0 -58
  688. package/docs/distribution/mcp-submission-checklist.md +0 -95
  689. package/docs/distribution/public-install-smoke.md +0 -68
  690. package/docs/distribution/registries.md +0 -126
  691. package/docs/distribution/registry-submissions.md +0 -85
  692. package/docs/distribution/telemetry-privacy.md +0 -128
  693. package/docs/distribution/telemetry-schema.md +0 -174
  694. package/docs/distribution/topics-equivalents-decay-policy.md +0 -51
  695. package/docs/end-to-end-walkthroughs.md +0 -165
  696. package/docs/enforcement-by-host.md +0 -51
  697. package/docs/examples/agent-user.example.md +0 -22
  698. package/docs/experiences/agency.md +0 -49
  699. package/docs/experiences/content_creator.md +0 -49
  700. package/docs/experiences/developer.md +0 -49
  701. package/docs/experiences/finance.md +0 -50
  702. package/docs/experiences/founder.md +0 -49
  703. package/docs/experiences/ops.md +0 -49
  704. package/docs/featured-commands.md +0 -27
  705. package/docs/featured-skills.md +0 -95
  706. package/docs/flows.md +0 -67
  707. package/docs/getting-started-by-role.md +0 -190
  708. package/docs/getting-started-laravel.md +0 -72
  709. package/docs/getting-started-local-stdio.md +0 -77
  710. package/docs/getting-started.md +0 -254
  711. package/docs/github-topics.md +0 -93
  712. package/docs/governance-advantage.md +0 -72
  713. package/docs/governance.md +0 -96
  714. package/docs/guides/cross-repo-linked-projects.md +0 -93
  715. package/docs/guides/cross-repo-retrieval.md +0 -61
  716. package/docs/guides/frontend-design-corpus-refresh.md +0 -83
  717. package/docs/guides/gated-platform-reads.md +0 -221
  718. package/docs/guides/local-analytics.md +0 -125
  719. package/docs/guides/local-knowledge.md +0 -127
  720. package/docs/guides/skill-discovery.md +0 -71
  721. package/docs/guides/skill-preview.md +0 -71
  722. package/docs/hook-payload-capture.md +0 -221
  723. package/docs/install-friction-report.md +0 -66
  724. package/docs/installation.md +0 -959
  725. package/docs/maintainers/branch-protection.md +0 -105
  726. package/docs/maintainers/dev-mode.md +0 -106
  727. package/docs/maintainers/optional-media-deps.md +0 -50
  728. package/docs/maintainers/system-map.md +0 -85
  729. package/docs/mcp-registries.md +0 -94
  730. package/docs/mcp-server.md +0 -175
  731. package/docs/mcp.md +0 -147
  732. package/docs/media/proof-demo.cast +0 -14
  733. package/docs/media/proof-demo.gif +0 -0
  734. package/docs/migration/consumer-template-consumption-model.md +0 -145
  735. package/docs/migration/divergences/README.md +0 -55
  736. package/docs/migration/divergences/_template.md +0 -50
  737. package/docs/migration/divergences/bench-stats-float-precision.md +0 -72
  738. package/docs/migration/divergences/mcp-telemetry-node-sqlite.md +0 -61
  739. package/docs/migration/divergences/pack-mcp-content-gzip-body.md +0 -53
  740. package/docs/migration/divergences/src-scripts-build_cloud_bundle.md +0 -63
  741. package/docs/migration/divergences/src-scripts-check_memory.md +0 -91
  742. package/docs/migration/divergences/src-scripts-inventory_abstraction_budget.md +0 -65
  743. package/docs/migration/divergences/src-scripts-lint_marketplace.md +0 -57
  744. package/docs/migration/divergences/src-scripts-lint_mcp_registry_manifest.md +0 -70
  745. package/docs/migration/divergences/src-scripts-spotcheck_thin_root.md +0 -60
  746. package/docs/migration/divergences/src-scripts-validate_agent_settings.md +0 -58
  747. package/docs/migration/node-floor.md +0 -86
  748. package/docs/migration/v1-to-v2.md +0 -156
  749. package/docs/migration/yaml-roundtrip-spike.md +0 -163
  750. package/docs/migrations/commands-1.15.0.md +0 -117
  751. package/docs/parity/bench-external.json +0 -58
  752. package/docs/parity/bench.json +0 -41
  753. package/docs/parity/command-frontmatter.md +0 -60
  754. package/docs/parity/external-runtime.md +0 -46
  755. package/docs/personas.md +0 -178
  756. package/docs/positioning-evidence.md +0 -86
  757. package/docs/profiles.md +0 -108
  758. package/docs/proof.md +0 -252
  759. package/docs/quality.md +0 -98
  760. package/docs/readme-split-plan.md +0 -102
  761. package/docs/recruits/_template.md +0 -81
  762. package/docs/release-runbook.md +0 -141
  763. package/docs/role-experiences.md +0 -19
  764. package/docs/safety.md +0 -30
  765. package/docs/second-brain-scope.md +0 -116
  766. package/docs/self-review-gate.md +0 -65
  767. package/docs/setup/enterprise-and-offline.md +0 -201
  768. package/docs/setup/mcp-client-config.md +0 -358
  769. package/docs/setup/mcp-cloud-endpoints.md +0 -116
  770. package/docs/setup/mcp-cloud-registry-listing.md +0 -99
  771. package/docs/setup/mcp-cloud-setup.md +0 -183
  772. package/docs/setup/mcp-r2-bootstrap.md +0 -82
  773. package/docs/setup/mcp-server-docker.md +0 -101
  774. package/docs/setup/per-ide/aider.md +0 -48
  775. package/docs/setup/per-ide/antigravity.md +0 -68
  776. package/docs/setup/per-ide/augment.md +0 -89
  777. package/docs/setup/per-ide/claude-code.md +0 -97
  778. package/docs/setup/per-ide/claude-desktop.md +0 -207
  779. package/docs/setup/per-ide/cline.md +0 -43
  780. package/docs/setup/per-ide/codebuddy.md +0 -63
  781. package/docs/setup/per-ide/codex.md +0 -46
  782. package/docs/setup/per-ide/continue.md +0 -68
  783. package/docs/setup/per-ide/copilot.md +0 -80
  784. package/docs/setup/per-ide/cursor.md +0 -125
  785. package/docs/setup/per-ide/droid.md +0 -65
  786. package/docs/setup/per-ide/gemini-cli.md +0 -45
  787. package/docs/setup/per-ide/jetbrains.md +0 -76
  788. package/docs/setup/per-ide/kilocode.md +0 -66
  789. package/docs/setup/per-ide/kiro.md +0 -72
  790. package/docs/setup/per-ide/opencode.md +0 -62
  791. package/docs/setup/per-ide/qoder.md +0 -63
  792. package/docs/setup/per-ide/roocode.md +0 -68
  793. package/docs/setup/per-ide/trae.md +0 -63
  794. package/docs/setup/per-ide/warp.md +0 -63
  795. package/docs/setup/per-ide/windsurf.md +0 -109
  796. package/docs/setup/per-ide/zed.md +0 -73
  797. package/docs/showcase.md +0 -209
  798. package/docs/skill-duplication-findings.md +0 -91
  799. package/docs/skills-catalog.md +0 -265
  800. package/docs/skills-taxonomy.md +0 -90
  801. package/docs/spawn-site-policy.md +0 -72
  802. package/docs/succession.md +0 -80
  803. package/docs/threat-model.md +0 -30
  804. package/docs/troubleshooting.md +0 -155
  805. package/docs/ui-track-mental-model.md +0 -121
  806. package/docs/us-vs-the-category.md +0 -38
  807. package/docs/value.md +0 -86
  808. package/docs/walkthroughs/assets/workspace-role-grid.png +0 -0
  809. package/docs/walkthroughs/assets/workspace-session-started.png +0 -0
  810. package/docs/walkthroughs/assets/workspace-task-picker.png +0 -0
  811. package/docs/walkthroughs/daily-workspace-a11y.md +0 -87
  812. package/docs/walkthroughs/daily-workspace.md +0 -127
  813. package/docs/wedge/production-validator/README.md +0 -81
  814. package/docs/wedge/production-validator/first-run-check.sh +0 -42
  815. package/docs/wedge/production-validator/production-validator.md +0 -83
  816. package/docs/wizard.md +0 -173
  817. package/src/scripts/postinstall_gui.ts +0 -129
@@ -1,40 +0,0 @@
1
- (function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))t(l);new MutationObserver(l=>{for(const a of l)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&t(o)}).observe(document,{childList:!0,subtree:!0});function i(l){const a={};return l.integrity&&(a.integrity=l.integrity),l.referrerPolicy&&(a.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?a.credentials="include":l.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function t(l){if(l.ep)return;l.ep=!0;const a=i(l);fetch(l.href,a)}})();var di,x,Lr,$r,ie,Ut,Rr,Fr,Ei,Cn,qe,Pr,dt,Mi,Di,Fn={},Pn=[],wa=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,fi=Array.isArray;function q(e,n){for(var i in n)e[i]=n[i];return e}function ft(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function xa(e,n,i){var t,l,a,o={};for(a in n)a=="key"?t=n[a]:a=="ref"?l=n[a]:o[a]=n[a];if(arguments.length>2&&(o.children=arguments.length>3?di.call(arguments,2):i),typeof e=="function"&&e.defaultProps!=null)for(a in e.defaultProps)o[a]===void 0&&(o[a]=e.defaultProps[a]);return An(e,o,t,l,null)}function An(e,n,i,t,l){var a={type:e,props:n,key:i,ref:t,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:l??++Lr,__i:-1,__u:0};return l==null&&x.vnode!=null&&x.vnode(a),a}function M(e){return e.children}function Ke(e,n){this.props=e,this.context=n}function Pe(e,n){if(n==null)return e.__?Pe(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"?Pe(e):null}function Sa(e){if(e.__P&&e.__d){var n=e.__v,i=n.__e,t=[],l=[],a=q({},n);a.__v=n.__v+1,x.vnode&&x.vnode(a),ht(e.__P,a,n,e.__n,e.__P.namespaceURI,32&n.__u?[i]:null,t,i??Pe(n),!!(32&n.__u),l),a.__v=n.__v,a.__.__k[a.__i]=a,Ur(t,a,l),n.__e=n.__=null,a.__e!=i&&Mr(a)}}function Mr(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}),Mr(e)}function Bt(e){(!e.__d&&(e.__d=!0)&&ie.push(e)&&!Mn.__r++||Ut!=x.debounceRendering)&&((Ut=x.debounceRendering)||Rr)(Mn)}function Mn(){try{for(var e,n=1;ie.length;)ie.length>n&&ie.sort(Fr),e=ie.shift(),n=ie.length,Sa(e)}finally{ie.length=Mn.__r=0}}function Dr(e,n,i,t,l,a,o,c,s,u,h){var d,_,f,v,m,k,b,g=t&&t.__k||Pn,H=n.length;for(s=Ca(i,n,g,s,H),d=0;d<H;d++)(f=i.__k[d])!=null&&(_=f.__i!=-1&&g[f.__i]||Fn,f.__i=d,k=ht(e,f,_,l,a,o,c,s,u,h),v=f.__e,f.ref&&_.ref!=f.ref&&(_.ref&&pt(_.ref,null,f),h.push(f.ref,f.__c||v,f)),m==null&&v!=null&&(m=v),(b=!!(4&f.__u))||_.__k===f.__k?(s=jr(f,s,e,b),b&&_.__e&&(_.__e=null)):typeof f.type=="function"&&k!==void 0?s=k:v&&(s=v.nextSibling),f.__u&=-7);return i.__e=m,s}function Ca(e,n,i,t,l){var a,o,c,s,u,h=i.length,d=h,_=0;for(e.__k=new Array(l),a=0;a<l;a++)(o=n[a])!=null&&typeof o!="boolean"&&typeof o!="function"?(typeof o=="string"||typeof o=="number"||typeof o=="bigint"||o.constructor==String?o=e.__k[a]=An(null,o,null,null,null):fi(o)?o=e.__k[a]=An(M,{children:o},null,null,null):o.constructor===void 0&&o.__b>0?o=e.__k[a]=An(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):e.__k[a]=o,s=a+_,o.__=e,o.__b=e.__b+1,c=null,(u=o.__i=Aa(o,i,s,d))!=-1&&(d--,(c=i[u])&&(c.__u|=2)),c==null||c.__v==null?(u==-1&&(l>h?_--:l<h&&_++),typeof o.type!="function"&&(o.__u|=4)):u!=s&&(u==s-1?_--:u==s+1?_++:(u>s?_--:_++,o.__u|=4))):e.__k[a]=null;if(d)for(a=0;a<h;a++)(c=i[a])!=null&&!(2&c.__u)&&(c.__e==t&&(t=Pe(c)),Hr(c,c));return t}function jr(e,n,i,t){var l,a;if(typeof e.type=="function"){for(l=e.__k,a=0;l&&a<l.length;a++)l[a]&&(l[a].__=e,n=jr(l[a],n,i,t));return n}e.__e!=n&&(t&&(n&&e.type&&!n.parentNode&&(n=Pe(e)),i.insertBefore(e.__e,n||null)),n=e.__e);do n=n&&n.nextSibling;while(n!=null&&n.nodeType==8);return n}function Aa(e,n,i,t){var l,a,o,c=e.key,s=e.type,u=n[i],h=u!=null&&(2&u.__u)==0;if(u===null&&c==null||h&&c==u.key&&s==u.type)return i;if(t>(h?1:0)){for(l=i-1,a=i+1;l>=0||a<n.length;)if((u=n[o=l>=0?l--:a++])!=null&&!(2&u.__u)&&c==u.key&&s==u.type)return o}return-1}function Ht(e,n,i){n[0]=="-"?e.setProperty(n,i??""):e[n]=i==null?"":typeof i!="number"||wa.test(n)?i:i+"px"}function kn(e,n,i,t,l){var a,o;e:if(n=="style")if(typeof i=="string")e.style.cssText=i;else{if(typeof t=="string"&&(e.style.cssText=t=""),t)for(n in t)i&&n in i||Ht(e.style,n,"");if(i)for(n in i)t&&i[n]==t[n]||Ht(e.style,n,i[n])}else if(n[0]=="o"&&n[1]=="n")a=n!=(n=n.replace(Pr,"$1")),o=n.toLowerCase(),n=o in e||n=="onFocusOut"||n=="onFocusIn"?o.slice(2):n.slice(2),e.l||(e.l={}),e.l[n+a]=i,i?t?i[qe]=t[qe]:(i[qe]=dt,e.addEventListener(n,a?Di:Mi,a)):e.removeEventListener(n,a?Di:Mi,a);else{if(l=="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 Wt(e){return function(n){if(this.l){var i=this.l[n.type+e];if(n[Cn]==null)n[Cn]=dt++;else if(n[Cn]<i[qe])return;return i(x.event?x.event(n):n)}}}function ht(e,n,i,t,l,a,o,c,s,u){var h,d,_,f,v,m,k,b,g,H,oe,ze,jt,bn,Ti,W=n.type;if(n.constructor!==void 0)return null;128&i.__u&&(s=!!(32&i.__u),a=[c=n.__e=i.__e]),(h=x.__b)&&h(n);e:if(typeof W=="function")try{if(b=n.props,g=W.prototype&&W.prototype.render,H=(h=W.contextType)&&t[h.__c],oe=h?H?H.props.value:h.__:t,i.__c?k=(d=n.__c=i.__c).__=d.__E:(g?n.__c=d=new W(b,oe):(n.__c=d=new Ke(b,oe),d.constructor=W,d.render=Ea),H&&H.sub(d),d.state||(d.state={}),d.__n=t,_=d.__d=!0,d.__h=[],d._sb=[]),g&&d.__s==null&&(d.__s=d.state),g&&W.getDerivedStateFromProps!=null&&(d.__s==d.state&&(d.__s=q({},d.__s)),q(d.__s,W.getDerivedStateFromProps(b,d.__s))),f=d.props,v=d.state,d.__v=n,_)g&&W.getDerivedStateFromProps==null&&d.componentWillMount!=null&&d.componentWillMount(),g&&d.componentDidMount!=null&&d.__h.push(d.componentDidMount);else{if(g&&W.getDerivedStateFromProps==null&&b!==f&&d.componentWillReceiveProps!=null&&d.componentWillReceiveProps(b,oe),n.__v==i.__v||!d.__e&&d.shouldComponentUpdate!=null&&d.shouldComponentUpdate(b,d.__s,oe)===!1){n.__v!=i.__v&&(d.props=b,d.state=d.__s,d.__d=!1),n.__e=i.__e,n.__k=i.__k,n.__k.some(function(be){be&&(be.__=n)}),Pn.push.apply(d.__h,d._sb),d._sb=[],d.__h.length&&o.push(d);break e}d.componentWillUpdate!=null&&d.componentWillUpdate(b,d.__s,oe),g&&d.componentDidUpdate!=null&&d.__h.push(function(){d.componentDidUpdate(f,v,m)})}if(d.context=oe,d.props=b,d.__P=e,d.__e=!1,ze=x.__r,jt=0,g)d.state=d.__s,d.__d=!1,ze&&ze(n),h=d.render(d.props,d.state,d.context),Pn.push.apply(d.__h,d._sb),d._sb=[];else do d.__d=!1,ze&&ze(n),h=d.render(d.props,d.state,d.context),d.state=d.__s;while(d.__d&&++jt<25);d.state=d.__s,d.getChildContext!=null&&(t=q(q({},t),d.getChildContext())),g&&!_&&d.getSnapshotBeforeUpdate!=null&&(m=d.getSnapshotBeforeUpdate(f,v)),bn=h!=null&&h.type===M&&h.key==null?Br(h.props.children):h,c=Dr(e,fi(bn)?bn:[bn],n,i,t,l,a,o,c,s,u),d.base=n.__e,n.__u&=-161,d.__h.length&&o.push(d),k&&(d.__E=d.__=null)}catch(be){if(n.__v=null,s||a!=null)if(be.then){for(n.__u|=s?160:128;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;a[a.indexOf(c)]=null,n.__e=c}else{for(Ti=a.length;Ti--;)ft(a[Ti]);ji(n)}else n.__e=i.__e,n.__k=i.__k,be.then||ji(n);x.__e(be,n,i)}else a==null&&n.__v==i.__v?(n.__k=i.__k,n.__e=i.__e):c=n.__e=Ta(i.__e,n,i,t,l,a,o,s,u);return(h=x.diffed)&&h(n),128&n.__u?void 0:c}function ji(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(ji))}function Ur(e,n,i){for(var t=0;t<i.length;t++)pt(i[t],i[++t],i[++t]);x.__c&&x.__c(n,e),e.some(function(l){try{e=l.__h,l.__h=[],e.some(function(a){a.call(l)})}catch(a){x.__e(a,l.__v)}})}function Br(e){return typeof e!="object"||e==null||e.__b>0?e:fi(e)?e.map(Br):e.constructor!==void 0?null:q({},e)}function Ta(e,n,i,t,l,a,o,c,s){var u,h,d,_,f,v,m,k=i.props||Fn,b=n.props,g=n.type;if(g=="svg"?l="http://www.w3.org/2000/svg":g=="math"?l="http://www.w3.org/1998/Math/MathML":l||(l="http://www.w3.org/1999/xhtml"),a!=null){for(u=0;u<a.length;u++)if((f=a[u])&&"setAttribute"in f==!!g&&(g?f.localName==g:f.nodeType==3)){e=f,a[u]=null;break}}if(e==null){if(g==null)return document.createTextNode(b);e=document.createElementNS(l,g,b.is&&b),c&&(x.__m&&x.__m(n,a),c=!1),a=null}if(g==null)k===b||c&&e.data==b||(e.data=b);else{if(a=g=="textarea"&&b.defaultValue!=null?null:a&&di.call(e.childNodes),!c&&a!=null)for(k={},u=0;u<e.attributes.length;u++)k[(f=e.attributes[u]).name]=f.value;for(u in k)f=k[u],u=="dangerouslySetInnerHTML"?d=f:u=="children"||u in b||u=="value"&&"defaultValue"in b||u=="checked"&&"defaultChecked"in b||kn(e,u,null,f,l);for(u in b)f=b[u],u=="children"?_=f:u=="dangerouslySetInnerHTML"?h=f:u=="value"?v=f:u=="checked"?m=f:c&&typeof f!="function"||k[u]===f||kn(e,u,f,k[u],l);if(h)c||d&&(h.__html==d.__html||h.__html==e.innerHTML)||(e.innerHTML=h.__html),n.__k=[];else if(d&&(e.innerHTML=""),Dr(n.type=="template"?e.content:e,fi(_)?_:[_],n,i,t,g=="foreignObject"?"http://www.w3.org/1999/xhtml":l,a,o,a?a[0]:i.__k&&Pe(i,0),c,s),a!=null)for(u=a.length;u--;)ft(a[u]);c&&g!="textarea"||(u="value",g=="progress"&&v==null?e.removeAttribute("value"):v!=null&&(v!==e[u]||g=="progress"&&!v||g=="option"&&v!=k[u])&&kn(e,u,v,k[u],l),u="checked",m!=null&&m!=e[u]&&kn(e,u,m,k[u],l))}return e}function pt(e,n,i){try{if(typeof e=="function"){var t=typeof e.__u=="function";t&&e.__u(),t&&n==null||(e.__u=e(n))}else e.current=n}catch(l){x.__e(l,i)}}function Hr(e,n,i){var t,l;if(x.unmount&&x.unmount(e),(t=e.ref)&&(t.current&&t.current!=e.__e||pt(t,null,n)),(t=e.__c)!=null){if(t.componentWillUnmount)try{t.componentWillUnmount()}catch(a){x.__e(a,n)}t.base=t.__P=null}if(t=e.__k)for(l=0;l<t.length;l++)t[l]&&Hr(t[l],n,i||typeof e.type!="function");i||ft(e.__e),e.__c=e.__=e.__e=void 0}function Ea(e,n,i){return this.constructor(e,i)}function Oa(e,n,i){var t,l,a,o;n==document&&(n=document.documentElement),x.__&&x.__(e,n),l=(t=!1)?null:n.__k,a=[],o=[],ht(n,e=n.__k=xa(M,null,[e]),l||Fn,Fn,n.namespaceURI,l?null:n.firstChild?di.call(n.childNodes):null,a,l?l.__e:n.firstChild,t,o),Ur(a,e,o)}di=Pn.slice,x={__e:function(e,n,i,t){for(var l,a,o;n=n.__;)if((l=n.__c)&&!l.__)try{if((a=l.constructor)&&a.getDerivedStateFromError!=null&&(l.setState(a.getDerivedStateFromError(e)),o=l.__d),l.componentDidCatch!=null&&(l.componentDidCatch(e,t||{}),o=l.__d),o)return l.__E=l}catch(c){e=c}throw e}},Lr=0,$r=function(e){return e!=null&&e.constructor===void 0},Ke.prototype.setState=function(e,n){var i;i=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=q({},this.state),typeof e=="function"&&(e=e(q({},i),this.props)),e&&q(i,e),e!=null&&this.__v&&(n&&this._sb.push(n),Bt(this))},Ke.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Bt(this))},Ke.prototype.render=M,ie=[],Rr=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Fr=function(e,n){return e.__v.__b-n.__v.__b},Mn.__r=0,Ei=Math.random().toString(8),Cn="__d"+Ei,qe="__a"+Ei,Pr=/(PointerCapture)$|Capture$/i,dt=0,Mi=Wt(!1),Di=Wt(!0);var Na=0;function r(e,n,i,t,l,a){n||(n={});var o,c,s=n;if("ref"in s)for(c in s={},n)c=="ref"?o=n[c]:s[c]=n[c];var u={type:e,props:s,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Na,__i:-1,__u:0,__source:l,__self:a};if(typeof e=="function"&&(o=e.defaultProps))for(c in o)s[c]===void 0&&(s[c]=o[c]);return x.vnode&&x.vnode(u),u}var en,C,Oi,zt,Ui=0,Wr=[],T=x,Yt=T.__b,qt=T.__r,Kt=T.diffed,Gt=T.__c,Vt=T.unmount,Jt=T.__;function vt(e,n){T.__h&&T.__h(C,e,Ui||n),Ui=0;var i=C.__H||(C.__H={__:[],__h:[]});return e>=i.__.length&&i.__.push({}),i.__[e]}function _t(e){return Ui=1,Ia(qr,e)}function Ia(e,n,i){var t=vt(en++,2);if(t.t=e,!t.__c&&(t.__=[qr(void 0,n),function(c){var s=t.__N?t.__N[0]:t.__[0],u=t.t(s,c);s!==u&&(t.__N=[u,t.__[1]],t.__c.setState({}))}],t.__c=C,!C.__f)){var l=function(c,s,u){if(!t.__c.__H)return!0;var h=t.__c.__H.__.filter(function(_){return _.__c});if(h.every(function(_){return!_.__N}))return!a||a.call(this,c,s,u);var d=t.__c.props!==c;return h.some(function(_){if(_.__N){var f=_.__[0];_.__=_.__N,_.__N=void 0,f!==_.__[0]&&(d=!0)}}),a&&a.call(this,c,s,u)||d};C.__f=!0;var a=C.shouldComponentUpdate,o=C.componentWillUpdate;C.componentWillUpdate=function(c,s,u){if(this.__e){var h=a;a=void 0,l(c,s,u),a=h}o&&o.call(this,c,s,u)},C.shouldComponentUpdate=l}return t.__N||t.__}function ee(e,n){var i=vt(en++,3);!T.__s&&Yr(i.__H,n)&&(i.__=e,i.u=n,C.__H.__h.push(i))}function zr(e,n){var i=vt(en++,7);return Yr(i.__H,n)&&(i.__=e(),i.__H=n,i.__h=e),i.__}function La(){for(var e;e=Wr.shift();){var n=e.__H;if(e.__P&&n)try{n.__h.some(Tn),n.__h.some(Bi),n.__h=[]}catch(i){n.__h=[],T.__e(i,e.__v)}}}T.__b=function(e){C=null,Yt&&Yt(e)},T.__=function(e,n){e&&n.__k&&n.__k.__m&&(e.__m=n.__k.__m),Jt&&Jt(e,n)},T.__r=function(e){qt&&qt(e),en=0;var n=(C=e.__c).__H;n&&(Oi===C?(n.__h=[],C.__h=[],n.__.some(function(i){i.__N&&(i.__=i.__N),i.u=i.__N=void 0})):(n.__h.some(Tn),n.__h.some(Bi),n.__h=[],en=0)),Oi=C},T.diffed=function(e){Kt&&Kt(e);var n=e.__c;n&&n.__H&&(n.__H.__h.length&&(Wr.push(n)!==1&&zt===T.requestAnimationFrame||((zt=T.requestAnimationFrame)||$a)(La)),n.__H.__.some(function(i){i.u&&(i.__H=i.u),i.u=void 0})),Oi=C=null},T.__c=function(e,n){n.some(function(i){try{i.__h.some(Tn),i.__h=i.__h.filter(function(t){return!t.__||Bi(t)})}catch(t){n.some(function(l){l.__h&&(l.__h=[])}),n=[],T.__e(t,i.__v)}}),Gt&&Gt(e,n)},T.unmount=function(e){Vt&&Vt(e);var n,i=e.__c;i&&i.__H&&(i.__H.__.some(function(t){try{Tn(t)}catch(l){n=l}}),i.__H=void 0,n&&T.__e(n,i.__v))};var Qt=typeof requestAnimationFrame=="function";function $a(e){var n,i=function(){clearTimeout(t),Qt&&cancelAnimationFrame(n),setTimeout(e)},t=setTimeout(i,35);Qt&&(n=requestAnimationFrame(i))}function Tn(e){var n=C,i=e.__c;typeof i=="function"&&(e.__c=void 0,i()),C=n}function Bi(e){var n=C;e.__c=e.__(),C=n}function Yr(e,n){return!e||e.length!==n.length||n.some(function(i,t){return i!==e[t]})}function qr(e,n){return typeof n=="function"?n(e):n}var Ra=Symbol.for("preact-signals");function hi(){if(G>1)G--;else{var e,n=!1;for(function(){var l=jn;for(jn=void 0;l!==void 0;)l.S.v===l.v&&(l.S.i=l.i),l=l.o}();Ge!==void 0;){var i=Ge;for(Ge=void 0,Dn++;i!==void 0;){var t=i.u;if(i.u=void 0,i.f&=-3,!(8&i.f)&&Gr(i))try{i.c()}catch(l){n||(e=l,n=!0)}i=t}}if(Dn=0,G--,n)throw e}}function Fa(e){if(G>0)return e();Hi=++Pa,G++;try{return e()}finally{hi()}}var S=void 0;function mt(e){var n=S;S=void 0;try{return e()}finally{S=n}}var Ge=void 0,G=0,Dn=0,Pa=0,Hi=0,jn=void 0,Un=0;function Kr(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 $(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}$.prototype.brand=Ra;$.prototype.h=function(){return!0};$.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:mt(function(){var t;(t=n.W)==null||t.call(n)}))};$.prototype.U=function(e){var n=this;if(this.t!==void 0){var i=e.e,t=e.x;i!==void 0&&(i.x=t,e.e=void 0),t!==void 0&&(t.e=i,e.x=void 0),e===this.t&&(this.t=t,t===void 0&&mt(function(){var l;(l=n.Z)==null||l.call(n)}))}};$.prototype.subscribe=function(e){var n=this;return _n(function(){var i=n.value,t=S;S=void 0;try{e(i)}finally{S=t}},{name:"sub"})};$.prototype.valueOf=function(){return this.value};$.prototype.toString=function(){return this.value+""};$.prototype.toJSON=function(){return this.value};$.prototype.peek=function(){var e=this;return mt(function(){return e.value})};Object.defineProperty($.prototype,"value",{get:function(){var e=Kr(this);return e!==void 0&&(e.i=this.i),this.v},set:function(e){if(e!==this.v){if(Dn>100)throw new Error("Cycle detected");(function(i){G!==0&&Dn===0&&i.l!==Hi&&(i.l=Hi,jn={S:i,v:i.v,i:i.i,o:jn})})(this),this.v=e,this.i++,Un++,G++;try{for(var n=this.t;n!==void 0;n=n.x)n.t.N()}finally{hi()}}}});function p(e,n){return new $(e,n)}function Gr(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 Vr(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 Jr(e){for(var n=e.s,i=void 0;n!==void 0;){var t=n.p;n.i===-1?(n.S.U(n),t!==void 0&&(t.n=n.n),n.n!==void 0&&(n.n.p=t)):i=n,n.S.n=n.r,n.r!==void 0&&(n.r=void 0),n=t}e.s=i}function ge(e,n){$.call(this,void 0),this.x=e,this.s=void 0,this.g=Un-1,this.f=4,this.W=n?.watched,this.Z=n?.unwatched,this.name=n?.name}ge.prototype=new $;ge.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===Un))return!0;if(this.g=Un,this.f|=1,this.i>0&&!Gr(this))return this.f&=-2,!0;var e=S;try{Vr(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,Jr(this),this.f&=-2,!0};ge.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)}$.prototype.S.call(this,e)};ge.prototype.U=function(e){if(this.t!==void 0&&($.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)}};ge.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(ge.prototype,"value",{get:function(){if(1&this.f)throw new Error("Cycle detected");var e=Kr(this);if(this.h(),e!==void 0&&(e.i=this.i),16&this.f)throw this.v;return this.v}});function Zt(e,n){return new ge(e,n)}function Qr(e){var n=e.m;if(e.m=void 0,typeof n=="function"){G++;var i=S;S=void 0;try{n()}catch(t){throw e.f&=-2,e.f|=8,gt(e),t}finally{S=i,hi()}}}function gt(e){for(var n=e.s;n!==void 0;n=n.n)n.S.U(n);e.x=void 0,e.s=void 0,Qr(e)}function Ma(e){if(S!==this)throw new Error("Out-of-order effect");Jr(this),S=e,this.f&=-2,8&this.f&&gt(this),hi()}function He(e,n){this.x=e,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=n?.name}He.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()}};He.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,Qr(this),Vr(this),G++;var e=S;return S=this,Ma.bind(this,e)};He.prototype.N=function(){2&this.f||(this.f|=2,this.u=Ge,Ge=this)};He.prototype.d=function(){this.f|=8,1&this.f||gt(this)};He.prototype.dispose=function(){this.d()};function _n(e,n){var i=new He(e,n);try{i.c()}catch(l){throw i.d(),l}var t=i.d.bind(i);return t[Symbol.dispose]=t,t}var Zr,wn,Da=typeof window<"u"&&!!window.__PREACT_SIGNALS_DEVTOOLS__,Xr=[];_n(function(){Zr=this.N})();function We(e,n){x[e]=n.bind(null,x[e]||function(){})}function Bn(e){if(wn){var n=wn;wn=void 0,n()}wn=e&&e.S()}function el(e){var n=this,i=e.data,t=Ua(i);t.value=i;var l=zr(function(){for(var c=n,s=n.__v;s=s.__;)if(s.__c){s.__c.__$f|=4;break}var u=Zt(function(){var f=t.value.value;return f===0?0:f===!0?"":f||""}),h=Zt(function(){return!Array.isArray(u.value)&&!$r(u.value)}),d=_n(function(){if(this.N=nl,h.value){var f=u.value;c.__v&&c.__v.__e&&c.__v.__e.nodeType===3&&(c.__v.__e.data=f)}}),_=n.__$u.d;return n.__$u.d=function(){d(),_.call(this)},[h,u]},[]),a=l[0],o=l[1];return a.value?o.peek():o.value}el.displayName="ReactiveTextNode";Object.defineProperties($.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:el},props:{configurable:!0,get:function(){var e=this;return{data:{get value(){return e.value}}}}},__b:{configurable:!0,value:1}});We("__b",function(e,n){if(typeof n.type=="string"){var i,t=n.props;for(var l in t)if(l!=="children"){var a=t[l];a instanceof $&&(i||(n.__np=i={}),i[l]=a,t[l]=a.peek())}}e(n)});We("__r",function(e,n){if(e(n),n.type!==M){Bn();var i,t=n.__c;t&&(t.__$f&=-2,(i=t.__$u)===void 0&&(t.__$u=i=function(l,a){var o;return _n(function(){o=this},{name:a}),o.c=l,o}(function(){var l;Da&&((l=i.y)==null||l.call(i)),t.__$f|=1,t.setState({})},typeof n.type=="function"?n.type.displayName||n.type.name:""))),Bn(i)}});We("__e",function(e,n,i,t){Bn(),e(n,i,t)});We("diffed",function(e,n){Bn();var i;if(typeof n.type=="string"&&(i=n.__e)){var t=n.__np,l=n.props;if(t){var a=i.U;if(a)for(var o in a){var c=a[o];c!==void 0&&!(o in t)&&(c.d(),a[o]=void 0)}else a={},i.U=a;for(var s in t){var u=a[s],h=t[s];u===void 0?(u=ja(i,s,h),a[s]=u):u.o(h,l)}for(var d in t)l[d]=t[d]}}e(n)});function ja(e,n,i,t){var l=n in e&&e.ownerSVGElement===void 0,a=p(i),o=i.peek();return{o:function(c,s){a.value=c,o=c.peek()},d:_n(function(){this.N=nl;var c=a.value.value;o!==c?(o=void 0,l?e[n]=c:c!=null&&(c!==!1||n[4]==="-")?e.setAttribute(n,c):e.removeAttribute(n)):o=void 0})}}We("unmount",function(e,n){if(typeof n.type=="string"){var i=n.__e;if(i){var t=i.U;if(t){i.U=void 0;for(var l in t){var a=t[l];a&&a.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)});We("__h",function(e,n,i,t){(t<3||t===9)&&(n.__$f|=2),e(n,i,t)});Ke.prototype.shouldComponentUpdate=function(e,n){if(this.__R)return!0;var i=this.__$u,t=i&&i.s!==void 0;for(var l in n)return!0;if(this.__f||typeof this.u=="boolean"&&this.u===!0){var a=2&this.__$f;if(!(t||a||4&this.__$f)||1&this.__$f)return!0}else if(!(t||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 Ua(e,n){return zr(function(){return p(e,n)},[])}var Ba=function(e){queueMicrotask(function(){queueMicrotask(e)})};function Ha(){Fa(function(){for(var e;e=Xr.shift();)Zr.call(e)})}function nl(){Xr.push(this)===1&&(x.requestAnimationFrame||Ba)(Ha)}function il(){const e=window.location.hash;return e===""||e==="#"?"/":e.startsWith("#")?e.slice(1):e}const Hn=p(il());function pi(e){const n=e.startsWith("/")?e:`/${e}`;`#${n}`!==window.location.hash&&(window.location.hash=n)}let Xt=!1;function Wa(){Xt||(Xt=!0,window.addEventListener("hashchange",()=>{Hn.value=il()}))}let nn=null;function za(e){nn=e}class A extends Error{status;body;constructor(n,i,t){super(t),this.status=n,this.body=i}}async function w(e,n={}){const i={Accept:"application/json",...n.headers??{}};nn!==null&&(i.Authorization=`Bearer ${nn}`);const{body:t,...l}=n,a={...l,headers:i};t!==void 0&&(a.body=JSON.stringify(t),i["Content-Type"]="application/json");const o=await fetch(e,a),c=await o.text(),s=c===""?{}:JSON.parse(c);if(!o.ok){const u=s.error?.message??`request failed (${o.status})`;throw new A(o.status,s,u)}return s}async function Ya(e,n,i,t={}){const l={Accept:"text/event-stream","Content-Type":"application/json",...t.headers??{}};nn!==null&&(l.Authorization=`Bearer ${nn}`);const a=await fetch(e,{...t,method:"POST",headers:l,body:JSON.stringify(n)});if(!a.ok||a.body===null){const h=await a.text().catch(()=>"");let d={};try{d=h===""?{}:JSON.parse(h)}catch{}throw new A(a.status,d,d.error?.message??`stream failed (${a.status})`)}const o=a.body.getReader(),c=new TextDecoder;let s="";const u=h=>{for(const d of h.split(`
2
- `)){if(!d.startsWith("data:"))continue;const _=d.slice(5).trim();if(_!=="")try{i(JSON.parse(_))}catch{}}};for(;;){const{done:h,value:d}=await o.read();if(h)break;s+=c.decode(d,{stream:!0});let _=s.indexOf(`
3
-
4
- `);for(;_!==-1;)u(s.slice(0,_)),s=s.slice(_+2),_=s.indexOf(`
5
-
6
- `)}s.trim()!==""&&u(s)}const Me=p(null);async function qa(){try{const e=await w("/api/v1/ping");Me.value={...e,projectScopeAvailable:e.projectScopeAvailable===!0,projectSurface:e.projectSurface===!0,devSurfaces:e.devSurfaces===!0}}catch{Me.value=null}}function U(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 Ka(e){return/expected (boolean|string|number)/i.test(e)?e.replace(/^expected/i,"Expected"):e}function vi(e){const n={};for(const i of e.fields??[])n[i.path]=Ka(i.message);return n}function Ga({id:e,children:n}){return r("p",{class:"ac-field__description",id:e,children:n})}function Va({id:e,children:n}){return r("p",{class:"ac-field__error",id:e,role:"alert","aria-live":"polite",children:n})}function ye({id:e,label:n,description:i,error:t,children:l}){const a=i!==void 0?`${e}-desc`:void 0,o=t!==void 0?`${e}-err`:void 0;return r("div",{class:"ac-field","data-invalid":t!==void 0?"true":void 0,children:[r("label",{class:"ac-field__label",for:e,children:n}),i!==void 0?r(Ga,{id:a,children:i}):null,r("div",{class:"ac-field__control","aria-describedby":a,"aria-errormessage":o,children:l}),t!==void 0?r(Va,{id:o,children:t}):null]})}function tl(e){return r(ye,{id:e.id,label:e.label,description:e.description,error:e.error,children:r("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 Ja(e){const n=e.step??(e.integer===!0?1:"any");return r(ye,{id:e.id,label:e.label,description:e.description,error:e.error,children:r("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 t=i.currentTarget.value,l=t===""?0:Number(t);e.onChange(Number.isFinite(l)?l:0)}})})}function Qa(e){return r(ye,{id:e.id,label:e.label,description:e.description,error:e.error,children:r("label",{class:"ac-toggle",children:[r("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)}),r("span",{class:"ac-toggle__track","aria-hidden":"true"}),r("span",{class:"ac-toggle__state",children:e.value?"On":"Off"})]})})}function rl(e){const n=e.options.length>3;return r(ye,{id:e.id,label:e.label,description:e.description,error:e.error,children:n?r("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=>r("option",{value:i.value,children:i.label??(i.value===""?"(none)":i.value)},i.value))}):r("div",{class:"ac-radio-group",role:"radiogroup","aria-labelledby":`${e.id}-label`,children:e.options.map(i=>{const t=`${e.id}-${i.value||"none"}`;return r("label",{class:"ac-radio",for:t,children:[r("input",{type:"radio",id:t,name:e.name,value:i.value,checked:i.value===e.value,onChange:()=>e.onChange(i.value)}),r("span",{children:i.label??(i.value===""?"(none)":i.value)})]},i.value)})})})}function Wn(e){return r(ye,{id:e.id,label:e.label,description:e.description,error:e.error,children:r("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 ll(e){return e.replace(/_/g," ").replace(/\./g," › ").replace(/\b\w/g,n=>n.toUpperCase())}function Za(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 Ni(e,n){const i=Za(n);return{path:e,kind:i,label:ll(e[e.length-1]??""),description:n.description,options:n.enum,min:n.minimum,max:n.maximum,defaultValue:n.default}}function al(e){const n=[],i=e.properties??{};for(const[t,l]of Object.entries(i))if(l.type==="object"&&l.properties!==void 0){const a=[];for(const[o,c]of Object.entries(l.properties))if(c.type==="object"&&c.properties!==void 0)for(const[s,u]of Object.entries(c.properties))a.push(Ni([t,o,s],u));else a.push(Ni([t,o],c));n.push({path:[t],label:ll(t),description:l.description,fields:a})}else{const a=n.find(c=>c.path[0]==="__general"),o=Ni([t],l);a===void 0?n.unshift({path:["__general"],label:"General",fields:[o]}):a.fields.push(o)}return n}function mn(e,n){let i=e;for(const t of n){if(i===null||typeof i!="object"||Array.isArray(i))return;i=i[t]}return i}function tn(e,n,i){if(n.length===0)return e;const[t,...l]=n;if(t===void 0)return e;const a={...e};if(l.length===0)return a[t]=i,a;const o=a[t],c=o!==null&&typeof o=="object"&&!Array.isArray(o)?o:{};return a[t]=tn(c,l,i),a}function Ie(e){return e.join(".")}function er(e,n,i,t){const l=Ie(e.path),a=l,o=mn(n,e.path),c=i[l],s=u=>{t(tn(n,e.path,u))};switch(e.kind){case"string":{const u=typeof o=="string"?o:"";return u.length>80?r(Wn,{id:l,name:a,label:e.label,description:e.description,error:c,value:u,onChange:s}):r(tl,{id:l,name:a,label:e.label,description:e.description,error:c,value:u,onChange:s})}case"enum":{const u=typeof o=="string"||typeof o=="number"?String(o):"",h=(e.options??[]).map(d=>({value:String(d)}));return r(rl,{id:l,name:a,label:e.label,description:e.description,error:c,value:u,options:h,onChange:s})}case"number":case"integer":{const u=typeof o=="number"?o:0;return r(Ja,{id:l,name:a,label:e.label,description:e.description,error:c,value:u,integer:e.kind==="integer",min:e.min,max:e.max,onChange:s})}case"boolean":{const u=typeof o=="boolean"?o:!1;return r(Qa,{id:l,name:a,label:e.label,description:e.description,error:c,value:u,onChange:s})}case"array-of-strings":{const h=(Array.isArray(o)?o.filter(d=>typeof d=="string"):[]).join(`
7
- `);return r(Wn,{id:l,name:a,label:e.label,description:`${e.description??""} (one entry per line)`.trim(),error:c,value:h,onChange:d=>{const _=d.split(`
8
- `).map(f=>f.trim()).filter(f=>f!=="");s(_)}})}default:return null}}function Xa({field:e,values:n,errors:i,onChange:t,decorate:l}){const a=Ie(e.path),o=l?.(a,e);return o===void 0?r("div",{children:er(e,n,i,t)},a):r("div",{class:`ac-field-row${o.modified?" ac-field-row--modified":""}`,children:[r("div",{class:"ac-field-row__body",children:er(e,n,i,t)}),r("div",{class:"ac-field-row__meta",children:[o.sourceLabel!==void 0?r("span",{class:"ac-badge ac-badge--source",title:`Value set in the ${o.sourceLabel} layer`,children:o.sourceLabel}):null,o.modified&&o.onReset!==void 0?r("button",{type:"button",class:"ac-field-row__reset",title:"Reset to default",onClick:o.onReset,children:"Reset"}):null]})]})}function ol({section:e,values:n,errors:i,onChange:t,decorate:l,footer:a}){return r("section",{class:"ac-section","aria-labelledby":`section-${Ie(e.path)}`,children:[r("h2",{class:"ac-section__title",id:`section-${Ie(e.path)}`,children:e.label}),e.description!==void 0?r("p",{class:"ac-section__description",children:e.description}):null,r("div",{class:"ac-section__fields",children:e.fields.map(o=>r(Xa,{field:o,values:n,errors:i,onChange:t,decorate:l},Ie(o.path)))}),a]})}function eo(e){const n=al(e.schema),i=e.errors??{};return r("form",{class:"ac-form",onSubmit:t=>t.preventDefault(),children:[n.map(t=>r(ol,{section:t,values:e.values,errors:i,onChange:e.onChange,decorate:e.decorate},Ie(t.path))),e.actions!==void 0?r("div",{class:"ac-form__actions",children:e.actions}):null]})}function no(e){const[n]=_t(()=>`${e.id}-list`);return r(ye,{id:e.id,label:e.label,description:e.description,error:e.error,children:[r("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)}),r("datalist",{id:n,children:e.suggestions.map(i=>r("option",{value:i},i))})]})}const io=["developer","reviewer","designer","product-manager","ops","qa","maintainer"],to=["de","en","en-US","en-GB","fr","es","it","nl","pt","pt-BR"];function nr(){return new Date().toISOString().slice(0,10)}function ke(e,n){return e?.[n]}function ro({value:e,onChange:n,errors:i,hideRole:t,hideIdentityBasics:l}){const[a,o]=_t(""),c="umd-role-suggestions";function s(v){n({...e,...v,last_updated:nr()})}const u=e.role.filter(v=>v.trim()!=="");function h(v){const m=v.trim();if(m===""||u.includes(m)){o("");return}s({role:[...u,m]}),o("")}function d(v){u.length<=1||s({role:u.filter(m=>m!==v)})}function _(v){const m={...e,last_updated:nr()};v===""?delete m.notes:m.notes=v,n(m)}const f=io.filter(v=>!u.includes(v));return r("div",{class:"ac-user-md-form",children:[l?null:r(tl,{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:ke(i,"identity.name"),onChange:v=>s({identity:{...e.identity,name:v}})}),l?null:r(no,{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:to,error:ke(i,"language"),onChange:v=>s({language:v})}),t?null:r(ye,{id:"umd-role-input",label:"Roles",description:"One or more roles. Seeded suggestions are non-binding — type anything and press Enter.",error:ke(i,"role"),children:[r("ul",{class:"ac-chip-list","data-testid":"umd-role-list",children:u.map(v=>r("li",{class:"ac-chip",children:[r("span",{children:v}),r("button",{type:"button",class:"ac-chip__remove","aria-label":`Remove ${v}`,disabled:u.length<=1,onClick:()=>d(v),children:"×"})]},v))}),r("div",{class:"ac-role-add",children:[r("input",{class:"ac-input",type:"text",id:"umd-role-input",name:"role-add",list:c,placeholder:"Add a role and press Enter",value:a,onInput:v=>o(v.currentTarget.value),onKeyDown:v=>{(v.key==="Enter"||v.key===",")&&(v.preventDefault(),h(a))}}),r("datalist",{id:c,children:f.map(v=>r("option",{value:v},v))}),r("button",{type:"button",class:"ac-button",onClick:()=>h(a),children:"Add role"})]})]}),r(rl,{id:"umd-pace",name:"style.pace",label:"Pace",value:e.style.pace,error:ke(i,"style.pace"),options:[{value:"pragmatic",label:"Pragmatic"},{value:"thorough",label:"Thorough"},{value:"rapid",label:"Rapid"}],onChange:v=>s({style:{...e.style,pace:v}})}),r(Wn,{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:ke(i,"voice_sample"),onChange:v=>s({voice_sample:v})}),r(Wn,{id:"umd-notes",name:"notes",label:"Notes",description:"Optional free-form prose the agent remembers across sessions.",rows:6,value:e.notes??"",error:ke(i,"notes"),onChange:_})]})}function cl(){return{version:1,identity:{name:""},language:"en",role:[],style:{pace:"pragmatic"},voice_sample:"",last_updated:"1970-01-01"}}function ir(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function xn(e,n){return typeof e=="string"?e:n}function lo(e){return e==="thorough"||e==="rapid"?e:"pragmatic"}function ao(e){return Array.isArray(e)?e.filter(n=>typeof n=="string"&&n.trim()!==""):[]}function oo(e){if(typeof e=="string")return e===""?void 0:e}function tr(e){const n=cl(),i=ir(e.identity)?e.identity:{},t=ir(e.style)?e.style:{},l=oo(e.notes),a={version:1,identity:{name:xn(i.name,n.identity.name)},language:xn(e.language,n.language),role:ao(e.role),style:{pace:lo(t.pace)},voice_sample:xn(e.voice_sample,n.voice_sample),last_updated:xn(e.last_updated,n.last_updated)};return l!==void 0&&(a.notes=l),a}/*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT */function sl(e){return typeof e>"u"||e===null}function co(e){return typeof e=="object"&&e!==null}function so(e){return Array.isArray(e)?e:sl(e)?[]:[e]}function uo(e,n){var i,t,l,a;if(n)for(a=Object.keys(n),i=0,t=a.length;i<t;i+=1)l=a[i],e[l]=n[l];return e}function fo(e,n){var i="",t;for(t=0;t<n;t+=1)i+=e;return i}function ho(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var po=sl,vo=co,_o=so,mo=fo,go=ho,yo=uo,I={isNothing:po,isObject:vo,toArray:_o,repeat:mo,isNegativeZero:go,extend:yo};function ul(e,n){var i="",t=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),t+" "+i):t}function rn(e,n){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=n,this.message=ul(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}rn.prototype=Object.create(Error.prototype);rn.prototype.constructor=rn;rn.prototype.toString=function(n){return this.name+": "+ul(this,n)};var F=rn;function Ii(e,n,i,t,l){var a="",o="",c=Math.floor(l/2)-1;return t-n>c&&(a=" ... ",n=t-c+a.length),i-t>c&&(o=" ...",i=t+c-o.length),{str:a+e.slice(n,i).replace(/\t/g,"→")+o,pos:t-n+a.length}}function Li(e,n){return I.repeat(" ",n-e.length)+e}function bo(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,t=[0],l=[],a,o=-1;a=i.exec(e.buffer);)l.push(a.index),t.push(a.index+a[0].length),e.position<=a.index&&o<0&&(o=t.length-2);o<0&&(o=t.length-1);var c="",s,u,h=Math.min(e.line+n.linesAfter,l.length).toString().length,d=n.maxLength-(n.indent+h+3);for(s=1;s<=n.linesBefore&&!(o-s<0);s++)u=Ii(e.buffer,t[o-s],l[o-s],e.position-(t[o]-t[o-s]),d),c=I.repeat(" ",n.indent)+Li((e.line-s+1).toString(),h)+" | "+u.str+`
11
- `+c;for(u=Ii(e.buffer,t[o],l[o],e.position,d),c+=I.repeat(" ",n.indent)+Li((e.line+1).toString(),h)+" | "+u.str+`
12
- `,c+=I.repeat("-",n.indent+h+3+u.pos)+`^
13
- `,s=1;s<=n.linesAfter&&!(o+s>=l.length);s++)u=Ii(e.buffer,t[o+s],l[o+s],e.position-(t[o]-t[o+s]),d),c+=I.repeat(" ",n.indent)+Li((e.line+s+1).toString(),h)+" | "+u.str+`
14
- `;return c.replace(/\n$/,"")}var ko=bo,wo=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],xo=["scalar","sequence","mapping"];function So(e){var n={};return e!==null&&Object.keys(e).forEach(function(i){e[i].forEach(function(t){n[String(t)]=i})}),n}function Co(e,n){if(n=n||{},Object.keys(n).forEach(function(i){if(wo.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=So(n.styleAliases||null),xo.indexOf(this.kind)===-1)throw new F('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var L=Co;function rr(e,n){var i=[];return e[n].forEach(function(t){var l=i.length;i.forEach(function(a,o){a.tag===t.tag&&a.kind===t.kind&&a.multi===t.multi&&(l=o)}),i[l]=t}),i}function Ao(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},n,i;function t(l){l.multi?(e.multi[l.kind].push(l),e.multi.fallback.push(l)):e[l.kind][l.tag]=e.fallback[l.tag]=l}for(n=0,i=arguments.length;n<i;n+=1)arguments[n].forEach(t);return e}function Wi(e){return this.extend(e)}Wi.prototype.extend=function(n){var i=[],t=[];if(n instanceof L)t.push(n);else if(Array.isArray(n))t=t.concat(n);else if(n&&(Array.isArray(n.implicit)||Array.isArray(n.explicit)))n.implicit&&(i=i.concat(n.implicit)),n.explicit&&(t=t.concat(n.explicit));else throw new F("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");i.forEach(function(a){if(!(a instanceof L))throw new F("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(a.loadKind&&a.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(a.multi)throw new F("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),t.forEach(function(a){if(!(a instanceof L))throw new F("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var l=Object.create(Wi.prototype);return l.implicit=(this.implicit||[]).concat(i),l.explicit=(this.explicit||[]).concat(t),l.compiledImplicit=rr(l,"implicit"),l.compiledExplicit=rr(l,"explicit"),l.compiledTypeMap=Ao(l.compiledImplicit,l.compiledExplicit),l};var dl=Wi,fl=new L("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),hl=new L("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),pl=new L("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),vl=new dl({explicit:[fl,hl,pl]});function To(e){if(e===null)return!0;var n=e.length;return n===1&&e==="~"||n===4&&(e==="null"||e==="Null"||e==="NULL")}function Eo(){return null}function Oo(e){return e===null}var _l=new L("tag:yaml.org,2002:null",{kind:"scalar",resolve:To,construct:Eo,predicate:Oo,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function No(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 Io(e){return e==="true"||e==="True"||e==="TRUE"}function Lo(e){return Object.prototype.toString.call(e)==="[object Boolean]"}var ml=new L("tag:yaml.org,2002:bool",{kind:"scalar",resolve:No,construct:Io,predicate:Lo,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 $o(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function Ro(e){return 48<=e&&e<=55}function Fo(e){return 48<=e&&e<=57}function Po(e){if(e===null)return!1;var n=e.length,i=0,t=!1,l;if(!n)return!1;if(l=e[i],(l==="-"||l==="+")&&(l=e[++i]),l==="0"){if(i+1===n)return!0;if(l=e[++i],l==="b"){for(i++;i<n;i++)if(l=e[i],l!=="_"){if(l!=="0"&&l!=="1")return!1;t=!0}return t&&l!=="_"}if(l==="x"){for(i++;i<n;i++)if(l=e[i],l!=="_"){if(!$o(e.charCodeAt(i)))return!1;t=!0}return t&&l!=="_"}if(l==="o"){for(i++;i<n;i++)if(l=e[i],l!=="_"){if(!Ro(e.charCodeAt(i)))return!1;t=!0}return t&&l!=="_"}}if(l==="_")return!1;for(;i<n;i++)if(l=e[i],l!=="_"){if(!Fo(e.charCodeAt(i)))return!1;t=!0}return!(!t||l==="_")}function Mo(e){var n=e,i=1,t;if(n.indexOf("_")!==-1&&(n=n.replace(/_/g,"")),t=n[0],(t==="-"||t==="+")&&(t==="-"&&(i=-1),n=n.slice(1),t=n[0]),n==="0")return 0;if(t==="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 Do(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!I.isNegativeZero(e)}var gl=new L("tag:yaml.org,2002:int",{kind:"scalar",resolve:Po,construct:Mo,predicate:Do,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"]}}),jo=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Uo(e){return!(e===null||!jo.test(e)||e[e.length-1]==="_")}function Bo(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 Ho=/^[-+]?[0-9]+e/;function Wo(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(I.isNegativeZero(e))return"-0.0";return i=e.toString(10),Ho.test(i)?i.replace("e",".e"):i}function zo(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||I.isNegativeZero(e))}var yl=new L("tag:yaml.org,2002:float",{kind:"scalar",resolve:Uo,construct:Bo,predicate:zo,represent:Wo,defaultStyle:"lowercase"}),bl=vl.extend({implicit:[_l,ml,gl,yl]}),kl=bl,wl=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),xl=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 Yo(e){return e===null?!1:wl.exec(e)!==null||xl.exec(e)!==null}function qo(e){var n,i,t,l,a,o,c,s=0,u=null,h,d,_;if(n=wl.exec(e),n===null&&(n=xl.exec(e)),n===null)throw new Error("Date resolve error");if(i=+n[1],t=+n[2]-1,l=+n[3],!n[4])return new Date(Date.UTC(i,t,l));if(a=+n[4],o=+n[5],c=+n[6],n[7]){for(s=n[7].slice(0,3);s.length<3;)s+="0";s=+s}return n[9]&&(h=+n[10],d=+(n[11]||0),u=(h*60+d)*6e4,n[9]==="-"&&(u=-u)),_=new Date(Date.UTC(i,t,l,a,o,c,s)),u&&_.setTime(_.getTime()-u),_}function Ko(e){return e.toISOString()}var Sl=new L("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Yo,construct:qo,instanceOf:Date,represent:Ko});function Go(e){return e==="<<"||e===null}var Cl=new L("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Go}),yt=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
15
- \r`;function Vo(e){if(e===null)return!1;var n,i,t=0,l=e.length,a=yt;for(i=0;i<l;i++)if(n=a.indexOf(e.charAt(i)),!(n>64)){if(n<0)return!1;t+=6}return t%8===0}function Jo(e){var n,i,t=e.replace(/[\r\n=]/g,""),l=t.length,a=yt,o=0,c=[];for(n=0;n<l;n++)n%4===0&&n&&(c.push(o>>16&255),c.push(o>>8&255),c.push(o&255)),o=o<<6|a.indexOf(t.charAt(n));return i=l%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 Qo(e){var n="",i=0,t,l,a=e.length,o=yt;for(t=0;t<a;t++)t%3===0&&t&&(n+=o[i>>18&63],n+=o[i>>12&63],n+=o[i>>6&63],n+=o[i&63]),i=(i<<8)+e[t];return l=a%3,l===0?(n+=o[i>>18&63],n+=o[i>>12&63],n+=o[i>>6&63],n+=o[i&63]):l===2?(n+=o[i>>10&63],n+=o[i>>4&63],n+=o[i<<2&63],n+=o[64]):l===1&&(n+=o[i>>2&63],n+=o[i<<4&63],n+=o[64],n+=o[64]),n}function Zo(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var Al=new L("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Vo,construct:Jo,predicate:Zo,represent:Qo}),Xo=Object.prototype.hasOwnProperty,ec=Object.prototype.toString;function nc(e){if(e===null)return!0;var n=[],i,t,l,a,o,c=e;for(i=0,t=c.length;i<t;i+=1){if(l=c[i],o=!1,ec.call(l)!=="[object Object]")return!1;for(a in l)if(Xo.call(l,a))if(!o)o=!0;else return!1;if(!o)return!1;if(n.indexOf(a)===-1)n.push(a);else return!1}return!0}function ic(e){return e!==null?e:[]}var Tl=new L("tag:yaml.org,2002:omap",{kind:"sequence",resolve:nc,construct:ic}),tc=Object.prototype.toString;function rc(e){if(e===null)return!0;var n,i,t,l,a,o=e;for(a=new Array(o.length),n=0,i=o.length;n<i;n+=1){if(t=o[n],tc.call(t)!=="[object Object]"||(l=Object.keys(t),l.length!==1))return!1;a[n]=[l[0],t[l[0]]]}return!0}function lc(e){if(e===null)return[];var n,i,t,l,a,o=e;for(a=new Array(o.length),n=0,i=o.length;n<i;n+=1)t=o[n],l=Object.keys(t),a[n]=[l[0],t[l[0]]];return a}var El=new L("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:rc,construct:lc}),ac=Object.prototype.hasOwnProperty;function oc(e){if(e===null)return!0;var n,i=e;for(n in i)if(ac.call(i,n)&&i[n]!==null)return!1;return!0}function cc(e){return e!==null?e:{}}var Ol=new L("tag:yaml.org,2002:set",{kind:"mapping",resolve:oc,construct:cc}),bt=kl.extend({implicit:[Sl,Cl],explicit:[Al,Tl,El,Ol]}),ae=Object.prototype.hasOwnProperty,zn=1,Nl=2,Il=3,Yn=4,$i=1,sc=2,lr=3,uc=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,dc=/[\x85\u2028\u2029]/,fc=/[,\[\]\{\}]/,Ll=/^(?:!|!!|![a-z\-]+!)$/i,$l=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function ar(e){return Object.prototype.toString.call(e)}function z(e){return e===10||e===13}function se(e){return e===9||e===32}function D(e){return e===9||e===32||e===10||e===13}function Ae(e){return e===44||e===91||e===93||e===123||e===125}function hc(e){var n;return 48<=e&&e<=57?e-48:(n=e|32,97<=n&&n<=102?n-97+10:-1)}function pc(e){return e===120?2:e===117?4:e===85?8:0}function vc(e){return 48<=e&&e<=57?e-48:-1}function or(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 _c(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function Rl(e,n,i){n==="__proto__"?Object.defineProperty(e,n,{configurable:!0,enumerable:!0,writable:!0,value:i}):e[n]=i}var Fl=new Array(256),Pl=new Array(256);for(var we=0;we<256;we++)Fl[we]=or(we)?1:0,Pl[we]=or(we);function mc(e,n){this.input=e,this.filename=n.filename||null,this.schema=n.schema||bt,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 Ml(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=ko(i),new F(n,i)}function y(e,n){throw Ml(e,n)}function qn(e,n){e.onWarning&&e.onWarning.call(null,Ml(e,n))}var cr={YAML:function(n,i,t){var l,a,o;n.version!==null&&y(n,"duplication of %YAML directive"),t.length!==1&&y(n,"YAML directive accepts exactly one argument"),l=/^([0-9]+)\.([0-9]+)$/.exec(t[0]),l===null&&y(n,"ill-formed argument of the YAML directive"),a=parseInt(l[1],10),o=parseInt(l[2],10),a!==1&&y(n,"unacceptable YAML version of the document"),n.version=t[0],n.checkLineBreaks=o<2,o!==1&&o!==2&&qn(n,"unsupported YAML version of the document")},TAG:function(n,i,t){var l,a;t.length!==2&&y(n,"TAG directive accepts exactly two arguments"),l=t[0],a=t[1],Ll.test(l)||y(n,"ill-formed tag handle (first argument) of the TAG directive"),ae.call(n.tagMap,l)&&y(n,'there is a previously declared suffix for "'+l+'" tag handle'),$l.test(a)||y(n,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{y(n,"tag prefix is malformed: "+a)}n.tagMap[l]=a}};function le(e,n,i,t){var l,a,o,c;if(n<i){if(c=e.input.slice(n,i),t)for(l=0,a=c.length;l<a;l+=1)o=c.charCodeAt(l),o===9||32<=o&&o<=1114111||y(e,"expected valid JSON character");else uc.test(c)&&y(e,"the stream contains non-printable characters");e.result+=c}}function sr(e,n,i,t){var l,a,o,c;for(I.isObject(i)||y(e,"cannot merge mappings; the provided source object is unacceptable"),l=Object.keys(i),o=0,c=l.length;o<c;o+=1)a=l[o],ae.call(n,a)||(Rl(n,a,i[a]),t[a]=!0)}function Te(e,n,i,t,l,a,o,c,s){var u,h;if(Array.isArray(l))for(l=Array.prototype.slice.call(l),u=0,h=l.length;u<h;u+=1)Array.isArray(l[u])&&y(e,"nested arrays are not supported inside keys"),typeof l=="object"&&ar(l[u])==="[object Object]"&&(l[u]="[object Object]");if(typeof l=="object"&&ar(l)==="[object Object]"&&(l="[object Object]"),l=String(l),n===null&&(n={}),t==="tag:yaml.org,2002:merge")if(Array.isArray(a))for(u=0,h=a.length;u<h;u+=1)sr(e,n,a[u],i);else sr(e,n,a,i);else!e.json&&!ae.call(i,l)&&ae.call(n,l)&&(e.line=o||e.line,e.lineStart=c||e.lineStart,e.position=s||e.position,y(e,"duplicated mapping key")),Rl(n,l,a),delete i[l];return n}function kt(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 N(e,n,i){for(var t=0,l=e.input.charCodeAt(e.position);l!==0;){for(;se(l);)l===9&&e.firstTabInLine===-1&&(e.firstTabInLine=e.position),l=e.input.charCodeAt(++e.position);if(n&&l===35)do l=e.input.charCodeAt(++e.position);while(l!==10&&l!==13&&l!==0);if(z(l))for(kt(e),l=e.input.charCodeAt(e.position),t++,e.lineIndent=0;l===32;)e.lineIndent++,l=e.input.charCodeAt(++e.position);else break}return i!==-1&&t!==0&&e.lineIndent<i&&qn(e,"deficient indentation"),t}function _i(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||D(i)))}function wt(e,n){n===1?e.result+=" ":n>1&&(e.result+=I.repeat(`
17
- `,n-1))}function gc(e,n,i){var t,l,a,o,c,s,u,h,d=e.kind,_=e.result,f;if(f=e.input.charCodeAt(e.position),D(f)||Ae(f)||f===35||f===38||f===42||f===33||f===124||f===62||f===39||f===34||f===37||f===64||f===96||(f===63||f===45)&&(l=e.input.charCodeAt(e.position+1),D(l)||i&&Ae(l)))return!1;for(e.kind="scalar",e.result="",a=o=e.position,c=!1;f!==0;){if(f===58){if(l=e.input.charCodeAt(e.position+1),D(l)||i&&Ae(l))break}else if(f===35){if(t=e.input.charCodeAt(e.position-1),D(t))break}else{if(e.position===e.lineStart&&_i(e)||i&&Ae(f))break;if(z(f))if(s=e.line,u=e.lineStart,h=e.lineIndent,N(e,!1,-1),e.lineIndent>=n){c=!0,f=e.input.charCodeAt(e.position);continue}else{e.position=o,e.line=s,e.lineStart=u,e.lineIndent=h;break}}c&&(le(e,a,o,!1),wt(e,e.line-s),a=o=e.position,c=!1),se(f)||(o=e.position+1),f=e.input.charCodeAt(++e.position)}return le(e,a,o,!1),e.result?!0:(e.kind=d,e.result=_,!1)}function yc(e,n){var i,t,l;if(i=e.input.charCodeAt(e.position),i!==39)return!1;for(e.kind="scalar",e.result="",e.position++,t=l=e.position;(i=e.input.charCodeAt(e.position))!==0;)if(i===39)if(le(e,t,e.position,!0),i=e.input.charCodeAt(++e.position),i===39)t=e.position,e.position++,l=e.position;else return!0;else z(i)?(le(e,t,l,!0),wt(e,N(e,!1,n)),t=l=e.position):e.position===e.lineStart&&_i(e)?y(e,"unexpected end of the document within a single quoted scalar"):(e.position++,l=e.position);y(e,"unexpected end of the stream within a single quoted scalar")}function bc(e,n){var i,t,l,a,o,c;if(c=e.input.charCodeAt(e.position),c!==34)return!1;for(e.kind="scalar",e.result="",e.position++,i=t=e.position;(c=e.input.charCodeAt(e.position))!==0;){if(c===34)return le(e,i,e.position,!0),e.position++,!0;if(c===92){if(le(e,i,e.position,!0),c=e.input.charCodeAt(++e.position),z(c))N(e,!1,n);else if(c<256&&Fl[c])e.result+=Pl[c],e.position++;else if((o=pc(c))>0){for(l=o,a=0;l>0;l--)c=e.input.charCodeAt(++e.position),(o=hc(c))>=0?a=(a<<4)+o:y(e,"expected hexadecimal character");e.result+=_c(a),e.position++}else y(e,"unknown escape sequence");i=t=e.position}else z(c)?(le(e,i,t,!0),wt(e,N(e,!1,n)),i=t=e.position):e.position===e.lineStart&&_i(e)?y(e,"unexpected end of the document within a double quoted scalar"):(e.position++,t=e.position)}y(e,"unexpected end of the stream within a double quoted scalar")}function kc(e,n){var i=!0,t,l,a,o=e.tag,c,s=e.anchor,u,h,d,_,f,v=Object.create(null),m,k,b,g;if(g=e.input.charCodeAt(e.position),g===91)h=93,f=!1,c=[];else if(g===123)h=125,f=!0,c={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=c),g=e.input.charCodeAt(++e.position);g!==0;){if(N(e,!0,n),g=e.input.charCodeAt(e.position),g===h)return e.position++,e.tag=o,e.anchor=s,e.kind=f?"mapping":"sequence",e.result=c,!0;i?g===44&&y(e,"expected the node content, but found ','"):y(e,"missed comma between flow collection entries"),k=m=b=null,d=_=!1,g===63&&(u=e.input.charCodeAt(e.position+1),D(u)&&(d=_=!0,e.position++,N(e,!0,n))),t=e.line,l=e.lineStart,a=e.position,De(e,n,zn,!1,!0),k=e.tag,m=e.result,N(e,!0,n),g=e.input.charCodeAt(e.position),(_||e.line===t)&&g===58&&(d=!0,g=e.input.charCodeAt(++e.position),N(e,!0,n),De(e,n,zn,!1,!0),b=e.result),f?Te(e,c,v,k,m,b,t,l,a):d?c.push(Te(e,null,v,k,m,b,t,l,a)):c.push(m),N(e,!0,n),g=e.input.charCodeAt(e.position),g===44?(i=!0,g=e.input.charCodeAt(++e.position)):i=!1}y(e,"unexpected end of the stream within a flow collection")}function wc(e,n){var i,t,l=$i,a=!1,o=!1,c=n,s=0,u=!1,h,d;if(d=e.input.charCodeAt(e.position),d===124)t=!1;else if(d===62)t=!0;else return!1;for(e.kind="scalar",e.result="";d!==0;)if(d=e.input.charCodeAt(++e.position),d===43||d===45)$i===l?l=d===43?lr:sc:y(e,"repeat of a chomping mode identifier");else if((h=vc(d))>=0)h===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+h-1,o=!0);else break;if(se(d)){do d=e.input.charCodeAt(++e.position);while(se(d));if(d===35)do d=e.input.charCodeAt(++e.position);while(!z(d)&&d!==0)}for(;d!==0;){for(kt(e),e.lineIndent=0,d=e.input.charCodeAt(e.position);(!o||e.lineIndent<c)&&d===32;)e.lineIndent++,d=e.input.charCodeAt(++e.position);if(!o&&e.lineIndent>c&&(c=e.lineIndent),z(d)){s++;continue}if(e.lineIndent<c){l===lr?e.result+=I.repeat(`
18
- `,a?1+s:s):l===$i&&a&&(e.result+=`
19
- `);break}for(t?se(d)?(u=!0,e.result+=I.repeat(`
20
- `,a?1+s:s)):u?(u=!1,e.result+=I.repeat(`
21
- `,s+1)):s===0?a&&(e.result+=" "):e.result+=I.repeat(`
22
- `,s):e.result+=I.repeat(`
23
- `,a?1+s:s),a=!0,o=!0,s=0,i=e.position;!z(d)&&d!==0;)d=e.input.charCodeAt(++e.position);le(e,i,e.position,!1)}return!0}function ur(e,n){var i,t=e.tag,l=e.anchor,a=[],o,c=!1,s;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=a),s=e.input.charCodeAt(e.position);s!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,y(e,"tab characters must not be used in indentation")),!(s!==45||(o=e.input.charCodeAt(e.position+1),!D(o))));){if(c=!0,e.position++,N(e,!0,-1)&&e.lineIndent<=n){a.push(null),s=e.input.charCodeAt(e.position);continue}if(i=e.line,De(e,n,Il,!1,!0),a.push(e.result),N(e,!0,-1),s=e.input.charCodeAt(e.position),(e.line===i||e.lineIndent>n)&&s!==0)y(e,"bad indentation of a sequence entry");else if(e.lineIndent<n)break}return c?(e.tag=t,e.anchor=l,e.kind="sequence",e.result=a,!0):!1}function xc(e,n,i){var t,l,a,o,c,s,u=e.tag,h=e.anchor,d={},_=Object.create(null),f=null,v=null,m=null,k=!1,b=!1,g;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=d),g=e.input.charCodeAt(e.position);g!==0;){if(!k&&e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,y(e,"tab characters must not be used in indentation")),t=e.input.charCodeAt(e.position+1),a=e.line,(g===63||g===58)&&D(t))g===63?(k&&(Te(e,d,_,f,v,null,o,c,s),f=v=m=null),b=!0,k=!0,l=!0):k?(k=!1,l=!0):y(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,g=t;else{if(o=e.line,c=e.lineStart,s=e.position,!De(e,i,Nl,!1,!0))break;if(e.line===a){for(g=e.input.charCodeAt(e.position);se(g);)g=e.input.charCodeAt(++e.position);if(g===58)g=e.input.charCodeAt(++e.position),D(g)||y(e,"a whitespace character is expected after the key-value separator within a block mapping"),k&&(Te(e,d,_,f,v,null,o,c,s),f=v=m=null),b=!0,k=!1,l=!1,f=e.tag,v=e.result;else if(b)y(e,"can not read an implicit mapping pair; a colon is missed");else return e.tag=u,e.anchor=h,!0}else if(b)y(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else return e.tag=u,e.anchor=h,!0}if((e.line===a||e.lineIndent>n)&&(k&&(o=e.line,c=e.lineStart,s=e.position),De(e,n,Yn,!0,l)&&(k?v=e.result:m=e.result),k||(Te(e,d,_,f,v,m,o,c,s),f=v=m=null),N(e,!0,-1),g=e.input.charCodeAt(e.position)),(e.line===a||e.lineIndent>n)&&g!==0)y(e,"bad indentation of a mapping entry");else if(e.lineIndent<n)break}return k&&Te(e,d,_,f,v,null,o,c,s),b&&(e.tag=u,e.anchor=h,e.kind="mapping",e.result=d),b}function Sc(e){var n,i=!1,t=!1,l,a,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?(t=!0,l="!!",o=e.input.charCodeAt(++e.position)):l="!",n=e.position,i){do o=e.input.charCodeAt(++e.position);while(o!==0&&o!==62);e.position<e.length?(a=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&&!D(o);)o===33&&(t?y(e,"tag suffix cannot contain exclamation marks"):(l=e.input.slice(n-1,e.position+1),Ll.test(l)||y(e,"named tag handle cannot contain such characters"),t=!0,n=e.position+1)),o=e.input.charCodeAt(++e.position);a=e.input.slice(n,e.position),fc.test(a)&&y(e,"tag suffix cannot contain flow indicator characters")}a&&!$l.test(a)&&y(e,"tag name cannot contain such characters: "+a);try{a=decodeURIComponent(a)}catch{y(e,"tag name is malformed: "+a)}return i?e.tag=a:ae.call(e.tagMap,l)?e.tag=e.tagMap[l]+a:l==="!"?e.tag="!"+a:l==="!!"?e.tag="tag:yaml.org,2002:"+a:y(e,'undeclared tag handle "'+l+'"'),!0}function Cc(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&&!D(i)&&!Ae(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 Ac(e){var n,i,t;if(t=e.input.charCodeAt(e.position),t!==42)return!1;for(t=e.input.charCodeAt(++e.position),n=e.position;t!==0&&!D(t)&&!Ae(t);)t=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),ae.call(e.anchorMap,i)||y(e,'unidentified alias "'+i+'"'),e.result=e.anchorMap[i],N(e,!0,-1),!0}function De(e,n,i,t,l){var a,o,c,s=1,u=!1,h=!1,d,_,f,v,m,k;if(e.listener!==null&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,a=o=c=Yn===i||Il===i,t&&N(e,!0,-1)&&(u=!0,e.lineIndent>n?s=1:e.lineIndent===n?s=0:e.lineIndent<n&&(s=-1)),s===1)for(;Sc(e)||Cc(e);)N(e,!0,-1)?(u=!0,c=a,e.lineIndent>n?s=1:e.lineIndent===n?s=0:e.lineIndent<n&&(s=-1)):c=!1;if(c&&(c=u||l),(s===1||Yn===i)&&(zn===i||Nl===i?m=n:m=n+1,k=e.position-e.lineStart,s===1?c&&(ur(e,k)||xc(e,k,m))||kc(e,m)?h=!0:(o&&wc(e,m)||yc(e,m)||bc(e,m)?h=!0:Ac(e)?(h=!0,(e.tag!==null||e.anchor!==null)&&y(e,"alias node should not have any properties")):gc(e,m,zn===i)&&(h=!0,e.tag===null&&(e.tag="?")),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):s===0&&(h=c&&ur(e,k))),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+'"'),d=0,_=e.implicitTypes.length;d<_;d+=1)if(v=e.implicitTypes[d],v.resolve(e.result)){e.result=v.construct(e.result),e.tag=v.tag,e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);break}}else if(e.tag!=="!"){if(ae.call(e.typeMap[e.kind||"fallback"],e.tag))v=e.typeMap[e.kind||"fallback"][e.tag];else for(v=null,f=e.typeMap.multi[e.kind||"fallback"],d=0,_=f.length;d<_;d+=1)if(e.tag.slice(0,f[d].tag.length)===f[d].tag){v=f[d];break}v||y(e,"unknown tag !<"+e.tag+">"),e.result!==null&&v.kind!==e.kind&&y(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+v.kind+'", not "'+e.kind+'"'),v.resolve(e.result,e.tag)?(e.result=v.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||h}function Tc(e){var n=e.position,i,t,l,a=!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&&(N(e,!0,-1),o=e.input.charCodeAt(e.position),!(e.lineIndent>0||o!==37));){for(a=!0,o=e.input.charCodeAt(++e.position),i=e.position;o!==0&&!D(o);)o=e.input.charCodeAt(++e.position);for(t=e.input.slice(i,e.position),l=[],t.length<1&&y(e,"directive name must not be less than one character in length");o!==0;){for(;se(o);)o=e.input.charCodeAt(++e.position);if(o===35){do o=e.input.charCodeAt(++e.position);while(o!==0&&!z(o));break}if(z(o))break;for(i=e.position;o!==0&&!D(o);)o=e.input.charCodeAt(++e.position);l.push(e.input.slice(i,e.position))}o!==0&&kt(e),ae.call(cr,t)?cr[t](e,t,l):qn(e,'unknown document directive "'+t+'"')}if(N(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,N(e,!0,-1)):a&&y(e,"directives end mark is expected"),De(e,e.lineIndent-1,Yn,!1,!0),N(e,!0,-1),e.checkLineBreaks&&dc.test(e.input.slice(n,e.position))&&qn(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&_i(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,N(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 Dl(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 mc(e,n),t=e.indexOf("\0");for(t!==-1&&(i.position=t,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;)Tc(i);return i.documents}function Ec(e,n,i){n!==null&&typeof n=="object"&&typeof i>"u"&&(i=n,n=null);var t=Dl(e,i);if(typeof n!="function")return t;for(var l=0,a=t.length;l<a;l+=1)n(t[l])}function Oc(e,n){var i=Dl(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 Nc=Ec,Ic=Oc,jl={loadAll:Nc,load:Ic},Ul=Object.prototype.toString,Bl=Object.prototype.hasOwnProperty,xt=65279,Lc=9,ln=10,$c=13,Rc=32,Fc=33,Pc=34,zi=35,Mc=37,Dc=38,jc=39,Uc=42,Hl=44,Bc=45,Kn=58,Hc=61,Wc=62,zc=63,Yc=64,Wl=91,zl=93,qc=96,Yl=123,Kc=124,ql=125,R={};R[0]="\\0";R[7]="\\a";R[8]="\\b";R[9]="\\t";R[10]="\\n";R[11]="\\v";R[12]="\\f";R[13]="\\r";R[27]="\\e";R[34]='\\"';R[92]="\\\\";R[133]="\\N";R[160]="\\_";R[8232]="\\L";R[8233]="\\P";var Gc=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],Vc=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function Jc(e,n){var i,t,l,a,o,c,s;if(n===null)return{};for(i={},t=Object.keys(n),l=0,a=t.length;l<a;l+=1)o=t[l],c=String(n[o]),o.slice(0,2)==="!!"&&(o="tag:yaml.org,2002:"+o.slice(2)),s=e.compiledTypeMap.fallback[o],s&&Bl.call(s.styleAliases,c)&&(c=s.styleAliases[c]),i[o]=c;return i}function Qc(e){var n,i,t;if(n=e.toString(16).toUpperCase(),e<=255)i="x",t=2;else if(e<=65535)i="u",t=4;else if(e<=4294967295)i="U",t=8;else throw new F("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+i+I.repeat("0",t-n.length)+n}var Zc=1,an=2;function Xc(e){this.schema=e.schema||bt,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=I.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=Jc(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==='"'?an:Zc,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 dr(e,n){for(var i=I.repeat(" ",n),t=0,l=-1,a="",o,c=e.length;t<c;)l=e.indexOf(`
25
- `,t),l===-1?(o=e.slice(t),t=c):(o=e.slice(t,l+1),t=l+1),o.length&&o!==`
26
- `&&(a+=i),a+=o;return a}function Yi(e,n){return`
27
- `+I.repeat(" ",e.indent*n)}function es(e,n){var i,t,l;for(i=0,t=e.implicitTypes.length;i<t;i+=1)if(l=e.implicitTypes[i],l.resolve(n))return!0;return!1}function Gn(e){return e===Rc||e===Lc}function on(e){return 32<=e&&e<=126||161<=e&&e<=55295&&e!==8232&&e!==8233||57344<=e&&e<=65533&&e!==xt||65536<=e&&e<=1114111}function fr(e){return on(e)&&e!==xt&&e!==$c&&e!==ln}function hr(e,n,i){var t=fr(e),l=t&&!Gn(e);return(i?t:t&&e!==Hl&&e!==Wl&&e!==zl&&e!==Yl&&e!==ql)&&e!==zi&&!(n===Kn&&!l)||fr(n)&&!Gn(n)&&e===zi||n===Kn&&l}function ns(e){return on(e)&&e!==xt&&!Gn(e)&&e!==Bc&&e!==zc&&e!==Kn&&e!==Hl&&e!==Wl&&e!==zl&&e!==Yl&&e!==ql&&e!==zi&&e!==Dc&&e!==Uc&&e!==Fc&&e!==Kc&&e!==Hc&&e!==Wc&&e!==jc&&e!==Pc&&e!==Mc&&e!==Yc&&e!==qc}function is(e){return!Gn(e)&&e!==Kn}function Ye(e,n){var i=e.charCodeAt(n),t;return i>=55296&&i<=56319&&n+1<e.length&&(t=e.charCodeAt(n+1),t>=56320&&t<=57343)?(i-55296)*1024+t-56320+65536:i}function Kl(e){var n=/^\n* /;return n.test(e)}var Gl=1,qi=2,Vl=3,Jl=4,Se=5;function ts(e,n,i,t,l,a,o,c){var s,u=0,h=null,d=!1,_=!1,f=t!==-1,v=-1,m=ns(Ye(e,0))&&is(Ye(e,e.length-1));if(n||o)for(s=0;s<e.length;u>=65536?s+=2:s++){if(u=Ye(e,s),!on(u))return Se;m=m&&hr(u,h,c),h=u}else{for(s=0;s<e.length;u>=65536?s+=2:s++){if(u=Ye(e,s),u===ln)d=!0,f&&(_=_||s-v-1>t&&e[v+1]!==" ",v=s);else if(!on(u))return Se;m=m&&hr(u,h,c),h=u}_=_||f&&s-v-1>t&&e[v+1]!==" "}return!d&&!_?m&&!o&&!l(e)?Gl:a===an?Se:qi:i>9&&Kl(e)?Se:o?a===an?Se:qi:_?Jl:Vl}function rs(e,n,i,t,l){e.dump=function(){if(n.length===0)return e.quotingType===an?'""':"''";if(!e.noCompatMode&&(Gc.indexOf(n)!==-1||Vc.test(n)))return e.quotingType===an?'"'+n+'"':"'"+n+"'";var a=e.indent*Math.max(1,i),o=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-a),c=t||e.flowLevel>-1&&i>=e.flowLevel;function s(u){return es(e,u)}switch(ts(n,c,e.indent,o,s,e.quotingType,e.forceQuotes&&!t,l)){case Gl:return n;case qi:return"'"+n.replace(/'/g,"''")+"'";case Vl:return"|"+pr(n,e.indent)+vr(dr(n,a));case Jl:return">"+pr(n,e.indent)+vr(dr(ls(n,o),a));case Se:return'"'+as(n)+'"';default:throw new F("impossible error: invalid scalar style")}}()}function pr(e,n){var i=Kl(e)?String(n):"",t=e[e.length-1]===`
28
- `,l=t&&(e[e.length-2]===`
29
- `||e===`
30
- `),a=l?"+":t?"":"-";return i+a+`
31
- `}function vr(e){return e[e.length-1]===`
32
- `?e.slice(0,-1):e}function ls(e,n){for(var i=/(\n+)([^\n]*)/g,t=function(){var u=e.indexOf(`
33
- `);return u=u!==-1?u:e.length,i.lastIndex=u,_r(e.slice(0,u),n)}(),l=e[0]===`
34
- `||e[0]===" ",a,o;o=i.exec(e);){var c=o[1],s=o[2];a=s[0]===" ",t+=c+(!l&&!a&&s!==""?`
35
- `:"")+_r(s,n),l=a}return t}function _r(e,n){if(e===""||e[0]===" ")return e;for(var i=/ [^ ]/g,t,l=0,a,o=0,c=0,s="";t=i.exec(e);)c=t.index,c-l>n&&(a=o>l?o:c,s+=`
36
- `+e.slice(l,a),l=a+1),o=c;return s+=`
37
- `,e.length-l>n&&o>l?s+=e.slice(l,o)+`
38
- `+e.slice(o+1):s+=e.slice(l),s.slice(1)}function as(e){for(var n="",i=0,t,l=0;l<e.length;i>=65536?l+=2:l++)i=Ye(e,l),t=R[i],!t&&on(i)?(n+=e[l],i>=65536&&(n+=e[l+1])):n+=t||Qc(i);return n}function os(e,n,i){var t="",l=e.tag,a,o,c;for(a=0,o=i.length;a<o;a+=1)c=i[a],e.replacer&&(c=e.replacer.call(i,String(a),c)),(Q(e,n,c,!1,!1)||typeof c>"u"&&Q(e,n,null,!1,!1))&&(t!==""&&(t+=","+(e.condenseFlow?"":" ")),t+=e.dump);e.tag=l,e.dump="["+t+"]"}function mr(e,n,i,t){var l="",a=e.tag,o,c,s;for(o=0,c=i.length;o<c;o+=1)s=i[o],e.replacer&&(s=e.replacer.call(i,String(o),s)),(Q(e,n+1,s,!0,!0,!1,!0)||typeof s>"u"&&Q(e,n+1,null,!0,!0,!1,!0))&&((!t||l!=="")&&(l+=Yi(e,n)),e.dump&&ln===e.dump.charCodeAt(0)?l+="-":l+="- ",l+=e.dump);e.tag=a,e.dump=l||"[]"}function cs(e,n,i){var t="",l=e.tag,a=Object.keys(i),o,c,s,u,h;for(o=0,c=a.length;o<c;o+=1)h="",t!==""&&(h+=", "),e.condenseFlow&&(h+='"'),s=a[o],u=i[s],e.replacer&&(u=e.replacer.call(i,s,u)),Q(e,n,s,!1,!1)&&(e.dump.length>1024&&(h+="? "),h+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Q(e,n,u,!1,!1)&&(h+=e.dump,t+=h));e.tag=l,e.dump="{"+t+"}"}function ss(e,n,i,t){var l="",a=e.tag,o=Object.keys(i),c,s,u,h,d,_;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,s=o.length;c<s;c+=1)_="",(!t||l!=="")&&(_+=Yi(e,n)),u=o[c],h=i[u],e.replacer&&(h=e.replacer.call(i,u,h)),Q(e,n+1,u,!0,!0,!0)&&(d=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024,d&&(e.dump&&ln===e.dump.charCodeAt(0)?_+="?":_+="? "),_+=e.dump,d&&(_+=Yi(e,n)),Q(e,n+1,h,!0,d)&&(e.dump&&ln===e.dump.charCodeAt(0)?_+=":":_+=": ",_+=e.dump,l+=_));e.tag=a,e.dump=l||"{}"}function gr(e,n,i){var t,l,a,o,c,s;for(l=i?e.explicitTypes:e.implicitTypes,a=0,o=l.length;a<o;a+=1)if(c=l[a],(c.instanceOf||c.predicate)&&(!c.instanceOf||typeof n=="object"&&n instanceof c.instanceOf)&&(!c.predicate||c.predicate(n))){if(i?c.multi&&c.representName?e.tag=c.representName(n):e.tag=c.tag:e.tag="?",c.represent){if(s=e.styleMap[c.tag]||c.defaultStyle,Ul.call(c.represent)==="[object Function]")t=c.represent(n,s);else if(Bl.call(c.represent,s))t=c.represent[s](n,s);else throw new F("!<"+c.tag+'> tag resolver accepts not "'+s+'" style');e.dump=t}return!0}return!1}function Q(e,n,i,t,l,a,o){e.tag=null,e.dump=i,gr(e,i,!1)||gr(e,i,!0);var c=Ul.call(e.dump),s=t,u;t&&(t=e.flowLevel<0||e.flowLevel>n);var h=c==="[object Object]"||c==="[object Array]",d,_;if(h&&(d=e.duplicates.indexOf(i),_=d!==-1),(e.tag!==null&&e.tag!=="?"||_||e.indent!==2&&n>0)&&(l=!1),_&&e.usedDuplicates[d])e.dump="*ref_"+d;else{if(h&&_&&!e.usedDuplicates[d]&&(e.usedDuplicates[d]=!0),c==="[object Object]")t&&Object.keys(e.dump).length!==0?(ss(e,n,e.dump,l),_&&(e.dump="&ref_"+d+e.dump)):(cs(e,n,e.dump),_&&(e.dump="&ref_"+d+" "+e.dump));else if(c==="[object Array]")t&&e.dump.length!==0?(e.noArrayIndent&&!o&&n>0?mr(e,n-1,e.dump,l):mr(e,n,e.dump,l),_&&(e.dump="&ref_"+d+e.dump)):(os(e,n,e.dump),_&&(e.dump="&ref_"+d+" "+e.dump));else if(c==="[object String]")e.tag!=="?"&&rs(e,e.dump,n,a,s);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!=="?"&&(u=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",e.dump=u+" "+e.dump)}return!0}function us(e,n){var i=[],t=[],l,a;for(Ki(e,i,t),l=0,a=t.length;l<a;l+=1)n.duplicates.push(i[t[l]]);n.usedDuplicates=new Array(a)}function Ki(e,n,i){var t,l,a;if(e!==null&&typeof e=="object")if(l=n.indexOf(e),l!==-1)i.indexOf(l)===-1&&i.push(l);else if(n.push(e),Array.isArray(e))for(l=0,a=e.length;l<a;l+=1)Ki(e[l],n,i);else for(t=Object.keys(e),l=0,a=t.length;l<a;l+=1)Ki(e[t[l]],n,i)}function ds(e,n){n=n||{};var i=new Xc(n);i.noRefs||us(e,i);var t=e;return i.replacer&&(t=i.replacer.call({"":t},"",t)),Q(i,0,t,!0,!0)?i.dump+`
39
- `:""}var fs=ds,hs={dump:fs};function St(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 ps=L,vs=dl,_s=vl,ms=bl,gs=kl,ys=bt,bs=jl.load,ks=jl.loadAll,ws=hs.dump,xs=F,Ss={binary:Al,float:yl,map:pl,null:_l,pairs:El,set:Ol,timestamp:Sl,bool:ml,int:gl,merge:Cl,omap:Tl,seq:hl,str:fl},Cs=St("safeLoad","load"),As=St("safeLoadAll","loadAll"),Ts=St("safeDump","dump"),Es={Type:ps,Schema:vs,FAILSAFE_SCHEMA:_s,JSON_SCHEMA:ms,CORE_SCHEMA:gs,DEFAULT_SCHEMA:ys,load:bs,loadAll:ks,dump:ws,YAMLException:xs,types:Ss,safeLoad:Cs,safeLoadAll:As,safeDump:Ts};function Os(e){if(e.trim()==="")return{};const i=Es.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 yr={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"},br={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"]},Ns=[{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"]}],kr=[{id:"identity",title:"Editor & behaviour",navLabel:"Preferences",subtitle:"Your IDE plus how the agent behaves: autonomy, output verbosity, PR-comment style. 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","personal.autonomy","personal.minimal_output","personal.play_by_play","personal.pr_comment_bot_icon"]},{id:"cost",title:"Budgets, rules & cadence",navLabel:"Budgets & cadence",subtitle:"Independent levers: rule_loading_tier (how many behavioural rules load — token footprint), cost.budgets (optional USD ceilings), model.auto_switch (per-skill model tier), plus quality/roadmap cadence and memory thresholds.",kind:"form",paths:["rule_loading_tier","cost.budgets.daily","cost.budgets.weekly","cost.budgets.monthly","cost.enforcement","model.auto_switch","tokens.rich_skills","roadmap.quality_cadence","roadmap.dashboard_regen_cadence","quality.local_auto_run","quality.wait_for_remote_ci","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 Ql(e={}){return e.extended===!0?[yr,br,...Ns,...kr]:[yr,br,...kr]}function mi(e,n={}){const i=Ql(n),t=Math.max(0,Math.min(i.length-1,e));return i[t]}function Is(e){const n={},i=t=>{n[t]=!0;const l=e.clusterOf.get(t);l!==void 0&&(n[l]=!0)};for(const t of e.installed)i(t);for(const t of e.roleDefaults)i(t);for(const t of e.detected)i(t);return n}function Ls(e,n){const i=new Set(n);return e.filter(t=>t!=="engineering-base"&&!i.has(t)).sort()}function $s(e,n){const i={type:"object",properties:{},...e.description!==void 0?{description:e.description}:{}},t=i.properties,l=e.properties??{};for(const a of n){const o=a.split(".").filter(H=>H.length>0);if(o.length===0)continue;const[c,s,u]=o;if(c===void 0)continue;const h=l[c];if(h===void 0)continue;if(s===void 0){t[c]=h;continue}const d=h.properties?.[s];if(d===void 0)continue;const f=t[c]??{type:"object",properties:{},...h.description!==void 0?{description:h.description}:{}},v=f.properties??={};if(u===void 0){v[s]=d,t[c]=f;continue}const m=d.properties?.[u];if(m===void 0)continue;const b=v[s]??{type:"object",properties:{},...d.description!==void 0?{description:d.description}:{}},g=b.properties??={};g[u]=m,v[s]=b,t[c]=f}return i}function Rs({current:e,total:n}){const i=Math.max(1,n),t=Math.max(0,Math.min(i-1,e)),l=Array.from({length:i},(o,c)=>c<=t),a=Math.round((t+1)/i*100);return r("div",{class:"ac-wizard__progress",role:"progressbar","aria-valuenow":t+1,"aria-valuemin":1,"aria-valuemax":i,"aria-valuetext":`Step ${t+1} of ${i} (${a}%)`,children:l.map((o,c)=>r("span",{class:`ac-wizard__progress-segment${o?" ac-wizard__progress-segment--filled":""}`,"aria-hidden":"true"},c))})}function Fs({step:e,index:n,total:i}){return r("header",{class:"ac-page__header ac-wizard__header",children:[r("p",{class:"ac-wizard__step-count",children:["Step ",n+1," of ",i]}),r("div",{class:"ac-wizard__header-text",children:[r("h1",{children:e.title}),r("p",{class:"ac-wizard__subtitle",children:e.subtitle})]}),r(Rs,{current:n,total:i})]})}function Ps(e){const n=e.canFinish??!0,i=e.completed??!1;return r("div",{class:"ac-form__actions ac-wizard__nav",children:[r("button",{type:"button",class:"ac-button",disabled:!e.canGoPrev||e.busy,onClick:e.onPrev,children:"Back"}),e.canSkip&&e.onSkip!==void 0?r("button",{type:"button",class:"ac-button ac-wizard__skip",disabled:e.busy,onClick:e.onSkip,children:e.skipLabel??"Skip"}):null,e.isLast?i?null:r("button",{type:"button",class:"ac-button ac-button--primary",disabled:e.busy||!n,onClick:e.onFinish,children:e.busy?"Saving…":"Finish & save"}):r("button",{type:"button",class:"ac-button ac-button--primary",disabled:!e.canGoNext||e.busy,onClick:e.onNext,children:e.nextLabel??"Next"})]})}function Zl(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 Ms(e,n){return e.kind==="userMd"?n==="body"||n.startsWith("body."):Zl(e,n)}function Ds(e,n){for(const i of Object.keys(n.errors))if(Ms(e,i))return!0;return!1}function js(e,n){if(Ds(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(t=>Zl(e,t.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 Us(e){const n=e.steps.filter((c,s)=>s!==e.currentIndex),i=e.packRemovals??[],t=e.selectedToolIds??[],l=e.packAdditions??[],a=e.changes.length,o=t.length>0||l.length>0||a>0||e.userMdChanged;return r(M,{children:[o?r("section",{class:"ac-review-summary","aria-label":"What happens on Finish",children:[r("h2",{class:"ac-review-summary__title",children:"What happens on Finish"}),r("ul",{class:"ac-review-summary__list",children:[a>0?r("li",{children:[r("strong",{children:a})," setting",a===1?"":"s"," will change"," ","in ",r("code",{children:".agent-settings.yml"}),"."]}):r("li",{children:"No settings change."}),e.userMdChanged?r("li",{children:[r("code",{children:".agent-user.yml"})," will be"," ",e.userMdAction==="create"?"created":"updated","."]}):null,t.length>0?r("li",{children:["Config is installed for ",t.length," tool",t.length===1?"":"s",":",r("span",{class:"ac-review-summary__chips",children:t.map(c=>r("code",{class:"ac-review-summary__chip",children:c},c))})]}):null,l.length>0?r("li",{children:["New pack",l.length===1?"":"s",":",r("span",{class:"ac-review-summary__chips",children:l.map(c=>r("code",{class:"ac-review-summary__chip",children:c},c))})]}):null]})]}):null,i.length>0?r("div",{class:"ac-review-removals",role:"alert",children:[r("p",{class:"ac-review-removals__title",children:["⚠️ ",i.length===1?"1 installed pack will be removed":`${i.length} installed packs will be removed`]}),r("ul",{class:"ac-review-removals__list",children:i.map(c=>r("li",{children:r("code",{children:c})},c))}),r("label",{class:"ac-review-removals__confirm",children:[r("input",{type:"checkbox",checked:e.removalsConfirmed??!1,onChange:c=>{e.onConfirmRemovals?.(c.currentTarget.checked)}}),r("span",{children:"I understand these packs will no longer be installed. Re-check them on the packs step to keep them."})]})]}):null,r("nav",{class:"ac-wizard__review-nav","aria-label":"Jump back to a step",children:[r("p",{class:"ac-wizard__review-nav-label",children:"Jump back to a step:"}),r("ul",{class:"ac-wizard__review-nav-list",children:n.map(c=>{const s=e.steps.indexOf(c),u=js(c,e),h=u.tone==="error"?"ac-wizard__review-nav-button ac-wizard__review-nav-button--error":"ac-wizard__review-nav-button";return r("li",{children:r("button",{type:"button",class:h,onClick:()=>{e.onJump(s)},children:[r("span",{class:"ac-wizard__review-nav-index",children:s+1}),r("span",{class:"ac-wizard__review-nav-text",children:c.navLabel}),u.label!==""?r("span",{class:`ac-wizard__review-nav-status ac-wizard__review-nav-status--${u.tone}`,children:u.label}):null]})},c.id)})})]})]})}function Bs(e){const n=e.abortedAt??"unknown time",i=e.abortNote??"no further detail recorded",t=e.writesSinceRollback;return r("aside",{class:"ac-banner ac-banner--recovery",role:"alert",children:[r("strong",{children:"Previous install was interrupted."}),r("p",{children:["Aborted at ",r("code",{children:n})," — ",i,". ",t," write",t===1?"":"s"," landed before the abort marker."]}),r("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."}),r("div",{class:"ac-banner__actions",children:[r("button",{type:"button",disabled:e.busy,onClick:()=>e.onResume(),children:"Resume install"}),r("button",{type:"button",disabled:e.busy,onClick:()=>e.onRollback(),children:"Rollback"}),r("button",{type:"button",disabled:e.busy,onClick:()=>e.onIgnore(),children:"Ignore"})]})]})}function Hs(){return r("section",{class:"ac-continue-screen","aria-labelledby":"ac-continue-title",children:[r("h2",{id:"ac-continue-title",children:"Install complete — continue with setup?"}),r("p",{children:"Your install selections (AI tools, roles, capability packs) are captured. Use the footer to continue:"}),r("ul",{children:[r("li",{children:[r("strong",{children:"Next"})," — go through the remaining personalisation steps: editor + tooling, personality, cost profile, roadmap & quality, memory, your",r("code",{children:" .agent-user.yml"}),", and finally the project module roots."]}),r("li",{children:[r("strong",{children:"Finish install here"})," — skip the rest and write ",r("code",{children:".agent-settings.yml"})," with the install-only selections. You can re-run ",r("code",{children:"agent-config setup"}),"later to pick up the personalisation steps."]})]})]})}function Ws(e){const n=e.version??"unknown";return r("section",{class:"ac-backup-screen","aria-labelledby":"ac-backup-title",children:[r("h2",{id:"ac-backup-title",children:"Existing v3 install detected"}),r("p",{children:["Found a v3.x install at ",r("code",{children:e.sourcePath})," ","(VERSION: ",r("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?r("p",{class:"ac-banner ac-banner--error",children:["Backup failed: ",e.error]}):null,r("ul",{children:[r("li",{children:[r("strong",{children:"Backup v3 and proceed"})," — copies the tree to ",r("code",{children:e.backupTarget}),", then runs the v4 install. Restore later with",r("code",{children:[" mv ",e.backupTarget," ",e.sourcePath]}),"."]}),r("li",{children:[r("strong",{children:"Abort, uninstall v3 first"})," — closes the wizard. You decide what to keep."]})]}),r("div",{class:"ac-backup-screen__actions",children:[r("button",{type:"button",class:"ac-button ac-button--primary",disabled:e.busy,onClick:()=>e.onBackupAndProceed(),children:e.busy?"Backing up…":"Backup v3 and proceed"}),r("button",{type:"button",class:"ac-button",disabled:e.busy,onClick:()=>e.onAbort(),children:"Abort, uninstall v3 first"})]})]})}const zs=[{title:"Restart your AI tools",detail:"Editors and CLIs pick up the new skills, rules, and commands on their next start."},{title:"Verify the installation",detail:"A read-only health report — scope, deployed files, drift.",command:"agent-config doctor"},{title:"Tune your settings any time",detail:"Opens the configuration GUI (global settings; --project for a project).",command:"agent-config config"},{title:"Initialize a project",detail:"Adds the minimal agents/ bridge + .gitignore block to a repository.",command:"agent-config init --project"},{title:"Stay up to date",detail:"Upgrades the global install and additively syncs your settings.",command:"agent-config upgrade"}];function Ys({text:e}){const[n,i]=_t(!1);return r("button",{type:"button",class:"ac-button ac-checklist__copy",onClick:()=>{navigator.clipboard?.writeText(e).then(()=>{i(!0),setTimeout(()=>{i(!1)},1500)})},children:n?"Copied ✓":"Copy"})}function qs({message:e}){return r("div",{class:"ac-checklist",children:[r("div",{class:"ac-checklist__hero",children:[r("h2",{class:"ac-checklist__headline",children:"Setup complete"}),e!==null?r("p",{class:"ac-checklist__message",children:e}):null]}),r("ol",{class:"ac-checklist__items",children:zs.map(n=>r("li",{class:"ac-checklist__item",children:[r("div",{class:"ac-checklist__text",children:[r("span",{class:"ac-checklist__item-title",children:n.title}),r("span",{class:"ac-checklist__item-detail",children:n.detail})]}),n.command!==void 0?r("div",{class:"ac-checklist__cmd-row",children:[r("code",{class:"ac-checklist__cmd",children:n.command}),r(Ys,{text:n.command})]}):null]},n.title))}),r("p",{class:"ac-checklist__close-hint",children:"You can close this browser window — the local server shuts down on its own."})]})}const Xl=p(!1),Ve=p(null),E=p(null),Vn=p(!1),Jn=p(!1),ve=p(0),Ct=p(null),B=p({}),ea=p({}),na=p(0),Le=p({}),O=p(null),ue=p(null),At=p(!1),Gi=p(!1),gi=p(!1),ia=p({}),yi=p([]);p("global");const Ee=p(!1),P=p(!1),Ks=p(!1),Qn=p(!1),Zn=p(null),Tt=p([]),Xn=p({}),ei=p(!0),ni=p(""),ii=p("agents");p(!1);const ta=p(null),Gs=[{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"}],Vi=p(!1),$e=p(!1),de=p(null),bi=p([]),ki=p([]),_e=p([]),Ji=p(!1),gn=p([]),V=p({}),ra=p(!1),Qi=p(!1),En=p(!1),Et=p({}),wr=p(!1),la=p(null),aa=p(null),oa=p("https://github.com/event4u-app/rtk");p(!1);p(null);p([]);p({});p({});const Z=p({}),te=p({}),Zi=p(!1),xr=p(!1);p({});p(null);p(null);p(!1);p(null);const ti=p(null),ca=p(!1),Xi=p(null),et=p(!1),nt=p(!1),it=p(null),Re=p(null),On=p(!1),Ot=p(!1);function sa(){return Ql({extended:P.value})}function je(){return sa().length}function Vs(e){return e??new Date().toISOString()}function Nt(e){return Math.max(0,Math.min(je()-1,e))}function Js(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 Qs(){try{return await w("/api/v1/settings")}catch(e){if(e instanceof A&&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 Zs(){try{const e=await w("/api/v1/install/recovery");ti.value=e.incomplete?e:null}catch{ti.value=null}}async function Xs(){try{const e=await w("/api/v1/install/legacy-v3");Xi.value=e.present?e:null}catch{Xi.value=null}}async function eu(){nt.value=!0,it.value=null;try{await w("/api/v1/install/backup-v3",{method:"POST"}),et.value=!0}catch(e){it.value=e instanceof A?U(e.body.error??{code:"UNKNOWN",message:e.message}):e instanceof Error?e.message:String(e)}finally{nt.value=!1}}async function Ri(e){try{await w("/api/v1/install/recovery/dismiss",{method:"POST",body:{reason:e}})}catch(n){E.value={message:n instanceof Error?n.message:String(n),tone:"error"};return}ti.value=null,ca.value=!0}async function nu(){Ve.value=null;try{Zs(),Xs();const[e,n]=await Promise.all([w("/api/v1/wizard/state"),Qs()]);Ct.value=Js(n.schema),na.value=n.lastModified,ea.value=n.values,ia.value=n.legacyHints??{},P.value=e.extendedSteps===!0,Re.value=e.wizardMode??null;const i=Object.keys(e.partial??{});B.value=i.length>0?{...n.values,...e.partial}:n.values,ve.value=Nt(e.step),Ee.value=!1,Xl.value=!0;const t=mi(ve.value,{extended:P.value});(t.kind==="welcome"||t.kind==="userMd"||t.kind==="review")&&It(),(t.kind==="roles"||t.kind==="aiTools"||t.kind==="packs")&&yn(),t.kind==="roles"&&Lt(),t.kind==="aiTools"&&wi(),t.id==="identity"&&ua(),t.kind==="review"&&da()}catch(e){e instanceof A?Ve.value=U(e.body.error??{code:"UNKNOWN",message:e.message}):Ve.value=e instanceof Error?e.message:String(e)}}function iu(e,n){return e.identity.name.trim()!==""?e:{...e,identity:{...e.identity,name:n}}}async function It(){if(!Gi.value)try{const e=await w("/api/v1/user-md");if(At.value=e.exists,e.exists&&e.identity!==null){const n=tr(e.identity);ue.value=n,O.value=n}else{let n;try{const t=await w("/api/v1/user-md/template");n=tr(Os(t.body))}catch{n=cl()}const i=ia.value.user_name;typeof i=="string"&&i.trim()!==""&&(n=iu(n,i)),ue.value=n,O.value=n}}catch(e){E.value={message:e instanceof Error?e.message:String(e),tone:"error"}}finally{Gi.value=!0}}const tu=new Set(["python"]);async function yn(){if(!(Vi.value||$e.value)){$e.value=!0,de.value=null;try{const[e,n]=await Promise.all([w("/api/v1/wizard/manifest"),w("/api/v1/wizard/auto-detect")]),i=(e.packs??[]).map(a=>({id:a.id,label:a.label??a.id,description:a.description??"",requires_hint:a.requires_hint,cluster:a.cluster??void 0,workspaces:a.workspaces}));bi.value=i,gn.value=(e.workspaces??[]).filter(a=>a.id!=="agent-config-maintainer").map(a=>({id:a.id,label:a.label??a.id,description:a.description??"",default_packs:a.default_packs??[],optional_packs:a.optional_packs??[],...a.example_roles!==void 0?{example_roles:a.example_roles}:{}}));const t=new Set(i.map(a=>a.id)),l=n.signals.map(a=>a.id.startsWith("pack-")?a.id.slice(5):a.id).filter(a=>t.has(a)).filter(a=>!tu.has(a));ki.value=l,_e.value=(e.installedPacks??[]).filter(a=>t.has(a))}catch(e){e instanceof A?de.value=U(e.body.error??{code:"UNKNOWN",message:e.message}):de.value=e instanceof Error?e.message:String(e)}finally{$e.value=!1,Vi.value=!0}}}async function wi(){if(!(Qi.value||En.value)){En.value=!0;try{const e=await w("/api/v1/wizard/detect-tools"),n=e.tools??{},i=e.configured??[];if(Et.value=n,Object.keys(Z.value).length===0){const t={};if(i.length>0)for(const l of i)t[l]=!0;else for(const[l,a]of Object.entries(n))a&&(t[l]=!0);Z.value=t}}catch{}finally{En.value=!1,Qi.value=!0}}}async function ua(){if(!wr.value){wr.value=!0;try{const e=await w("/api/v1/wizard/detect-rtk"),n=e.installed===!0;la.value=n,aa.value=e.installCommand??null,typeof e.repo=="string"&&(oa.value=e.repo);const i=B.value.personal??{};B.value={...B.value,personal:{...i,rtk_installed:n}}}catch{}}}async function ru(e,n){try{await w("/api/v1/wizard/state",{method:"POST",body:{step:e,totalSteps:je(),partial:n,startedAt:Vs(null)}})}catch(i){E.value={message:i instanceof Error?i.message:String(i),tone:"error"}}}async function da(){Jn.value=!0;try{const e=await w("/api/v1/settings/diff",{method:"POST",body:{values:B.value,ifUnmodifiedSince:na.value}});yi.value=e.changes,Le.value={}}catch(e){e instanceof A?(Le.value=vi(e.body.error??{message:e.message}),E.value={message:U(e.body.error??{code:"UNKNOWN",message:e.message}),tone:"error"}):E.value={message:e instanceof Error?e.message:String(e),tone:"error"}}finally{Jn.value=!1}}function ri(){return gi.value?!1:O.value===null||ue.value===null?O.value!==ue.value:JSON.stringify(O.value)!==JSON.stringify(ue.value)}async function Oe(e){const n=Nt(e);await ru(n,B.value),ve.value=n,E.value=null;const i=mi(n,{extended:P.value});(i.kind==="welcome"||i.kind==="userMd")&&It(),(i.kind==="roles"||i.kind==="aiTools"||i.kind==="packs")&&yn(),i.kind==="roles"&&Lt(),i.kind==="packs"&&Si(),i.kind==="aiTools"&&wi(),i.id==="identity"&&ua(),i.kind==="review"&&da()}function xi(){const e=te.value,n=new Map(bi.value.map(a=>[a.id,a])),i=Object.entries(e).filter(([,a])=>a===!0).map(([a])=>a).filter(a=>{const o=n.get(a)?.cluster;return o===void 0||e[o]===!0}),t=new Set,l=a=>{if(!t.has(a)){t.add(a);for(const o of n.get(a)?.requires_hint??[])l(o)}};for(const a of i)l(a);return[...t].sort()}async function Lt(){if(await Promise.all([yn(),It()]),ra.value||Object.values(V.value).some(Boolean))return;const e=O.value?.role??[];if(e.length===0)return;const n=new Set(gn.value.map(t=>t.id)),i={};for(const t of e)n.has(t)&&(i[t]=!0);Object.keys(i).length!==0&&(V.value=i,Si())}function Si(){if(Zi.value)return;const e=Object.entries(V.value).filter(([,l])=>l===!0).map(([l])=>l),n=new Map(gn.value.map(l=>[l.id,l])),i=[];for(const l of e)for(const a of n.get(l)?.default_packs??[])i.push(a);const t=new Map;for(const l of bi.value)l.cluster!==void 0&&t.set(l.id,l.cluster);te.value=Is({installed:_e.value,roleDefaults:i,detected:ki.value,clusterOf:t})}function lu(){const e=Object.entries(Z.value).filter(([,t])=>t===!0).map(([t])=>t);if(e.length===0)return null;const n=xi(),i={schema_version:"wizard-v2",tools:e,packs:n,settings:B.value};return Me.value?.dryRun===!0&&(i.dry_run=!0),i}async function au(){Vn.value=!0,E.value=null;try{const e={settings:B.value},n=Object.entries(V.value).filter(([,s])=>s===!0).map(([s])=>s),i=O.value!==null&&typeof O.value.identity?.name=="string"&&O.value.identity.name.trim().length>0;O.value!==null&&i&&(ri()||n.length>0)&&(e.identity=n.length>0?{...O.value,role:n}:O.value);const t=await w("/api/v1/wizard/finish",{method:"POST",body:e}),l="You can close this browser window now.",a=t.dryRun===!0?"Dry-run complete — no files written. Settings would be saved.":Array.isArray(t.writtenPaths)?`Saved (${t.writtenPaths.join(", ")}). Wizard complete.`:"Wizard complete.",o=P.value?lu():null;let c="";if(o!==null&&o.dry_run===!0)try{await w("/api/v1/wizard/apply",{method:"POST",body:o}),c=" Installer preview OK (dry-run) — no files written."}catch(s){c=` Installer preview failed: ${s instanceof A?U(s.body.error??{code:"UNKNOWN",message:s.message}):s instanceof Error?s.message:String(s)}.`}else if(o!==null)try{let s=null;await Ya("/api/v1/wizard/apply",o,d=>{d.type==="error"&&(s=typeof d.message=="string"?d.message:"install failed")});const u=o.tools.length,h=o.packs.length;c=s!==null?` Installer failed: ${s}. Settings were saved; re-run the wizard to retry.`:` Installer applied ${u} tool${u===1?"":"s"}`+(h>0?` and ${h} pack${h===1?"":"s"}.`:".")}catch(s){c=` Installer bridge failed: ${s instanceof A?U(s.body.error??{code:"UNKNOWN",message:s.message}):s instanceof Error?s.message:String(s)}. Settings were saved; re-run the wizard to retry the install plan.`}E.value={message:`${a}${c} ${l}`,tone:"success"},ve.value=Nt(je()-1),ea.value=B.value,ue.value=ri()?O.value:ue.value,yi.value=[],Ee.value=!0}catch(e){e instanceof A?(Le.value=vi(e.body.error??{message:e.message}),E.value={message:U(e.body.error??{code:"UNKNOWN",message:e.message}),tone:"error"}):E.value={message:e instanceof Error?e.message:String(e),tone:"error"}}finally{Vn.value=!1}}async function ou(){Ot.value=!0,await Promise.all([yn(),wi()]),await Lt(),Si(),await Oe(je()-1)}function cu(){ee(()=>{yn(),wi()},[]);const e=$e.value||En.value||!Vi.value||!Qi.value,n=Object.values(Et.value).filter(Boolean).length,i=_e.value.length,t=ki.value.filter(l=>!_e.value.includes(l)).length;return r("div",{class:"ac-start",children:[r("section",{class:"ac-start__card ac-start__card--primary",children:[r("h2",{class:"ac-start__title",children:"Recommended setup"}),r("p",{class:"ac-start__desc",children:"The fastest path — we pre-select everything we can detect and you confirm one review screen before anything is written."}),r("ul",{class:"ac-start__facts",children:[r("li",{children:e?"Detecting your AI tools…":n===0?"No AI tools detected — pick them on the review screen.":`${n} AI tool${n===1?"":"s"} detected and pre-selected.`}),r("li",{children:e?"Detecting capability packs…":i>0?`${i} installed pack${i===1?"":"s"} kept${t>0?`, ${t} more auto-detected`:""}.`:t>0?`${t} capability pack${t===1?"":"s"} auto-detected.`:"No packs pre-selected — add them any time later."}),r("li",{children:"Settings keep their current values (or safe defaults on a first run)."}),r("li",{children:"Nothing is written until you confirm the review screen."})]}),r("button",{type:"button",class:"ac-button ac-button--primary ac-start__cta",disabled:e,onClick:()=>{ou()},children:e?"Detecting…":"Use recommended setup"})]}),r("section",{class:"ac-start__card",children:[r("h2",{class:"ac-start__title",children:"Customize"}),r("p",{class:"ac-start__desc",children:"Walk through every step — tools, roles, packs, behaviour, budgets — and tune each choice yourself."}),r("button",{type:"button",class:"ac-button ac-start__cta",onClick:()=>{Ot.value=!0},children:"Customize step by step"})]})]})}const su=["de","en","en-US","en-GB","fr","es","it","nl","pt","pt-BR"];function uu(){if(xr.value)return;const e=O.value;if(e===null)return;xr.value=!0;let n=e;if(e.identity.name.trim()===""){const i=Me.value?.systemUser;i!==void 0&&i.trim()!==""&&(n={...n,identity:{...n.identity,name:i}})}if(!At.value&&typeof navigator<"u"){const i=(navigator.language||"").split("-")[0];i.length>=2&&(n={...n,language:i})}n!==e&&(O.value=n)}function du(){const e=O.value;if(ee(()=>{uu()},[e]),e===null)return r("p",{children:"Loading…"});const n=i=>{O.value={...i,last_updated:new Date().toISOString().slice(0,10)},gi.value=!1};return r("div",{class:"ac-wizard-step-stub ac-wizard__module-fields",children:[r("p",{children:["Tell the agent who you are. We pre-filled what we could detect — adjust freely. Stored in ",r("code",{children:".agent-user.yml"}),"."]}),r("div",{class:"ac-field",children:[r("label",{class:"ac-field__label",for:"welcome-name",children:"Name"}),r("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}})})]}),r("div",{class:"ac-field",children:[r("label",{class:"ac-field__label",for:"welcome-lang",children:"Language"}),r("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})}),r("datalist",{id:"welcome-lang-list",children:su.map(i=>r("option",{value:i},i))})]})]})}function fu(){const e=Z.value,n=Et.value;return r("div",{class:"ac-wizard-step-stub",children:[r("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."}),r("ul",{class:"ac-wizard__tool-list",children:Gs.map(i=>{const t=n[i.id]===!0;return r("li",{class:"ac-wizard__tool-row",children:[r("label",{class:"ac-wizard__tool-label",children:[r("input",{type:"checkbox",checked:e[i.id]??!1,onChange:l=>{const a=l.currentTarget.checked;Z.value={...e,[i.id]:a}}})," ",i.label]}),r("span",{class:`ac-badge ${t?"ac-badge--installed":"ac-badge--missing"}`,title:t?"Detected on this machine":"Not detected on this machine",children:t?"installed":"not installed"})]},i.id)})})]})}function hu(){if($e.value)return r("p",{children:"Loading roles…"});if(de.value!==null)return r("div",{class:"ac-wizard-step-stub",children:r("p",{class:"ac-banner ac-banner--error",children:["Discovery failed: ",de.value]})});const e=V.value,n=gn.value,i=(t,l)=>{ra.value=!0,V.value={...V.value,[t]:l},Si()};return r("div",{class:"ac-wizard-step-stub",children:[r("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",r("code",{children:" .agent-user.yml"}),"."]}),n.length===0?r("p",{children:r("em",{children:"No roles available in the manifest."})}):r("div",{class:"ac-wizard__pack-grid",children:n.map(t=>r("section",{class:"ac-pack-tile",children:[r("label",{class:"ac-pack-tile__head",children:[r("input",{type:"checkbox",checked:e[t.id]??!1,onChange:l=>{i(t.id,l.currentTarget.checked)}}),r("span",{class:"ac-pack-tile__title",children:t.label})]}),(t.example_roles??[]).length>0?r("p",{class:"ac-pack-tile__role",children:["e.g. ",(t.example_roles??[]).join(", ")]}):null,t.description!==""?r("p",{class:"ac-pack-tile__desc",children:t.description}):null]},t.id))})]})}function pu(){if($e.value)return r("p",{children:"Loading discovery manifest…"});if(de.value!==null)return r("div",{class:"ac-wizard-step-stub",children:[r("p",{class:"ac-banner ac-banner--error",children:["Discovery failed: ",de.value]}),r("p",{children:"The manifest endpoint is gated on extended-mode. Re-run the server with extended steps enabled to populate this list."})]});const e=te.value,n=new Set(ki.value),i=new Set(_e.value),t=f=>i.has(f)?r("span",{class:"ac-badge ac-badge--installed",children:"installed"}):n.has(f)?r("span",{class:"ac-badge ac-badge--detected",children:"auto-detected"}):null,l=new Map(gn.value.map(f=>[f.id,f.label])),a=V.value,o=f=>{const v=(f??[]).filter(m=>m!=="agent-config-maintainer");return v.length===0?null:r("span",{class:"ac-pack-tile__ws",children:v.map(m=>r("span",{class:`ac-badge ac-badge--ws${a[m]===!0?" ac-badge--ws-active":""}`,title:a[m]===!0?"Matches a role you picked":"Workspace / area",children:l.get(m)??m},m))})},c=bi.value.filter(f=>f.id!=="engineering-base"),s=new Map;for(const f of c)if(f.cluster!==void 0){const v=s.get(f.cluster)??[];v.push(f),s.set(f.cluster,v)}const u=new Set(c.filter(f=>f.cluster!==void 0).map(f=>f.id)),h=c.filter(f=>!u.has(f.id)),d=(f,v)=>{Zi.value=!0,te.value={...te.value,[f]:v}},_=(f,v)=>{Zi.value=!0;const m={...te.value,[f]:v};if(v)for(const k of s.get(f)??[])m[k.id]===void 0&&(m[k.id]=!0);te.value=m};return r("div",{class:"ac-wizard-step-stub",children:[r("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."}),h.length===0?r("p",{children:r("em",{children:"No packs available in the manifest."})}):r("div",{class:"ac-wizard__pack-grid",children:h.map(f=>{const v=s.get(f.id)??[],m=v.length>0,k=e[f.id]??!1;return r("section",{class:"ac-pack-tile",children:[r("label",{class:"ac-pack-tile__head",children:[r("input",{type:"checkbox",checked:k,onChange:b=>{const g=b.currentTarget.checked;m?_(f.id,g):d(f.id,g)}}),r("span",{class:"ac-pack-tile__title",children:f.label}),t(f.id)]}),o(f.workspaces),f.description!==""?r("p",{class:"ac-pack-tile__desc",children:f.description}):null,m?r("fieldset",{class:"ac-pack-tile__children",disabled:!k,children:v.map(b=>r("label",{class:"ac-pack-tile__child",children:[r("input",{type:"checkbox",checked:e[b.id]??!1,disabled:!k,onChange:g=>{d(b.id,g.currentTarget.checked)}}),r("span",{children:b.label}),t(b.id)]},b.id))}):null]},f.id)})})]})}function vu(){const e=la.value,n=aa.value;return r("div",{class:"ac-rtk-row",children:[r("div",{class:"ac-rtk-row__head",children:[r("span",{class:"ac-rtk-row__label",children:["rtk ",r("small",{children:"(Rust Token Killer)"})]}),e===null?r("span",{class:"ac-badge ac-badge--missing",children:"detecting…"}):e?r("span",{class:"ac-badge ac-badge--installed",children:"installed"}):r("span",{class:"ac-badge ac-badge--missing",children:"not installed"})]}),e===!1?r("div",{class:"ac-rtk-row__install",children:[r("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?r("code",{class:"ac-rtk-row__cmd",children:n}):null,r("a",{class:"ac-button",href:oa.value,target:"_blank",rel:"noreferrer noopener",children:"Open rtk repo"})]}):null]})}function _u(){const e=mi(ve.value,{extended:P.value});if(P.value&&Re.value==="install"&&e.id==="identity"&&!On.value)return r(Hs,{});if(e.kind==="form"){const i=$s(Ct.value,e.paths??[]);return r(M,{children:[e.id==="identity"?r(vu,{}):null,r(eo,{schema:i,values:B.value,errors:Le.value,onChange:t=>{B.value=t}})]})}return e.kind==="userMd"?!Gi.value||O.value===null?r("p",{children:"Loading .agent-user.yml…"}):r(ro,{value:O.value,errors:Le.value,hideRole:P.value&&Re.value==="install",hideIdentityBasics:P.value&&Re.value==="install",onChange:i=>{O.value=i,gi.value=!1}}):e.kind==="welcome"?r(du,{}):e.kind==="aiTools"?r(fu,{}):e.kind==="roles"?r(hu,{}):e.kind==="packs"?r(pu,{}):r(Us,{steps:sa(),currentIndex:ve.value,changes:yi.value,errors:Le.value,userMdChanged:ri(),userMdAction:At.value?"replace":"create",loading:Jn.value,onJump:i=>{Oe(i)},selectedToolsCount:Object.values(Z.value).filter(Boolean).length,selectedPacksCount:Object.values(te.value).filter(Boolean).length,packRemovals:tt(),removalsConfirmed:Ji.value,onConfirmRemovals:i=>{Ji.value=i},selectedToolIds:Object.entries(Z.value).filter(([,i])=>i).map(([i])=>i),packAdditions:P.value?xi().filter(i=>i!=="engineering-base"&&!_e.value.includes(i)):[]})}function tt(){return P.value?Ls(_e.value,xi()):[]}function Sr({path:e}){if(ee(()=>{nu()},[]),!Xl.value||Ct.value===null)return r("div",{class:"ac-page",children:[r("h1",{children:"Setup wizard"}),Ve.value!==null?r("p",{class:"ac-banner ac-banner--error",children:Ve.value}):r("p",{children:"Loading…"})]});const n=ve.value,i=je(),t=mi(n,{extended:P.value}),l=n===i-1,a=t.kind==="aiTools"&&Object.values(Z.value).filter(Boolean).length===0||t.kind==="roles"&&Object.values(V.value).filter(Boolean).length===0||t.kind==="packs"&&xi().length===0,o=P.value&&Re.value==="install"&&t.id==="identity"&&!On.value,c=ti.value,s=c!==null&&!ca.value,u=Xi.value,h=u!==null&&u.present&&!et.value,d=P.value&&Re.value==="install"&&n===0&&!Ot.value&&!Ee.value;return h?r("div",{class:"ac-page",children:r(Ws,{sourcePath:u.path,backupTarget:u.backupTarget,version:u.version,busy:nt.value,error:it.value,onBackupAndProceed:()=>{eu()},onAbort:()=>{E.value={tone:"info",message:"Aborted. Uninstall v3 manually, then re-run `agent-config install`."},et.value=!0}})}):d?r("div",{class:"ac-page",children:[r("header",{class:"ac-page__header",children:r("h1",{children:"Set up agent-config"})}),E.value!==null?r("p",{class:`ac-banner${E.value.tone==="error"?" ac-banner--error":""}`,children:E.value.message}):null,r(cu,{})]}):r("div",{class:"ac-page",children:[r(Fs,{step:t,index:n,total:i}),s?r(Bs,{abortedAt:c.abortedAt,abortNote:c.abortNote,writesSinceRollback:c.writesSinceRollback,busy:Vn.value,onResume:()=>{Ri("resume")},onRollback:()=>{Ri("rollback")},onIgnore:()=>{Ri("ignore")}}):null,E.value!==null&&!(Ee.value&&l&&E.value.tone==="success")?r("p",{class:`ac-banner${E.value.tone==="error"?" ac-banner--error":""}`,children:E.value.message}):null,r("div",{class:"ac-wizard__step",children:Ee.value&&l?r(qs,{message:E.value?.tone==="success"?E.value.message:null}):r(_u,{})}),a?r("p",{class:"ac-wizard__hint",children:t.kind==="aiTools"?"Select at least one AI tool to continue.":t.kind==="roles"?"Select at least one role to continue.":"Select at least one capability pack to continue."}):null,r(Ps,{canGoPrev:n>0,canGoNext:!l&&!a,canSkip:o||t.kind==="userMd",skipLabel:o?"Finish install here":"Skip",isLast:l,busy:Vn.value||Jn.value,canFinish:(yi.value.length>0||ri()||tt().length>0||P.value&&Object.values(Z.value).some(Boolean))&&(tt().length===0||Ji.value),completed:Ee.value,onPrev:()=>{Oe(n-1)},onNext:()=>{if(o){On.value=!0;return}Oe(n+1)},onSkip:()=>{if(o){On.value=!0,Oe(je()-1);return}gi.value=!0,Oe(n+1)},onFinish:()=>{au()}})]})}const mu=new Set(["profile.id","rule_loading_tier","discipline_profile","personal.ide","personal.open_edited_files","personal.autonomy","personal.minimal_output","personal.play_by_play","personal.pr_comment_bot_icon","personal.pr_progress_comments","cost.budgets.daily","cost.budgets.weekly","cost.budgets.monthly","cost.enforcement","model.auto_switch","tokens.rich_skills","roadmap.quality_cadence","roadmap.dashboard_regen_cadence","quality.local_auto_run","quality.wait_for_remote_ci","memory.review_threshold","memory.redact_patterns","memory.cadence","chat_history.enabled","update_check.enabled","subagents.enabled","subagents.auto","worktrees.mode","legal_review_prep.acknowledged"]);function Cr(e){return mu.has(e)}function gu(e,n){return JSON.stringify(e??null)===JSON.stringify(n??null)}function fa(e,n){if(e.kind==="enum_removed"){const i=new Set(e.values??[]);return n!==void 0&&i.has(n)?"must_fix":"info"}return e.kind==="type_changed"?"must_fix":e.kind==="default_changed"?n===void 0||gu(n,e.old?.default)?"adopt":"review":e.kind==="added"&&e.new?.default===void 0?"must_fix":"info"}const rt=p(!0),li=p(null),lt=p(!1),Ci=p(null),Ue=p({}),at=p(0),me=p({}),re=p(null),J=p(!1),cn=p(!1);function fe(e){return`${e.key}:${e.kind}`}async function yu(){rt.value=!0,li.value=null,lt.value=!1,cn.value=!1;try{const e=await w("/api/v1/settings/changes"),n=await w("/api/v1/settings");Ci.value=e.delta,Ue.value=n.values,at.value=n.lastModified,bu(e.delta,n.values)}catch(e){e instanceof A&&e.status===404?lt.value=!0:li.value=e instanceof Error?e.message:String(e)}finally{rt.value=!1}}function bu(e,n){const i={};for(const t of e.changes){const l=fa(t,mn(n,t.key.split(".")));l==="adopt"?i[fe(t)]={mode:"adopt"}:l==="review"?i[fe(t)]={mode:"keep"}:l==="must_fix"&&(i[fe(t)]={mode:null})}me.value=i}function $t(e){return fa(e,mn(Ue.value,e.key.split(".")))}function Je(e,n){me.value={...me.value,[e]:n}}function Rt(){const e=Ci.value;return e===null?[]:e.changes.filter(n=>{if($t(n)!=="must_fix")return!1;const i=me.value[fe(n)];return i===void 0||i.mode===null||i.mode==="custom"&&(i.value===void 0||i.value==="")})}function ku(){const e=Ci.value;let n=Ue.value;if(e===null)return n;for(const i of e.changes){const t=me.value[fe(i)];if(t===void 0||t.mode===null||t.mode==="keep")continue;const l=i.key.split(".");t.mode==="adopt"&&i.new?.default!==void 0?n=tn(n,l,i.new.default):t.mode==="custom"&&t.value!==void 0&&(n=tn(n,l,t.value))}return n}async function wu(){if(J.value)return;const e=Rt();if(e.length>0){re.value=`Resolve the ${e.length} “Must fix” item${e.length===1?"":"s"} first.`;return}J.value=!0,re.value=null;try{const n=ku();if(JSON.stringify(n)!==JSON.stringify(Ue.value)){const i=await w("/api/v1/settings",{method:"PUT",headers:{"If-Unmodified-Since":String(at.value)},body:{values:n}});Ue.value=n,at.value=i.lastModified}await w("/api/v1/settings/changes/ack",{method:"POST"}),cn.value=!0}catch(n){n instanceof A?re.value=U(n.body.error??{code:"UNKNOWN",message:n.message}):re.value=n instanceof Error?n.message:String(n)}finally{J.value=!1}}async function xu(){if(J.value)return;if(Rt().length>0){re.value="Cannot dismiss — “Must fix” items would leave invalid values in place.";return}J.value=!0;try{await w("/api/v1/settings/changes/ack",{method:"POST"}),cn.value=!0}catch(n){re.value=n instanceof Error?n.message:String(n)}finally{J.value=!1}}function ne(e){return e===void 0?"—":typeof e=="string"?e:JSON.stringify(e)}function Fi({change:e,id:n}){const i=e.new,l=me.value[n]?.value;return i?.enum!==void 0?r("select",{class:"ac-input","aria-label":`New value for ${e.key}`,value:l===void 0?"":String(l),onChange:a=>{const o=a.currentTarget.value;Je(n,{mode:"custom",value:o})},children:[r("option",{value:"",disabled:!0,children:"Choose a value…"}),i.enum.map(a=>r("option",{value:String(a),children:String(a)},String(a)))]}):i?.type==="boolean"?r("select",{class:"ac-input","aria-label":`New value for ${e.key}`,value:l===void 0?"":String(l),onChange:a=>{Je(n,{mode:"custom",value:a.currentTarget.value==="true"})},children:[r("option",{value:"",disabled:!0,children:"Choose…"}),r("option",{value:"true",children:"true"}),r("option",{value:"false",children:"false"})]}):r("input",{class:"ac-input",type:i?.type==="number"||i?.type==="integer"?"number":"text","aria-label":`New value for ${e.key}`,value:l===void 0?"":String(l),onInput:a=>{const o=a.currentTarget.value,c=i?.type==="number"||i?.type==="integer"?Number(o):o;Je(n,{mode:"custom",value:c})}})}function Su({change:e}){const n=$t(e),i=fe(e),t=me.value[i],l=mn(Ue.value,e.key.split("."));return r("li",{class:`ac-change-card ac-change-card--${n}`,"data-key":e.key,"data-kind":e.kind,children:[r("div",{class:"ac-change-card__head",children:[r("code",{class:"ac-change-card__key",children:e.key}),r("span",{class:`ac-change-card__badge ac-change-card__badge--${n}`,children:n==="must_fix"?"Must fix":n==="adopt"?"New default":n==="review"?"Review":"Info"})]}),e.new?.description!==void 0?r("p",{class:"ac-change-card__desc",children:e.new.description}):null,e.kind==="default_changed"?r(M,{children:[r("p",{class:"ac-change-card__detail",children:["Default changed: ",r("code",{children:ne(e.old?.default)})," → ",r("code",{children:ne(e.new?.default)}),n==="review"?r(M,{children:[" · your value: ",r("code",{children:ne(l)})]}):null]}),r("div",{class:"ac-change-card__choices",role:"radiogroup","aria-label":`Resolution for ${e.key}`,children:[r("label",{class:"ac-change-card__choice",children:[r("input",{type:"radio",name:i,checked:t?.mode==="adopt",onChange:()=>{Je(i,{mode:"adopt"})}}),r("span",{children:["Adopt new default (",r("code",{children:ne(e.new?.default)}),")"]})]}),r("label",{class:"ac-change-card__choice",children:[r("input",{type:"radio",name:i,checked:t?.mode==="keep",onChange:()=>{Je(i,{mode:"keep"})}}),r("span",{children:["Keep current (",r("code",{children:ne(l??e.old?.default)}),")"]})]})]})]}):null,e.kind==="enum_removed"?n==="must_fix"?r(M,{children:[r("p",{class:"ac-change-card__detail",children:["Your value ",r("code",{children:ne(l)})," is no longer valid — removed option",(e.values?.length??0)===1?"":"s",": ",r("code",{children:(e.values??[]).join(", ")}),". Pick a replacement:"]}),r(Fi,{change:e,id:i})]}):r("p",{class:"ac-change-card__detail",children:["Removed option",(e.values?.length??0)===1?"":"s",": ",r("code",{children:(e.values??[]).join(", ")})," — your value ",r("code",{children:ne(l??e.new?.default)})," is unaffected."]}):null,e.kind==="enum_added"?r("p",{class:"ac-change-card__detail",children:["New option",(e.values?.length??0)===1?"":"s"," available: ",r("code",{children:(e.values??[]).join(", ")})]}):null,e.kind==="added"?n==="must_fix"?r(M,{children:[r("p",{class:"ac-change-card__detail",children:"New setting without a shipped default — define a value:"}),r(Fi,{change:e,id:i})]}):r("p",{class:"ac-change-card__detail",children:["New setting · default: ",r("code",{children:ne(e.new?.default)}),e.new?.enum!==void 0?r(M,{children:[" · options: ",r("code",{children:e.new.enum.join(", ")})]}):null]}):null,e.kind==="removed"?r("p",{class:"ac-change-card__detail",children:"This setting no longer exists. Your stored value is kept in place and ignored (nothing is deleted)."}):null,e.kind==="type_changed"?r(M,{children:[r("p",{class:"ac-change-card__detail",children:["Type changed: ",r("code",{children:e.old?.type})," → ",r("code",{children:e.new?.type}),". Define a new value:"]}),r(Fi,{change:e,id:i})]}):null]})}function Cu(e){const n=new Map;for(const u of e.changes){const h=$t(u);n.set(h,[...n.get(h)??[],u])}const i=[],t=n.get("must_fix")??[];t.length>0&&i.push({title:"Must fix",hint:"These stored values are invalid after the upgrade — saving is blocked until each has a valid value.",changes:t});const l=[...n.get("adopt")??[],...n.get("review")??[]];l.length>0&&i.push({title:"Changed defaults",hint:"Values you never customized are preselected to adopt the new default; customized values are kept unless you choose otherwise.",changes:l});const a=n.get("info")??[],o=a.filter(u=>u.kind==="added"),c=a.filter(u=>u.kind==="enum_added"),s=a.filter(u=>u.kind!=="added"&&u.kind!=="enum_added");return o.length>0&&i.push({title:"New settings",changes:o}),c.length>0&&i.push({title:"New options",changes:c}),s.length>0&&i.push({title:"Removed / other",changes:s}),i}function Au(){if(ee(()=>{yu()},[]),rt.value)return r("div",{class:"ac-page",children:[r("h1",{children:"Settings changes"}),r("p",{children:"Loading…"})]});if(li.value!==null)return r("div",{class:"ac-page",children:[r("h1",{children:"Settings changes"}),r("p",{class:"ac-banner ac-banner--error",children:li.value})]});if(cn.value||lt.value)return r("div",{class:"ac-page ac-settings-changes",children:[r("h1",{children:"Settings changes"}),r("p",{class:"ac-banner",children:cn.value?"Review complete — all changes resolved.":"Nothing to review — your settings are up to date."}),r("button",{type:"button",class:"ac-button",onClick:()=>pi("/settings"),children:"Back to Settings"})]});const e=Ci.value;if(e===null)return r("div",{class:"ac-page",children:r("h1",{children:"Settings changes"})});const n=Cu(e),i=Rt().length;return r("div",{class:"ac-page ac-settings-changes",children:[r("header",{class:"ac-page__header",children:[r("h1",{children:"Settings changes"}),r("p",{class:"ac-page__lede",children:["The upgrade ",r("code",{children:e.oldVersion})," → ",r("code",{children:e.newVersion})," changed the available settings. Review below — nothing was changed automatically."]})]}),re.value!==null?r("p",{class:"ac-banner ac-banner--error",role:"alert",children:re.value}):null,n.map(t=>r("section",{class:"ac-settings-changes__group",children:[r("h2",{children:[t.title," ",r("span",{class:"ac-settings-changes__count",children:["(",t.changes.length,")"]})]}),t.hint!==void 0?r("p",{class:"ac-settings-changes__hint",children:t.hint}):null,r("ul",{class:"ac-settings-changes__list",children:t.changes.map(l=>r(Su,{change:l},fe(l)))})]},t.title)),r("div",{class:"ac-form__actions",children:[r("button",{type:"button",class:"ac-button",disabled:J.value,onClick:()=>{xu()},children:"Dismiss (keep everything)"}),r("button",{type:"button",class:"ac-button ac-button--primary",disabled:J.value||i>0,title:i>0?`${i} “Must fix” item${i===1?"":"s"} unresolved`:void 0,onClick:()=>{wu()},children:J.value?"Saving…":"Apply & finish review"})]})]})}const xe=p(null);function Tu(){return ee(()=>{(async()=>{try{const e=await w("/api/v1/settings/changes");xe.value=e.delta.changes.length}catch{xe.value=null}})()},[]),xe.value===null||xe.value===0?null:r("div",{class:"ac-banner ac-banner--pending",role:"status",children:[r("span",{children:["An upgrade changed ",xe.value," setting",xe.value===1?"":"s"," — review recommended."]}),r("button",{type:"button",class:"ac-button ac-button--small",onClick:()=>pi("/settings/changes"),children:"Review changes"})]})}const ot=p(!1),ai=p(null),X=p({}),oi=p(null),sn=p(0),un=p({}),K=p(null),dn=p(!1),Be=p(null),Nn=p(""),Ce=p(!1),In=p({}),Ln=p({global:new Set,project:new Set});function Ar(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 Tr(){ai.value=null;try{const e=await w("/api/v1/settings");X.value=e.values,oi.value=Ar(e.schema),sn.value=e.lastModified,Ln.value={global:new Set(e.sources?.global??[]),project:new Set(e.sources?.project??[])},ot.value=!0}catch(e){if(e instanceof A&&e.status===404&&e.body.error?.code==="NOT_FOUND"){const n=e.body;if(n.defaults!==void 0&&n.schema!==void 0){X.value=n.defaults,oi.value=Ar(n.schema),sn.value=n.lastModified??0,ot.value=!0;return}}ai.value=e instanceof Error?e.message:String(e)}}async function Eu(){if(!dn.value){K.value=null,un.value={};try{const e=await w("/api/v1/settings/diff",{method:"POST",body:{values:X.value,ifUnmodifiedSince:sn.value}});if(e.changes.length===0){K.value="No changes to save.";return}Be.value=e.changes}catch(e){e instanceof A?(un.value=vi(e.body.error??{message:e.message}),K.value=U(e.body.error??{code:"UNKNOWN",message:e.message})):K.value=e instanceof Error?e.message:String(e)}}}async function Ou(){dn.value=!0;try{const e=await w("/api/v1/settings",{method:"PUT",headers:{"If-Unmodified-Since":String(sn.value)},body:{values:X.value}});sn.value=e.lastModified,Be.value=null,K.value=`Saved (${e.writtenPaths.join(", ")}).`}catch(e){if(e instanceof A){const n=e.body.error??{code:"UNKNOWN",message:e.message};un.value=vi(n),K.value=U(n),Be.value=null;const i=Object.keys(un.value)[0];i!==void 0&&queueMicrotask(()=>{const t=document.getElementById(i);t!==null&&t.focus()})}else K.value=e instanceof Error?e.message:String(e)}finally{dn.value=!1}}function Ft(e){if(e.defaultValue===void 0)return!1;const n=mn(X.value,e.path);return n===void 0?!1:JSON.stringify(n)!==JSON.stringify(e.defaultValue)}function Nu(e,n){const i=Ft(n),t=Ln.value.project.has(e)?"project":Ln.value.global.has(e)&&Ln.value.project.size>0?"global":void 0;return{modified:i,onReset:i&&n.defaultValue!==void 0?()=>{X.value=tn(X.value,n.path,n.defaultValue)}:void 0,sourceLabel:t}}function Iu(e,n){const i=n.toLowerCase();return e.path.join(".").toLowerCase().includes(i)||e.label.toLowerCase().includes(i)||(e.description??"").toLowerCase().includes(i)}function Lu(e){const n=Nn.value.trim(),i=Ce.value,t=e.path.join("."),l=In.value[t]===!0;let a=e.fields.filter(u=>u.kind!=="unsupported");if(n!==""&&(a=a.filter(u=>Iu(u,n))),i&&(a=a.filter(u=>Ft(u))),n!==""||i)return a.length===0?null:{section:e,visible:a,hiddenAdvancedCount:0,expanded:l};const o=a.filter(u=>Cr(u.path.join("."))),c=a.filter(u=>!Cr(u.path.join("."))),s=l?[...o,...c]:o;return s.length===0&&c.length===0?null:{section:e,visible:s,hiddenAdvancedCount:l?0:c.length,expanded:l}}function $u(e){In.value={...In.value,[e]:In.value[e]!==!0}}function Ru({changes:e}){return r("div",{class:"ac-modal",role:"dialog","aria-modal":"true","aria-labelledby":"diff-title",children:r("div",{class:"ac-modal__panel",children:[r("h2",{id:"diff-title",children:"Confirm changes"}),r("ul",{class:"ac-diff",children:e.map(n=>r("li",{children:[r("code",{children:n.path}),r("span",{class:"ac-diff__before",children:JSON.stringify(n.from)}),r("span",{class:"ac-diff__arrow",children:"→"}),r("span",{class:"ac-diff__after",children:JSON.stringify(n.to)})]},n.path))}),r("div",{class:"ac-modal__actions",children:[r("button",{type:"button",class:"ac-button",onClick:()=>{Be.value=null},children:"Cancel"}),r("button",{type:"button",class:"ac-button ac-button--primary",disabled:dn.value,onClick:()=>{Ou()},children:dn.value?"Saving…":"Save"})]})]})})}function Fu(){if(ee(()=>{Tr()},[]),!ot.value||oi.value===null)return r("div",{class:"ac-page",children:[r("h1",{children:"Settings"}),ai.value!==null?r("p",{class:"ac-banner ac-banner--error",children:ai.value}):r("p",{children:"Loading…"})]});const e=al(oi.value),n=e.map(Lu).filter(l=>l!==null),i=e.flatMap(l=>l.fields).filter(l=>Ft(l)).length,t=Nn.value.trim()!==""||Ce.value;return r("div",{class:"ac-page ac-settings-hub",children:[r("header",{class:"ac-page__header",children:[r("h1",{children:"Settings"}),r("nav",{class:"ac-page__nav",children:r("a",{href:"#/settings/user",children:"Edit .agent-user.yml →"})})]}),r(Tu,{}),r("div",{class:"ac-settings-hub__toolbar",role:"search",children:[r("input",{class:"ac-input ac-settings-hub__search",type:"search",placeholder:"Search all settings (basic and advanced)…",value:Nn.value,onInput:l=>{Nn.value=l.currentTarget.value}}),r("button",{type:"button",class:`ac-chip-toggle${Ce.value?" ac-chip-toggle--active":""}`,"aria-pressed":Ce.value,onClick:()=>{Ce.value=!Ce.value},children:["@modified",i>0?` (${i})`:""]})]}),K.value!==null?r("p",{class:"ac-banner",children:K.value}):null,r("form",{class:"ac-form",onSubmit:l=>l.preventDefault(),children:[n.length===0?r("p",{class:"ac-settings-hub__empty",children:"No settings match."}):n.map(l=>{const a=l.section.path.join(".");return r(ol,{section:{...l.section,fields:l.visible},values:X.value,errors:un.value,onChange:o=>{X.value=o},decorate:Nu,footer:!t&&(l.hiddenAdvancedCount>0||l.expanded)?r("button",{type:"button",class:"ac-settings-hub__disclosure","aria-expanded":l.expanded,onClick:()=>{$u(a)},children:l.expanded?"Hide advanced settings":`Show ${l.hiddenAdvancedCount} advanced setting${l.hiddenAdvancedCount===1?"":"s"}`}):void 0},a)}),r("div",{class:"ac-form__actions",children:[r("button",{type:"button",class:"ac-button",onClick:()=>{Tr()},children:"Reload"}),r("button",{type:"button",class:"ac-button ac-button--primary",onClick:()=>{Eu()},children:"Preview & Save"})]})]}),Be.value!==null?r(Ru,{changes:Be.value}):null]})}const ci=p(!1),Fe=p(null);async function Pu(){Qn.value=!0,Zn.value=null;try{const e=await w("/api/v1/modules/detect");Tt.value=e.candidates,ta.value=e.project_root;const n={};for(const i of e.candidates)n[i.path]=!0;Xn.value=n,ei.value=e.proposed_block.enabled,ni.value=e.proposed_block.namespace_template??"",ii.value=e.proposed_block.agent_folder??"agents"}catch(e){Zn.value=e instanceof A?U(e.body.error??{code:"UNKNOWN",message:e.message}):e instanceof Error?e.message:String(e)}finally{Qn.value=!1,Ks.value=!0}}function Mu(){const e=new Set(Tt.value.map(t=>t.path)),n=Xn.value,i=Object.keys(n).filter(t=>n[t]===!0&&e.has(t));return{enabled:ei.value,root_paths:i,namespace_template:ni.value,agent_folder:ii.value||"agents"}}async function Du(){ci.value=!0,Fe.value=null;try{const e=await w("/api/v1/modules/apply",{method:"POST",body:Mu()});Fe.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 A?U(e.body.error??{code:"UNKNOWN",message:e.message}):e instanceof Error?e.message:String(e);Fe.value={message:`Could not save project settings: ${n}`,tone:"error"}}finally{ci.value=!1}}function ju(){if(Qn.value)return r("p",{children:"Detecting module roots…"});if(Zn.value!==null)return r("p",{class:"ac-banner ac-banner--error",children:["Module detection failed: ",Zn.value]});const e=Tt.value,n=Xn.value,i=ta.value;return r("div",{class:"ac-section",children:[i!==null?r("p",{class:"ac-section__description",children:["Scanning ",r("code",{children:i}),". Pick which detected roots the agent should treat as modules. These write to",r("code",{children:" .agent-project-settings.yml"})," in this repo only."]}):null,r("label",{children:[r("input",{type:"checkbox",checked:ei.value,onChange:t=>{ei.value=t.currentTarget.checked}})," ","Enable module discovery (writes ",r("code",{children:"modules.enabled"}),")"]}),e.length===0?r("p",{children:[r("em",{children:"No module roots detected."})," The scan found no common module layouts (Laravel ",r("code",{children:"app/Modules/"}),", Symfony",r("code",{children:" src/Module/"}),", Node ",r("code",{children:"packages/"}),", Python",r("code",{children:" src/"}),", Go ",r("code",{children:"internal/"}),")."]}):r("ul",{style:"list-style: none; padding-left: 0;",children:e.map(t=>r("li",{children:r("label",{children:[r("input",{type:"checkbox",checked:n[t.path]??!1,onChange:l=>{const a=l.currentTarget.checked;Xn.value={...n,[t.path]:a}}})," ",r("code",{children:t.path})," — ",t.stack," ",r("small",{children:["(",t.confidence," confidence)"]})]})},t.path))}),r("div",{class:"ac-wizard__module-fields",children:[r("div",{class:"ac-field",children:[r("label",{class:"ac-field__label",for:"ac-modules-namespace",children:"Namespace template"}),r("input",{id:"ac-modules-namespace",class:"ac-input",type:"text",value:ni.value,placeholder:"e.g. App\\\\Modules\\\\{ModuleName}\\\\App",onInput:t=>{ni.value=t.currentTarget.value}}),r("span",{class:"ac-field__description",children:"How a module path maps to its namespace. Leave blank to skip namespacing."})]}),r("div",{class:"ac-field",children:[r("label",{class:"ac-field__label",for:"ac-modules-agent-folder",children:"Agent folder"}),r("input",{id:"ac-modules-agent-folder",class:"ac-input",type:"text",value:ii.value,placeholder:"agents",onInput:t=>{ii.value=t.currentTarget.value}}),r("span",{class:"ac-field__description",children:["Folder name that holds per-module agent docs (default ",r("code",{children:"agents"}),")."]})]})]})]})}function Uu(){return ee(()=>{Pu()},[]),r("div",{class:"ac-page",children:[r("header",{class:"ac-page__header",children:[r("h1",{children:"Project settings"}),r("p",{class:"ac-section__description",children:["Configuration scoped to this repository — written to",r("code",{children:" .agent-project-settings.yml"}),", not the global tree."]})]}),Fe.value!==null?r("p",{class:`ac-banner ac-banner--${Fe.value.tone==="success"?"success":"error"}`,children:Fe.value.message}):null,r("section",{class:"ac-section",children:[r("h2",{class:"ac-section__title",children:"Modules"}),r(ju,{})]}),r("div",{class:"ac-form__actions ac-wizard__nav",children:r("button",{type:"button",class:"ac-button ac-button--primary",disabled:ci.value||Qn.value,onClick:()=>{Du()},children:ci.value?"Saving…":"Save project settings"})})]})}const $n=p([]),fn=p([]),ct=p([]),st=p([]),si=p(null),ha=p(!1),Qe=p(null),j=p(null),Pi=p("plain"),ui=p({}),pa=p([]),Er={"claude-code":"Claude Code",codex:"Codex",gemini:"Gemini"};function Bu(){try{return globalThis.sessionStorage?.getItem("ac-workspace-host")??"claude-code"}catch{return"claude-code"}}const Pt=p(Bu());function Hu(e){Pt.value=e;try{globalThis.sessionStorage?.setItem("ac-workspace-host",e)}catch{}}const hn=p([]),Y=p(null),Ne=p({}),he=p(!1),pn=p(null),ce=p(""),Ze=p(!1),Ai=p(!1),ut=p(null),pe=p(null),vn=p([]),Rn=p(new Set),va="claude-code",Or=2e3;async function Wu(){Qe.value=null;try{const[e,n,i,t,l,a]=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:[]}))]);$n.value=e.roles,fn.value=n.sessions,ct.value=i.chunks,st.value=t.documents,ui.value=l.health??{},pa.value=a.hosts??[],ha.value=!0}catch(e){e instanceof A?Qe.value=e.body?.error?.message??e.message:Qe.value=e instanceof Error?e.message:String(e)}}async function zu(e,n){try{const i=await w(`/api/v1/workspace/roles/${e}/tasks`);hn.value=i.tasks}catch{hn.value=n}}async function Mt(e){pe.value=e,Rn.value=new Set;try{const n=await w(`/api/v1/workspace/sessions/${e}`);vn.value=Array.isArray(n.log)?n.log:[]}catch{vn.value=[]}}async function Yu(e){j.value=null,Ai.value=!1,ce.value="",Y.value=null,await Mt(e)}async function _a(e,n,i){j.value=null,he.value=!0,ce.value="",Ai.value=!1,ut.value={role:e,task:n,inputs:i};try{const t=await w("/api/v1/workspace/launch",{method:"POST",body:{role:e,task:n,inputs:i,host:Pt.value}});pn.value=t,j.value=ma(t),Y.value=null,await Mt(t.id);const l=await w("/api/v1/workspace/sessions?limit=20");fn.value=l.sessions,await Dt()}catch(t){pn.value=null,t instanceof A?j.value=t.body?.error?.message??t.message:j.value=t instanceof Error?t.message:String(t)}finally{he.value=!1}}async function qu(e,n){if(!(n.trim()===""||Ze.value)){Ze.value=!0,j.value=null;try{const i=await w(`/api/v1/workspace/sessions/${e}/continue`,{method:"POST",body:{prompt:n}});pn.value=i,j.value=ma(i),i.driven&&(ce.value=""),await Mt(e);const t=await w("/api/v1/workspace/sessions?limit=20");fn.value=t.sessions,await Dt()}catch(i){i instanceof A&&i.status===410?(Ai.value=!0,j.value="Host session expired — start a new conversation."):i instanceof A?j.value=i.body?.error?.message??i.message:j.value=i instanceof Error?i.message:String(i)}finally{Ze.value=!1}}}async function Dt(){try{const e=await w("/api/v1/workspace/drive-health");ui.value=e.health??{}}catch{}}async function Ku(e){try{await w(`/api/v1/workspace/drive-health/${e}/reset`,{method:"POST"}),await Dt()}catch{}}function ma(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 ${va} 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 Gu({role:e}){const n=si.value===e.slug;return r("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:()=>{si.value=e.slug,j.value=null,pn.value=null,Y.value=null,Ne.value={},hn.value=e.first_tasks,zu(e.slug,e.first_tasks)},children:[r("span",{class:"ac-workspace__role-name",children:e.display_name}),r("span",{class:"ac-workspace__role-status","data-status":e.status,children:e.status}),r("span",{class:"ac-workspace__role-tagline",children:e.tagline})]})}function Vu({role:e,task:n}){const i=n.inputs??[],t=Ne.value,l=i.some(a=>a.required&&(t[a.name]??"").trim()==="");return r("form",{class:"ac-workspace__task-form",onSubmit:a=>{a.preventDefault(),!l&&!he.value&&_a(e,n.name,Ne.value)},children:[i.length===0?r("p",{class:"ac-workspace__form-note",children:"No inputs — runs the prompt as-is."}):i.map(a=>r("label",{class:"ac-workspace__field",children:[r("span",{class:"ac-workspace__field-label",children:[a.name,a.required?r("span",{class:"ac-workspace__req","aria-hidden":"true",children:" *"}):null]}),r("textarea",{class:"ac-workspace__field-input",placeholder:a.shape,required:a.required,"aria-label":`${a.name}${a.required?" (required)":""}`,value:t[a.name]??"",onInput:o=>{Ne.value={...Ne.value,[a.name]:o.target.value}}})]},a.name)),r("div",{class:"ac-workspace__form-actions",children:[r("button",{type:"submit",class:"ac-button ac-button--primary",disabled:l||he.value,children:he.value?"Running…":"Run task"}),r("button",{type:"button",class:"ac-button",onClick:()=>{Y.value=null},children:"Cancel"})]})]})}function Ju(e){const n=[];for(const i of e){const t=i.data??{};if(i.kind==="launcher.input")t.followup===!0?n.push({kind:"user",text:typeof t.prompt=="string"?t.prompt:""}):n.push({kind:"task",text:typeof t.task=="string"?t.task:""});else if(i.kind==="host.turn"){const l=t.usage,a=l!=null?`${typeof t.model=="string"?t.model:va} · in ${l.input_tokens??0} / out ${l.output_tokens??0} tokens`:void 0;n.push({kind:"assistant",text:typeof t.text=="string"?t.text:"",meta:a})}else if(i.kind==="host.error"){const l=typeof t.error_kind=="string"?t.error_kind:"error";n.push({kind:"error",text:`${l}: ${typeof t.error=="string"?t.error:""}`})}}return n}function Qu(){if(pe.value===null)return null;const e=Ju(vn.value),n=vn.value.some(i=>i.kind==="host.turn");return r("section",{class:"ac-workspace__thread","aria-label":"Conversation thread",children:[r("h2",{class:"ac-workspace__heading",children:"Conversation"}),e.length===0?r("p",{class:"ac-workspace__empty",children:"No turns yet."}):r("ol",{class:"ac-workspace__thread-list",children:e.map((i,t)=>{const l=i.kind==="assistant"&&i.text.length>Or,a=Rn.value.has(t),o=l&&!a?`${i.text.slice(0,Or)}…`:i.text;return r("li",{class:`ac-workspace__thread-block ac-workspace__thread-block--${i.kind}`,children:[r("span",{class:"ac-workspace__thread-role",children:i.kind==="task"?"Task":i.kind==="user"?"You":i.kind==="assistant"?"Host":"Error"}),r("pre",{class:"ac-workspace__thread-text",children:o}),l?r("button",{type:"button",class:"ac-button",onClick:()=>{const c=new Set(Rn.value);c.has(t)?c.delete(t):c.add(t),Rn.value=c},children:a?"Show less":"Show full"}):null,i.meta!=null?r("p",{class:"ac-workspace__turn-meta",children:i.meta}):null]},t)})}),Ai.value?r("div",{class:"ac-workspace__followup-gone",role:"status",children:[r("p",{children:"Host session expired."}),ut.value!==null?r("button",{type:"button",class:"ac-button ac-button--primary",disabled:he.value,onClick:()=>{const i=ut.value;i!==null&&_a(i.role,i.task,i.inputs)},children:he.value?"Starting…":"Start a new conversation"}):r("p",{children:"Pick a task above to start a new conversation."})]}):n?r("form",{class:"ac-workspace__followup",onSubmit:i=>{i.preventDefault(),pe.value!==null&&qu(pe.value,ce.value)},children:[r("label",{class:"ac-workspace__field",children:[r("span",{class:"ac-workspace__field-label",children:"Follow up"}),r("textarea",{class:"ac-workspace__field-input",placeholder:"Continue this conversation — e.g. make it shorter","aria-label":"Follow-up prompt",value:ce.value,onInput:i=>{ce.value=i.target.value}})]}),r("button",{type:"submit",class:"ac-button ac-button--primary",disabled:ce.value.trim()===""||Ze.value,children:Ze.value?"Continuing…":"Send follow-up"})]}):null]})}function Zu({role:e}){const n=hn.value.length>0?hn.value:e.first_tasks;return r("section",{class:"ac-workspace__tasks","aria-labelledby":"task-heading",children:[r("h2",{id:"task-heading",class:"ac-workspace__heading",children:["First tasks · ",e.display_name]}),n.length===0?r("p",{class:"ac-workspace__empty",children:"No tasks scaffolded yet for this role."}):r("ul",{class:"ac-workspace__task-list",children:n.map(i=>r("li",{class:"ac-workspace__task",children:[r("div",{class:"ac-workspace__task-head",children:[r("span",{class:"ac-workspace__task-name",children:i.name}),r("button",{type:"button",class:"ac-button ac-button--primary","aria-expanded":Y.value===i.name,onClick:()=>{Y.value=Y.value===i.name?null:i.name,Ne.value={},pn.value=null,pe.value=null,vn.value=[]},children:Y.value===i.name?"Close":"Start session"})]}),r("p",{class:"ac-workspace__task-intent",children:i.intent}),i.prompt!==""?r("code",{class:"ac-workspace__task-prompt",children:["prompts/",i.prompt]}):null,Y.value===i.name?r(Vu,{role:e.slug,task:i}):null]},i.name))}),e.skills.length>0?r("details",{class:"ac-workspace__skills",children:[r("summary",{children:["Skill shortlist (",e.skills.length,")"]}),r("ul",{class:"ac-workspace__skill-list",children:[e.skills.slice(0,5).map(i=>r("li",{class:"ac-workspace__skill",children:[r("code",{children:i.id})," — ",i.why]},i.id)),e.skills.length>5?r("li",{class:"ac-workspace__skill-more",children:["+ ",e.skills.length-5," more"]}):null]})]}):null]})}function Xu(){return r("section",{class:"ac-workspace__sessions","aria-labelledby":"sessions-heading",children:[r("h2",{id:"sessions-heading",class:"ac-workspace__heading",children:"Recent sessions"}),fn.value.length===0?r("p",{class:"ac-workspace__empty",children:"No sessions yet — pick a role and start one."}):r("ul",{class:"ac-workspace__session-list",children:fn.value.map(e=>r("li",{class:"ac-workspace__session",children:r("button",{type:"button",class:`ac-workspace__session-open${pe.value===e.id?" ac-workspace__session-open--active":""}`,"aria-label":`Open session ${e.task}`,"aria-current":pe.value===e.id?"true":void 0,onClick:()=>{Yu(e.id)},children:[r("span",{class:"ac-workspace__session-id",children:e.id.slice(0,16)}),r("span",{class:"ac-workspace__session-role",children:e.role}),r("span",{class:"ac-workspace__session-task",children:e.task})]})},e.id))})]})}function ed(){return r("section",{class:"ac-workspace__knowledge","aria-labelledby":"knowledge-heading",children:[r("h2",{id:"knowledge-heading",class:"ac-workspace__heading",children:"Knowledge sources"}),ct.value.length===0?r("p",{class:"ac-workspace__empty",children:["No sources yet. Run ",r("code",{children:"/knowledge:ingest <path>"})," to add documents."]}):r("ol",{class:"ac-workspace__citation-list",children:ct.value.map((e,n)=>r("li",{class:"ac-workspace__citation",children:[r("span",{class:"ac-workspace__citation-marker","aria-label":`Citation ${n+1}`,children:["[",n+1,"]"]}),r("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?r("span",{class:"ac-workspace__citation-pin","aria-label":"pinned",children:"★"}):null,r("p",{class:"ac-workspace__citation-excerpt",children:[e.excerpt.slice(0,200),e.excerpt.length>200?"…":""]})]},e.id))})]})}function nd(){return r("section",{class:"ac-workspace__recent","aria-labelledby":"recent-heading",children:[r("h2",{id:"recent-heading",class:"ac-workspace__heading",children:"Recent documents"}),st.value.length===0?r("p",{class:"ac-workspace__empty",children:"No documents yet. Saved drafts land here."}):r("ul",{class:"ac-workspace__doc-list",children:st.value.map(e=>r("li",{class:"ac-workspace__doc",children:[r("span",{class:"ac-workspace__doc-type","data-type":e.type,children:e.type}),r("span",{class:"ac-workspace__doc-title",children:e.title}),r("time",{class:"ac-workspace__doc-time",dateTime:e.updated_at,children:e.updated_at.slice(0,10)})]},`${e.type}/${e.slug}`))})]})}function id(){const n=Object.values(ui.value).filter(i=>i.killed||i.consecutive_failures>0);return r("section",{class:"ac-workspace__drive-health","aria-labelledby":"drive-health-heading",children:[r("h2",{id:"drive-health-heading",class:"ac-workspace__heading",children:"Host health"}),n.length===0?r("p",{class:"ac-workspace__empty",children:"All hosts healthy."}):r("ul",{class:"ac-workspace__health-list",children:Object.entries(ui.value).filter(([,i])=>i.killed||i.consecutive_failures>0).map(([i,t])=>{const l=t.killed?t.kill_reason==="manual"?"paused (manual)":"paused — auto-recovering":"degraded";return r("li",{class:"ac-workspace__health","data-killed":t.killed?"true":"false",children:[r("span",{class:"ac-workspace__health-host",children:i}),r("span",{class:"ac-workspace__health-state",children:l}),r("span",{class:"ac-workspace__health-meta",children:[t.consecutive_failures," fail streak",t.last_error_kind!=null?` · ${t.last_error_kind}`:""]}),t.killed?r("button",{type:"button",class:"ac-button ac-workspace__health-reset","aria-label":`Reset ${i}`,onClick:()=>{Ku(i)},children:"Reset"}):null]},i)})})]})}function td(){const e=Pi.value;return r("fieldset",{class:"ac-workspace__explain",children:[r("legend",{class:"ac-workspace__heading",children:"Explanation style"}),r("label",{class:"ac-workspace__explain-option",children:[r("input",{type:"radio",name:"explain-mode",value:"plain",checked:e==="plain",onChange:()=>{Pi.value="plain"},"aria-label":"Plain language"}),r("span",{children:"Plain language"})]}),r("label",{class:"ac-workspace__explain-option",children:[r("input",{type:"radio",name:"explain-mode",value:"technical",checked:e==="technical",onChange:()=>{Pi.value="technical"},"aria-label":"Technical detail"}),r("span",{children:"Technical detail"})]}),r("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 rd(){const e=pa.value,n=e.length>0?e.map(t=>t.id):Object.keys(Er),i=new Map(e.map(t=>[t.id,t.cli_present]));return r("label",{class:"ac-workspace__host-picker",children:[r("span",{class:"ac-workspace__host-label",children:"Host"}),r("select",{class:"ac-workspace__host-select","aria-label":"Host agent",value:Pt.value,onChange:t=>{Hu(t.target.value)},children:n.map(t=>{const l=i.get(t)!==!1,a=Er[t]??t;return r("option",{value:t,disabled:!l,children:[a," (",t,")",l?"":" — not installed"]},t)})})]})}function ld(){if(ee(()=>{Wu()},[]),Qe.value!==null)return r("div",{class:"ac-page ac-page--error",children:[r("h1",{children:"Workspace"}),r("p",{class:"ac-banner ac-banner--error",children:Qe.value})]});if(!ha.value)return r("div",{class:"ac-page",children:[r("h1",{children:"Workspace"}),r("p",{children:"Loading…"})]});const e=si.value!==null?$n.value.find(n=>n.slug===si.value)??null:null;return r("div",{class:"ac-page ac-workspace",children:[r("header",{class:"ac-page__header",children:[r("h1",{children:"Workspace"}),r("p",{class:"ac-page__subtitle",children:"Pick a role, pick a first task, run it."}),r(rd,{})]}),j.value!==null?r("p",{class:"ac-banner",role:"status",children:j.value}):null,r("div",{class:"ac-workspace__grid",children:[r("section",{class:"ac-workspace__roles","aria-labelledby":"roles-heading",children:[r("h2",{id:"roles-heading",class:"ac-workspace__heading",children:"Roles"}),$n.value.length===0?r("p",{class:"ac-workspace__empty",children:"No roles installed."}):r("div",{class:"ac-workspace__role-grid",children:$n.value.map(n=>r(Gu,{role:n},n.slug))})]}),r("main",{class:"ac-workspace__main","aria-label":"Tasks and sessions",children:[e!==null?r(Zu,{role:e}):r("p",{class:"ac-workspace__empty",children:"Pick a role on the left to see its first tasks."}),r(Qu,{}),r(Xu,{})]}),r("aside",{class:"ac-workspace__rail","aria-label":"Knowledge and documents",children:[r(ed,{}),r(nd,{}),r(id,{}),r(td,{})]})]})]})}const ga="agent-config-theme";function ad(){return(typeof document<"u"?document.documentElement.getAttribute("data-theme"):null)==="dark"?"dark":"light"}const Xe=p(ad());function od(){try{const e=localStorage.getItem(ga);return e==="light"||e==="dark"?e:null}catch{return null}}function cd(){if(typeof window>"u")return null;try{const e=new URLSearchParams(window.location.search).get("theme");return e==="light"||e==="dark"?e:null}catch{return null}}function sd(){return od()===null&&cd()===null}function ya(e){Xe.value=e,document.documentElement.setAttribute("data-theme",e)}function ud(){const e=Xe.value==="dark"?"light":"dark";try{localStorage.setItem(ga,e)}catch{}ya(e)}function dd(){if(typeof window>"u"||typeof window.matchMedia!="function")return;const e=window.matchMedia("(prefers-color-scheme: dark)"),n=()=>{sd()&&ya(e.matches?"dark":"light")};typeof e.addEventListener=="function"&&e.addEventListener("change",n)}function fd(){return typeof window>"u"?!1:new URLSearchParams(window.location.search).get("embed")==="1"}const hd=fd(),ba=[{id:"setup",label:"Setup",hashPath:"/setup",matches:["/setup","/wizard"]},{id:"settings",label:"Settings",hashPath:"/settings",matches:["/settings"]},{id:"project",label:"Project",hashPath:"/project",matches:["/project"]},{id:"workspace",label:"Workspace",hashPath:"/workspace",matches:["/workspace"]}];function ka(e){for(const n of ba)for(const i of n.matches)if(e===i||e.startsWith(`${i}/`))return n.id;return null}function pd(e){const n=Me.value,i=ka(e);return ba.filter(t=>t.id==="project"?n?.projectSurface===!0||i==="project":t.id==="workspace"?n?.devSurfaces===!0||i==="workspace":!0)}function vd(){const e=Hn.value,n=ka(e);return r("header",{class:"ac-topnav",children:r("div",{class:"ac-topnav__inner",children:[r("div",{class:"ac-topnav__brand",children:[r("h1",{class:"ac-topnav__title",children:"@event4u/agent-config"}),r("p",{class:"ac-topnav__subtitle",children:"Browser Wizard"})]}),r("nav",{class:"ac-topnav__tabs","aria-label":"Surfaces",children:pd(e).map(i=>r("button",{type:"button",class:`ac-topnav__tab${n===i.id?" ac-topnav__tab--active":""}`,"aria-current":n===i.id?"page":void 0,onClick:()=>pi(i.hashPath),children:i.label},i.id))}),r("button",{type:"button",class:"ac-topnav__theme","aria-label":Xe.value==="dark"?"Switch to light theme":"Switch to dark theme",title:Xe.value==="dark"?"Switch to light theme":"Switch to dark theme",onClick:()=>{ud()},children:Xe.value==="dark"?"☀":"☾"})]})})}function _d({path:e}){return r("div",{class:"ac-page ac-page--error",children:[r("h1",{children:"Page not found"}),r("p",{children:["Nothing routed to ",r("code",{children:e}),". Try ",r("a",{href:"#/setup",children:"Setup"}),"."]})]})}function md(){const e=Me.value;return e===null||e.dryRun!==!0?null:r("div",{class:"ac-dryrun-banner",role:"status","aria-live":"polite",children:[r("strong",{children:"DRY RUN"}),r("span",{children:" · no files will be written. Validation + rendering run normally; commits return a preview."})]})}function gd(e){return e==="/"||e==="/setup"||e.startsWith("/setup/")?r(Sr,{path:e}):e.startsWith("/wizard")?r(Sr,{path:e}):e==="/settings/changes"?r(Au,{}):e==="/settings"||e.startsWith("/settings/")?r(Fu,{}):e==="/project"||e.startsWith("/project/")?r(Uu,{}):e==="/workspace"?r(ld,{}):r(_d,{path:e})}function yd(){return ee(()=>{Wa(),Hn.value==="/"&&pi("/setup"),qa()},[]),r(M,{children:[r(md,{}),hd?null:r(vd,{}),gd(Hn.value)]})}const bd=3e4,kd=30*6e4;let Sn=null,Nr=!1;function Ir(e){if(!Nr&&(Nr=!0,!(typeof navigator>"u"||typeof navigator.sendBeacon!="function")))try{navigator.sendBeacon(`/api/v1/shutdown?token=${encodeURIComponent(e)}`)}catch{}}function wd(e){if(typeof window>"u")return()=>{};let n=Date.now();const i=()=>{n=Date.now()},t=["pointerdown","keydown","wheel","touchstart"];for(const c of t)window.addEventListener(c,i,{passive:!0});const l=()=>{document.hidden||i()};document.addEventListener("visibilitychange",l);const a=()=>{Sn!==null&&clearInterval(Sn),Sn=null;for(const c of t)window.removeEventListener(c,i);document.removeEventListener("visibilitychange",l),window.removeEventListener("pagehide",o)};Sn=setInterval(()=>{if(!document.hidden){if(Date.now()-n>kd){Ir(e),a();return}w("/api/v1/ping").catch(()=>{})}},bd);function o(){Ir(e)}return window.addEventListener("pagehide",o),a}function xd(){if(typeof window>"u"||typeof window.history?.replaceState!="function")return;const e=new URLSearchParams(window.location.search);if(!e.has("token"))return;e.delete("token");const n=e.toString(),i=window.location.pathname+(n?`?${n}`:"")+window.location.hash;window.history.replaceState(window.history.state,"",i)}function Sd(){return new URLSearchParams(window.location.search).get("token")}function Cd(){const e=document.getElementById("app");if(e===null)return;const n=Sd();if(n===null){e.textContent="agent-config UI · missing token — re-open via `agent-config ui:serve`.";return}za(n),xd(),wd(n),dd(),e.textContent="",Oa(r(yd,{}),e)}Cd();
40
- //# sourceMappingURL=index-CrmZ34Rg.js.map