@zaip-ai/cli 6.3.0 → 7.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1282) hide show
  1. package/README.md +13 -11
  2. package/dist/commands/init.d.ts +1 -0
  3. package/dist/commands/init.d.ts.map +1 -1
  4. package/dist/commands/init.js +18 -5
  5. package/dist/commands/init.js.map +1 -1
  6. package/dist/index.js +1 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/services/adapter-codex-config.d.ts +3 -0
  9. package/dist/services/adapter-codex-config.d.ts.map +1 -0
  10. package/dist/services/adapter-codex-config.js +119 -0
  11. package/dist/services/adapter-codex-config.js.map +1 -0
  12. package/dist/services/adapter-config-overlay.d.ts +8 -0
  13. package/dist/services/adapter-config-overlay.d.ts.map +1 -0
  14. package/dist/services/adapter-config-overlay.js +17 -0
  15. package/dist/services/adapter-config-overlay.js.map +1 -0
  16. package/dist/services/adapters.d.ts +3 -2
  17. package/dist/services/adapters.d.ts.map +1 -1
  18. package/dist/services/adapters.js +34 -143
  19. package/dist/services/adapters.js.map +1 -1
  20. package/dist/services/adapters.test.js +12 -0
  21. package/dist/services/adapters.test.js.map +1 -1
  22. package/dist/services/agent-adapters.d.ts +2 -98
  23. package/dist/services/agent-adapters.d.ts.map +1 -1
  24. package/dist/services/agent-adapters.js +30 -29
  25. package/dist/services/agent-adapters.js.map +1 -1
  26. package/dist/services/agent-adapters.test.js +4 -2
  27. package/dist/services/agent-adapters.test.js.map +1 -1
  28. package/dist/services/agent-guidance-types.d.ts +98 -0
  29. package/dist/services/agent-guidance-types.d.ts.map +1 -0
  30. package/dist/services/agent-guidance-types.js +4 -0
  31. package/dist/services/agent-guidance-types.js.map +1 -0
  32. package/dist/services/catalog-toml.d.ts +4 -0
  33. package/dist/services/catalog-toml.d.ts.map +1 -0
  34. package/dist/services/catalog-toml.js +10 -0
  35. package/dist/services/catalog-toml.js.map +1 -0
  36. package/dist/services/catalog-write-scope.d.ts +4 -0
  37. package/dist/services/catalog-write-scope.d.ts.map +1 -0
  38. package/dist/services/catalog-write-scope.js +18 -0
  39. package/dist/services/catalog-write-scope.js.map +1 -0
  40. package/dist/services/claude-settings-overlay.d.ts +4 -0
  41. package/dist/services/claude-settings-overlay.d.ts.map +1 -0
  42. package/dist/services/claude-settings-overlay.js +58 -0
  43. package/dist/services/claude-settings-overlay.js.map +1 -0
  44. package/dist/services/client-selection.d.ts +17 -0
  45. package/dist/services/client-selection.d.ts.map +1 -0
  46. package/dist/services/client-selection.js +67 -0
  47. package/dist/services/client-selection.js.map +1 -0
  48. package/dist/services/codex-conversation-lifecycle-hook.d.ts.map +1 -1
  49. package/dist/services/codex-conversation-lifecycle-hook.js +20 -9
  50. package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -1
  51. package/dist/services/codex-git-publication-template.d.ts +2 -0
  52. package/dist/services/codex-git-publication-template.d.ts.map +1 -0
  53. package/dist/services/codex-git-publication-template.js +120 -0
  54. package/dist/services/codex-git-publication-template.js.map +1 -0
  55. package/dist/services/codex-github-setup-template.d.ts +3 -0
  56. package/dist/services/codex-github-setup-template.d.ts.map +1 -0
  57. package/dist/services/codex-github-setup-template.js +176 -0
  58. package/dist/services/codex-github-setup-template.js.map +1 -0
  59. package/dist/services/codex-hook-activation.d.ts +1 -1
  60. package/dist/services/codex-hook-activation.d.ts.map +1 -1
  61. package/dist/services/codex-hook-activation.js +55 -10
  62. package/dist/services/codex-hook-activation.js.map +1 -1
  63. package/dist/services/codex-host-diagnostic.d.ts +10 -0
  64. package/dist/services/codex-host-diagnostic.d.ts.map +1 -0
  65. package/dist/services/codex-host-diagnostic.js +5 -0
  66. package/dist/services/codex-host-diagnostic.js.map +1 -0
  67. package/dist/services/codex-host-diagnostic.test.d.ts +2 -0
  68. package/dist/services/codex-host-diagnostic.test.d.ts.map +1 -0
  69. package/dist/services/codex-host-diagnostic.test.js +24 -0
  70. package/dist/services/codex-host-diagnostic.test.js.map +1 -0
  71. package/dist/services/codex-literal-read-sequence-template.d.ts.map +1 -1
  72. package/dist/services/codex-literal-read-sequence-template.js +97 -6
  73. package/dist/services/codex-literal-read-sequence-template.js.map +1 -1
  74. package/dist/services/codex-native-authority-policy-template.d.ts +2 -0
  75. package/dist/services/codex-native-authority-policy-template.d.ts.map +1 -0
  76. package/dist/services/codex-native-authority-policy-template.js +132 -0
  77. package/dist/services/codex-native-authority-policy-template.js.map +1 -0
  78. package/dist/services/codex-native-tool-authority-template.d.ts.map +1 -1
  79. package/dist/services/codex-native-tool-authority-template.js +147 -145
  80. package/dist/services/codex-native-tool-authority-template.js.map +1 -1
  81. package/dist/services/codex-node-options-template.d.ts +3 -0
  82. package/dist/services/codex-node-options-template.d.ts.map +1 -0
  83. package/dist/services/codex-node-options-template.js +30 -0
  84. package/dist/services/codex-node-options-template.js.map +1 -0
  85. package/dist/services/codex-pre-tool-cli-capture-template.d.ts.map +1 -1
  86. package/dist/services/codex-pre-tool-cli-capture-template.js +214 -10
  87. package/dist/services/codex-pre-tool-cli-capture-template.js.map +1 -1
  88. package/dist/services/codex-pre-tool-cloud-template.d.ts.map +1 -1
  89. package/dist/services/codex-pre-tool-cloud-template.js +149 -12
  90. package/dist/services/codex-pre-tool-cloud-template.js.map +1 -1
  91. package/dist/services/codex-pre-tool-dependencies.test-support.d.ts.map +1 -1
  92. package/dist/services/codex-pre-tool-dependencies.test-support.js +12 -0
  93. package/dist/services/codex-pre-tool-dependencies.test-support.js.map +1 -1
  94. package/dist/services/codex-pre-tool-hook-template.d.ts.map +1 -1
  95. package/dist/services/codex-pre-tool-hook-template.js +53 -138
  96. package/dist/services/codex-pre-tool-hook-template.js.map +1 -1
  97. package/dist/services/codex-pre-tool-hook-template.test.js +13 -7
  98. package/dist/services/codex-pre-tool-hook-template.test.js.map +1 -1
  99. package/dist/services/codex-pre-tool-host-context-template.d.ts.map +1 -1
  100. package/dist/services/codex-pre-tool-host-context-template.js +23 -0
  101. package/dist/services/codex-pre-tool-host-context-template.js.map +1 -1
  102. package/dist/services/codex-pre-tool-policy-template.d.ts.map +1 -1
  103. package/dist/services/codex-pre-tool-policy-template.js +5 -3
  104. package/dist/services/codex-pre-tool-policy-template.js.map +1 -1
  105. package/dist/services/codex-pre-tool-release-review-template.d.ts.map +1 -1
  106. package/dist/services/codex-pre-tool-release-review-template.js +161 -2
  107. package/dist/services/codex-pre-tool-release-review-template.js.map +1 -1
  108. package/dist/services/codex-pre-tool-support-template.d.ts.map +1 -1
  109. package/dist/services/codex-pre-tool-support-template.js +88 -129
  110. package/dist/services/codex-pre-tool-support-template.js.map +1 -1
  111. package/dist/services/codex-release-publication-template.d.ts +2 -0
  112. package/dist/services/codex-release-publication-template.d.ts.map +1 -0
  113. package/dist/services/codex-release-publication-template.js +127 -0
  114. package/dist/services/codex-release-publication-template.js.map +1 -0
  115. package/dist/services/codex-repository-profile-template.d.ts +2 -0
  116. package/dist/services/codex-repository-profile-template.d.ts.map +1 -0
  117. package/dist/services/codex-repository-profile-template.js +84 -0
  118. package/dist/services/codex-repository-profile-template.js.map +1 -0
  119. package/dist/services/codex-rules.d.ts +1 -1
  120. package/dist/services/codex-rules.d.ts.map +1 -1
  121. package/dist/services/codex-rules.js +2 -2
  122. package/dist/services/codex-storage-handoff-template.d.ts +2 -0
  123. package/dist/services/codex-storage-handoff-template.d.ts.map +1 -0
  124. package/dist/services/codex-storage-handoff-template.js +18 -0
  125. package/dist/services/codex-storage-handoff-template.js.map +1 -0
  126. package/dist/services/codex-subagent-hook-template.d.ts +1 -1
  127. package/dist/services/codex-subagent-hook-template.d.ts.map +1 -1
  128. package/dist/services/codex-subagent-hook-template.js +7 -6
  129. package/dist/services/codex-subagent-hook-template.js.map +1 -1
  130. package/dist/services/codex-task-delivery-authority-template.d.ts +3 -0
  131. package/dist/services/codex-task-delivery-authority-template.d.ts.map +1 -0
  132. package/dist/services/codex-task-delivery-authority-template.js +244 -0
  133. package/dist/services/codex-task-delivery-authority-template.js.map +1 -0
  134. package/dist/services/codex-validation-runtime-template.js +1 -1
  135. package/dist/services/codex-windows-hook-command.js +2 -2
  136. package/dist/services/codex-windows-hook-command.js.map +1 -1
  137. package/dist/services/developer-identity-fixture.d.ts.map +1 -1
  138. package/dist/services/developer-identity-fixture.js +3 -2
  139. package/dist/services/developer-identity-fixture.js.map +1 -1
  140. package/dist/services/doctor.d.ts.map +1 -1
  141. package/dist/services/doctor.js +5 -1
  142. package/dist/services/doctor.js.map +1 -1
  143. package/dist/services/github-setup-status.d.ts +6 -3
  144. package/dist/services/github-setup-status.d.ts.map +1 -1
  145. package/dist/services/github-setup-status.js +9 -5
  146. package/dist/services/github-setup-status.js.map +1 -1
  147. package/dist/services/github-setup-status.test.js +69 -3
  148. package/dist/services/github-setup-status.test.js.map +1 -1
  149. package/dist/services/global-codex-config.d.ts.map +1 -1
  150. package/dist/services/global-codex-config.js +3 -0
  151. package/dist/services/global-codex-config.js.map +1 -1
  152. package/dist/services/global-codex-project-trust.d.ts +17 -0
  153. package/dist/services/global-codex-project-trust.d.ts.map +1 -0
  154. package/dist/services/global-codex-project-trust.js +221 -0
  155. package/dist/services/global-codex-project-trust.js.map +1 -0
  156. package/dist/services/global-codex-project-trust.test.d.ts +2 -0
  157. package/dist/services/global-codex-project-trust.test.d.ts.map +1 -0
  158. package/dist/services/global-codex-project-trust.test.js +219 -0
  159. package/dist/services/global-codex-project-trust.test.js.map +1 -0
  160. package/dist/services/install-agents-template.d.ts.map +1 -1
  161. package/dist/services/install-agents-template.js +97 -192
  162. package/dist/services/install-agents-template.js.map +1 -1
  163. package/dist/services/install-client-selection.d.ts +6 -0
  164. package/dist/services/install-client-selection.d.ts.map +1 -0
  165. package/dist/services/install-client-selection.js +24 -0
  166. package/dist/services/install-client-selection.js.map +1 -0
  167. package/dist/services/install-result.d.ts +6 -0
  168. package/dist/services/install-result.d.ts.map +1 -0
  169. package/dist/services/install-result.js +14 -0
  170. package/dist/services/install-result.js.map +1 -0
  171. package/dist/services/install-storage-boundary.d.ts +6 -0
  172. package/dist/services/install-storage-boundary.d.ts.map +1 -0
  173. package/dist/services/install-storage-boundary.js +173 -0
  174. package/dist/services/install-storage-boundary.js.map +1 -0
  175. package/dist/services/install-storage-boundary.test.d.ts +2 -0
  176. package/dist/services/install-storage-boundary.test.d.ts.map +1 -0
  177. package/dist/services/install-storage-boundary.test.js +110 -0
  178. package/dist/services/install-storage-boundary.test.js.map +1 -0
  179. package/dist/services/install-target-windows.test.d.ts +2 -0
  180. package/dist/services/install-target-windows.test.d.ts.map +1 -0
  181. package/dist/services/install-target-windows.test.js +39 -0
  182. package/dist/services/install-target-windows.test.js.map +1 -0
  183. package/dist/services/install-target.d.ts +6 -0
  184. package/dist/services/install-target.d.ts.map +1 -0
  185. package/dist/services/install-target.js +89 -0
  186. package/dist/services/install-target.js.map +1 -0
  187. package/dist/services/install-target.test.d.ts +2 -0
  188. package/dist/services/install-target.test.d.ts.map +1 -0
  189. package/dist/services/install-target.test.js +47 -0
  190. package/dist/services/install-target.test.js.map +1 -0
  191. package/dist/services/install-template-backup.d.ts +3 -0
  192. package/dist/services/install-template-backup.d.ts.map +1 -0
  193. package/dist/services/install-template-backup.js +46 -0
  194. package/dist/services/install-template-backup.js.map +1 -0
  195. package/dist/services/install-template-lock.d.ts +2 -0
  196. package/dist/services/install-template-lock.d.ts.map +1 -0
  197. package/dist/services/install-template-lock.js +32 -0
  198. package/dist/services/install-template-lock.js.map +1 -0
  199. package/dist/services/install-template-policy.d.ts +16 -0
  200. package/dist/services/install-template-policy.d.ts.map +1 -1
  201. package/dist/services/install-template-policy.js +73 -1
  202. package/dist/services/install-template-policy.js.map +1 -1
  203. package/dist/services/install-template-render.d.ts +11 -0
  204. package/dist/services/install-template-render.d.ts.map +1 -0
  205. package/dist/services/install-template-render.js +53 -0
  206. package/dist/services/install-template-render.js.map +1 -0
  207. package/dist/services/install-template-rule-files.d.ts +3 -0
  208. package/dist/services/install-template-rule-files.d.ts.map +1 -0
  209. package/dist/services/install-template-rule-files.js +24 -0
  210. package/dist/services/install-template-rule-files.js.map +1 -0
  211. package/dist/services/logger.d.ts.map +1 -1
  212. package/dist/services/logger.js +37 -10
  213. package/dist/services/logger.js.map +1 -1
  214. package/dist/services/logger.test.js +65 -16
  215. package/dist/services/logger.test.js.map +1 -1
  216. package/dist/services/project-config-upgrade.d.ts +3 -0
  217. package/dist/services/project-config-upgrade.d.ts.map +1 -0
  218. package/dist/services/project-config-upgrade.js +58 -0
  219. package/dist/services/project-config-upgrade.js.map +1 -0
  220. package/dist/services/runtime-template-deploy-policy.test.d.ts +2 -0
  221. package/dist/services/runtime-template-deploy-policy.test.d.ts.map +1 -0
  222. package/dist/services/runtime-template-deploy-policy.test.js +26 -0
  223. package/dist/services/runtime-template-deploy-policy.test.js.map +1 -0
  224. package/dist/services/runtime-template-test-support.d.ts +14 -0
  225. package/dist/services/runtime-template-test-support.d.ts.map +1 -1
  226. package/dist/services/runtime-template-test-support.js +18 -0
  227. package/dist/services/runtime-template-test-support.js.map +1 -1
  228. package/dist/services/runtime-template.test.js +14 -63
  229. package/dist/services/runtime-template.test.js.map +1 -1
  230. package/dist/services/sqlite-bootstrap.js +2 -2
  231. package/dist/services/sqlite-bootstrap.js.map +1 -1
  232. package/dist/services/stack-node.js +2 -2
  233. package/dist/services/stack-node.js.map +1 -1
  234. package/dist/services/stack-terraform.d.ts.map +1 -1
  235. package/dist/services/stack-terraform.js +5 -5
  236. package/dist/services/stack-terraform.js.map +1 -1
  237. package/dist/services/template-packed-path.test.d.ts +2 -0
  238. package/dist/services/template-packed-path.test.d.ts.map +1 -0
  239. package/dist/services/template-packed-path.test.js +30 -0
  240. package/dist/services/template-packed-path.test.js.map +1 -0
  241. package/dist/types.d.ts +8 -0
  242. package/dist/types.d.ts.map +1 -1
  243. package/package.json +2 -1
  244. package/templates/.agents/README-ENG.md +3 -1
  245. package/templates/.agents/README.md +3 -1
  246. package/templates/.agents/architecture/software-architecture.md +7 -1
  247. package/templates/.agents/config/agents/catalog.yaml +25 -12
  248. package/templates/.agents/config/agents/discovery.json +2 -2
  249. package/templates/.agents/config/autonomous-cloud-inputs.json +3 -3
  250. package/templates/.agents/config/clients/codex/agents/zaip-agent-analyst.toml +4 -2
  251. package/templates/.agents/config/clients/codex/agents/zaip-agent-auditor.toml +1 -1
  252. package/templates/.agents/config/clients/codex/agents/zaip-agent-backend.toml +6 -4
  253. package/templates/.agents/config/clients/codex/agents/zaip-agent-brand-strategist.toml +3 -1
  254. package/templates/.agents/config/clients/codex/agents/zaip-agent-builder.toml +6 -4
  255. package/templates/.agents/config/clients/codex/agents/zaip-agent-cloud-engineer.toml +5 -3
  256. package/templates/.agents/config/clients/codex/agents/zaip-agent-data-analyst.toml +3 -1
  257. package/templates/.agents/config/clients/codex/agents/zaip-agent-designer.toml +7 -4
  258. package/templates/.agents/config/clients/codex/agents/zaip-agent-finalizer.toml +1 -1
  259. package/templates/.agents/config/clients/codex/agents/zaip-agent-frontend.toml +9 -6
  260. package/templates/.agents/config/clients/codex/agents/zaip-agent-general-operations.toml +3 -1
  261. package/templates/.agents/config/clients/codex/agents/zaip-agent-governance-compliance.toml +3 -1
  262. package/templates/.agents/config/clients/codex/agents/zaip-agent-growth-strategist.toml +3 -1
  263. package/templates/.agents/config/clients/codex/agents/zaip-agent-integrator.toml +1 -1
  264. package/templates/.agents/config/clients/codex/agents/zaip-agent-marketing-analyst.toml +5 -3
  265. package/templates/.agents/config/clients/codex/agents/zaip-agent-orchestrator.toml +4 -4
  266. package/templates/.agents/config/clients/codex/agents/zaip-agent-refactoring-specialist.toml +3 -1
  267. package/templates/.agents/config/clients/codex/agents/zaip-agent-reviewer.toml +3 -3
  268. package/templates/.agents/config/clients/codex/agents/zaip-agent-sales-specialist.toml +3 -1
  269. package/templates/.agents/config/clients/codex/agents/zaip-agent-security-auditor.toml +1 -1
  270. package/templates/.agents/config/clients/codex/agents/zaip-agent-task-executor.toml +6 -3
  271. package/templates/.agents/config/clients/codex/agents/zaip-agent-website-developer.toml +7 -4
  272. package/templates/.agents/config/clients/codex/agents/zaip-agent-writer.toml +3 -1
  273. package/templates/.agents/config/project.yaml +7 -2
  274. package/templates/.agents/dashboard/.zaip-managed.json +326 -146
  275. package/templates/.agents/dashboard/apps/frontend/dist/assets/CostCalculationGuidePage-DZ2mnR6k.js +1 -0
  276. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-BQOQCvcJ.js → DashboardHelpDialog-DnxpHJSo.js} +20 -10
  277. package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-CGET1J8Q.js → PricingSettingsDialog-DsFTUwhL.js} +1 -1
  278. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-86kLUrXm.js +3 -0
  279. package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-Bw6xnXUN.js → TraceabilityWorkspace-BZ1rH1vl.js} +1 -1
  280. package/templates/.agents/dashboard/apps/frontend/dist/assets/{cost-monitor-C2AFYBu_.css → cost-monitor-BESDS3aE.css} +1 -1
  281. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-YfoKMzCQ.js +59 -0
  282. package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-BZf8HWmm.js → dashboard-localization-BVBhiAAS.js} +3 -1
  283. package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-CjGGux6h.js → icons-vendor-DSdQAua1.js} +1 -1
  284. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-4cl5FQBn.css +1 -0
  285. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-C4uiRYHu.js +2 -0
  286. package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-B9jZSAKf.js → react-vendor-rGvJzdn5.js} +1 -1
  287. package/templates/.agents/dashboard/apps/frontend/dist/assets/{traceability-DFY7ZDlu.css → traceability-s5SzQnzt.css} +1 -1
  288. package/templates/.agents/dashboard/apps/frontend/dist/assets/traceability-vQx9R6BQ.js +1 -0
  289. package/templates/.agents/dashboard/apps/frontend/dist/index.html +9 -8
  290. package/templates/.agents/dashboard/apps/frontend/e2e/release-delivery-fixture.mjs +117 -0
  291. package/templates/.agents/dashboard/apps/frontend/e2e/release-delivery-lab.mjs +246 -0
  292. package/templates/.agents/dashboard/apps/frontend/e2e/release-delivery-receipt.mjs +65 -0
  293. package/templates/.agents/dashboard/apps/frontend/index.html +1 -0
  294. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  295. package/templates/.agents/dashboard/apps/frontend/playwright.dom.config.ts +2 -2
  296. package/templates/.agents/dashboard/apps/frontend/src/AppLoadingPanels.tsx +10 -7
  297. package/templates/.agents/dashboard/apps/frontend/src/AppOverlays.tsx +22 -19
  298. package/templates/.agents/dashboard/apps/frontend/src/CostCalculationGuidePage.tsx +16 -117
  299. package/templates/.agents/dashboard/apps/frontend/src/CostCharts.percentages.test.tsx +75 -0
  300. package/templates/.agents/dashboard/apps/frontend/src/CostTelemetryGuide.tsx +36 -0
  301. package/templates/.agents/dashboard/apps/frontend/src/DashboardToast.tsx +9 -0
  302. package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.dom.test.ts +1 -1
  303. package/templates/.agents/dashboard/apps/frontend/src/ProjectStackEditor.tsx +1 -0
  304. package/templates/.agents/dashboard/apps/frontend/src/ReconciliationFeedback.dom.test.ts +1 -1
  305. package/templates/.agents/dashboard/apps/frontend/src/ReconciliationFeedback.tsx +22 -19
  306. package/templates/.agents/dashboard/apps/frontend/src/TraceabilityWorkspace.dom.e2e.ts +5 -2
  307. package/templates/.agents/dashboard/apps/frontend/src/WorkspaceStatus.dom.test.ts +86 -0
  308. package/templates/.agents/dashboard/apps/frontend/src/WorkspaceStatus.test.tsx +44 -0
  309. package/templates/.agents/dashboard/apps/frontend/src/WorkspaceStatus.tsx +37 -12
  310. package/templates/.agents/dashboard/apps/frontend/src/cost-guide-calculations.ts +118 -0
  311. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api-sqlite-view.ts +3 -0
  312. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.ts +15 -31
  313. package/templates/.agents/dashboard/apps/frontend/src/dashboard-http-transport.ts +30 -0
  314. package/templates/.agents/dashboard/apps/frontend/src/dashboard-runtime-status.ts +8 -1
  315. package/templates/.agents/dashboard/apps/frontend/src/main.tsx +1 -0
  316. package/templates/.agents/dashboard/apps/frontend/src/project-settings-model.ts +2 -0
  317. package/templates/.agents/dashboard/apps/frontend/src/project-settings.test.ts +17 -0
  318. package/templates/.agents/dashboard/apps/frontend/src/release-delivery.test.tsx +78 -0
  319. package/templates/.agents/dashboard/apps/frontend/src/snapshot-coherence.test.ts +0 -20
  320. package/templates/.agents/dashboard/apps/frontend/src/snapshot-observer.test.ts +112 -0
  321. package/templates/.agents/dashboard/apps/frontend/src/snapshot-observer.ts +147 -0
  322. package/templates/.agents/dashboard/apps/frontend/src/sqlite-compact-cost-adapter.ts +100 -0
  323. package/templates/.agents/dashboard/apps/frontend/src/sqlite-page-export.test.ts +20 -0
  324. package/templates/.agents/dashboard/apps/frontend/src/sqlite-page-export.ts +15 -0
  325. package/templates/.agents/dashboard/apps/frontend/src/styles-pricing.css +265 -0
  326. package/templates/.agents/dashboard/apps/frontend/src/styles.css +21 -265
  327. package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.test.ts +35 -0
  328. package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.ts +11 -87
  329. package/templates/.agents/dashboard/apps/frontend/src/use-app-effects.ts +26 -199
  330. package/templates/.agents/dashboard/apps/frontend/src/use-app-trace-documents.navigation.test.tsx +1 -1
  331. package/templates/.agents/dashboard/apps/frontend/src/use-app-work-board.test.ts +65 -0
  332. package/templates/.agents/dashboard/apps/frontend/src/use-app-work-board.ts +17 -1
  333. package/templates/.agents/dashboard/apps/frontend/src/use-dashboard-app-model.tsx +2 -2
  334. package/templates/.agents/dashboard/apps/frontend/src/use-operations-detail-export.ts +10 -0
  335. package/templates/.agents/dashboard/apps/frontend/src/use-runtime-status.dom.test.ts +108 -0
  336. package/templates/.agents/dashboard/apps/frontend/src/use-runtime-status.ts +18 -8
  337. package/templates/.agents/dashboard/apps/frontend/src/workspace-status.css +42 -0
  338. package/templates/.agents/dashboard/apps/frontend/vite.config.ts +1 -1
  339. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  340. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.test.ts +11 -10
  341. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.tsx +39 -15
  342. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostCharts.test.ts +27 -0
  343. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostCharts.tsx +89 -83
  344. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostGroupsTable.tsx +14 -24
  345. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.test.ts +1 -27
  346. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.tsx +12 -63
  347. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.availability.test.ts +60 -0
  348. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +1 -15
  349. package/templates/.agents/dashboard/modules/cost-monitor/src/react/compact-cost-export-source.ts +85 -0
  350. package/templates/.agents/dashboard/modules/cost-monitor/src/react/compact-cost-page-range.test.ts +34 -0
  351. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-chart-presentation.ts +74 -0
  352. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-charts.css +117 -0
  353. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-group-table-totals.ts +29 -0
  354. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-export-sources.ts +19 -0
  355. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-page-state.ts +27 -0
  356. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor.css +6 -117
  357. package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-cost-group-page.ts +3 -1
  358. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.ts +9 -32
  359. package/templates/.agents/dashboard/modules/cost-monitor/src/server/cost-summary-metrics.ts +33 -0
  360. package/templates/.agents/dashboard/modules/operations/package.json +1 -1
  361. package/templates/.agents/dashboard/modules/operations/src/react/OperationsLocaleMenu.tsx +58 -0
  362. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewTopPanel.navigation.test.tsx +1 -1
  363. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +16 -47
  364. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkBoard.navigation.test.ts +1 -1
  365. package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.test.ts +4 -100
  366. package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.tsx +25 -89
  367. package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportColumns.ts +1 -0
  368. package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportDuration.test.ts +105 -0
  369. package/templates/.agents/dashboard/modules/operations/src/react/export/export-duration-rows.ts +91 -0
  370. package/templates/.agents/dashboard/modules/operations/src/react/operations-page-contract.ts +4 -0
  371. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  372. package/templates/.agents/dashboard/modules/traceability/src/contracts.ts +11 -0
  373. package/templates/.agents/dashboard/modules/traceability/src/react/ReleaseDeliveryPanel.tsx +60 -0
  374. package/templates/.agents/dashboard/modules/traceability/src/react/TaskTracePanel.tsx +9 -57
  375. package/templates/.agents/dashboard/modules/traceability/src/react/release-delivery-panel.css +26 -0
  376. package/templates/.agents/dashboard/modules/traceability/src/react/trace-date-format.ts +33 -0
  377. package/templates/.agents/dashboard/modules/traceability/src/react/trace-stage-labels.ts +28 -0
  378. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  379. package/templates/.agents/dashboard/packages/contracts/package.json +2 -2
  380. package/templates/.agents/dashboard/packages/contracts/src/export.ts +2 -0
  381. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  382. package/templates/.agents/dashboard/packages/data-export/src/index.test.ts +30 -0
  383. package/templates/.agents/dashboard/packages/data-export/src/index.ts +10 -0
  384. package/templates/.agents/dashboard/packages/data-export/src/ooxml-stream.ts +50 -3
  385. package/templates/.agents/dashboard/packages/local-runtime/DIAGNOSTICS.md +2 -1
  386. package/templates/.agents/dashboard/packages/local-runtime/dashboard-build-fingerprint.mjs +1 -1
  387. package/templates/.agents/dashboard/packages/local-runtime/dashboard-diagnostics.mjs +4 -2
  388. package/templates/.agents/dashboard/packages/local-runtime/dashboard-diagnostics.test.mjs +1 -1
  389. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +310 -264
  390. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +266 -222
  391. package/templates/.agents/dashboard/packages/local-runtime/package.json +3 -3
  392. package/templates/.agents/dashboard/packages/local-runtime/scripts/verify-dashboard-executable-startup.mjs +4 -1
  393. package/templates/.agents/dashboard/packages/local-runtime/scripts/verify-dashboard-reconciliation-executable.mjs +4 -4
  394. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +310 -264
  395. package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.test.ts +51 -0
  396. package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.ts +15 -1
  397. package/templates/.agents/dashboard/packages/local-runtime/src/dashboard-diagnostics.test.ts +1 -1
  398. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.ts +3 -40
  399. package/templates/.agents/dashboard/packages/local-runtime/src/project-stack-labels.ts +40 -0
  400. package/templates/.agents/dashboard/packages/local-runtime/src/retained-worktree-capture.ts +81 -0
  401. package/templates/.agents/dashboard/packages/local-runtime/src/server-board.ts +11 -2
  402. package/templates/.agents/dashboard/packages/local-runtime/src/server-hono-security.test.ts +40 -0
  403. package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-routes.ts +33 -14
  404. package/templates/.agents/dashboard/packages/local-runtime/src/server-project-settings-routes.test.ts +83 -0
  405. package/templates/.agents/dashboard/packages/local-runtime/src/server-project-settings-routes.ts +41 -0
  406. package/templates/.agents/dashboard/packages/local-runtime/src/server-projections.ts +3 -19
  407. package/templates/.agents/dashboard/packages/local-runtime/src/server-reconciliation-diagnostics.test.ts +2 -2
  408. package/templates/.agents/dashboard/packages/local-runtime/src/server-reconciliation-refresh.test.ts +61 -0
  409. package/templates/.agents/dashboard/packages/local-runtime/src/server-reconciliation-route.ts +2 -2
  410. package/templates/.agents/dashboard/packages/local-runtime/src/server-release-receipt.ts +71 -0
  411. package/templates/.agents/dashboard/packages/local-runtime/src/server-run-range.ts +18 -0
  412. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-refresh.ts +3 -36
  413. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-worker-receipt.ts +38 -0
  414. package/templates/.agents/dashboard/packages/local-runtime/src/server-trace-release-delivery.ts +120 -0
  415. package/templates/.agents/dashboard/packages/local-runtime/src/server-trace-routes.ts +5 -4
  416. package/templates/.agents/dashboard/packages/local-runtime/src/server-work-priority-route.ts +18 -0
  417. package/templates/.agents/dashboard/packages/local-runtime/src/server-workspace.ts +1 -0
  418. package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +6 -32
  419. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-summary-rollup.ts +47 -0
  420. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-financial-consistency.test.ts +133 -0
  421. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-financial-entity-page.ts +159 -0
  422. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-incremental-refresh.test.ts +12 -2
  423. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-operations-work-list.ts +17 -0
  424. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-operation-pages.ts +71 -0
  425. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-summary.ts +5 -40
  426. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-temporal-dimension.ts +29 -7
  427. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-view-page.ts +7 -55
  428. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-counts-every-root-execution-day-returns.test.ts +16 -24
  429. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-counts-fixture.test-support.ts +27 -5
  430. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-filesystem.ts +20 -37
  431. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-keeps-orphan-telemetry-out-kanban-without.test.ts +9 -9
  432. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-marks-token-cost-telemetry-unavailable-when.test.ts +3 -3
  433. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-multi-provider.test.ts +14 -20
  434. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-rebuilds-disposable-snapshot-serves-zaip-records.test.ts +11 -1
  435. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-schema.ts +1 -1
  436. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-work-financial-summary.ts +38 -0
  437. package/templates/.agents/dashboard/packages/local-runtime/src/telemetry-reconciliation.integration.test.ts +223 -0
  438. package/templates/.agents/dashboard/packages/local-runtime/src/work-priority-contract.test.ts +5 -5
  439. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-launch-page.test.mjs +59 -3
  440. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  441. package/templates/.agents/dashboard/packages/windows-launcher/Program.cs +1 -1
  442. package/templates/.agents/dashboard/packages/windows-launcher/build-dashboard-launcher.ps1 +1 -1
  443. package/templates/.agents/dashboard/stack-dependencies.json +3 -3
  444. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  445. package/templates/.agents/dashboard/tests/e2e/playwright.config.ts +1 -0
  446. package/templates/.agents/dashboard/tests/e2e/specs/dashboard.spec.ts +11 -15
  447. package/templates/.agents/dashboard/tests/e2e/specs/work-board-hydration.ts +40 -11
  448. package/templates/.agents/dashboard/zaip-dashboard-windows.exe +0 -0
  449. package/templates/.agents/design/.zaip-managed.json +498 -54
  450. package/templates/.agents/design/apps/catalog/dist/assets/index-BH6Fxbj0.css +1 -0
  451. package/templates/.agents/design/apps/catalog/dist/assets/index-BK0aBll9.css +1 -0
  452. package/templates/.agents/design/apps/catalog/dist/assets/index-Bzhb1wb_.js +76 -0
  453. package/templates/.agents/design/apps/catalog/dist/assets/index-CB-MTaWq.js +76 -0
  454. package/templates/.agents/design/apps/catalog/dist/assets/index-CIqfUcy8.js +76 -0
  455. package/templates/.agents/design/apps/catalog/dist/assets/index-Ccq-NOLA.js +76 -0
  456. package/templates/.agents/design/apps/catalog/dist/assets/index-Ch2eyD9C.js +76 -0
  457. package/templates/.agents/design/apps/catalog/dist/assets/index-Cy64ytQr.js +67 -0
  458. package/templates/.agents/design/apps/catalog/dist/assets/index-DfxEbFlq.js +76 -0
  459. package/templates/.agents/design/apps/catalog/dist/assets/index-Dqt6mTvD.js +76 -0
  460. package/templates/.agents/design/apps/catalog/dist/assets/index-rz8gOc0a.js +76 -0
  461. package/templates/.agents/design/apps/catalog/dist/index.html +2 -2
  462. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{CatalogShell-BJ8b4xZr.js → CatalogShell-D2YyQQrT.js} +1 -1
  463. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{Color-6AOWCN3U-CQLHzznn.js → Color-6AOWCN3U-BmCuNXMg.js} +1 -1
  464. package/templates/.agents/design/apps/catalog/dist/storybook/assets/Components.stories-DF9KC_gA.js +158 -0
  465. package/templates/.agents/design/apps/catalog/dist/storybook/assets/DashboardFilters.stories-D17Q1egS.js +5 -0
  466. package/templates/.agents/design/apps/catalog/dist/storybook/assets/DashboardFiltersSpecimen-CEBrLT2k.js +1 -0
  467. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{DesignSystem.stories-ED52wFjY.js → DesignSystem.stories-BibuRt_c.js} +1 -1
  468. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{DocsRenderer-JROSPFPF-BcLgM80v.js → DocsRenderer-JROSPFPF-GkfL8_gG.js} +4 -4
  469. package/templates/.agents/design/apps/catalog/dist/storybook/assets/Maker.stories-Dv9Keun_.js +13 -0
  470. package/templates/.agents/design/apps/catalog/dist/storybook/assets/MakerSpecimen-DGwAKRi9.css +1 -0
  471. package/templates/.agents/design/apps/catalog/dist/storybook/assets/MakerSpecimen-mkkuFOp_.js +5 -0
  472. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{Primitives-DV6Bpudf.js → Primitives-n1UqmNvo.js} +1 -1
  473. package/templates/.agents/design/apps/catalog/dist/storybook/assets/ReconciliationSpecimen-BJnfyyG3.js +1 -0
  474. package/templates/.agents/design/apps/catalog/dist/storybook/assets/ReconciliationSpecimen.stories-CH-GF9Rk.js +13 -0
  475. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{WithTooltip-7X4HQR7L-BKNiAz_E.js → WithTooltip-7X4HQR7L-BPXo6OoG.js} +1 -1
  476. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{WorkspaceStatus.stories-BL19HGOo.js → WorkspaceStatus.stories-Cie1f_yU.js} +1 -1
  477. package/templates/.agents/design/apps/catalog/dist/storybook/assets/WorkspaceStatusSpecimen-GcYWBBSp.js +1 -0
  478. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{chunk-DRQKCCAG-DZBcXL-p.js → chunk-DRQKCCAG-Cn4_bvJJ.js} +1 -1
  479. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{chunk-W22LQPXL-CF3y2mfo.js → chunk-W22LQPXL-CQrULeB4.js} +1 -1
  480. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{components-BVjxMRGq.js → components-uiaDZHE7.js} +5 -5
  481. package/templates/.agents/design/apps/catalog/dist/storybook/assets/formatter-L2YTDE3Q-DfjRffT7.js +1 -0
  482. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{iframe-CTWGZcEe.js → iframe-BgEb-d5o.js} +4 -4
  483. package/templates/.agents/design/apps/catalog/dist/storybook/assets/iframe-D1JaPXfV.css +1 -0
  484. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{react-18-B9_a4mHb.js → react-18-BZ-Ne01c.js} +1 -1
  485. package/templates/.agents/design/apps/catalog/dist/storybook/assets/react-CwpjKEyW.js +1 -0
  486. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{syntaxhighlighter-YFXUGROL-F_p8E2xc.js → syntaxhighlighter-YFXUGROL-BvuP8St2.js} +1 -1
  487. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{theming-fbSD9ZLF.js → theming-BGScn6Yf.js} +1 -1
  488. package/templates/.agents/design/apps/catalog/dist/storybook/iframe.html +2 -2
  489. package/templates/.agents/design/apps/catalog/dist/storybook/index.json +1 -1
  490. package/templates/.agents/design/apps/catalog/dist/storybook/sb-addons/a11y-2/manager-bundle.js +3 -3
  491. package/templates/.agents/design/apps/catalog/dist/storybook/sb-addons/docs-1/manager-bundle.js +4 -4
  492. package/templates/.agents/design/apps/catalog/dist/storybook/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +3 -3
  493. package/templates/.agents/design/apps/catalog/package.json +2 -2
  494. package/templates/.agents/design/apps/catalog/src/components/WorkspaceStatusSpecimen.tsx +32 -1
  495. package/templates/.agents/design/apps/catalog/src/pages/ComponentsPage.tsx +14 -3
  496. package/templates/.agents/design/apps/catalog/src/specimens/MAKER-HANDOFF.md +134 -0
  497. package/templates/.agents/design/apps/catalog/src/specimens/MakerSpecimen.test.tsx +143 -0
  498. package/templates/.agents/design/apps/catalog/src/specimens/MakerSpecimen.tsx +132 -0
  499. package/templates/.agents/design/apps/catalog/src/specimens/maker-fixtures.d.ts +15 -0
  500. package/templates/.agents/design/apps/catalog/src/specimens/maker-fixtures.js +86 -0
  501. package/templates/.agents/design/apps/catalog/src/specimens/maker-native.d.ts +1 -0
  502. package/templates/.agents/design/apps/catalog/src/specimens/maker-native.js +332 -0
  503. package/templates/.agents/design/apps/catalog/src/stories/Maker.stories.tsx +24 -0
  504. package/templates/.agents/design/apps/catalog/src/stories/WorkspaceStatus.stories.tsx +1 -0
  505. package/templates/.agents/design/apps/catalog/src/styles/maker-specimen.css +285 -0
  506. package/templates/.agents/design/design-system-maker/API.md +468 -0
  507. package/templates/.agents/design/design-system-maker/NOTICE.md +13 -0
  508. package/templates/.agents/design/design-system-maker/README.md +138 -0
  509. package/templates/.agents/design/design-system-maker/SOURCE-PROVENANCE.json +62 -0
  510. package/templates/.agents/design/design-system-maker/build.json +539 -0
  511. package/templates/.agents/design/design-system-maker/frontend/ADAPTATION.md +351 -0
  512. package/templates/.agents/design/design-system-maker/frontend/MAKER-REPAIR-HANDOFF.md +134 -0
  513. package/templates/.agents/design/design-system-maker/frontend/advanced/examples.js +30 -0
  514. package/templates/.agents/design/design-system-maker/frontend/advanced/index.html +75 -0
  515. package/templates/.agents/design/design-system-maker/frontend/advanced/index.js +30 -0
  516. package/templates/.agents/design/design-system-maker/frontend/catalog/filters.js +132 -0
  517. package/templates/.agents/design/design-system-maker/frontend/catalog/index.html +17 -0
  518. package/templates/.agents/design/design-system-maker/frontend/catalog/index.js +82 -0
  519. package/templates/.agents/design/design-system-maker/frontend/generate.html +74 -0
  520. package/templates/.agents/design/design-system-maker/frontend/generate.js +226 -0
  521. package/templates/.agents/design/design-system-maker/frontend/shared/api.js +112 -0
  522. package/templates/.agents/design/design-system-maker/frontend/shared/components.js +200 -0
  523. package/templates/.agents/design/design-system-maker/frontend/shared/diagnostic-view.js +218 -0
  524. package/templates/.agents/design/design-system-maker/frontend/shared/extraction-state.js +38 -0
  525. package/templates/.agents/design/design-system-maker/frontend/shared/failure-view.js +54 -0
  526. package/templates/.agents/design/design-system-maker/frontend/shared/frontend-scenarios-2.test.mjs +138 -0
  527. package/templates/.agents/design/design-system-maker/frontend/shared/frontend.test.mjs +357 -0
  528. package/templates/.agents/design/design-system-maker/frontend/shared/job-view.js +81 -0
  529. package/templates/.agents/design/design-system-maker/frontend/shared/model-hydration.js +26 -0
  530. package/templates/.agents/design/design-system-maker/frontend/shared/model.js +103 -0
  531. package/templates/.agents/design/design-system-maker/frontend/shared/palette-evidence.js +106 -0
  532. package/templates/.agents/design/design-system-maker/frontend/shared/palette-evidence.test.mjs +210 -0
  533. package/templates/.agents/design/design-system-maker/frontend/shared/palette-view.js +149 -0
  534. package/templates/.agents/design/design-system-maker/frontend/shared/preview.test.mjs +263 -0
  535. package/templates/.agents/design/design-system-maker/frontend/shared/report-view.js +267 -0
  536. package/templates/.agents/design/design-system-maker/frontend/shared/reprocess-dialog.js +192 -0
  537. package/templates/.agents/design/design-system-maker/frontend/shared/specimens.js +231 -0
  538. package/templates/.agents/design/design-system-maker/frontend/shared/viewer-actions.js +78 -0
  539. package/templates/.agents/design/design-system-maker/frontend/shared/viewer-detail.js +121 -0
  540. package/templates/.agents/design/design-system-maker/frontend/shared/viewer-summary.js +91 -0
  541. package/templates/.agents/design/design-system-maker/frontend/shared/visual-model.js +255 -0
  542. package/templates/.agents/design/design-system-maker/frontend/styles/advanced.css +128 -0
  543. package/templates/.agents/design/design-system-maker/frontend/styles/base.css +318 -0
  544. package/templates/.agents/design/design-system-maker/frontend/styles/catalog-filters.css +114 -0
  545. package/templates/.agents/design/design-system-maker/frontend/styles/diagnostic.css +298 -0
  546. package/templates/.agents/design/design-system-maker/frontend/styles/layout.css +320 -0
  547. package/templates/.agents/design/design-system-maker/frontend/styles/maker.css +7 -0
  548. package/templates/.agents/design/design-system-maker/frontend/styles/report.css +173 -0
  549. package/templates/.agents/design/design-system-maker/frontend/styles/reprocess-dialog.css +34 -0
  550. package/templates/.agents/design/design-system-maker/frontend/styles/specimen-foundations.css +363 -0
  551. package/templates/.agents/design/design-system-maker/frontend/styles/specimens.css +59 -0
  552. package/templates/.agents/design/design-system-maker/frontend/styles/viewer-summary.css +308 -0
  553. package/templates/.agents/design/design-system-maker/frontend/viewer/diagnostic.html +3 -0
  554. package/templates/.agents/design/design-system-maker/frontend/viewer/index.html +8 -0
  555. package/templates/.agents/design/design-system-maker/frontend/viewer/index.js +233 -0
  556. package/templates/.agents/design/design-system-maker/frontend/viewer/preview.html +3 -0
  557. package/templates/.agents/design/design-system-maker/frontend/viewer/specimen.js +88 -0
  558. package/templates/.agents/design/design-system-maker/launcher/Program.cs +117 -0
  559. package/templates/.agents/design/design-system-maker/runtime/chat-cli.mjs +27 -0
  560. package/templates/.agents/design/design-system-maker/runtime/chat-client.mjs +170 -0
  561. package/templates/.agents/design/design-system-maker/runtime/chat-contract.mjs +13 -0
  562. package/templates/.agents/design/design-system-maker/runtime/collection.mjs +269 -0
  563. package/templates/.agents/design/design-system-maker/runtime/contracts.mjs +383 -0
  564. package/templates/.agents/design/design-system-maker/runtime/design-codes.mjs +46 -0
  565. package/templates/.agents/design/design-system-maker/runtime/design-compose.mjs +118 -0
  566. package/templates/.agents/design/design-system-maker/runtime/design-markdown.mjs +154 -0
  567. package/templates/.agents/design/design-system-maker/runtime/import.mjs +137 -0
  568. package/templates/.agents/design/design-system-maker/runtime/io.mjs +121 -0
  569. package/templates/.agents/design/design-system-maker/runtime/job-progress.mjs +50 -0
  570. package/templates/.agents/design/design-system-maker/runtime/json-tokens.mjs +88 -0
  571. package/templates/.agents/design/design-system-maker/runtime/launch-identity.mjs +100 -0
  572. package/templates/.agents/design/design-system-maker/runtime/launch-protocol.mjs +88 -0
  573. package/templates/.agents/design/design-system-maker/runtime/launch-server.mjs +51 -0
  574. package/templates/.agents/design/design-system-maker/runtime/launch.mjs +107 -0
  575. package/templates/.agents/design/design-system-maker/runtime/local-actions.mjs +184 -0
  576. package/templates/.agents/design/design-system-maker/runtime/local-artifacts.mjs +228 -0
  577. package/templates/.agents/design/design-system-maker/runtime/local-request.mjs +100 -0
  578. package/templates/.agents/design/design-system-maker/runtime/lock.mjs +23 -0
  579. package/templates/.agents/design/design-system-maker/runtime/presentation.mjs +107 -0
  580. package/templates/.agents/design/design-system-maker/runtime/repository-source.mjs +200 -0
  581. package/templates/.agents/design/design-system-maker/runtime/reprocess-mode.mjs +17 -0
  582. package/templates/.agents/design/design-system-maker/runtime/request-contracts.mjs +121 -0
  583. package/templates/.agents/design/design-system-maker/runtime/serve.mjs +53 -0
  584. package/templates/.agents/design/design-system-maker/runtime/server.mjs +363 -0
  585. package/templates/.agents/design/design-system-maker/runtime/service-actions.mjs +59 -0
  586. package/templates/.agents/design/design-system-maker/runtime/service-host.mjs +32 -0
  587. package/templates/.agents/design/design-system-maker/runtime/service-projections.mjs +87 -0
  588. package/templates/.agents/design/design-system-maker/runtime/service.mjs +393 -0
  589. package/templates/.agents/design/design-system-maker/runtime/stop.mjs +38 -0
  590. package/templates/.agents/design/design-system-maker/runtime/trash.mjs +95 -0
  591. package/templates/.agents/design/design-system-maker/zaip-design-system-maker.exe +0 -0
  592. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  593. package/templates/.agents/requirements/autonomous-assurance.md +1 -1
  594. package/templates/.agents/requirements/cloud-hostinger-autonomy.md +9 -7
  595. package/templates/.agents/requirements/comparative-audit.md +1 -1
  596. package/templates/.agents/requirements/context-engine.md +1 -1
  597. package/templates/.agents/requirements/cost-observability.md +3 -3
  598. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  599. package/templates/.agents/requirements/data-export.md +1 -1
  600. package/templates/.agents/requirements/design-system.md +1 -1
  601. package/templates/.agents/requirements/execution-engine.md +1 -1
  602. package/templates/.agents/requirements/kanban-dashboard.md +3 -3
  603. package/templates/.agents/requirements/landing-page-forms.md +39 -0
  604. package/templates/.agents/requirements/model-orchestration.md +1 -1
  605. package/templates/.agents/requirements/public-distribution.md +4 -4
  606. package/templates/.agents/requirements/site-performance.md +41 -0
  607. package/templates/.agents/requirements/software-architecture.md +1 -1
  608. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  609. package/templates/.agents/requirements/work-lifecycle.md +1 -1
  610. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  611. package/templates/.agents/rules/autonomy-decision.md +4 -1
  612. package/templates/.agents/rules/cloud-hostinger-autonomy.md +4 -1
  613. package/templates/.agents/rules/core.md +5 -2
  614. package/templates/.agents/rules/framework-maintenance.md +34 -0
  615. package/templates/.agents/rules/frontend-lite.md +2 -1
  616. package/templates/.agents/rules/github-deploy-auth.md +18 -0
  617. package/templates/.agents/rules/infisical-secrets.md +20 -0
  618. package/templates/.agents/rules/landing-page-forms.md +28 -0
  619. package/templates/.agents/rules/lead-measurement.md +20 -0
  620. package/templates/.agents/rules/local-sqlite-storage.md +2 -2
  621. package/templates/.agents/rules/local-state-storage.md +15 -0
  622. package/templates/.agents/rules/production-readiness.md +1 -1
  623. package/templates/.agents/rules/quality-assurance.md +36 -0
  624. package/templates/.agents/rules/repository-responsibility.md +38 -0
  625. package/templates/.agents/rules/security.md +1 -1
  626. package/templates/.agents/rules/site-performance.md +29 -0
  627. package/templates/.agents/rules/website-quality.md +31 -0
  628. package/templates/.agents/rules/workflow.md +1 -1
  629. package/templates/.agents/runtime/VERSION +1 -1
  630. package/templates/.agents/runtime/bin/historical-catalog-b6b6516200bdb412c92063e887ccef329d7c5193b5610cba5346e97c71301394.mjs +318 -0
  631. package/templates/.agents/runtime/bin/zaip.mjs +2262 -768
  632. package/templates/.agents/runtime/checksums.sha256 +7 -6
  633. package/templates/.agents/runtime/manifest.json +2 -1
  634. package/templates/.agents/runtime/pnpm-lock.sha256 +1 -1
  635. package/templates/.agents/runtime/provenance.json +5 -5
  636. package/templates/.agents/runtime/sbom.cdx.json +7 -7
  637. package/templates/.agents/skills/criar-pasta-obsidian/SKILL.md +2 -2
  638. package/templates/.agents/skills/criar-pasta-obsidian/scripts/generate-obsidian-vault.mjs +7 -24
  639. package/templates/.agents/skills/criar-pasta-obsidian/scripts/generate-obsidian-vault.test.mjs +4 -2
  640. package/templates/.agents/skills/criar-pasta-obsidian/scripts/obsidian-format.mjs +20 -0
  641. package/templates/.agents/skills/zaip-skill-adapters/SKILL.md +6 -0
  642. package/templates/.agents/skills/zaip-skill-application-observability/references/lead-measurement.md +52 -0
  643. package/templates/.agents/skills/zaip-skill-architecture-design/SKILL.md +3 -1
  644. package/templates/.agents/skills/zaip-skill-auth-tenancy/references/lead-measurement.md +42 -0
  645. package/templates/.agents/skills/zaip-skill-author-skills/SKILL.md +1 -1
  646. package/templates/.agents/skills/zaip-skill-author-skills/references/engineering-skill-index.md +4 -0
  647. package/templates/.agents/skills/zaip-skill-author-skills/scripts/audit-skill-catalog.mjs +3 -0
  648. package/templates/.agents/skills/zaip-skill-author-skills/scripts/run-skill-tests.mjs +37 -7
  649. package/templates/.agents/skills/zaip-skill-author-skills/scripts/skill-test-plan.mjs +79 -0
  650. package/templates/.agents/skills/zaip-skill-author-skills/scripts/skill-test-plan.test.mjs +47 -0
  651. package/templates/.agents/skills/zaip-skill-backend/SKILL.md +2 -0
  652. package/templates/.agents/skills/zaip-skill-backend/references/deployment-environments.md +2 -2
  653. package/templates/.agents/skills/zaip-skill-change/references/observable-evidence.md +3 -3
  654. package/templates/.agents/skills/zaip-skill-cloud-engineering/SKILL.md +2 -0
  655. package/templates/.agents/skills/zaip-skill-cloudflare-access-setup/SKILL.md +16 -0
  656. package/templates/.agents/skills/zaip-skill-cloudflare-access-setup/agents/openai.yaml +4 -0
  657. package/templates/.agents/skills/zaip-skill-cloudflare-access-setup/references/account-token.md +90 -0
  658. package/templates/.agents/skills/zaip-skill-cloudflare-access-setup/scripts/preview-access.mjs +91 -0
  659. package/templates/.agents/skills/zaip-skill-cloudflare-access-setup/scripts/preview-access.test.mjs +44 -0
  660. package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/SKILL.md +4 -2
  661. package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/references/workers-static-assets.md +1 -1
  662. package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/references/workflow-templates.md +5 -5
  663. package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/scripts/cloudflare-github-deploy-contract.test.mjs +24 -5
  664. package/templates/.agents/skills/zaip-skill-config/SKILL.md +33 -8
  665. package/templates/.agents/skills/zaip-skill-config/agents/openai.yaml +2 -2
  666. package/templates/.agents/skills/zaip-skill-config/references/repository-profiles.md +83 -0
  667. package/templates/.agents/skills/zaip-skill-dashboard-sqlite/SKILL.md +2 -2
  668. package/templates/.agents/skills/zaip-skill-data-modeling/references/lead-measurement.md +37 -0
  669. package/templates/.agents/skills/zaip-skill-database-migrations/references/lead-measurement.md +35 -0
  670. package/templates/.agents/skills/zaip-skill-decisions/SKILL.md +1 -0
  671. package/templates/.agents/skills/zaip-skill-deployment-pipeline/SKILL.md +11 -0
  672. package/templates/.agents/skills/zaip-skill-design-maker/SKILL.md +28 -0
  673. package/templates/.agents/skills/zaip-skill-design-maker/agents/openai.yaml +4 -0
  674. package/templates/.agents/skills/zaip-skill-design-maker/references/chat-contract.md +46 -0
  675. package/templates/.agents/skills/zaip-skill-design-maker/references/compose.md +20 -0
  676. package/templates/.agents/skills/zaip-skill-design-maker/references/markdown.md +26 -0
  677. package/templates/.agents/skills/zaip-skill-design-maker/references/repository.md +24 -0
  678. package/templates/.agents/skills/zaip-skill-design-maker/references/url.md +24 -0
  679. package/templates/.agents/skills/zaip-skill-design-redesign/SKILL.md +41 -0
  680. package/templates/.agents/skills/zaip-skill-design-redesign/agents/openai.yaml +6 -0
  681. package/templates/.agents/skills/zaip-skill-design-reproduction/SKILL.md +47 -0
  682. package/templates/.agents/skills/zaip-skill-design-reproduction/agents/openai.yaml +6 -0
  683. package/templates/.agents/skills/zaip-skill-design-system/SKILL.md +6 -0
  684. package/templates/.agents/skills/zaip-skill-design-url-extraction/SKILL.md +50 -0
  685. package/templates/.agents/skills/zaip-skill-design-url-extraction/agents/openai.yaml +6 -0
  686. package/templates/.agents/skills/zaip-skill-design-url-extraction/references/capture-example.json +11 -0
  687. package/templates/.agents/skills/zaip-skill-design-url-extraction/references/runtime-workflow.md +127 -0
  688. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/SKILL.md +3 -1
  689. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-fence.mjs +2 -1
  690. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-lease.mjs +3 -1
  691. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-storage.mjs +40 -0
  692. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-storage.test.mjs +87 -0
  693. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/scheduled-ready-queue-contract.test.mjs +1 -1
  694. package/templates/.agents/skills/zaip-skill-execution/SKILL.md +11 -3
  695. package/templates/.agents/skills/zaip-skill-execution/references/autonomous-continuation.md +2 -0
  696. package/templates/.agents/skills/zaip-skill-execution/references/controlled-release-recovery.md +10 -4
  697. package/templates/.agents/skills/zaip-skill-execution/references/conversation-promotion.md +38 -0
  698. package/templates/.agents/skills/zaip-skill-execution/references/runtime-governance.md +3 -1
  699. package/templates/.agents/skills/zaip-skill-external-integrations/SKILL.md +2 -0
  700. package/templates/.agents/skills/zaip-skill-external-integrations/references/kommo.md +71 -0
  701. package/templates/.agents/skills/zaip-skill-figma-setup/SKILL.md +42 -0
  702. package/templates/.agents/skills/zaip-skill-figma-setup/agents/openai.yaml +6 -0
  703. package/templates/.agents/skills/zaip-skill-figma-setup/references/capability-contract.json +40 -0
  704. package/templates/.agents/skills/zaip-skill-figma-setup/references/figma-connection.md +60 -0
  705. package/templates/.agents/skills/zaip-skill-figma-setup/references/figma-handoff.md +71 -0
  706. package/templates/.agents/skills/zaip-skill-frontend/SKILL.md +30 -1
  707. package/templates/.agents/skills/zaip-skill-frontend-data-flows/SKILL.md +3 -0
  708. package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +38 -5
  709. package/templates/.agents/skills/zaip-skill-github-deploy/references/authentication.md +15 -0
  710. package/templates/.agents/skills/zaip-skill-github-deploy/references/authorization.md +35 -0
  711. package/templates/.agents/skills/zaip-skill-github-deploy/references/deployment-workflow.md +21 -3
  712. package/templates/.agents/skills/zaip-skill-github-deploy/references/literal-read-sequence.md +28 -0
  713. package/templates/.agents/skills/zaip-skill-github-deploy/references/release-identity.md +4 -2
  714. package/templates/.agents/skills/zaip-skill-github-deploy/references/release-notes.md +4 -4
  715. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/application-content.mjs +82 -0
  716. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/application-content.test.mjs +184 -0
  717. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/consumer-publication-authority.mjs +63 -0
  718. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/consumer-release-preparation.mjs +42 -36
  719. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/consumer-release-preparation.test.mjs +4 -5
  720. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-auth.mjs +400 -0
  721. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-auth.test.mjs +192 -0
  722. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-constraints.test.mjs +159 -0
  723. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract-cli.test.mjs +32 -24
  724. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract-range.test-support.mjs +51 -0
  725. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract.mjs +248 -281
  726. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract.test.mjs +63 -56
  727. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-idempotent-intent.test.mjs +169 -0
  728. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-publication-intent.test.mjs +112 -5
  729. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deployment-next-release.mjs +57 -0
  730. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deployment-request-conditions.test.mjs +117 -0
  731. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deployment-request-continuation.test.mjs +44 -0
  732. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deployment-request-preservation.test.mjs +58 -0
  733. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deployment-request.mjs +306 -0
  734. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/git-command.mjs +11 -0
  735. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/git-config-paths.mjs +10 -0
  736. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/git-destination.mjs +21 -0
  737. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/git-push-target.mjs +62 -0
  738. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/git-push-target.test.mjs +78 -0
  739. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +4 -2
  740. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/guarded-commits.mjs +132 -42
  741. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/preflight-options.mjs +50 -0
  742. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/preflight-worktree.test.mjs +52 -0
  743. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/preflight.mjs +70 -119
  744. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/preflight.test.mjs +11 -1
  745. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/project-restrictions.mjs +201 -0
  746. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/project-restrictions.test.mjs +154 -0
  747. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-authority-callbacks.test.mjs +46 -0
  748. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-conditions.mjs +193 -0
  749. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-intent.mjs +79 -0
  750. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-plan-binding.mjs +78 -0
  751. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-plan-refusal.mjs +30 -0
  752. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-project-policy.mjs +39 -0
  753. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-2457VC25.mjs +2 -0
  754. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-25VZXDBX.mjs +2 -0
  755. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-2JXOAZ2R.mjs +2 -0
  756. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-2OZK443Y.mjs +2 -0
  757. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-3BDTL55L.mjs +2 -0
  758. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-3MG57Y6I.mjs +2 -0
  759. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-3MQAJ6XX.mjs +2 -0
  760. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-3TUUBJPP.mjs +2 -0
  761. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-45Z34LBQ.mjs +140 -0
  762. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-4GJE2IXL.mjs +2 -0
  763. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-4HLOIRQU.mjs +2 -0
  764. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-55PSJJ75.mjs +2 -0
  765. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-5OTFTK2Y.mjs +2 -0
  766. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-7OFWNBZN.mjs +2 -0
  767. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-7R2IP55E.mjs +2 -0
  768. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-A35CQWF4.mjs +2 -0
  769. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-BC2LX3QU.mjs +2 -0
  770. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-C2Z26E6U.mjs +2 -0
  771. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-CHJGU2RU.mjs +2 -0
  772. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-CJ5ZQF6M.mjs +11 -0
  773. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-D4LGE7UI.mjs +2 -0
  774. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-D5OUJS46.mjs +2 -0
  775. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-D6RZM5OT.mjs +2 -0
  776. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-DOK2R3GV.mjs +2 -0
  777. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-EAHVOUKK.mjs +2 -0
  778. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-EQTZ3Y7R.mjs +2 -0
  779. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-FMNUSV2P.mjs +139 -0
  780. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-FZUNFGZV.mjs +2 -0
  781. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-GGBPBQ6D.mjs +2 -0
  782. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-HFDX2GP6.mjs +2 -0
  783. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-HZ2NRMAG.mjs +2 -0
  784. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-IJKPDKXC.mjs +2 -0
  785. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-JEOOTEUX.mjs +2 -0
  786. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-JF3E72HZ.mjs +2 -0
  787. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-KRHOCS3C.mjs +2 -0
  788. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-LG5MJS2A.mjs +2 -0
  789. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-LWS3QVJO.mjs +24 -0
  790. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-ML4PMB7C.mjs +2 -0
  791. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-MSCWMPU5.mjs +63 -0
  792. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-NORNV3B2.mjs +2 -0
  793. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-PBU2HSKP.mjs +2 -0
  794. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-PG6LGVVW.mjs +2 -0
  795. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-PGYGDY3J.mjs +2 -0
  796. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-QFUQW6LE.mjs +2 -0
  797. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-QI32NI7M.mjs +2 -0
  798. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-R4HD7XOO.mjs +2 -0
  799. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-REHSM3G2.mjs +2 -0
  800. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-S22YDVTM.mjs +2 -0
  801. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-S5P4ZNUQ.mjs +2 -0
  802. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-SCK2RF6V.mjs +2 -0
  803. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-SWFLYM3O.mjs +2 -0
  804. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-TA7RY5MY.mjs +2 -0
  805. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-TM5WG7GR.mjs +2 -0
  806. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-TMVJHK37.mjs +2 -0
  807. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-TPDQAH7C.mjs +2 -0
  808. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-U2KO7ULM.mjs +2 -0
  809. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-U3ISMYJU.mjs +2 -0
  810. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-UKSDAS73.mjs +2 -0
  811. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-UNTPHSZO.mjs +2 -0
  812. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-V4MIRRUB.mjs +2 -0
  813. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-WNXOXX3Z.mjs +2 -0
  814. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-WQGTDRK7.mjs +2 -0
  815. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-WZJIRYT6.mjs +2 -0
  816. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-XED4KYQL.mjs +2 -0
  817. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-XEXCFKHI.mjs +2 -0
  818. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-XJJFARY4.mjs +2 -0
  819. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-XQOFL3K3.mjs +2 -0
  820. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-YAWUSDPM.mjs +2 -0
  821. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-YEUY7TMM.mjs +2 -0
  822. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-Z5X23XXT.mjs +2 -0
  823. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/chunks/chunk-Z7H2BHYQ.mjs +2 -0
  824. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/lifecycle-records.mjs +2 -0
  825. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-ar.mjs +2 -0
  826. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-az.mjs +2 -0
  827. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-be.mjs +2 -0
  828. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-bg.mjs +2 -0
  829. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-bn.mjs +2 -0
  830. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-ca.mjs +2 -0
  831. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-ckb.mjs +2 -0
  832. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-cs.mjs +2 -0
  833. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-da.mjs +2 -0
  834. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-de.mjs +2 -0
  835. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-el.mjs +2 -0
  836. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-en.mjs +2 -0
  837. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-eo.mjs +2 -0
  838. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-es.mjs +2 -0
  839. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-fa.mjs +2 -0
  840. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-fi.mjs +2 -0
  841. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-fr-CA.mjs +2 -0
  842. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-fr.mjs +2 -0
  843. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-gu.mjs +2 -0
  844. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-he.mjs +2 -0
  845. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-hi.mjs +2 -0
  846. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-hr.mjs +2 -0
  847. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-hu.mjs +2 -0
  848. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-hy.mjs +2 -0
  849. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-id.mjs +2 -0
  850. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-is.mjs +2 -0
  851. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-it.mjs +2 -0
  852. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-ja.mjs +2 -0
  853. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-ka.mjs +2 -0
  854. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-kh.mjs +2 -0
  855. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-km.mjs +2 -0
  856. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-kn.mjs +2 -0
  857. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-ko.mjs +2 -0
  858. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-lt.mjs +2 -0
  859. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-mk.mjs +2 -0
  860. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-ms.mjs +2 -0
  861. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-ne.mjs +2 -0
  862. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-nl.mjs +2 -0
  863. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-nn.mjs +2 -0
  864. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-no.mjs +2 -0
  865. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-ota.mjs +2 -0
  866. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-pl.mjs +2 -0
  867. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-ps.mjs +2 -0
  868. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-pt-BR.mjs +2 -0
  869. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-pt.mjs +2 -0
  870. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-ro.mjs +2 -0
  871. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-ru.mjs +2 -0
  872. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-sk.mjs +2 -0
  873. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-sl.mjs +2 -0
  874. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-sv.mjs +2 -0
  875. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-ta.mjs +2 -0
  876. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-tg.mjs +2 -0
  877. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-th.mjs +2 -0
  878. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-tk.mjs +2 -0
  879. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-tr.mjs +2 -0
  880. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-ua.mjs +2 -0
  881. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-uk.mjs +2 -0
  882. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-ur.mjs +2 -0
  883. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-uz.mjs +2 -0
  884. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-vi.mjs +2 -0
  885. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-yo.mjs +2 -0
  886. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-zh-CN.mjs +2 -0
  887. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/locale-zh-TW.mjs +2 -0
  888. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/manifest.json +566 -0
  889. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/native-authority.mjs +2 -0
  890. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/proof.mjs +2 -0
  891. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/run-records.mjs +2 -0
  892. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/yaml-runtime.mjs +2 -0
  893. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-runtime/zod-runtime.mjs +2 -0
  894. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof-schema.mjs +2 -0
  895. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/publication-proof.test.mjs +79 -0
  896. package/templates/.agents/skills/zaip-skill-github-setup/SKILL.md +14 -11
  897. package/templates/.agents/skills/zaip-skill-github-setup/references/bounded-setup.md +42 -0
  898. package/templates/.agents/skills/zaip-skill-github-setup/scripts/setup.mjs +365 -0
  899. package/templates/.agents/skills/zaip-skill-github-setup-ssh-folder/SKILL.md +13 -3
  900. package/templates/.agents/skills/zaip-skill-github-setup-ssh-folder/references/operational-procedure.md +4 -4
  901. package/templates/.agents/skills/zaip-skill-google-ads-conversions/SKILL.md +18 -0
  902. package/templates/.agents/skills/zaip-skill-google-ads-conversions/agents/openai.yaml +4 -0
  903. package/templates/.agents/skills/zaip-skill-google-ads-conversions/references/implementation.md +61 -0
  904. package/templates/.agents/skills/zaip-skill-google-analytics/SKILL.md +24 -0
  905. package/templates/.agents/skills/zaip-skill-google-analytics/agents/openai.yaml +4 -0
  906. package/templates/.agents/skills/zaip-skill-google-analytics/references/implementation.md +64 -0
  907. package/templates/.agents/skills/zaip-skill-google-tag-manager/SKILL.md +24 -0
  908. package/templates/.agents/skills/zaip-skill-google-tag-manager/agents/openai.yaml +4 -0
  909. package/templates/.agents/skills/zaip-skill-google-tag-manager/references/implementation.md +71 -0
  910. package/templates/.agents/skills/zaip-skill-google-tag-manager/references/operator-checklist.md +51 -0
  911. package/templates/.agents/skills/zaip-skill-google-tag-manager/references/operator-fixtures.json +93 -0
  912. package/templates/.agents/skills/zaip-skill-google-tag-manager/scripts/check-runbook-links.mjs +103 -0
  913. package/templates/.agents/skills/zaip-skill-google-tag-manager/scripts/google-runbooks.test.mjs +247 -0
  914. package/templates/.agents/skills/zaip-skill-google-tag-manager/scripts/operator-model.mjs +221 -0
  915. package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/SKILL.md +8 -2
  916. package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/references/autonomous-cloud-inputs.example.json +3 -3
  917. package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/references/autonomous-runner.md +4 -2
  918. package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/references/cloudflare-agent-setup.md +23 -0
  919. package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/references/cloudflare-dns.md +36 -0
  920. package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/references/guia-iniciante-hostinger-vps.md +4 -4
  921. package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/references/operational-contract.md +3 -3
  922. package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/references/vps-onboarding.md +97 -0
  923. package/templates/.agents/skills/zaip-skill-image-optimization/SKILL.md +31 -0
  924. package/templates/.agents/skills/zaip-skill-image-optimization/agents/openai.yaml +4 -0
  925. package/templates/.agents/skills/zaip-skill-image-optimization/references/adapters.md +36 -0
  926. package/templates/.agents/skills/zaip-skill-image-optimization/references/pipeline.md +35 -0
  927. package/templates/.agents/skills/zaip-skill-image-optimization/scripts/images.mjs +370 -0
  928. package/templates/.agents/skills/zaip-skill-image-optimization/scripts/images.test.mjs +385 -0
  929. package/templates/.agents/skills/zaip-skill-infisical/SKILL.md +20 -0
  930. package/templates/.agents/skills/zaip-skill-infisical/agents/openai.yaml +4 -0
  931. package/templates/.agents/skills/zaip-skill-infisical/assets/compose.yaml +62 -0
  932. package/templates/.agents/skills/zaip-skill-infisical/assets/terraform/infisical.tf +57 -0
  933. package/templates/.agents/skills/zaip-skill-infisical/references/credential-workflow.md +88 -0
  934. package/templates/.agents/skills/zaip-skill-infisical/references/first-initialization.md +51 -0
  935. package/templates/.agents/skills/zaip-skill-infisical/references/security-and-edition.md +19 -0
  936. package/templates/.agents/skills/zaip-skill-infisical/references/self-hosting.md +71 -0
  937. package/templates/.agents/skills/zaip-skill-infisical/references/terraform.md +54 -0
  938. package/templates/.agents/skills/zaip-skill-infisical/scripts/prepare-self-host.mjs +92 -0
  939. package/templates/.agents/skills/zaip-skill-infisical/scripts/prepare-self-host.test.mjs +69 -0
  940. package/templates/.agents/skills/zaip-skill-infisical/scripts/preview-terraform.mjs +70 -0
  941. package/templates/.agents/skills/zaip-skill-infisical/scripts/preview-terraform.test.mjs +51 -0
  942. package/templates/.agents/skills/zaip-skill-infisical/scripts/terraform-plan-integration.test.mjs +83 -0
  943. package/templates/.agents/skills/zaip-skill-landing-page-forms/SKILL.md +37 -0
  944. package/templates/.agents/skills/zaip-skill-landing-page-forms/agents/openai.yaml +4 -0
  945. package/templates/.agents/skills/zaip-skill-landing-page-forms/references/accessibility.md +29 -0
  946. package/templates/.agents/skills/zaip-skill-landing-page-forms/references/contact-then-qualification.example.json +83 -0
  947. package/templates/.agents/skills/zaip-skill-landing-page-forms/references/contracts.md +70 -0
  948. package/templates/.agents/skills/zaip-skill-landing-page-forms/references/examples.md +21 -0
  949. package/templates/.agents/skills/zaip-skill-landing-page-forms/references/journey.md +30 -0
  950. package/templates/.agents/skills/zaip-skill-landing-page-forms/references/multistep.example.json +84 -0
  951. package/templates/.agents/skills/zaip-skill-landing-page-forms/references/single-screen.example.json +76 -0
  952. package/templates/.agents/skills/zaip-skill-landing-page-forms/references/verification.md +24 -0
  953. package/templates/.agents/skills/zaip-skill-landing-page-forms/scripts/validate-plan.mjs +306 -0
  954. package/templates/.agents/skills/zaip-skill-landing-page-forms/scripts/validate-plan.test.mjs +183 -0
  955. package/templates/.agents/skills/zaip-skill-lead-measurement/SKILL.md +32 -0
  956. package/templates/.agents/skills/zaip-skill-lead-measurement/agents/openai.yaml +4 -0
  957. package/templates/.agents/skills/zaip-skill-lead-measurement/references/architecture.md +51 -0
  958. package/templates/.agents/skills/zaip-skill-lead-measurement/references/authority.md +49 -0
  959. package/templates/.agents/skills/zaip-skill-lead-measurement/references/bant-contract.md +36 -0
  960. package/templates/.agents/skills/zaip-skill-lead-measurement/references/consent-contract.md +48 -0
  961. package/templates/.agents/skills/zaip-skill-lead-measurement/references/delivery-contract.md +65 -0
  962. package/templates/.agents/skills/zaip-skill-lead-measurement/references/event-contract.md +47 -0
  963. package/templates/.agents/skills/zaip-skill-lead-measurement/references/examples/escola.json +180 -0
  964. package/templates/.agents/skills/zaip-skill-lead-measurement/references/examples/moradigna-regression.json +158 -0
  965. package/templates/.agents/skills/zaip-skill-lead-measurement/references/examples/solar.json +165 -0
  966. package/templates/.agents/skills/zaip-skill-lead-measurement/references/identity-contract.md +53 -0
  967. package/templates/.agents/skills/zaip-skill-lead-measurement/references/implementation-plan.md +60 -0
  968. package/templates/.agents/skills/zaip-skill-lead-measurement/references/kommo-contract.md +83 -0
  969. package/templates/.agents/skills/zaip-skill-lead-measurement/references/meta-mapping.md +28 -0
  970. package/templates/.agents/skills/zaip-skill-lead-measurement/references/migration.md +65 -0
  971. package/templates/.agents/skills/zaip-skill-lead-measurement/references/operations.md +125 -0
  972. package/templates/.agents/skills/zaip-skill-lead-measurement/references/persistence-reference.md +65 -0
  973. package/templates/.agents/skills/zaip-skill-lead-measurement/references/questionnaire-v2.schema.json +136 -0
  974. package/templates/.agents/skills/zaip-skill-lead-measurement/references/synthetic-config.json +24 -0
  975. package/templates/.agents/skills/zaip-skill-lead-measurement/references/synthetic-event.json +19 -0
  976. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/check-questionnaire.mjs +314 -0
  977. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/check-questionnaire.test.mjs +338 -0
  978. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/consent-cases-core.mjs +144 -0
  979. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/consent-cases-privacy.mjs +183 -0
  980. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/consent-fixtures.mjs +60 -0
  981. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/consent-rollback-support.mjs +114 -0
  982. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/consent.mjs +222 -0
  983. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/consent.test.mjs +294 -0
  984. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/delivery-ledger.mjs +179 -0
  985. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/delivery-v2-case-fixtures.mjs +118 -0
  986. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/delivery-v2-cases.mjs +6 -0
  987. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/delivery-v2-contract-cases.mjs +218 -0
  988. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/delivery-v2-contract.mjs +182 -0
  989. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/delivery-v2-proof-support.mjs +104 -0
  990. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/delivery-v2-proof.mjs +272 -0
  991. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/delivery-v2-state-cases.mjs +248 -0
  992. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/delivery-v2.mjs +234 -0
  993. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/lead-measurement.mjs +277 -0
  994. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/lead-measurement.test.mjs +288 -0
  995. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/questionnaire-ast-cases.mjs +127 -0
  996. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/questionnaire-test-support.mjs +25 -0
  997. package/templates/.agents/skills/zaip-skill-lead-measurement/scripts/questionnaire-validation.mjs +155 -0
  998. package/templates/.agents/skills/zaip-skill-lifecycle-closure/SKILL.md +30 -2
  999. package/templates/.agents/skills/zaip-skill-lifecycle-closure/references/empty-usage-lock.md +56 -0
  1000. package/templates/.agents/skills/zaip-skill-lifecycle-closure/references/late-finalization.md +158 -0
  1001. package/templates/.agents/skills/zaip-skill-lifecycle-closure/references/local-catalog-closure.md +37 -0
  1002. package/templates/.agents/skills/zaip-skill-lifecycle-closure/references/post-publication-task-first.md +1 -1
  1003. package/templates/.agents/skills/zaip-skill-lifecycle-closure/scripts/empty-lock-native.cs +113 -0
  1004. package/templates/.agents/skills/zaip-skill-lifecycle-closure/scripts/empty-lock-native.ps1 +9 -0
  1005. package/templates/.agents/skills/zaip-skill-lifecycle-closure/scripts/recover-empty-usage-lock.mjs +194 -0
  1006. package/templates/.agents/skills/zaip-skill-local-credentials/SKILL.md +27 -0
  1007. package/templates/.agents/skills/zaip-skill-maintenance-enter/SKILL.md +8 -6
  1008. package/templates/.agents/skills/zaip-skill-maintenance-enter/scripts/maintenance.mjs +4 -4
  1009. package/templates/.agents/skills/zaip-skill-maintenance-enter/scripts/maintenance.test.mjs +2 -2
  1010. package/templates/.agents/skills/zaip-skill-maintenance-exit/SKILL.md +3 -3
  1011. package/templates/.agents/skills/zaip-skill-marketing/SKILL.md +11 -0
  1012. package/templates/.agents/skills/zaip-skill-marketing/references/search-content.md +17 -0
  1013. package/templates/.agents/skills/zaip-skill-meta-conversions/SKILL.md +23 -0
  1014. package/templates/.agents/skills/zaip-skill-meta-conversions/agents/openai.yaml +4 -0
  1015. package/templates/.agents/skills/zaip-skill-meta-conversions/references/implementation.md +88 -0
  1016. package/templates/.agents/skills/zaip-skill-meta-conversions/references/synthetic-meta.json +27 -0
  1017. package/templates/.agents/skills/zaip-skill-meta-conversions/scripts/check-meta-links.mjs +88 -0
  1018. package/templates/.agents/skills/zaip-skill-meta-conversions/scripts/meta-model.mjs +369 -0
  1019. package/templates/.agents/skills/zaip-skill-meta-conversions/scripts/meta-model.test.mjs +394 -0
  1020. package/templates/.agents/skills/zaip-skill-performance-engineering/SKILL.md +26 -1
  1021. package/templates/.agents/skills/zaip-skill-performance-engineering/references/astro-islands.md +41 -0
  1022. package/templates/.agents/skills/zaip-skill-performance-engineering/references/controlled-runner.md +38 -0
  1023. package/templates/.agents/skills/zaip-skill-performance-engineering/references/google-diagnostics.md +46 -0
  1024. package/templates/.agents/skills/zaip-skill-performance-engineering/references/report-contract.md +99 -0
  1025. package/templates/.agents/skills/zaip-skill-performance-engineering/references/site-budgets.json +25 -0
  1026. package/templates/.agents/skills/zaip-skill-performance-engineering/references/site-performance.md +83 -0
  1027. package/templates/.agents/skills/zaip-skill-performance-engineering/references/third-party-performance.md +57 -0
  1028. package/templates/.agents/skills/zaip-skill-performance-engineering/scripts/assess-reports.mjs +42 -0
  1029. package/templates/.agents/skills/zaip-skill-performance-engineering/scripts/capture-site.mjs +155 -0
  1030. package/templates/.agents/skills/zaip-skill-performance-engineering/scripts/local-preview.mjs +84 -0
  1031. package/templates/.agents/skills/zaip-skill-performance-engineering/scripts/performance-report.mjs +142 -0
  1032. package/templates/.agents/skills/zaip-skill-performance-engineering/scripts/performance-report.test.mjs +122 -0
  1033. package/templates/.agents/skills/zaip-skill-performance-engineering/scripts/report-fixtures.test-support.mjs +51 -0
  1034. package/templates/.agents/skills/zaip-skill-performance-engineering/scripts/report-import.mjs +209 -0
  1035. package/templates/.agents/skills/zaip-skill-performance-engineering/scripts/report-import.test.mjs +164 -0
  1036. package/templates/.agents/skills/zaip-skill-performance-engineering/scripts/run-lighthouse.mjs +151 -0
  1037. package/templates/.agents/skills/zaip-skill-performance-engineering/scripts/series-gate.mjs +225 -0
  1038. package/templates/.agents/skills/zaip-skill-performance-engineering/scripts/series-gate.test.mjs +143 -0
  1039. package/templates/.agents/skills/zaip-skill-qa/SKILL.md +54 -0
  1040. package/templates/.agents/skills/zaip-skill-qa/agents/openai.yaml +4 -0
  1041. package/templates/.agents/skills/zaip-skill-qa/references/host-protocol.md +125 -0
  1042. package/templates/.agents/skills/zaip-skill-qa/references/landing-page-forms.md +23 -0
  1043. package/templates/.agents/skills/zaip-skill-qa/references/proof-adapters.md +92 -0
  1044. package/templates/.agents/skills/zaip-skill-qa/references/scenarios.md +73 -0
  1045. package/templates/.agents/skills/zaip-skill-qa/references/seo-geo.md +33 -0
  1046. package/templates/.agents/skills/zaip-skill-qa/references/site-performance.md +20 -0
  1047. package/templates/.agents/skills/zaip-skill-qa/scripts/observe-dashboard-ui.mjs +152 -0
  1048. package/templates/.agents/skills/zaip-skill-qa/scripts/observe-dashboard-ui.test.mjs +65 -0
  1049. package/templates/.agents/skills/zaip-skill-qa/scripts/qa-contract.test.mjs +203 -0
  1050. package/templates/.agents/skills/zaip-skill-qa/scripts/run-behavior-tests.mjs +369 -0
  1051. package/templates/.agents/skills/zaip-skill-qa/scripts/run-behavior-tests.test.mjs +168 -0
  1052. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/SKILL.md +33 -0
  1053. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-local-telemetry.mjs +42 -62
  1054. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-native-window.mjs +115 -0
  1055. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-native-window.test.mjs +123 -0
  1056. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-optional-timing.test.mjs +34 -0
  1057. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-reviewed-pairs-fixture.mjs +130 -0
  1058. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-deduplicate-apply.mjs +106 -0
  1059. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.mjs +22 -45
  1060. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.test.mjs +0 -24
  1061. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-remeasurement.mjs +73 -9
  1062. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-reviewed-order.mjs +48 -0
  1063. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-reviewed-pairs.mjs +255 -0
  1064. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-reviewed-pairs.test.mjs +329 -0
  1065. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-token-snapshots.mjs +49 -0
  1066. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-token-snapshots.test.mjs +33 -0
  1067. package/templates/.agents/skills/zaip-skill-refactor-landing-page/SKILL.md +6 -0
  1068. package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +19 -1
  1069. package/templates/.agents/skills/zaip-skill-release-qualification/references/frozen-task-recovery.md +47 -0
  1070. package/templates/.agents/skills/zaip-skill-release-qualification/references/local-catalog.md +136 -0
  1071. package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +7 -5
  1072. package/templates/.agents/skills/zaip-skill-release-qualification/references/remote-validation.md +147 -0
  1073. package/templates/.agents/skills/zaip-skill-sales-methodology/SKILL.md +1 -0
  1074. package/templates/.agents/skills/zaip-skill-sales-methodology/references/bant-discovery.md +28 -0
  1075. package/templates/.agents/skills/zaip-skill-screenshot-intake/SKILL.md +40 -0
  1076. package/templates/.agents/skills/zaip-skill-screenshot-intake/agents/openai.yaml +6 -0
  1077. package/templates/.agents/skills/zaip-skill-screenshot-intake/references/request-example.json +36 -0
  1078. package/templates/.agents/skills/zaip-skill-screenshot-intake/references/runtime-workflow.md +110 -0
  1079. package/templates/.agents/skills/zaip-skill-search-observability/SKILL.md +27 -0
  1080. package/templates/.agents/skills/zaip-skill-search-observability/agents/openai.yaml +4 -0
  1081. package/templates/.agents/skills/zaip-skill-search-observability/references/report-template.md +32 -0
  1082. package/templates/.agents/skills/zaip-skill-search-observability/references/workflow.md +56 -0
  1083. package/templates/.agents/skills/zaip-skill-search-observability/scripts/search-report.mjs +139 -0
  1084. package/templates/.agents/skills/zaip-skill-search-observability/scripts/search-report.test.mjs +72 -0
  1085. package/templates/.agents/skills/zaip-skill-setup/SKILL.md +51 -44
  1086. package/templates/.agents/skills/zaip-skill-setup/agents/openai.yaml +1 -1
  1087. package/templates/.agents/skills/zaip-skill-setup/references/basic-onboarding.md +41 -0
  1088. package/templates/.agents/skills/zaip-skill-setup/references/codex-activation.md +40 -0
  1089. package/templates/.agents/skills/zaip-skill-setup/scripts/onboarding-contract.test.mjs +41 -0
  1090. package/templates/.agents/skills/zaip-skill-spec/SKILL.md +1 -0
  1091. package/templates/.agents/skills/zaip-skill-sqlite-read-model/SKILL.md +4 -3
  1092. package/templates/.agents/skills/zaip-skill-task/SKILL.md +1 -0
  1093. package/templates/.agents/skills/zaip-skill-task/references/commit-policy.md +1 -1
  1094. package/templates/.agents/skills/zaip-skill-testing-strategy/SKILL.md +18 -0
  1095. package/templates/.agents/skills/zaip-skill-testing-strategy/references/frontend-impact.md +81 -0
  1096. package/templates/.agents/skills/zaip-skill-testing-strategy/references/verification-adoption.md +31 -0
  1097. package/templates/.agents/skills/zaip-skill-testing-strategy/scripts/validation-plan.mjs +168 -0
  1098. package/templates/.agents/skills/zaip-skill-testing-strategy/scripts/validation-plan.test.mjs +146 -0
  1099. package/templates/.agents/skills/zaip-skill-tool-setup/scripts/tool-state.mjs +1 -1
  1100. package/templates/.agents/skills/zaip-skill-use-connectors/SKILL.md +8 -0
  1101. package/templates/.agents/skills/zaip-skill-use-connectors/scripts/select-connector.mjs +73 -0
  1102. package/templates/.agents/skills/zaip-skill-use-connectors/scripts/select-connector.test.mjs +85 -0
  1103. package/templates/.agents/skills/zaip-skill-visual-report/SKILL.md +41 -0
  1104. package/templates/.agents/skills/zaip-skill-visual-report/agents/openai.yaml +6 -0
  1105. package/templates/.agents/skills/zaip-skill-visual-report/references/fidelity-proof.md +56 -0
  1106. package/templates/.agents/skills/zaip-skill-visual-report/references/intake-state.md +64 -0
  1107. package/templates/.agents/skills/zaip-skill-visual-report/references/source-contract.md +79 -0
  1108. package/templates/.agents/skills/zaip-skill-visual-report/references/synthesis-template.md +67 -0
  1109. package/templates/.agents/skills/zaip-skill-visual-report/references/visual-contract.json +40 -0
  1110. package/templates/.agents/skills/zaip-skill-website-readiness/SKILL.md +73 -17
  1111. package/templates/.agents/skills/zaip-skill-website-readiness/agents/openai.yaml +2 -2
  1112. package/templates/.agents/skills/zaip-skill-website-readiness/references/capability-checklist.md +8 -4
  1113. package/templates/.agents/skills/zaip-skill-website-readiness/references/change-discovery.md +22 -0
  1114. package/templates/.agents/skills/zaip-skill-website-readiness/references/content-and-agents.md +25 -0
  1115. package/templates/.agents/skills/zaip-skill-website-readiness/references/crawler-policy.md +35 -0
  1116. package/templates/.agents/skills/zaip-skill-website-readiness/references/schema-matrix.md +23 -0
  1117. package/templates/.agents/skills/zaip-skill-website-readiness/references/search-evidence.md +36 -0
  1118. package/templates/.agents/skills/zaip-skill-website-readiness/references/site-quality.example.json +14 -0
  1119. package/templates/.agents/skills/zaip-skill-website-readiness/references/site-quality.md +109 -0
  1120. package/templates/.agents/skills/zaip-skill-website-readiness/references/site-validation.md +60 -0
  1121. package/templates/.agents/skills/zaip-skill-website-readiness/references/sources.md +37 -0
  1122. package/templates/.agents/skills/zaip-skill-website-readiness/references/visual-preservation.md +84 -0
  1123. package/templates/.agents/skills/zaip-skill-website-readiness/scripts/agent-content.mjs +116 -0
  1124. package/templates/.agents/skills/zaip-skill-website-readiness/scripts/agent-content.test.mjs +83 -0
  1125. package/templates/.agents/skills/zaip-skill-website-readiness/scripts/audit-site.mjs +136 -0
  1126. package/templates/.agents/skills/zaip-skill-website-readiness/scripts/html-facts.mjs +56 -0
  1127. package/templates/.agents/skills/zaip-skill-website-readiness/scripts/index-directives.mjs +29 -0
  1128. package/templates/.agents/skills/zaip-skill-website-readiness/scripts/quality-plan.mjs +62 -0
  1129. package/templates/.agents/skills/zaip-skill-website-readiness/scripts/robots-policy.mjs +63 -0
  1130. package/templates/.agents/skills/zaip-skill-website-readiness/scripts/search-policy.test.mjs +183 -0
  1131. package/templates/.agents/skills/zaip-skill-website-readiness/scripts/site-audit.mjs +243 -0
  1132. package/templates/.agents/skills/zaip-skill-website-readiness/scripts/site-audit.test.mjs +287 -0
  1133. package/templates/.agents/skills/zaip-skill-website-readiness/scripts/sitemap-policy.mjs +111 -0
  1134. package/templates/.agents/skills/zaip-skill-website-readiness/scripts/verify-site-design.mjs +130 -0
  1135. package/templates/.agents/skills/zaip-skill-website-readiness/scripts/visual-preservation.mjs +160 -0
  1136. package/templates/.agents/skills/zaip-skill-worktree-recovery/SKILL.md +70 -0
  1137. package/templates/.agents/skills/zaip-skill-worktree-recovery/agents/openai.yaml +4 -0
  1138. package/templates/.agents/skills/zaip-skill-worktree-recovery/references/complete-preservation.md +70 -0
  1139. package/templates/.agents/skills/zaip-skill-worktree-recovery/references/default-policy.md +53 -0
  1140. package/templates/.agents/skills/zaip-skill-worktree-recovery/references/lifecycle-roots.md +106 -0
  1141. package/templates/.agents/skills/zaip-skill-worktree-recovery/references/metadata-overlay.md +45 -0
  1142. package/templates/.agents/skills/zaip-skill-worktree-recovery/references/procedure.md +49 -0
  1143. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/complete-preservation.mjs +252 -0
  1144. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-local-archive.mjs +162 -0
  1145. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-local-git.mjs +111 -0
  1146. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-acl.ps1 +37 -0
  1147. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-activate.ps1 +66 -0
  1148. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-alias.mjs +202 -0
  1149. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-batches.mjs +88 -0
  1150. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-copy-session.mjs +84 -0
  1151. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-cutover.mjs +350 -0
  1152. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-files.mjs +109 -0
  1153. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-generation-posix.mjs +194 -0
  1154. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-generation.mjs +173 -0
  1155. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-journal.mjs +88 -0
  1156. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-layout.mjs +102 -0
  1157. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-lock.mjs +106 -0
  1158. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-migration.mjs +234 -0
  1159. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-observation-tail.mjs +148 -0
  1160. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-permissions.mjs +52 -0
  1161. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-plan.mjs +143 -0
  1162. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-preparation.mjs +110 -0
  1163. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-process-start.ps1 +7 -0
  1164. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-quiescence.ps1 +11 -0
  1165. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-receipt-lease.mjs +67 -0
  1166. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-reuse.mjs +68 -0
  1167. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/durable-state-telemetry-version.mjs +187 -0
  1168. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/git-process.mjs +85 -0
  1169. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/metadata-overlay.mjs +302 -0
  1170. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/metadata-secrets.mjs +44 -0
  1171. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/migrate-durable-state.mjs +49 -0
  1172. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/recovery.mjs +247 -0
  1173. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/retention-marker.mjs +44 -0
  1174. package/templates/.agents/skills/zaip-skill-worktree-recovery/scripts/worktree-proof.mjs +148 -0
  1175. package/templates/.agents/tools/api/kommo-crm/README.md +13 -9
  1176. package/templates/.agents/tools/cloud-onboarding-architecture.mjs +273 -0
  1177. package/templates/.agents/tools/cloud-onboarding-bootstrap.test.mjs +176 -0
  1178. package/templates/.agents/tools/cloud-onboarding-configure.mjs +146 -0
  1179. package/templates/.agents/tools/cloud-onboarding-credentials.mjs +279 -0
  1180. package/templates/.agents/tools/cloud-onboarding-files.mjs +190 -0
  1181. package/templates/.agents/tools/cloud-onboarding-files.test.mjs +72 -0
  1182. package/templates/.agents/tools/cloud-onboarding-generation.mjs +161 -0
  1183. package/templates/.agents/tools/cloud-onboarding-generation.test.mjs +129 -0
  1184. package/templates/.agents/tools/cloud-onboarding-policy.mjs +196 -0
  1185. package/templates/.agents/tools/cloud-onboarding-provider.mjs +228 -0
  1186. package/templates/.agents/tools/cloud-onboarding-provider.test.mjs +144 -0
  1187. package/templates/.agents/tools/cloud-onboarding-recovery.test.mjs +306 -0
  1188. package/templates/.agents/tools/cloud-onboarding-ssh.mjs +223 -0
  1189. package/templates/.agents/tools/cloud-onboarding-terraform.mjs +80 -0
  1190. package/templates/.agents/tools/cloud-onboarding-test-fixture.mjs +184 -0
  1191. package/templates/.agents/tools/cloud-onboarding-test-fixtures.mjs +117 -0
  1192. package/templates/.agents/tools/cloud-onboarding.mjs +196 -0
  1193. package/templates/.agents/tools/cloud-onboarding.ssh.integration.test.mjs +391 -0
  1194. package/templates/.agents/tools/cloud-onboarding.test.mjs +237 -0
  1195. package/templates/.agents/tools/cloud-runner-arguments.mjs +37 -0
  1196. package/templates/.agents/tools/cloud-runner-dns.mjs +234 -11
  1197. package/templates/.agents/tools/cloud-runner-dns.test.mjs +256 -0
  1198. package/templates/.agents/tools/cloud-runner-process.mjs +61 -0
  1199. package/templates/.agents/tools/cloud-runner-process.test.mjs +43 -0
  1200. package/templates/.agents/tools/cloud-runner.integration.test.mjs +19 -3
  1201. package/templates/.agents/tools/cloud-runner.mjs +49 -169
  1202. package/templates/.agents/tools/cloud-runner.test.mjs +7 -42
  1203. package/templates/.agents/tools/historical-local-archive.mjs +89 -0
  1204. package/templates/.agents/tools/infisical-bootstrap-windows.test.mjs +12 -0
  1205. package/templates/.agents/tools/infisical-bootstrap.mjs +240 -0
  1206. package/templates/.agents/tools/infisical-bootstrap.test-support.mjs +39 -0
  1207. package/templates/.agents/tools/infisical-bootstrap.test.mjs +193 -0
  1208. package/templates/.agents/tools/infisical-policy.mjs +134 -0
  1209. package/templates/.agents/tools/infisical-runner.mjs +349 -0
  1210. package/templates/.agents/tools/infisical-runner.test.mjs +266 -0
  1211. package/templates/.agents/tools/mcp/infra/cloudflare/README.md +3 -17
  1212. package/templates/.agents/tools/mcp/infra/cloudflare/manifest.yaml +6 -10
  1213. package/templates/.agents/tools/repository-cloud-boundary.test.mjs +41 -0
  1214. package/templates/.agents/tools/repository-policy.mjs +257 -0
  1215. package/templates/.agents/tools/repository-profile.mjs +116 -0
  1216. package/templates/.agents/tools/repository-profile.test.mjs +67 -0
  1217. package/templates/.agents/tools/secret-inventory.mjs +150 -0
  1218. package/templates/.agents/tools/secret-inventory.test.mjs +60 -0
  1219. package/templates/.agents/tools/visual-intake/cli.mjs +72 -0
  1220. package/templates/.agents/tools/visual-intake/fs.mjs +137 -0
  1221. package/templates/.agents/tools/visual-intake/lock.mjs +98 -0
  1222. package/templates/.agents/tools/visual-intake/report.mjs +69 -0
  1223. package/templates/.agents/tools/visual-intake/runtime.mjs +330 -0
  1224. package/templates/.agents/tools/visual-intake/schema.mjs +235 -0
  1225. package/templates/.agents/tools/visual-intake/transaction.mjs +206 -0
  1226. package/templates/.agents/tools/visual-url/browser-cdp.mjs +167 -0
  1227. package/templates/.agents/tools/visual-url/browser-page-evidence.mjs +111 -0
  1228. package/templates/.agents/tools/visual-url/browser-proxy.mjs +194 -0
  1229. package/templates/.agents/tools/visual-url/browser-rendered-sample.mjs +312 -0
  1230. package/templates/.agents/tools/visual-url/browser-source.mjs +398 -0
  1231. package/templates/.agents/tools/visual-url/capture.mjs +119 -0
  1232. package/templates/.agents/tools/visual-url/captured-visual.mjs +301 -0
  1233. package/templates/.agents/tools/visual-url/cli.mjs +29 -0
  1234. package/templates/.agents/tools/visual-url/color-candidates.mjs +161 -0
  1235. package/templates/.agents/tools/visual-url/colors.mjs +98 -0
  1236. package/templates/.agents/tools/visual-url/contrast.mjs +40 -0
  1237. package/templates/.agents/tools/visual-url/css-sample.mjs +109 -0
  1238. package/templates/.agents/tools/visual-url/design-lint.mjs +83 -0
  1239. package/templates/.agents/tools/visual-url/design-score.mjs +217 -0
  1240. package/templates/.agents/tools/visual-url/failure.mjs +56 -0
  1241. package/templates/.agents/tools/visual-url/files.mjs +176 -0
  1242. package/templates/.agents/tools/visual-url/generated-tokens.mjs +369 -0
  1243. package/templates/.agents/tools/visual-url/handoff.mjs +85 -0
  1244. package/templates/.agents/tools/visual-url/icon.mjs +110 -0
  1245. package/templates/.agents/tools/visual-url/local-source.mjs +63 -0
  1246. package/templates/.agents/tools/visual-url/parser.mjs +288 -0
  1247. package/templates/.agents/tools/visual-url/policy.mjs +201 -0
  1248. package/templates/.agents/tools/visual-url/proposal-markdown.mjs +39 -0
  1249. package/templates/.agents/tools/visual-url/proposal.mjs +388 -0
  1250. package/templates/.agents/tools/visual-url/report.mjs +305 -0
  1251. package/templates/.agents/tools/visual-url/runtime.mjs +218 -0
  1252. package/templates/.agents/tools/visual-url/safe-visual-value.mjs +49 -0
  1253. package/templates/.agents/tools/visual-url/transport.mjs +187 -0
  1254. package/templates/.agents/tools/visual-url/visual-model.mjs +393 -0
  1255. package/templates/.agents/zaip-aios/VERSION +1 -1
  1256. package/templates/.agents/zaip-aios/guides/06-execucao.md +1 -1
  1257. package/templates/.agents/zaip-aios/guides/16-lifecycle-e-reconciliacao.md +1 -1
  1258. package/templates/.agents/zaip-aios/guides/19-assurance-e-autonomia.md +2 -2
  1259. package/templates/.agents/zaip-aios/guides/20-instalacao-detalhada.md +60 -18
  1260. package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +8 -0
  1261. package/templates/.agents/zaip-aios/guides/27-telemetria-git-native.md +2 -2
  1262. package/templates/.agents/zaip-aios/guides/28-lifecycle-completo.md +2 -2
  1263. package/templates/infra/terraform/README.md +2 -0
  1264. package/templates/infra/terraform/infisical.tf +57 -0
  1265. package/templates/infra/terraform/terraform.tfvars.example +5 -0
  1266. package/templates/infra/terraform/variables.tf +1 -1
  1267. package/templates/scripts/validate-cloud-hostinger-contract.mjs +4 -1
  1268. package/templates/template-manifest.json +3905 -1127
  1269. package/templates/.agents/architecture/hostinger-cloudflare-terraform.md +0 -90
  1270. package/templates/.agents/dashboard/apps/frontend/dist/assets/CostCalculationGuidePage-uR-asJv_.js +0 -1
  1271. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-1gE8RHel.js +0 -3
  1272. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-B0Jwz_rk.js +0 -68
  1273. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-DZhppOIk.css +0 -1
  1274. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-DtLrd13g.js +0 -2
  1275. package/templates/.agents/dashboard/apps/frontend/dist/assets/traceability-DFpwb0TN.js +0 -1
  1276. package/templates/.agents/design/apps/catalog/dist/storybook/assets/Components.stories-kxWwSKin.js +0 -146
  1277. package/templates/.agents/design/apps/catalog/dist/storybook/assets/DashboardFilters.stories-Chm_dXV7.js +0 -9
  1278. package/templates/.agents/design/apps/catalog/dist/storybook/assets/DashboardFiltersSpecimen-9CaCbGIZ.js +0 -1
  1279. package/templates/.agents/design/apps/catalog/dist/storybook/assets/WorkspaceStatusSpecimen-DQnSS6s9.js +0 -1
  1280. package/templates/.agents/design/apps/catalog/dist/storybook/assets/formatter-L2YTDE3Q-Do9sjqiW.js +0 -1
  1281. package/templates/.agents/design/apps/catalog/dist/storybook/assets/iframe-0W0Gj_Gs.css +0 -1
  1282. package/templates/.agents/design/apps/catalog/dist/storybook/assets/react-NrUxok8K.js +0 -1
@@ -1 +0,0 @@
1
- .app-loading-boundary{place-items:center;min-height:100vh;padding:24px;display:grid}.app-loading-boundary__card{text-align:center;background:linear-gradient(145deg,#111827f0,#0a0e17fa);border:1px solid #ffffff1f;border-radius:24px;gap:24px;width:min(100%,520px);padding:clamp(24px,5vw,40px);display:grid;box-shadow:0 18px 48px #00000073}.app-loading-boundary__status-icon{color:#fecaca;background:#dc262624;border:1px solid #dc26266b;border-radius:999px;place-items:center;width:48px;height:48px;margin-inline:auto;display:grid}.app-loading-boundary__status-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:24px;height:24px}.app-loading-boundary__content{gap:10px;display:grid}.app-loading-boundary__eyebrow{color:#fecaca;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700;line-height:1.3}.app-loading-boundary h1{color:#f1f5f9;letter-spacing:-.035em;margin:0;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:650;line-height:1.15}.app-loading-boundary__content>p:last-child{color:#cbd5e1;max-width:44ch;margin:0 auto;font-size:1rem;line-height:1.65}.app-loading-boundary button{color:#042330;cursor:pointer;background:linear-gradient(135deg,#00b0f0 0%,#72f4fb 100%);border:1px solid #0000;border-radius:999px;justify-self:center;min-height:44px;padding:12px 22px;font-weight:700}.app-loading-boundary button:hover{filter:brightness(1.06)}@media (width<=420px){.app-loading-boundary{padding:16px}.app-loading-boundary__card{gap:20px}}.app-reconciliation-result{z-index:80;overflow-wrap:anywhere;border:1px solid var(--accent-border);background:var(--surface-raised);width:min(440px,100vw - 36px);max-height:calc(100dvh - 36px);box-shadow:var(--shadow);border-radius:16px;gap:8px;padding:16px;display:grid;position:fixed;bottom:18px;right:18px;overflow:auto}.app-reconciliation-result strong{color:var(--text)}.app-reconciliation-result p{color:var(--muted);margin:8px 0 0;font-size:.82rem}.app-reconciliation-actions{flex-wrap:wrap;gap:8px;display:flex}.app-reconciliation-result button,.app-reconciliation-dialog button{border:1px solid var(--line-strong);cursor:pointer;min-height:44px;color:var(--text);background:var(--surface-muted);border-radius:8px;padding:8px 16px}.app-reconciliation-actions button:first-child{border-color:var(--accent-border)}.app-reconciliation-dialog{width:100%;max-width:none;height:100dvh;max-height:none;color:var(--text);background:var(--surface);border:0;grid-template-rows:auto minmax(0,1fr);margin:0;padding:0;display:none;position:fixed;inset:0;overflow:hidden}.app-reconciliation-dialog[open]{display:grid}.app-reconciliation-dialog>header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:16px;display:flex}.app-reconciliation-dialog h2{overflow-wrap:anywhere;flex:240px;margin:0;font-size:1.25rem}.app-reconciliation-details{overscroll-behavior:contain;overflow-wrap:anywhere;min-width:0;min-height:0;padding:16px;overflow:auto}.app-reconciliation-details>p{max-width:75ch;color:var(--muted);line-height:1.65}.app-reconciliation-details section{margin-top:24px}.app-reconciliation-details h3{font-size:1rem}.app-reconciliation-details ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.app-reconciliation-details li{border:1px solid var(--line);background:var(--surface-muted);border-radius:8px;min-width:0;padding:16px}.app-reconciliation-details code{white-space:normal;font-size:.82rem}.app-reconciliation-details li p{color:var(--muted);margin:8px 0 0;line-height:1.5}.app-reconciliation-details summary{cursor:pointer;color:var(--muted);margin-top:8px}.app-reconciliation-details:focus-visible,.app-reconciliation-details summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dashboard-capability-nav{background:#080e19b8;border:1px solid #94a3b81f;border-radius:15px;grid-template-columns:repeat(3,minmax(190px,1fr));gap:5px;width:fit-content;margin:22px 0 14px;padding:5px;display:grid}.dashboard-capability-shell{flex:none}.dashboard-capability-shell--initial+.dashboard-global-filters,.dashboard-capability-shell--traceability+.dashboard-global-filters{display:none}.dashboard-capability-nav button{color:#7f91aa;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;align-items:center;gap:10px;min-height:52px;padding:7px 13px;display:flex}.dashboard-capability-nav button:hover{color:#dce8f7;border-color:#38bdf82e}.dashboard-capability-nav button.is-active{color:#e7f5ff;background:#0ea5e91c;border-color:#38bdf847;box-shadow:inset 0 0 0 1px #38bdf80a}.dashboard-capability-nav svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;flex:none;width:20px;height:20px}.dashboard-capability-nav span{gap:2px;display:grid}.dashboard-capability-nav strong{font-size:.78rem}.dashboard-capability-nav small{color:#64748b;white-space:nowrap;font-size:.62rem}@media (width<=560px){.dashboard-capability-nav{grid-template-columns:repeat(3,minmax(165px,1fr));width:max-content;max-width:100%;overflow-x:auto}.dashboard-capability-nav button{justify-content:center;padding-inline:8px}.dashboard-capability-nav small{display:none}}.app-loading-panel{color:#dbeafe;text-align:center;background:#0ea5e90a;border:1px solid #38bdf82e;border-radius:20px;place-content:center;justify-items:center;gap:14px;min-height:240px;display:grid}.app-loading-panel i{border:3px solid #334155;border-top-color:#38bdf8;border-radius:50%;width:28px;height:28px;animation:.9s linear infinite app-refresh-spin}.app-loading-panel div{gap:5px;display:grid}.app-loading-panel strong{color:#e2e8f0}.app-loading-panel span{color:#94a3b8;font-size:.85rem}.app-loading-panel-error{border-color:#f8717147}.app-loading-panel-error button{color:#fecaca;cursor:pointer;background:#7f1d1d66;border:1px solid #f8717159;border-radius:10px;padding:9px 12px}.period-transition-overlay{color:#f1f5f9;z-index:9999;background:#0a0e17;justify-content:center;align-items:center;font-family:Inter,ui-sans-serif,system-ui,sans-serif;display:flex;position:fixed;inset:0}.period-transition-overlay__content{align-items:center;gap:16px;display:flex}.period-transition-overlay__spinner{border:3px solid #f1f5f947;border-top-color:#00b0f0;border-radius:999px;width:32px;height:32px;animation:.8s linear infinite period-transition-spin}.period-transition-overlay__label{font-size:clamp(1rem,3vw,1.25rem);font-weight:700}@keyframes period-transition-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.period-transition-overlay__spinner{border-top-color:#00b0f0;animation:none}}.workspace-status{z-index:61;background:var(--surface-muted,#111827);color:var(--text,#f1f5f9);border-bottom:1px solid var(--border,#ffffff1f);padding:8px 24px;font-size:12px;position:sticky;top:0}.workspace-status__warning{color:var(--error-text,#fecaca);margin:0}.workspace-status__warning p{margin:4px 0}.workspace-status code{overflow-wrap:anywhere}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f1f5f9;--background:#010610;--surface:#0a0e17;--surface-muted:#0d1220;--surface-raised:#111827;--line:#ffffff14;--line-strong:#ffffff24;--text:#f1f5f9;--muted:#94a3b8;--muted-deep:#4b5563;--accent:#00b0f0;--accent-soft:#00b0f01f;--accent-border:#00b0f040;--shadow:0 18px 48px #00000073;font-synthesis:none;text-rendering:optimizelegibility;background:#010610;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--background);min-width:320px;min-height:100%}html,body,#root{scrollbar-color:#00b0f0 #050b15;scrollbar-width:thin}html::-webkit-scrollbar{width:14px;height:14px}body::-webkit-scrollbar{width:14px;height:14px}#root::-webkit-scrollbar{width:14px;height:14px}html::-webkit-scrollbar-track{background:#050b15}body::-webkit-scrollbar-track{background:#050b15}#root::-webkit-scrollbar-track{background:#050b15}html::-webkit-scrollbar-thumb{background:linear-gradient(#38bdf8,#0284c7) padding-box padding-box;border:3px solid #050b15;border-radius:999px;box-shadow:inset 0 0 0 1px #bae6fd4d}body::-webkit-scrollbar-thumb{background:linear-gradient(#38bdf8,#0284c7) padding-box padding-box;border:3px solid #050b15;border-radius:999px;box-shadow:inset 0 0 0 1px #bae6fd4d}#root::-webkit-scrollbar-thumb{background:linear-gradient(#38bdf8,#0284c7) padding-box padding-box;border:3px solid #050b15;border-radius:999px;box-shadow:inset 0 0 0 1px #bae6fd4d}html::-webkit-scrollbar-thumb:hover{background:linear-gradient(#7dd3fc,#00b0f0)}body::-webkit-scrollbar-thumb:hover{background:linear-gradient(#7dd3fc,#00b0f0)}#root::-webkit-scrollbar-thumb:hover{background:linear-gradient(#7dd3fc,#00b0f0)}body{background:radial-gradient(circle at 50% 0, #00b0f00f 0%, transparent 42%), var(--background);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-state{text-align:center;place-content:center;min-height:100vh;padding:2rem;display:grid}.app-state h1{max-width:720px}.app-state pre{white-space:pre-wrap;color:#fecaca;max-width:min(800px,90vw);overflow:auto}.app-state button{border:1px solid var(--accent-border);background:var(--surface);color:var(--accent);cursor:pointer;border-radius:12px;justify-self:center;padding:.7rem 1rem}.app-skeleton{min-height:100vh;padding:clamp(18px,2.4vw,38px)}.app-skeleton-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.app-skeleton-header h1{margin:8px 0 0;font-size:clamp(1.45rem,2.4vw,2.25rem)}.app-skeleton-actions{gap:10px;display:flex}.app-skeleton-actions span{border:1px solid var(--line);background:var(--surface-muted);border-radius:12px;width:48px;height:42px}.app-skeleton-kpis,.app-skeleton-panels,.app-skeleton-board{gap:14px;display:grid}.app-skeleton-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.app-skeleton-kpis article,.app-skeleton-panels article,.app-skeleton-board>article{border:1px solid var(--line);background:linear-gradient(145deg,#111827db,#0a0e17eb);border-radius:16px}.app-skeleton-kpis article{min-height:138px;padding:18px}.app-skeleton-line,.app-skeleton-value,.app-skeleton-pill,.app-skeleton-chart,.app-skeleton-actions span{position:relative;overflow:hidden}.app-skeleton-line:after,.app-skeleton-value:after,.app-skeleton-pill:after,.app-skeleton-chart:after,.app-skeleton-actions span:after{content:"";background:linear-gradient(90deg,#0000,#7dd3fc1f,#0000);animation:1.35s ease-in-out infinite app-skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.app-skeleton-line,.app-skeleton-value,.app-skeleton-pill{background:#172033;border-radius:999px;display:block}.app-skeleton-line{width:88%;height:10px;margin-top:12px}.app-skeleton-line-short{width:34%}.app-skeleton-line-medium{width:62%}.app-skeleton-value{width:42%;height:30px;margin-top:18px}.app-skeleton-panels{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);margin-top:14px}.app-skeleton-panels article{padding:18px}.app-skeleton-chart{background:repeating-linear-gradient(#3341554d 0 1px,#0000 1px 38px);border-radius:12px;height:156px;margin-top:22px}.app-skeleton-chart-small{background:radial-gradient(circle,#172033 0 34%,#0000 35%)}.app-skeleton-board{grid-template-columns:repeat(5,minmax(210px,1fr));margin-top:18px;padding-bottom:10px;overflow-x:auto}.app-skeleton-board>article{min-height:220px;padding:14px}.app-skeleton-board h2{color:#cbd5e1;min-height:34px;margin:0 0 12px;font-size:.82rem;line-height:1.35}.app-skeleton-card{background:#0206178f;border:1px solid #ffffff0f;border-radius:12px;min-height:92px;margin-top:10px;padding:10px}.app-skeleton-pill{width:52px;height:15px;margin-top:14px}@keyframes app-skeleton-shimmer{to{transform:translate(100%)}}.app-notice,.app-warning{z-index:80;max-width:min(520px,100% - 2rem);box-shadow:var(--shadow);border-radius:16px;gap:1rem;padding:.9rem 1rem;display:flex;position:fixed;bottom:1rem;right:1rem}.app-snapshot-status{color:#dbeafe;background:#082f49f5;border:1px solid #38bdf857}.app-warning.app-error{color:#fecaca;background:#451010f5;border:1px solid #f8717147}.app-notice button,.app-warning button{color:inherit;cursor:pointer;background:0 0;border:0}.app-refresh-dialog-backdrop{z-index:200;background:#020617b8;border:0;justify-content:center;align-items:center;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:24px;display:flex;position:fixed;inset:0;overflow:auto}.app-refresh-dialog{color:#e2e8f0;background:#0f172a;border:1px solid #334155;border-radius:16px;max-width:460px;padding:24px;box-shadow:0 24px 64px #0000006b}.app-refresh-dialog h2{margin:0 0 8px}.app-refresh-dialog p{color:#94a3b8;margin:0;line-height:1.5}.app-refresh-dialog>div{gap:10px;margin-top:20px;display:grid}.app-refresh-dialog button{cursor:pointer;border:0;border-radius:8px;padding:11px 14px}.app-refresh-dialog>div button:first-child{color:#f8fafc;background:#334155}.app-refresh-dialog>div button:last-child{color:#fff;background:#2563eb}.app-refresh-cancel{color:#94a3b8;background:0 0;width:100%;margin-top:12px}.app-refresh-progress{text-align:center;place-items:center;display:grid}.app-refresh-progress i{border:3px solid #334155;border-top-color:#38bdf8;border-radius:50%;width:28px;height:28px;margin-bottom:14px;animation:.9s linear infinite app-refresh-spin}.app-refresh-status{z-index:80;width:min(390px,100vw - 36px);box-shadow:var(--shadow);background:#0f172af5;border:1px solid #38bdf859;border-radius:14px;align-items:center;gap:12px;padding:13px 15px;display:flex;position:fixed;bottom:18px;right:18px}.app-refresh-status i{border:3px solid #334155;border-top-color:#38bdf8;border-radius:50%;flex:none;width:22px;height:22px;animation:.9s linear infinite app-refresh-spin}.app-refresh-status div{gap:3px;display:grid}.app-refresh-status strong{color:#e2e8f0;font-size:.9rem}.app-refresh-status span{color:#94a3b8;font-size:.78rem}.app-refresh-status-close{color:#cbd5e1;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;align-self:flex-start;padding:0 5px;font-size:1.25rem;line-height:1}.app-refresh-status-close:hover,.app-refresh-status-close:focus-visible{color:#f8fafc;background:#94a3b829}@media (width<=860px){.app-skeleton-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.app-skeleton-panels{grid-template-columns:1fr}}@keyframes app-refresh-spin{to{transform:rotate(360deg)}}.dashboard-global-settings{gap:14px;display:grid}.dashboard-global-settings label{gap:7px;display:grid}.dashboard-global-settings .dashboard-help-open{color:#bae6fd;justify-content:center;width:100%}.pricing-fx-copy p,.pricing-table-heading p{color:#8e9bb1;margin:7px 0 0;font-size:13px;line-height:1.5}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition:none;animation:none}}.pricing-backdrop{background:radial-gradient(circle at 50% 0,#308bcf17,#0000 36%),#070b13;min-height:100vh;padding:clamp(20px,3vw,48px)}.pricing-dialog{background:linear-gradient(145deg,#0d1320 0%,#090e18 100%);border:1px solid #2b3a52;border-radius:24px;flex-direction:column;width:100%;max-width:1840px;min-height:calc(100vh - clamp(40px,6vw,96px));margin:0 auto;display:flex;box-shadow:0 24px 80px #0000006b}.pricing-dialog>header,.pricing-dialog>footer{flex:none;justify-content:space-between;align-items:center;gap:24px;display:flex}.pricing-dialog>header{border-bottom:1px solid #202b3d;padding:28px 32px 24px}.pricing-dialog>header>div{max-width:820px}.pricing-dialog small{color:#8391a7}.pricing-dialog>header small{color:#77bff2;letter-spacing:.12em;font-size:11px;font-weight:700}.pricing-dialog>header h1{margin:7px 0 8px;font-size:clamp(26px,2.2vw,34px);line-height:1.15}.pricing-dialog>header p{color:#94a3b8;margin:0;line-height:1.55}.pricing-dialog button{color:#eaf3ff;cursor:pointer;background:#111a29;border:1px solid #34445e;border-radius:11px;padding:11px 16px;transition:border-color .16s,background .16s,transform .16s}.pricing-dialog button:hover:not(:disabled){background:#17243a;border-color:#5c7ca5}.pricing-dialog button:active:not(:disabled){transform:translateY(1px)}.pricing-dialog button:focus-visible,.pricing-dialog input:focus-visible,.pricing-dialog select:focus-visible{outline-offset:2px;outline:2px solid #65b8f3}.pricing-dialog>header>.pricing-back-button{color:#b9dafa;flex:none;align-items:center;gap:9px;padding:12px 16px;font-size:14px;display:inline-flex}.pricing-back-button span{font-size:18px;line-height:1}.pricing-fx-settings{background:#111a29ad;border:1px solid #24334a;border-radius:16px;grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:end;gap:32px;margin:24px 32px 0;padding:20px 22px;display:grid}.pricing-fx-copy strong,.pricing-table-heading strong{color:#edf5ff;font-size:15px}.pricing-dialog .pricing-fx-copy p,.pricing-dialog .pricing-table-heading p{color:#8e9bb1;margin:7px 0 0;font-size:13px;line-height:1.5}.pricing-fx-settings label{color:#9fb0c8;letter-spacing:.04em;text-transform:uppercase;gap:8px;font-size:12px;font-weight:700;display:grid}.pricing-fx-input{background:#0c1422;border:1px solid #34465f;border-radius:11px;grid-template-columns:44px 1fr;align-items:center;display:grid;overflow:hidden}.pricing-fx-input>span{color:#75bff4;border-right:1px solid #2b3950;align-self:stretch;place-items:center;font-weight:800;display:grid}.pricing-dialog .pricing-fx-input input{background:0 0;border:0;border-radius:0;min-width:0}.pricing-table-heading{justify-content:space-between;align-items:end;gap:20px;padding:24px 34px 12px;display:flex}.pricing-table-heading>span{color:#8fc8f2;white-space:nowrap;background:#101c2c;border:1px solid #2c405c;border-radius:999px;padding:6px 10px;font-size:12px}.pricing-table-wrap{scrollbar-gutter:stable both-edges;margin:0 16px;padding:0 16px 24px;overflow:auto visible}.pricing-dialog table{border-collapse:separate;border-spacing:0;width:100%;min-width:1760px}.pricing-dialog th{z-index:2;color:#8fb9eb;text-align:left;letter-spacing:.09em;text-transform:uppercase;background:#0d1421;border-top:1px solid #202c40;border-bottom:1px solid #28364c;padding:14px 10px;font-size:10px;line-height:1.35;position:sticky;top:0}.pricing-dialog th:first-child{border-top-left-radius:12px;padding-left:14px}.pricing-dialog th:last-child{border-top-right-radius:12px}.pricing-dialog td{vertical-align:top;border-bottom:1px solid #1c2738;padding:12px 10px}.pricing-dialog tbody tr{transition:background .16s}.pricing-dialog tbody tr:hover{background:#3b82f60b}.pricing-dialog input,.pricing-dialog select{box-sizing:border-box;color:#eef5ff;background:#101827;border:1px solid #2e3e56;border-radius:10px;width:100%;min-width:116px;padding:11px 12px}.pricing-dialog input:hover,.pricing-dialog select:hover{border-color:#415978}.pricing-dialog td:first-child{min-width:240px;padding-left:14px}.pricing-dialog td:first-child input{min-width:220px}.pricing-dialog td:first-child small{margin:7px 2px 0;display:block}.pricing-dialog td:last-child{padding-right:14px}.pricing-dialog td:last-child button{color:#fca5a5;width:40px;height:40px;padding:0}.pricing-dialog>footer{z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#090e18f5;border-top:1px solid #202a3b;border-radius:0 0 24px 24px;margin-top:auto;padding:20px 32px 24px;position:sticky;bottom:0}.pricing-dialog>footer div{gap:12px;display:flex}.pricing-dialog>footer div button:last-child{background:#153550;border-color:#3d7eb0}@media (width<=760px){.pricing-backdrop{padding:10px}.pricing-dialog{border-radius:18px;min-height:calc(100vh - 20px)}.pricing-dialog>header{align-items:flex-start;padding:22px 20px 20px}.pricing-dialog>header p{font-size:13px}.pricing-dialog>header>.pricing-back-button{padding:10px 12px;font-size:0}.pricing-dialog>header>.pricing-back-button span{font-size:20px}.pricing-fx-settings{grid-template-columns:1fr;gap:18px;margin:18px 20px 0;padding:18px}.pricing-table-heading{padding:22px 22px 10px}.pricing-table-wrap{margin:0 8px;padding:0 12px 14px}.pricing-dialog>footer{flex-direction:column;align-items:stretch;padding:16px 20px 20px}.pricing-dialog>footer>button,.pricing-dialog>footer div,.pricing-dialog>footer div button{width:100%}}.cost-guide{color:#eaf3ff;background:radial-gradient(circle at 80% 0,#00b0f01a,#0000 34%),#070b13;min-height:100vh;padding:clamp(18px,4vw,56px)}.cost-guide>header,.cost-guide-controls,.cost-guide-section,.cost-guide-final-note{width:min(1160px,100%);margin-inline:auto}.cost-guide>header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.cost-guide small{color:#7dd3fc;letter-spacing:.12em;font-weight:800}.cost-guide h1{margin:8px 0;font-size:clamp(2rem,4vw,3.25rem)}.cost-guide h2,.cost-guide h3{margin-top:0}.cost-guide p{color:#a9b8ca;line-height:1.6}.cost-guide button,.cost-guide select{color:#eaf3ff;background:#101a2a;border:1px solid #36506e;border-radius:11px;padding:11px 14px}.cost-guide button{cursor:pointer}.cost-guide-controls{gap:14px;margin-block:28px;display:flex}.cost-guide-controls label{color:#9fb8d4;gap:7px;font-size:.82rem;display:grid}.cost-guide-section{background:#0c1421;border:1px solid #24354b;border-radius:18px;margin-block:22px;padding:clamp(18px,3vw,28px)}.cost-guide-section-heading{max-width:780px;margin-bottom:20px}.cost-guide-section-heading p{margin-bottom:0}.cost-guide-table-wrap{overflow-x:auto}.cost-guide table{border-collapse:collapse;width:100%;min-width:650px}.cost-guide caption{color:#7dd3fc;text-align:left;padding:0 0 12px}.cost-guide th,.cost-guide td{text-align:left;border-bottom:1px solid #25364b;padding:12px}.cost-guide thead{color:#7dd3fc}.cost-guide-blocks{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.cost-guide-blocks article,.cost-guide-example-card{background:#0f1a2a;border:1px solid #263c55;border-radius:14px;padding:18px}.cost-guide-blocks strong{color:#ddecff}.cost-guide-blocks p{margin:8px 0 0;font-size:.92rem}.cost-guide-example-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.cost-guide-calculation{gap:4px;display:grid}.cost-guide-calculation-head,.cost-guide-calculation-line{grid-template-columns:minmax(95px,.7fr) minmax(260px,2fr) minmax(90px,.7fr);align-items:center;gap:12px;display:grid}.cost-guide-calculation-head{color:#7890aa;text-transform:uppercase;font-size:.75rem}.cost-guide-calculation-line{border-bottom:1px solid #223348;padding-block:9px}.cost-guide-calculation-line code,.cost-guide-speed code{color:#b9d5ee;white-space:normal;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem}.cost-guide-calculation-line>span,.cost-guide-calculation-total>span{text-align:right}.cost-guide-calculation-total{color:#7dd3fc;justify-content:space-between;gap:16px;padding-top:14px;font-size:1.05rem;display:flex}.cost-guide-speed,.cost-guide-context-summary{background:#0b1b2b;border:1px solid #285579;border-radius:13px;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:16px;padding:14px 16px;display:flex}.cost-guide-speed strong{color:#7dd3fc;font-size:1.3rem}.cost-guide-context-summary{color:#adc3d9;margin-bottom:18px}.cost-guide-unavailable,.cost-guide-unavailable-combination{color:#fcd34d;background:#2a210b66;border:1px solid #8a6b22;border-radius:12px;padding:16px}.cost-guide-unavailable-combination{margin-top:18px}.cost-guide-unavailable-combination p{margin:6px 0 0}.cost-guide-final-note{box-sizing:border-box;color:#d7e8fa;background:#0c1726;border-left:4px solid #38bdf8;border-radius:8px 14px 14px 8px;padding:20px;line-height:1.6}@media (width<=900px){.cost-guide-example-grid{grid-template-columns:1fr}}@media (width<=760px){.cost-guide>header,.cost-guide-controls{flex-direction:column}.cost-guide-blocks{grid-template-columns:1fr}.cost-guide-calculation-head{display:none}.cost-guide-calculation-line{grid-template-columns:1fr;gap:5px}.cost-guide-calculation-line>span{text-align:left}}
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardHelpDialog-BQOQCvcJ.js","assets/rolldown-runtime-Bh1tDfsg.js","assets/cost-monitor-B0Jwz_rk.js","assets/cost-monitor-C2AFYBu_.css","assets/dashboard-localization-BZf8HWmm.js","assets/DashboardHelpDialog-DRI_XwUf.css","assets/PricingSettingsDialog-CGET1J8Q.js","assets/ProjectSettingsPage-1gE8RHel.js","assets/ProjectSettingsPage-CQMhvzvJ.css","assets/CostCalculationGuidePage-uR-asJv_.js","assets/TraceabilityWorkspace-Bw6xnXUN.js","assets/traceability-DFpwb0TN.js","assets/icons-vendor-CjGGux6h.js","assets/traceability-DFY7ZDlu.css","assets/TraceabilityWorkspace-DvvavDLY.css"])))=>i.map(i=>d[i]);
2
- import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{E as t,a as n,b as r,g as i,i as a,n as o,o as s,r as c,t as l,w as u}from"./cost-monitor-B0Jwz_rk.js";import{t as d}from"./react-vendor-B9jZSAKf.js";import{n as f,t as p}from"./traceability-DFpwb0TN.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var m=e(t(),1),h=d(),g=u();function _({locale:e}){let t=e===`pt-BR`?[`Definição`,`Planejamento`,`Pronto para Executar`,`Execução`,`Verificação`]:[`Definition`,`Planning`,`Ready to Execute`,`Execution`,`Verification`];return(0,g.jsxs)(`main`,{"aria-busy":`true`,"aria-live":`polite`,"aria-label":e===`pt-BR`?`Preparando dashboard`:`Preparing dashboard`,className:`app-skeleton`,role:`status`,children:[(0,g.jsxs)(`header`,{className:`app-skeleton-header`,children:[(0,g.jsxs)(`div`,{children:[(0,g.jsx)(`span`,{className:`app-skeleton-line app-skeleton-line-short`}),(0,g.jsx)(`h1`,{children:`Dashboard ZAIP AIOS`})]}),(0,g.jsxs)(`div`,{className:`app-skeleton-actions`,children:[(0,g.jsx)(`span`,{}),(0,g.jsx)(`span`,{}),(0,g.jsx)(`span`,{})]})]}),(0,g.jsx)(`section`,{className:`app-skeleton-kpis`,"aria-hidden":`true`,children:Array.from({length:4},(e,t)=>`skeleton-kpi-${t}`).map(e=>(0,g.jsxs)(`article`,{children:[(0,g.jsx)(`span`,{className:`app-skeleton-line app-skeleton-line-short`}),(0,g.jsx)(`span`,{className:`app-skeleton-value`}),(0,g.jsx)(`span`,{className:`app-skeleton-line`})]},e))}),(0,g.jsxs)(`section`,{className:`app-skeleton-panels`,"aria-hidden":`true`,children:[(0,g.jsxs)(`article`,{children:[(0,g.jsx)(`span`,{className:`app-skeleton-line app-skeleton-line-medium`}),(0,g.jsx)(`div`,{className:`app-skeleton-chart`})]}),(0,g.jsxs)(`article`,{children:[(0,g.jsx)(`span`,{className:`app-skeleton-line app-skeleton-line-medium`}),(0,g.jsx)(`div`,{className:`app-skeleton-chart app-skeleton-chart-small`})]})]}),(0,g.jsx)(`section`,{className:`app-skeleton-board`,"aria-hidden":`true`,children:t.map((e,t)=>(0,g.jsxs)(`article`,{children:[(0,g.jsx)(`h2`,{children:e}),Array.from({length:t%2==0?2:1},(t,n)=>`${e}-${n}`).map(e=>(0,g.jsxs)(`div`,{className:`app-skeleton-card`,children:[(0,g.jsx)(`span`,{className:`app-skeleton-line`}),(0,g.jsx)(`span`,{className:`app-skeleton-line app-skeleton-line-medium`}),(0,g.jsx)(`span`,{className:`app-skeleton-pill`})]},e))]},e))})]})}function v(e,t){let n=t===`pt-BR`;return e===`costs`?n?{title:`Carregando Monitor de Custos…`,detail:`Isso costuma levar poucos segundos.`}:{title:`Loading Cost Monitor…`,detail:`This usually takes a few seconds.`}:e===`traceability`?n?{title:`Carregando Rastreabilidade…`,detail:`Estamos preparando as 6 etapas da task.`}:{title:`Loading Traceability…`,detail:`Preparing the task's 6 stages.`}:n?{title:`Atualizando dados do dashboard…`,detail:`Você pode continuar navegando.`}:{title:`Refreshing dashboard data…`,detail:`You can keep navigating.`}}function y({area:e,locale:t}){let n=v(e,t);return(0,g.jsxs)(`section`,{"aria-busy":`true`,"aria-live":`polite`,className:`app-loading-panel`,role:`status`,children:[(0,g.jsx)(`i`,{}),(0,g.jsxs)(`div`,{children:[(0,g.jsx)(`strong`,{children:n.title}),(0,g.jsx)(`span`,{children:n.detail})]})]})}function b({area:e,locale:t}){let n=v(e,t);return(0,g.jsxs)(`section`,{"aria-live":`polite`,className:`app-refresh-status`,role:`status`,children:[(0,g.jsx)(`i`,{}),(0,g.jsxs)(`div`,{children:[(0,g.jsx)(`strong`,{children:n.title}),(0,g.jsx)(`span`,{children:n.detail})]})]})}function x({locale:e,onRetry:t}){return(0,g.jsxs)(`section`,{"aria-live":`polite`,className:`app-loading-panel app-loading-panel-error`,role:`status`,children:[(0,g.jsxs)(`div`,{children:[(0,g.jsx)(`strong`,{children:e===`pt-BR`?`Não foi possível carregar os custos`:`Couldn't load costs`}),(0,g.jsx)(`span`,{children:e===`pt-BR`?`A tela continua disponível. Tente novamente quando quiser.`:`The dashboard remains available. Try again whenever you want.`})]}),(0,g.jsx)(`button`,{onClick:t,type:`button`,children:e===`pt-BR`?`Tentar novamente`:`Try again`})]})}function S({costsLoaded:e,currency:t,snapshotCurrency:n}){return!e||n!==t}function C({aborted:e,currentCurrency:t,currentPeriod:n,currentRequestVersion:r,requestVersion:i,requestedCurrency:a,requestedPeriod:o}){return!e&&i===r&&a===t&&o.from===n.from&&o.to===n.to}function w(e,t){return e===t}function T(e,t,n,r){return w(e,t)&&n.from===r.from&&n.to===r.to}function E(e){return e instanceof DOMException&&e.name===`AbortError`}function D(e,t){return e===t}function O(e,t,n){return w(e,t)&&!n.aborted}function k(e,t){let n=e=>[...new Map(e.map(e=>[e.id,e])).values()];return{...e,prds:n([...e.prds,...t.flatMap(e=>e.prds)]),specs:n([...e.specs,...t.flatMap(e=>e.specs)]),tasks:n([...e.tasks,...t.flatMap(e=>e.tasks)]),changes:n([...e.changes,...t.flatMap(e=>e.changes)])}}function A(){let e=(0,m.useRef)(null);return(0,m.useEffect)(()=>{e.current?.focus()},[]),(0,g.jsx)(`div`,{"aria-busy":`true`,"aria-live":`polite`,className:`period-transition-overlay`,onKeyDownCapture:e=>e.preventDefault(),ref:e,role:`status`,tabIndex:-1,children:(0,g.jsxs)(`div`,{className:`period-transition-overlay__content`,children:[(0,g.jsx)(`i`,{"aria-hidden":`true`,className:`period-transition-overlay__spinner`}),(0,g.jsx)(`span`,{className:`period-transition-overlay__label`,children:`Carregando...`})]})})}function ee({pending:e,children:t}){return(0,g.jsx)(`div`,{"aria-hidden":e||void 0,inert:e,children:t})}var j={"pt-BR":{action:`Tentar novamente`,guidance:`Abra a pasta dashboard dentro de .agents e dê dois cliques novamente no arquivo executável.`,title:`Não foi possível carregar o dashboard`},"en-US":{action:`Try again`,guidance:`Open the dashboard folder inside .agents, then double-click the executable file again.`,title:`Unable to load the dashboard`}};function te({children:e,error:t,globalLoadingPending:n,locale:r,onRefresh:i,operations:a,snapshotNotice:o,setupRoute:s}){if(s!==null)return s;if(t&&a===null){let e=j[r];return(0,g.jsx)(`main`,{className:`app-loading-boundary`,"aria-labelledby":`dashboard-load-error-title`,children:(0,g.jsxs)(`section`,{className:`app-loading-boundary__card`,role:`alert`,children:[(0,g.jsx)(`div`,{"aria-hidden":`true`,className:`app-loading-boundary__status-icon`,children:(0,g.jsx)(`svg`,{"aria-hidden":`true`,focusable:`false`,viewBox:`0 0 24 24`,children:(0,g.jsx)(`path`,{d:`M12 8v4m0 4h.01M10.29 3.86 2.82 16.5A2 2 0 0 0 4.54 19.5h14.92a2 2 0 0 0 1.72-3L13.71 3.86a2 2 0 0 0-3.42 0Z`})})}),(0,g.jsxs)(`div`,{className:`app-loading-boundary__content`,children:[(0,g.jsx)(`p`,{className:`app-loading-boundary__eyebrow`,children:r===`pt-BR`?`Dashboard indisponível`:`Dashboard unavailable`}),(0,g.jsx)(`h1`,{id:`dashboard-load-error-title`,children:e.title}),(0,g.jsx)(`p`,{children:e.guidance})]}),(0,g.jsx)(`button`,{onClick:i,type:`button`,children:e.action})]})})}return a===null?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(_,{locale:r}),o,n?(0,g.jsx)(A,{}):null,(0,g.jsx)(b,{area:`operations`,locale:r})]}):e}function ne(e){let t=new Set(e.blocked.map(e=>e.id));return{reconciled:e.reconciled_ids.filter(e=>!t.has(e)).length,blocked:e.blocked.length,notReconciled:e.not_reconciled.length}}function M(e){let t=new Set(e.blocked.map(e=>e.id));return e.reconciled_ids.filter(e=>!t.has(e)).map(t=>{let n=e.outcomes?.find(e=>e.id===t);return{id:t,reason:n?.reason??null,status:n?.status??null}})}function re(e,t){return e===null?``:t===`pt-BR`?{completed:`Concluído`,delivered:`Entregue`,failed:`Falha técnica`,blocked:`Bloqueado`,cancelled:`Cancelado`}[e]??e:e}var ie={"Invocation is still running":`A invocação ainda está em execução. Foi preservada intencionalmente; isso não indica falha do comando.`,"Host terminated without delivery evidence":`O host encerrou sem evidências de entrega.`,"Host interrupted":`O host foi interrompido.`,"Child attempt stopped":`A tentativa do subagente foi encerrada.`,"Execution orphaned after the reconciliation grace period":`A execução ficou sem orquestrador ativo após o período de tolerância da reconciliação.`};function N(e,t){if(e===null)return t===`pt-BR`?`Motivo não informado.`:`No reason provided.`;if(t===`en-US`)return e;let n=e.match(/^Explicit orphan reconciliation found no active host invocation or terminal work outcome; repair is required before resuming \(Run (\S+)\)\.$/);if(n)return`A Run ${n[1]} ficou sem invocação ativa do host e sem evidência de um desfecho de entrega. A reconciliação registrou a interrupção; a entrega exige reparo e validação antes de retomar.`;let r=e.match(/^Execution (\S+) has no active orchestrator agent call after the reconciliation grace period\.?$/);return r?`A execução ${r[1]} não tem uma chamada de agente orquestrador ativa após o período de tolerância da reconciliação.`:ie[e.trim().replace(/\.$/,``)]??e}function P({result:e,locale:t,onDismiss:n}){let[r,i]=(0,m.useState)(!1),a=(0,m.useRef)(null),o=t===`pt-BR`,s=ne(e),c=o?`Resultado da reconciliação manual`:`Manual reconciliation result`,l={reconciled:o?`Outros estados registrados`:`Other recorded outcomes`,blocked:o?`Desfechos bloqueados`:`Blocked outcomes`,notReconciled:o?`Não reconciliados`:`Not reconciled`},u=`${l.reconciled}: ${s.reconciled} · ${l.blocked}: ${s.blocked} · ${l.notReconciled}: ${s.notReconciled}`;return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`section`,{className:`app-reconciliation-result`,"aria-label":c,children:[(0,g.jsxs)(`div`,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,children:[(0,g.jsx)(`strong`,{children:c}),(0,g.jsx)(`p`,{children:u})]}),(0,g.jsxs)(`div`,{className:`app-reconciliation-actions`,children:[(0,g.jsx)(`button`,{ref:a,type:`button`,"aria-haspopup":`dialog`,onClick:()=>i(!0),children:o?`Veja mais`:`View details`}),(0,g.jsx)(`button`,{type:`button`,onClick:n,children:o?`Fechar`:`Dismiss`})]})]}),r?(0,g.jsx)(F,{result:e,locale:t,title:c,summary:u,labels:l,onClose:()=>i(!1),restoreFocus:()=>a.current?.focus({preventScroll:!0})}):null]})}function F({result:e,locale:t,title:n,summary:r,labels:i,onClose:a,restoreFocus:o}){let s=(0,m.useRef)(null),c=(0,m.useRef)(o),l=(0,m.useId)(),u=t===`pt-BR`;(0,m.useEffect)(()=>{let e=s.current;if(!e)return;let t=document.body.style.overflow;return e.showModal(),document.body.style.overflow=`hidden`,()=>{e.close(),document.body.style.overflow=t,c.current()}},[]);let d=[{label:i.reconciled,items:M(e),reasons:!0},{label:i.blocked,items:e.blocked,reasons:!0},{label:i.notReconciled,items:e.not_reconciled,reasons:!0}];return(0,g.jsxs)(`dialog`,{ref:s,className:`app-reconciliation-dialog`,"aria-labelledby":l,"aria-modal":`true`,onCancel:e=>{e.preventDefault(),a()},onKeyDown:e=>{if(e.key!==`Tab`)return;let t=Array.from(e.currentTarget.querySelectorAll(`button:not(:disabled), summary, [tabindex="0"]`)).filter(e=>e.getClientRects().length>0),n=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),r?.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n?.focus())},children:[(0,g.jsxs)(`header`,{children:[(0,g.jsx)(`h2`,{id:l,children:n}),(0,g.jsx)(`button`,{type:`button`,onClick:a,children:u?`Fechar detalhes`:`Close details`})]}),(0,g.jsxs)(`section`,{className:`app-reconciliation-details`,tabIndex:0,"aria-label":u?`Itens da reconciliação`:`Reconciliation items`,children:[(0,g.jsx)(`p`,{children:r}),(0,g.jsx)(`p`,{children:u?`A reconciliação registra o estado real de cada item. Desfechos bloqueados aparecem somente na categoria de bloqueios; um estado registrado não significa entrega concluída.`:`Reconciliation records each item's actual state. Blocked outcomes appear only in the blocked category; a recorded state does not imply completed delivery.`}),(0,g.jsx)(`p`,{children:u?`Última telemetria indica a coleta de tokens medidos. Registrar estados ou atualizar o snapshot sem novos tokens não altera esse horário.`:`Last telemetry means measured token collection. Recording states or refreshing the snapshot without new tokens does not change that time.`}),e.diagnostics?(0,g.jsxs)(`p`,{children:[u?`Reconciliação executada em`:`Reconciliation executed at`,` `,new Intl.DateTimeFormat(t,{dateStyle:`short`,timeStyle:`medium`}).format(new Date(e.diagnostics.completed_at)),` · Job: `,(0,g.jsx)(`code`,{children:e.diagnostics.job_id}),` · `,`Logs`,`: `,(0,g.jsx)(`code`,{children:e.diagnostics.log_directory})]}):null,(0,g.jsx)(`p`,{children:u?`Invocações ainda em execução são preservadas intencionalmente. Permanecer não reconciliado por esse motivo não indica falha do comando.`:`Invocations that are still running are intentionally preserved. Remaining unreconciled for this reason does not indicate a command failure.`}),d.map(e=>(0,g.jsxs)(`section`,{"aria-label":e.label,children:[(0,g.jsxs)(`h3`,{children:[e.label,` (`,e.items.length,`)`]}),e.items.length===0?(0,g.jsx)(`p`,{children:u?`Nenhum item nesta categoria.`:`No items in this category.`}):(0,g.jsx)(`ul`,{children:ae(e.items).map(({item:n,key:r})=>(0,g.jsxs)(`li`,{children:[(0,g.jsx)(`code`,{children:n.id}),`status`in n&&typeof n.status==`string`?(0,g.jsx)(`p`,{children:re(n.status,t)}):null,e.reasons?(0,g.jsx)(`p`,{children:N(n.reason,t)}):null,e.reasons&&n.reason!==null&&N(n.reason,t)!==n.reason?(0,g.jsxs)(`details`,{children:[(0,g.jsx)(`summary`,{children:u?`Motivo original`:`Original reason`}),(0,g.jsx)(`p`,{children:n.reason})]}):null]},r))})]},e.label))]})]})}function ae(e){let t=new Map;return e.map(e=>{let n=JSON.stringify([e.id,e.reason]),r=(t.get(n)??0)+1;return t.set(n,r),{item:e,key:`${n}:${r}`}})}var oe=`modulepreload`,se=function(e){return`/`+e},I={},L=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=se(t,n),t=s(t),t in I)return;I[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:oe,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},ce=(0,m.lazy)(async()=>({default:(await L(async()=>{let{DashboardHelpDialog:e}=await import(`./DashboardHelpDialog-BQOQCvcJ.js`);return{DashboardHelpDialog:e}},__vite__mapDeps([0,1,2,3,4,5]))).DashboardHelpDialog}));function le({costLocale:e,documentDetail:t,helpOpen:n,loadingArea:i,reconciliationResult:a,refreshDialog:c,showTrace:l,trace:u,traceLink:d,traceMacroLoading:h,traceLoadingTaskId:_,closeDocument:v,onCloseHelp:y,onCloseTrace:x,onDismissReconciliation:S,onOpenDocument:C,onOpenTrace:w,onOpenTraceChange:T,onOpenTraceMacro:E,onRefreshCancel:D,onRefreshFromDialog:O,setTraceLink:k}){return(0,g.jsxs)(g.Fragment,{children:[l?null:_?(0,g.jsx)(p,{locale:e,taskId:_}):u?(0,g.jsx)(f,{locale:e,onClose:x,onOpenChange:T,onOpenPrd:e=>E(`PRD`,e),onOpenSpec:e=>E(`SPEC`,e),trace:u}):null,d?.kind===`change`?(0,g.jsx)(r,{details:{kind:`change`,row:d.row},locale:e,onClose:()=>k(null)}):null,d?.kind===`macro`?(0,g.jsx)(s,{label:d.label,locale:e,onClose:()=>k(null),onOpenDocument:C,onOpenTrace:e=>{k(null),w(e)},row:d.row,runs:d.projection.runs,specs:d.projection.specs,tasks:d.projection.tasks}):null,t?(0,g.jsx)(o,{detail:t.detail,error:t.error,label:t.label,locale:e,loading:!t.detail&&!t.error,onClose:v,onRetry:()=>C(t.kind,t.preview.id),preview:t.preview}):null,n?(0,g.jsx)(m.Suspense,{fallback:null,children:(0,g.jsx)(ce,{locale:e,onClose:y})}):null,c===`choose`?(0,g.jsx)(`div`,{className:`app-refresh-dialog-backdrop`,children:(0,g.jsxs)(`section`,{"aria-label":`Atualizar dashboard`,"aria-modal":`true`,className:`app-refresh-dialog`,role:`dialog`,children:[(0,g.jsx)(`h2`,{children:e===`pt-BR`?`Atualizar dashboard`:`Refresh dashboard`}),(0,g.jsx)(`p`,{children:e===`pt-BR`?`Escolha uma atualização rápida ou reconcilie os itens que ainda estão em aberto.`:`Choose a quick refresh or reconcile work items that are still open.`}),(0,g.jsxs)(`div`,{children:[(0,g.jsx)(`button`,{onClick:()=>O(!1),type:`button`,children:e===`pt-BR`?`Apenas atualizar dados`:`Refresh data only`}),(0,g.jsx)(`button`,{onClick:()=>O(!0),type:`button`,children:e===`pt-BR`?`Reconciliar itens abertos`:`Reconcile open work`})]}),(0,g.jsx)(`button`,{className:`app-refresh-cancel`,onClick:D,type:`button`,children:e===`pt-BR`?`Cancelar`:`Cancel`})]})}):null,c===`refreshing`||c===`reconciling`?(0,g.jsxs)(`section`,{"aria-live":`polite`,className:`app-refresh-status`,role:`status`,children:[(0,g.jsx)(`i`,{}),(0,g.jsxs)(`div`,{children:[(0,g.jsx)(`strong`,{children:c===`reconciling`?e===`pt-BR`?`Reconciliando itens em aberto…`:`Reconciling open work…`:e===`pt-BR`?`Atualizando dados…`:`Refreshing data…`}),(0,g.jsx)(`span`,{children:e===`pt-BR`?`Você pode continuar usando o dashboard.`:`You can keep using the dashboard.`})]})]}):null,a!==null&&c===null?(0,g.jsx)(P,{result:a,locale:e,onDismiss:S}):null,(i!==null||h!==null)&&c===null?(0,g.jsx)(b,{area:h===null?i??`operations`:`operations`,locale:e}):null]})}var ue=(0,m.lazy)(async()=>({default:(await L(async()=>{let{PricingSettingsPage:e}=await import(`./PricingSettingsDialog-CGET1J8Q.js`);return{PricingSettingsPage:e}},__vite__mapDeps([6,1,2,3,4]))).PricingSettingsPage})),R=(0,m.lazy)(async()=>({default:(await L(async()=>{let{ProjectSettingsPage:e}=await import(`./ProjectSettingsPage-1gE8RHel.js`);return{ProjectSettingsPage:e}},__vite__mapDeps([7,1,2,3,8]))).ProjectSettingsPage})),de=(0,m.lazy)(async()=>({default:(await L(async()=>{let{CostCalculationGuidePage:e}=await import(`./CostCalculationGuidePage-uR-asJv_.js`);return{CostCalculationGuidePage:e}},__vite__mapDeps([9,1,2,3]))).CostCalculationGuidePage})),fe=`/setup-pricing`,pe=`/setup-project`,me=`/cost-calculation-guide`;function he(e){let{api:t,costLocale:n,fxRate:r,navigate:i,pathname:a,pricing:o,refresh:s,setFxRate:c,setPricing:l}=e;return a===`/setup-pricing`?o===null?(0,g.jsxs)(`main`,{className:`app-state`,children:[(0,g.jsx)(`p`,{children:n===`pt-BR`?`Configuração do projeto`:`Project settings`}),(0,g.jsx)(`h1`,{children:n===`pt-BR`?`Carregando catálogo de preços…`:`Loading pricing catalog…`}),(0,g.jsx)(`button`,{onClick:()=>i(`/`),type:`button`,children:n===`pt-BR`?`Voltar ao dashboard`:`Back to dashboard`})]}):(0,g.jsx)(m.Suspense,{fallback:null,children:(0,g.jsx)(ue,{catalog:o,fxRate:r,locale:n,onClose:()=>i(`/`),onSave:async e=>{l(await t.savePricing(e)),await s()},onSaveFxRate:async e=>{c(await t.saveFxRate(e)),await s()}})}):a===`/cost-calculation-guide`&&o!==null?(0,g.jsx)(m.Suspense,{fallback:null,children:(0,g.jsx)(de,{catalog:o,fxRate:r,locale:n,onClose:()=>i(`/`)})}):a===`/setup-project`?(0,g.jsx)(m.Suspense,{fallback:null,children:(0,g.jsx)(R,{api:t,locale:n,onClose:()=>i(`/`)})}):null}var ge=(0,m.lazy)(async()=>({default:(await L(async()=>{let{TraceabilityWorkspace:e}=await import(`./TraceabilityWorkspace-Bw6xnXUN.js`);return{TraceabilityWorkspace:e}},__vite__mapDeps([10,1,2,3,11,12,13,14]))).TraceabilityWorkspace}));function _e({costs:e,costLocale:t,currency:n,dashboardView:r,failedArea:i,lastUpdatedAt:a,loadCostDetail:o,loadCostReadModelPage:s,loadCostRunPage:c,loadCostGroupPage:u,loadingArea:d,onActiveDataChange:f,onCurrencyChange:p,onLoadingChange:h,onLocaleChange:_,onOpenTrace:v,onLoadMoreTraceTasks:b,onRefresh:S,onRetry:C,onSelectTraceTask:w,onOpenTraceChange:T,onOpenTraceMacro:E,operations:D,selectedTraceTaskId:O,trace:k,traceLoadingTaskId:A,traceTasksHasMore:ee,traceTasksLoading:j,traceTasks:te}){return r===`cost-monitor`?e===null?()=>i===`costs`?(0,g.jsx)(x,{locale:t,onRetry:C}):(0,g.jsx)(y,{area:`costs`,locale:t}):r=>(0,g.jsx)(m.Suspense,{fallback:(0,g.jsx)(y,{area:`costs`,locale:t}),children:(0,g.jsx)(l,{currency:n,data:e,embedded:!0,globalFilters:r,lastUpdatedAt:a,locale:t,loading:d===`costs`,loadDetail:o,loadReadModelPage:s,loadRunPage:c,loadGroupPage:u,onActiveDataChange:f,onCurrencyChange:p,onLoadingChange:h,onLocaleChange:_,onOpenTrace:v,onRefresh:S,operations:D})}):r===`traceability`?()=>(0,g.jsx)(m.Suspense,{fallback:(0,g.jsx)(y,{area:`operations`,locale:t}),children:(0,g.jsx)(ge,{loadingTaskId:A,locale:t,onOpenChange:T,onOpenPrd:e=>E(`PRD`,e),onOpenSpec:e=>E(`SPEC`,e),onLoadMoreTasks:b,onSelectTask:w,selectedTaskId:O,tasks:te.length>0?te:D.tasks,hasMoreTasks:ee,isLoadingTasks:j,trace:k})}):r===null?(0,g.jsx)(`span`,{"aria-hidden":`true`,hidden:!0}):void 0}function ve({currency:e,locale:t,onCurrencyChange:n,onHelpOpen:r,onNavigate:i,pricingSetupPath:a,projectSetupPath:o,costCalculationGuidePath:s}){return(0,g.jsxs)(`div`,{className:`dashboard-global-settings`,children:[(0,g.jsxs)(`label`,{children:[(0,g.jsx)(`span`,{children:t===`pt-BR`?`Moeda`:`Currency`}),(0,g.jsxs)(`select`,{"aria-label":t===`pt-BR`?`Moeda`:`Currency`,onChange:e=>n(e.target.value),value:e,children:[(0,g.jsx)(`option`,{value:`BRL`,children:`BRL · Real brasileiro`}),(0,g.jsx)(`option`,{value:`USD`,children:`USD · US Dollar`})]})]}),(0,g.jsx)(`button`,{className:`dashboard-help-open`,onClick:r,type:`button`,children:t===`pt-BR`?`Central de Ajuda`:`Open help and guides`}),(0,g.jsx)(`button`,{className:`dashboard-help-open`,onClick:()=>i(a),type:`button`,children:t===`pt-BR`?`Configurar preços e câmbio`:`Configure pricing and FX`}),(0,g.jsx)(`button`,{className:`dashboard-help-open`,onClick:()=>i(o),type:`button`,children:t===`pt-BR`?`Configurar projeto`:`Configure project`}),(0,g.jsx)(`button`,{className:`dashboard-help-open`,onClick:()=>i(s),type:`button`,children:t===`pt-BR`?`Guia de cálculo de custos`:`Cost calculation guide`})]})}var ye={preset:`all`,range:a(`this-month`)};function z(e){return e.preset===`all`?{from:null,to:null}:{from:e.range.start,to:e.range.end}}function be(e,t){let n=z(e),r=z(t);return n.from===r.from&&n.to===r.to}function xe({model:e}){let{operations:t,error:n,globalLoadingPending:r,costLocale:i,refresh:a,snapshotNotice:o,setupRoute:s,failedArea:l,retryLastLoad:u,costs:d,currency:f,dashboardView:p,lastUpdatedAt:m,loadCostDetail:h,loadCostReadModelPage:_,loadCostRunPage:v,loadCostGroupPage:y,loadingArea:b,setDisplayedCosts:x,setCurrency:S,setCostSurfaceLoading:C,changeDashboardLocale:w,loadMoreTraceTasks:T,openTrace:E,setRefreshDialog:D,setSelectedTraceTaskId:O,openTraceChange:k,openTraceMacro:j,renderedOperations:ne,selectedTraceTaskId:M,trace:re,traceLoadingTaskId:ie,traceMacroLoading:N,traceTasksHasMore:P,traceTasksLoading:F,traceTasks:ae,capabilityNavigation:oe,boardTotals:se,boardKindTotals:I,boardExportSource:L,detailExportSource:ce,boardStates:ue,operationsPeriod:R,entityPage:de,dashboardIdentity:he,operationsLoading:ge,factualCostFact:ye,factualCostPeriods:z,setOperationsSurfaceLoading:xe,operationsSurfaceLoading:Se,currentCostByRun:Ce,loadOperationsEntityPage:B,loadOperationsLifecyclePage:we,loadOperationsDetails:Te,entityPageKind:Ee,loadFilteredOperationsPage:De,loadFilteredBoard:Oe,loadWorkListFilters:ke,loadWorkListPage:Ae,workListFiltersRef:je,boardFiltersRef:V,workListPage:H,overviewStatusPages:U,loadOverviewStatusPage:Me,overviewClassificationPages:W,loadOverviewClassificationPage:Ne,openDocument:Pe,api:G,setError:Fe,operationsPeriodRef:Ie,setOperationsPeriod:Le,operationsDetailLoadedRef:Re,operationsDetailCancelRef:ze,operationsDetailAbortRef:Be,operationsPageAbortRef:Ve,resetWorkListPage:He,operationsPageRequestVersionRef:Ue,refreshVersion:We,costSummaryAbortRef:Ge,costSummaryRequestVersion:Ke,setEntityPage:qe,costsLoadedRef:Je,setCosts:Ye,setPeriodTransitionPending:Xe,periodTransitionVersionRef:K,setLoadingArea:Ze,navigate:Qe,setHelpOpen:q,closeDocument:$e,documentDetail:et,helpOpen:tt,reconciliationResult:nt,setReconciliationResult:rt,refreshDialog:it,setTrace:at,traceLink:ot,setTraceLink:st,refreshFromDialog:ct}=e,{loadMoreBoard:lt,overviewStatusPageKey:ut,overviewClassificationPageKey:dt,boardRequestVersionRef:ft,boardAbortControllersRef:pt,boardInFlightRef:mt,boardInitialPageRef:ht,boardLoadedRef:gt,setBoardTotals:_t,setBoardKindTotals:vt,setBoardStates:J,setOverviewStatusPages:yt,setOverviewClassificationPages:Y,setOperationsLoading:bt}=e;return(0,g.jsxs)(te,{error:n,globalLoadingPending:r,locale:i,onRefresh:()=>void a(),operations:t,snapshotNotice:o,setupRoute:s,children:[(0,g.jsxs)(ee,{pending:r,children:[n?(0,g.jsxs)(`div`,{"aria-live":`assertive`,className:`app-warning app-error`,role:`alert`,children:[(0,g.jsx)(`span`,{children:n}),l?(0,g.jsx)(`button`,{onClick:u,type:`button`,children:i===`pt-BR`?`Tentar novamente`:`Try again`}):null,(0,g.jsx)(`button`,{"aria-label":i===`pt-BR`?`Fechar erro`:`Dismiss error`,onClick:()=>Fe(null),type:`button`,children:`×`})]}):null,(0,g.jsx)(c,{alternateContent:_e({costs:d,costLocale:i,currency:f,dashboardView:p,failedArea:l,lastUpdatedAt:m,loadCostDetail:h,loadCostReadModelPage:_,loadCostRunPage:v,loadCostGroupPage:y,loadingArea:b,onActiveDataChange:x,onCurrencyChange:S,onLoadingChange:C,onLocaleChange:w,onLoadMoreTraceTasks:T,onOpenTrace:e=>void E(e),onRefresh:()=>D(`choose`),onRetry:u,onSelectTraceTask:e=>{O(e),E(e)},onOpenTraceChange:k,onOpenTraceMacro:j,operations:ne,selectedTraceTaskId:M,trace:re,traceLoadingTaskId:ie,traceTasksHasMore:P,traceTasksLoading:F,traceTasks:ae}),capabilityNavigation:oe,boardTotals:se,boardKindTotals:I,boardExportSource:L,detailExportSource:ce,boardStates:ue,data:ne,lastUpdatedAt:m,datePreset:R.preset,dateRange:R.range,entityPage:de,dashboardTitle:he.title,repositoryName:he.repositoryName,loading:ge,locale:i,currency:f,factualCostFact:ye,costLoading:d===null&&l!==`costs`,factualCostPeriods:z,onLoadingChange:xe,resolveRunCost:d===null?void 0:e=>Ce.get(e)??null,onLocaleChange:w,onDetailDataRequest:e=>{let t=e===`conversations`?`conversations`:e===`executions`?`executions`:e===`runs`?`runs`:null;t===null?e===`changes`||e===`decisions`?we(e):Te():B(t)},onLoadMacroMetrics:()=>{t?.summary.overview_metrics?.macro_metrics===void 0&&Te()},onEntityPageChange:e=>{Ee===`changes`||Ee===`decisions`?we(Ee,e):B(Ee,e)},onEntityFiltersChange:De,onBoardFiltersChange:Oe,onWorkListFiltersChange:ke,onWorkListPageChange:e=>void Ae(je.current,e),onBoardTypeChange:e=>Oe({...V.current,kind:e===`all`?``:e}),onWorkListTypeChange:e=>void Ae({...je.current,kind:e===`all`?``:e}),onLoadMoreBoard:e=>void lt(e),workListPage:H,statusPage:(e,t)=>U[ut(e,t)],onLoadStatusPage:(e,t,n)=>void Me(e,t,n),classificationPage:(e,t)=>W[dt(e,t)],onLoadClassificationPage:(e,t,n)=>void Ne(e,t,n),onOpenDocument:(e,t)=>void Pe(e,t),onOpenMacro:(e,t)=>void j(e===`prd`?`PRD`:`SPEC`,t),onOpenTask:E,onPriorityChange:async e=>{try{await G.saveWorkPriority(e)}catch(e){throw Fe(e instanceof Error?e.message:String(e)),e}},onDateChange:(e,t)=>{let n={preset:e,range:t};if(be(Ie.current,n)){Le(n);return}Re.current=!1,ze.current?.(),ze.current=null,Be.current?.abort(),Be.current=null,Ve.current?.abort(),Ve.current=null,He(),++Ue.current,ft.current+=1;for(let e of pt.current.values())e.abort();pt.current.clear(),mt.current.clear(),ht.current.clear(),gt.current={},_t({}),vt({}),J({}),yt({}),Y({}),++We.current,Ge.current?.abort(),Ge.current=null,++Ke.current,qe({offset:0,total:null,loading:!1,error:null}),Je.current=!1,Ye(null),x(null),bt(!0),K.current+=1,Xe(!0),Ze(`operations`),Le(n)},onRefresh:()=>D(`choose`),settings:(0,g.jsx)(ve,{costCalculationGuidePath:me,currency:f,locale:i,onCurrencyChange:S,onHelpOpen:()=>q(!0),onNavigate:Qe,pricingSetupPath:fe,projectSetupPath:pe})}),(0,g.jsx)(le,{closeDocument:$e,costLocale:i,documentDetail:et,helpOpen:tt,loadingArea:b??(d===null&&l!==`costs`?`costs`:Se||Object.values(ue).some(e=>e.loading)?`operations`:null),operations:ne,reconciliationResult:nt,refreshDialog:it,showTrace:p===`traceability`,trace:re,traceLink:ot,traceMacroLoading:N,traceLoadingTaskId:ie,onCloseHelp:()=>q(!1),onCloseTrace:()=>at(null),onDismissReconciliation:()=>rt(null),onOpenDocument:(e,t)=>void Pe(e,t),onOpenTrace:e=>void E(e),onOpenTraceChange:k,onOpenTraceMacro:j,onRefreshCancel:()=>D(null),onRefreshFromDialog:e=>void ct(e),setTraceLink:e=>st(e)})]}),r?(0,g.jsx)(A,{}):null]})}var Se=(e,t)=>`${e}:${t}`,Ce=(e,t)=>`${e}:${t}`,B=[`definition`,`planning`,`ready`,`executing`,`verifying`,`completed`,`blocked`,`cancelled`,`failed`],we=`/zaip-cost-monitor`,Te=`zaip-dashboard-session-token`,Ee=`zaip-dashboard-locale`,De=`zaip-dashboard-currency`;function Oe(){return window.localStorage.getItem(`zaip-dashboard-locale`)===`en-US`?`en-US`:`pt-BR`}function ke(e){return e.replace(/\/+$/,``)===we?`cost-monitor`:null}function Ae(){let e=new URL(window.location.href),t=e.searchParams.get(`token`)??window.localStorage.getItem(`zaip-dashboard-session-token`)??window.sessionStorage.getItem(`zaip-dashboard-session-token`)??``;return t&&(window.localStorage.setItem(Te,t),window.sessionStorage.setItem(Te,t)),e.searchParams.has(`token`)&&(e.searchParams.delete(`token`),window.history.replaceState(null,``,`${e.pathname}${e.search}${e.hash}`)),t}var je=class{token;constructor(e){this.token=e}ready(){return this.get(`/api/v2/ready`)}captureTelemetry(){return this.post(`/api/v2/capture-telemetry`)}dashboardIdentity(){return this.get(`/api/v2/dashboard-identity`)}operations(e,t=`detail`,n,r=!1){let a=`${i.operations}?scope=${t}${r?`&fresh=1`:``}`;return this.get(W(a,e),n)}sqliteViewPage(e,t,n={},r){let i=new URLSearchParams({view:e,offset:String(n.offset??0)});return n.limit!==void 0&&i.set(`limit`,String(n.limit)),n.query&&i.set(`query`,n.query),n.status&&i.set(`status`,n.status),n.risk&&i.set(`risk`,n.risk),n.provider&&i.set(`provider`,n.provider),n.model&&i.set(`model`,n.model),n.agent&&i.set(`agent`,n.agent),n.phase&&i.set(`phase`,n.phase),n.origin&&i.set(`origin`,n.origin),n.workType&&i.set(`workType`,n.workType),n.priority&&i.set(`priority`,n.priority),n.kind&&i.set(`kind`,n.kind),this.get(W(`/api/v2/sqlite-views?${i.toString()}`,t),r)}operationsBoard(e,t,n=0,r,a,o=4){let s=new URLSearchParams({scope:`board`,stage:t,offset:String(n),limit:String(o)});return r?.query&&s.set(`query`,r.query),r?.status&&s.set(`status`,r.status),r?.risk&&s.set(`risk`,r.risk),r?.origin&&s.set(`origin`,r.origin),r?.kind&&s.set(`kind`,r.kind),this.get(W(`${i.operations}?${s.toString()}`,e),a)}traceabilityTasks(e=0,t=10){let n=new URLSearchParams({scope:`traceability`,offset:String(e),limit:String(t)});return this.get(`${i.operations}?${n}`)}operationsClassification(e,t,n,r=0,a,o=50){let s=new URLSearchParams({scope:`classification`,kind:t,classification:n,offset:String(r),limit:String(o)});return this.get(W(`${i.operations}?${s.toString()}`,e),a)}operationsEntityPage(e,t,n=0,r,a){let o=V(t,n,r);return this.get(W(`${i.operations}/runs?${o}`,e),a)}operationsLifecyclePage(e,t,n=0,r,a){let o=V(t,n,r);return this.get(W(`${i.operations}/entities?${o}`,e),a)}operationsReadModelPage(e,t,n=0,r=50,a=``,o){let s=new URLSearchParams({kind:t,offset:String(n),limit:String(r)});return a&&s.set(`query`,a),this.get(W(`${i.operations}/read-models?${s.toString()}`,e),o)}costMonitor(e=`BRL`,t,n=`detail`,r,a,o=!1){let s=new URLSearchParams({currency:e,scope:n});o&&s.set(`fresh`,`1`);for(let[e,t]of Object.entries(a??{}))t&&s.set(e,t);return this.get(W(`${i.costMonitor}?${s.toString()}`,t),r)}costMonitorRuns(e=`BRL`,t,n,r=100,a,o){let s=new URLSearchParams({currency:e,scope:`runs`,offset:String(n),limit:String(r)});for(let[e,t]of Object.entries(o??{}))t&&s.set(e,t);return this.get(W(`${i.costMonitor}?${s.toString()}`,t),a)}snapshot(e=`BRL`,t){return this.get(W(`${i.snapshot}?currency=${e}`,t))}reconcileOpenWork(e=`BRL`,t){return this.post(W(`${i.reconcileOpenWork}?currency=${e}`,t),U)}refreshProjection(e=`BRL`,t){return this.post(W(`${i.refreshProjection}?currency=${e}`,t),U)}task(e){return this.get(i.task(e))}prd(e){return this.get(i.prd(e))}spec(e){return this.get(i.spec(e))}taskTrace(e,t){return this.get(i.taskTrace(e),t)}pricing(){return this.get(`/api/v2/pricing`)}async savePricing(e){let t=await fetch(`/api/v2/pricing`,{method:`PUT`,headers:{"content-type":`application/json`,"x-zaip-session":this.token},body:JSON.stringify(e)});if(!t.ok)throw Error(`Pricing update failed with HTTP ${t.status}`);return await t.json()}fxRate(){return this.get(`/api/v2/fx-rate`)}agentCatalog(){return this.get(i.agentCatalog)}agentPortraitUrl(e){return`/api/v2/agent-catalog-assets/${encodeURIComponent(e)}?token=${encodeURIComponent(this.token)}`}projectSettings(){return this.get(i.projectSettings)}projectOverview(){return this.get(`${i.projectSettings}/overview`)}async saveWorkPriority(e){let t=await fetch(i.workPriority,{method:`PUT`,headers:{"content-type":`application/json`,"x-zaip-session":this.token},body:JSON.stringify({item_ids:e})});if(!t.ok)throw Error(`Work priority update failed with HTTP ${t.status}`);return await t.json()}async saveProjectSettings(e){let t=await fetch(i.projectSettings,{method:`PUT`,headers:{"content-type":`application/json`,"x-zaip-session":this.token},body:JSON.stringify(e)});if(!t.ok){let e=await t.json().catch(()=>null);throw Error(e?.error??`Project settings update failed with HTTP ${t.status}`)}return await t.json()}async saveAgentCatalog(e){let t=e.map(({nickname_candidates:e,...t})=>t),n=await fetch(i.agentCatalog,{method:`PUT`,headers:{"content-type":`application/json`,"x-zaip-session":this.token},body:JSON.stringify({agents:t})});if(!n.ok){let e=await n.json().catch(()=>null);throw Error(e?.error??`Agent catalog update failed with HTTP ${n.status}`)}return await n.json()}async saveFxRate(e){let t=await fetch(`/api/v2/fx-rate`,{method:`PUT`,headers:{"content-type":`application/json`,"x-zaip-session":this.token},body:JSON.stringify({rate:e})});if(!t.ok)throw Error(`FX update failed with HTTP ${t.status}`);return await t.json()}async get(e,t){let n=await Me(e,{cache:`no-cache`,headers:{"x-zaip-session":this.token}},H,t);if(!n.ok){let e=await n.json().catch(()=>null);throw Error(e?.error??`Dashboard API failed with HTTP ${n.status}`)}return await n.json()}async post(e,t=H){let n=await Me(e,{method:`POST`,headers:{"x-zaip-session":this.token}},t);if(!n.ok){let e=await n.json().catch(()=>null);throw Error(e?.error??`Dashboard API failed with HTTP ${n.status}`)}return await n.json()}};function V(e,t,n){let r=new URLSearchParams({kind:e,offset:String(t),limit:`100`});return n?.query&&r.set(`query`,n.query),n?.status&&r.set(`status`,n.status),n?.risk&&r.set(`risk`,n.risk),r.toString()}var H=6e4,U=18e4;async function Me(e,t,n=H,r){let i=new AbortController,a=()=>i.abort();r?.addEventListener(`abort`,a,{once:!0}),r?.aborted&&i.abort();let o=window.setTimeout(()=>i.abort(),n);try{return await fetch(e,{...t,signal:i.signal})}catch(e){throw e instanceof DOMException&&e.name===`AbortError`?Error(`A leitura demorou mais de ${Math.ceil(n/1e3)} segundos. Tente novamente.`):e}finally{window.clearTimeout(o),r?.removeEventListener(`abort`,a)}}function W(e,t){if(t===void 0)return e;let n=new URL(e,`http://dashboard.local`);return t.from!==null&&n.searchParams.set(`from`,t.from),t.to!==null&&n.searchParams.set(`to`,t.to),`${n.pathname}${n.search}`}function Ne(e){return e.projection_refresh_completed}function Pe(e,t){return{reconciliation:e.reconciliation,dismissProgressDialog:!0,applySnapshotState:t,reloadQuickProjection:t&&Ne(e)}}var G={"pt-BR":{label:`Áreas do dashboard`,operations:`Operação`,operationsHint:`Trabalho em andamento e priorização`,costs:`Monitor de Custos`,costsHint:`Tempo, tokens e custo`,traceability:`Rastreabilidade`,traceabilityHint:`Ciclo completo em 6 etapas`},"en-US":{label:`Dashboard areas`,operations:`Operations`,operationsHint:`Lifecycle and work in progress`,costs:`Cost Monitor`,costsHint:`Time, tokens, and cost`,traceability:`Traceability`,traceabilityHint:`Complete 6-stage lifecycle`}};function Fe({activeView:e,locale:t,onChange:n}){let r=G[t],i=e=>{n(e),window.requestAnimationFrame(()=>{document.querySelector(`.dashboard-global-controls`)?.scrollIntoView({behavior:`smooth`,block:`start`})})};return(0,g.jsxs)(`nav`,{"aria-label":r.label,className:`dashboard-capability-nav`,children:[(0,g.jsxs)(`button`,{"aria-current":e===`cost-monitor`?`page`:void 0,className:e===`cost-monitor`?`is-active`:void 0,onClick:()=>i(`cost-monitor`),type:`button`,children:[(0,g.jsx)(Le,{}),(0,g.jsxs)(`span`,{children:[(0,g.jsx)(`strong`,{children:r.costs}),(0,g.jsx)(`small`,{children:r.costsHint})]})]}),(0,g.jsxs)(`button`,{"aria-current":e===`operations`?`page`:void 0,className:e===`operations`?`is-active`:void 0,onClick:()=>i(`operations`),type:`button`,children:[(0,g.jsx)(Ie,{}),(0,g.jsxs)(`span`,{children:[(0,g.jsx)(`strong`,{children:r.operations}),(0,g.jsx)(`small`,{children:r.operationsHint})]})]}),(0,g.jsxs)(`button`,{"aria-current":e===`traceability`?`page`:void 0,className:e===`traceability`?`is-active`:void 0,onClick:()=>i(`traceability`),type:`button`,children:[(0,g.jsx)(Re,{}),(0,g.jsxs)(`span`,{children:[(0,g.jsx)(`strong`,{children:r.traceability}),(0,g.jsx)(`small`,{children:r.traceabilityHint})]})]})]})}function Ie(){return(0,g.jsxs)(`svg`,{"aria-hidden":`true`,className:`lucide lucide-square-kanban`,viewBox:`0 0 24 24`,children:[(0,g.jsx)(`rect`,{height:`18`,rx:`2`,width:`18`,x:`3`,y:`3`}),(0,g.jsx)(`path`,{d:`M8 7v7`}),(0,g.jsx)(`path`,{d:`M12 7v4`}),(0,g.jsx)(`path`,{d:`M16 7v9`})]})}function Le(){return(0,g.jsxs)(`svg`,{"aria-hidden":`true`,className:`lucide lucide-circle-dollar-sign`,viewBox:`0 0 24 24`,children:[(0,g.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,g.jsx)(`path`,{d:`M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8`}),(0,g.jsx)(`path`,{d:`M12 18V6`})]})}function Re(){return(0,g.jsxs)(`svg`,{"aria-hidden":`true`,className:`lucide lucide-route`,viewBox:`0 0 24 24`,children:[(0,g.jsx)(`circle`,{cx:`6`,cy:`19`,r:`3`}),(0,g.jsx)(`path`,{d:`M9 19h6.5a3.5 3.5 0 0 0 0-7h-7a3.5 3.5 0 0 1 0-7H18`}),(0,g.jsx)(`circle`,{cx:`18`,cy:`5`,r:`3`})]})}function ze(e){m.useEffect(()=>{if(!e)return;let t=new EventSource(`/api/v2/browser-lease?token=${encodeURIComponent(e)}`);return()=>t.close()},[e])}function Be(e,t,n){return(0,g.jsx)(`div`,{className:`dashboard-capability-shell dashboard-capability-shell--${e??`initial`}`,children:(0,g.jsx)(Fe,{activeView:e,locale:t,onChange:n})})}function Ve(e){return t=>{window.history.pushState(null,``,t),e(t),window.scrollTo({left:0,top:0})}}function He(e,t,n){return new Map((t??e)?.runs.map(e=>[e.run_id,n===`USD`?e.estimated_usd:e.estimated_brl])??[])}function Ue(e,t,n){let r=t??e;if(r?.currency!==n)return{fact:{state:`unavailable`,knownSum:null,coverage:null},periods:void 0};let i=r.overview.coverage[n===`USD`?`usd`:`brl`],a=n===`USD`?r.overview.estimated_usd:r.overview.estimated_brl,o={known:i,total:r.overview.run_count};return{fact:a===null?{state:`unavailable`,knownSum:null,coverage:o}:i<r.overview.run_count?{state:`partial`,knownSum:a,coverage:o}:{state:`complete`,knownSum:a,coverage:o},periods:{day:r.groups.daily,month:r.groups.monthly,year:r.groups.annual}}}var We={title:`Dashboard ZAIP AIOS`,repositoryName:``};function Ge(e,t){let n=typeof t.title==`string`?t.title.trim():``,r=typeof t.repository_name==`string`?t.repository_name.trim():``;return{title:n||e.title,repositoryName:r}}function Ke(e,t,n,r,i,a,o,s){s(null),e===`costs`?r():e===`traceability`&&t?i(t):e===`operations`&&n!==null?a():o()}function qe(e,t,n,r,i,a,o,s,c){return he({api:e,costLocale:t,fxRate:n,navigate:r,pathname:i,pricing:a,refresh:async()=>{await o()},setFxRate:s,setPricing:c})}function Je(e){return async t=>{if(e.setDashboardView(t),window.scrollTo({left:0,top:0}),t===`cost-monitor`?S({costsLoaded:e.costsLoadedRef.current,currency:e.currency,snapshotCurrency:e.costs?.currency})&&(e.costSummaryAbortRef.current===null||e.costSummaryAbortRef.current.signal.aborted)&&e.loadCostSummary():e.costSummaryAbortRef.current?.abort(),t===`traceability`){let t=e.traceTasks;if(t.length===0){let n=e.boardRequestVersionRef.current;if(t=await e.loadMoreTraceTasks(!1,!0),n!==e.boardRequestVersionRef.current)return;e.setTraceTasks(t)}let n=t.toSorted((e,t)=>Date.parse(t.finished_at??t.updated_at)-Date.parse(e.finished_at??e.updated_at)),r=n.find(e=>e.status===`completed`)??n[0];r&&(e.setSelectedTraceTaskId(r.id),e.openTrace(r.id));return}e.setTrace(null),e.setTraceLoadingTaskId(null)}}function Ye(e,t=new Date){return e.preset===`custom`?e:e.preset===`all`?{...e,range:a(`this-month`,t)}:{...e,range:a(e.preset,t)}}function Xe(e=new Date){let t=n(e.toISOString(),`day`);if(t===null)throw RangeError(`Invalid Sao Paulo day anchor`);let r=e.getTime(),i=r+1800*60*1e3;for(;n(new Date(i).toISOString(),`day`)===t;)i+=360*60*1e3;for(;i-r>1;){let e=Math.floor((r+i)/2);n(new Date(e).toISOString(),`day`)===t?r=e:i=e}return Math.max(1,i-e.getTime()+25)}function K(e){return typeof e==`number`?e:null}function Ze(e){return typeof e==`number`?{known_sum:e,unknown:0,complete:!0,coverage_ratio:1}:{known_sum:0,unknown:1,complete:!1,coverage_ratio:0}}function Qe(e){return Object.hasOwn(e,`total_duration`)?K(e.total_duration):K(e.cost_monitor_total_duration)}function q(e,t,n){let{filters:r,query:i}=e;return{offset:t,limit:n,...i===void 0||i===``?{}:{query:i},...r.provider?{provider:r.provider}:{},...r.model?{model:r.model}:{},...r.agent?{agent:r.agent}:{},...r.phase?{phase:r.phase}:{},...r.status?{status:r.status}:{},...r.origin?{origin:r.origin}:{},...r.workType?{workType:r.workType}:{},...r.priority?{priority:r.priority}:{},...r.risk?{risk:r.risk}:{}}}function $e(e){let t=Qe(e),n=Number(e.duration_unknown??+(t===null)),r=t??K(e.duration_known)??0;return{key:String(e.key??e.period_key??`total`),label:String(e.label??e.key??e.period_key??``),latest_started_at:typeof e.latest_started_at==`string`?e.latest_started_at:``,persona:typeof e.persona==`string`?e.persona:null,job:typeof e.job==`string`?e.job:null,run_count:Number(e.total_run_count??e.invocation_count??0),task_count:K(e.task_count),conversation_count:Number(e.conversation_count??0),prd_count:K(e.prd_count),spec_count:K(e.spec_count),evidence_count:K(e.evidence_count),test_count:K(e.validation_count),event_count:Number(e.source_event_count??0),total_tokens:K(e.total_tokens),estimated_usd:K(e.total_cost_usd),estimated_brl:K(e.total_cost_brl),duration_ms:t,duration:{known_sum:r,unknown:n,complete:n===0,coverage_ratio:+(n===0)},coverage:{events:0,tokens:0,usd:0,brl:0}}}async function et(e,t){let{from:n,limit:r,offset:i,signal:a,to:o,view:s}=t,c=n===void 0||o===void 0?void 0:{from:n,to:o};if(s===`daily`){let n=await e.sqliteViewPage(`cost_monitor_daily`,c,q(t,i,r),a);return{offset:n.offset,limit:n.limit,total_count:n.total_count,has_more:n.has_more,rows:n.rows.map($e),...n.period_averages===void 0?{}:{period_averages:n.period_averages},...n.totals===void 0?{}:{totals:$e(n.totals)}}}let l={monthly:`cost_monitor_monthly`,annual:`cost_monitor_annual`,agents:`cost_monitor_zaip_agents`,models:`cost_monitor_models`,providers:`cost_monitor_providers`}[s],u=await e.sqliteViewPage(l,c,q(t,i,r),a);return{offset:u.offset,limit:u.limit,total_count:u.total_count,has_more:u.has_more,rows:u.rows.map($e),...u.period_averages===void 0?{}:{period_averages:u.period_averages},...u.totals===void 0?{}:{totals:$e(u.totals)}}}async function tt(e,t){let{filters:n,from:r,limit:i=10,offset:a,signal:o,to:s}=t,c=await e.sqliteViewPage(`cost_monitor_agent_invocations`,r===void 0||s===void 0?void 0:{from:r,to:s},{offset:a,limit:i,...n?.query?{query:n.query}:{},...n?.provider?{provider:n.provider}:{},...n?.model?{model:n.model}:{},...n?.agent?{agent:n.agent}:{},...n?.phase?{phase:n.phase}:{},...n?.status?{status:n.status}:{},...n?.priority?{priority:n.priority}:{},...n?.risk?{risk:n.risk}:{},...n?.origin?{origin:n.origin}:{},...n?.workType?{workType:n.workType}:{}},o);return{page_only:!0,runs:c.rows.map(nt),run_page:{offset:c.offset,limit:c.limit,total:c.total_count,has_more:c.has_more}}}function nt(e){let t=(e,t)=>typeof e==`string`?e:t,n=e=>typeof e==`number`?e:null,r=t(e.agent_invocation_id,`unavailable`),i=typeof e.task_id==`string`?e.task_id:null,a=typeof e.spec_id==`string`?e.spec_id:null,o=typeof e.prd_id==`string`?e.prd_id:null,s=t(e.phase,`execution`),c=e.duration_provenance===`observed`||e.duration_provenance===`reconciled`||e.duration_provenance===`estimated`||e.duration_provenance===`legacy_inferred`?e.duration_provenance:`unavailable`,l=Object.hasOwn(e,`calculated_cost_usd`)?n(e.calculated_cost_usd):n(e.cost_usd),u=n(e.current_fx_rate)??n(e.fx_rate),d=n(e.recorded_cost_usd)??n(e.recorded_usd),f=Object.hasOwn(e,`recorded_fx_rate`)?n(e.recorded_fx_rate):n(e.fx_rate),p=n(e.recorded_brl)??(!Object.hasOwn(e,`recorded_brl`)&&d!==null?n(e.cost_brl):null),m=l!==null&&u!==null?Math.round(l*u*1e6)/1e6:null;return{run_id:r,execution_id:typeof e.execution_id==`string`?e.execution_id:null,conversation_id:t(e.run_id,r),task_id:i,task_title:t(e.task_title,i??`Tarefa avulsa`),task_status:t(e.task_status,`unavailable`),priority:t(e.priority,`unavailable`),risk:t(e.risk,`unavailable`),spec_id:a,prd_id:o,change_id:typeof e.change_id==`string`?e.change_id:null,parent_run_id:typeof e.parent_agent_invocation_id==`string`?e.parent_agent_invocation_id:null,run_role:e.invocation_kind===`subagent`?`subagent`:`orchestrator`,run_kind:e.run_kind===`subrun`?`subrun`:`run`,run_purpose:`execution`,requires_finalizer:!1,client:t(e.client,`unavailable`),agent:t(e.zaip_agent,`unavailable`),agent_name:t(e.zaip_agent,`unavailable`),provider:typeof e.provider==`string`?e.provider:null,model:t(e.model,`unavailable`),requested_model:t(e.requested_model,`unavailable`),reasoning_effort:typeof e.reasoning_effort==`string`?e.reasoning_effort:null,effective_reasoning_effort:typeof e.effective_reasoning_effort==`string`?e.effective_reasoning_effort:null,service_tier:typeof e.service_tier==`string`?e.service_tier:null,call_count:n(e.llm_call_count),status:t(e.status,`completed`),phase:s,origin:o===null?a===null?i===null?`conversation`:`task`:`spec`:`prd`,work_type:e.work_type===`rework`?`rework`:`new`,started_at:t(e.occurred_at,``),finished_at:typeof e.finished_at==`string`?e.finished_at:null,duration_ms:n(e.duration_ms),duration_provenance:c,estimation_basis:typeof e.estimation_basis==`string`?e.estimation_basis:null,source_started_at:typeof e.source_started_at==`string`?e.source_started_at:null,source_finished_at:typeof e.source_finished_at==`string`?e.source_finished_at:null,capture_lag_ms:n(e.capture_lag_ms),event_count:n(e.source_event_count),input_tokens:n(e.input_tokens),cached_input_tokens:n(e.cached_input_tokens),output_tokens:n(e.output_tokens),reasoning_tokens:n(e.reasoning_tokens),total_tokens:n(e.total_tokens),uncached_input_tokens:n(e.uncached_input_tokens),visible_output_tokens:n(e.visible_output_tokens),input_rate_usd_per_million:n(e.input_rate_usd_per_million),cached_input_rate_usd_per_million:n(e.cached_input_rate_usd_per_million),output_rate_usd_per_million:n(e.output_rate_usd_per_million),reasoning_rate_usd_per_million:n(e.reasoning_rate_usd_per_million),context_input_multiplier:n(e.context_input_multiplier),context_output_multiplier:n(e.context_output_multiplier),speed_cost_multiplier:n(e.speed_cost_multiplier),standard_cost_usd:n(e.standard_cost_usd),speed_uplift_usd:n(e.speed_uplift_usd),input_cost_usd:n(e.input_cost_usd),cached_input_cost_usd:n(e.cached_input_cost_usd),output_cost_usd:n(e.output_cost_usd),reasoning_cost_usd:n(e.reasoning_cost_usd),fx_rate:u,estimated_usd:l,estimated_brl:m,recorded_usd:d,recorded_brl:p,recorded_fx_rate:f,coverage:{events:0,tokens:0,usd:0,brl:0},artifact_path:`.agents/records/runs/${r}`}}function rt(e,t){let n=t.totals,r=e=>Ze(n?.[e]);return{data_source:`lifecycle_daily_read_models`,snapshot_id:null,source_latest_at:null,kind:e,offset:t.offset,limit:t.limit,total:t.total_count,has_more:t.has_more,next_cursor:null,subtotal:{entity_count:typeof n?.entity_count==`number`?n.entity_count:t.total_count,run_count:r(`invocation_count`),metrics:{duration:r(`total_duration`),total_tokens:r(`total_tokens`),cost_brl:r(`total_cost_brl`),cost_usd:r(`total_cost_usd`)}},rows:t.rows.map(t=>({id:String(t.task_id??t.spec_id??t.prd_id??t.execution_id??t.conversation_id??t.id??`unavailable`),title:String(t.title??t.task_id??t.spec_id??t.prd_id??t.execution_id??t.conversation_id??`Unavailable`),kind:e===`tasks`?`task`:e===`specs`?`spec`:e===`prds`?`prd`:e===`executions`?`execution`:`conversation`,status:typeof t.status==`string`?t.status:null,risk:typeof t.risk==`string`?t.risk:null,occurred_at:typeof t.occurred_at==`string`?t.occurred_at:typeof t.started_at==`string`?t.started_at:typeof t.last_day==`string`?`${t.last_day}T12:00:00.000Z`:``,parent_id:null,run_count:Number(t.invocation_count??0),cost_currency:`BRL`,metrics:{duration:Ze(t.total_duration),total_tokens:Ze(t.total_tokens),cost:Ze(t.total_cost_brl)}}))}}function it(e){return{loadCostDetail:(0,m.useCallback)(async()=>{throw Error(`SQLite Cost Monitor loads the selected paginated view; full detail is disabled.`)},[]),loadCostReadModelPage:(0,m.useCallback)(async({filters:t,from:n,kind:r,limit:i,offset:a,query:o,signal:s,to:c})=>{let l={tasks:`cost_monitor_tasks`,specs:`cost_monitor_specs`,prds:`cost_monitor_prds`,executions:`cost_monitor_executions`,conversations:`cost_monitor_conversations`}[r];return rt(r,await e.sqliteViewPage(l,n===void 0||c===void 0?void 0:{from:n,to:c},{offset:a,limit:i,...t.query||o?{query:t.query||o}:{},...t.provider?{provider:t.provider}:{},...t.model?{model:t.model}:{},...t.agent?{agent:t.agent}:{},...t.phase?{phase:t.phase}:{},...t.status?{status:t.status}:{},...t.origin?{origin:t.origin}:{},...t.workType?{workType:t.workType}:{},...t.priority?{priority:t.priority}:{},...t.risk?{risk:t.risk}:{}},s))},[e]),loadCostRunPage:(0,m.useCallback)(t=>tt(e,t),[e]),loadCostGroupPage:(0,m.useCallback)(t=>et(e,t),[e])}}function at(e,t){return!1}function ot(e,t=window,n=0){let r=!1,i=!1,a=new AbortController,o=t.setTimeout(()=>{r||i||(i=!0,e(a.signal))},n);return()=>{r||(r=!0,a.abort(),t.clearTimeout(o))}}var st=2e3,ct=5e3,lt=1e4,ut=3e4,dt=`A atualização do snapshot não foi concluída. Os dados exibidos podem estar desatualizados.`;function ft(e,t){return e&&t<90}function pt(e,t){return e===`visible`?ct:t>0?ut:lt}function mt(e,t){return e!==null&&typeof t==`string`&&t.length>0&&e!==t}function ht(e,t){return(e===`current`||e===`updating`)&&typeof t==`string`&&t.length>0}function gt({observedRevision:e,pendingRevision:t,requestedRevision:n,succeeded:r}){return r?{observedRevision:n,pendingRevision:t===n?null:t}:{observedRevision:e,pendingRevision:t}}function _t({inFlight:e,lastRefreshAt:t,now:n,visibilityState:r}){return r===`visible`&&!e&&n-t>=5e3}function vt({api:e,costLocale:t,currency:n,dashboardView:r,loadOperationsDetails:i,operations:a,operationsDetailAbortRef:o,operationsDetailCancelRef:s,operationsPageAbortRef:c,pathname:l,pricing:u,refresh:d,refreshVersion:f,snapshotUpdating:p,setSnapshotUpdating:h,setError:g,setFxRate:_,setPathname:v,setPricing:y}){let b=(0,m.useRef)(!1),x=(0,m.useRef)(0),S=(0,m.useRef)(null),C=(0,m.useRef)(!1),w=(0,m.useRef)(null);(0,m.useEffect)(()=>(d(),()=>{s.current?.(),s.current=null,o.current?.abort(),o.current=null,c.current?.abort(),c.current=null,++f.current}),[o,s,c,d,f]),(0,m.useEffect)(()=>{let e=()=>{let e=Date.now();_t({inFlight:b.current,lastRefreshAt:x.current,now:e,visibilityState:document.visibilityState})&&(x.current=e,b.current=!0,d(!1,!1,!0).finally(()=>{b.current=!1}))};return window.addEventListener(`focus`,e),document.addEventListener(`visibilitychange`,e),()=>{window.removeEventListener(`focus`,e),document.removeEventListener(`visibilitychange`,e)}},[d]),(0,m.useEffect)(()=>{if(!p)return;let t=!1,n=0,r=null,i=async()=>{if(!(t||!ft(!0,n))){n+=1;try{let n=await e.ready();if(t)return;if(n.snapshot_state===`current`){h(!1),await d(!1,!1,!1,!0);return}}catch{}if(!t){if(ft(!0,n)){r=window.setTimeout(()=>void i(),st);return}h(!1),g(dt)}}};return i(),()=>{t=!0,r!==null&&window.clearTimeout(r)}},[e,d,g,h,p]),(0,m.useEffect)(()=>{let t=!1,n=0,r=null,i=()=>{if(t||C.current)return;let e=w.current;e!==null&&(C.current=!0,d(!1,!1,!1,!0).then(t=>{t&&h(!1);let n=gt({observedRevision:S.current,pendingRevision:w.current,requestedRevision:e,succeeded:t});S.current=n.observedRevision,w.current=n.pendingRevision}).finally(()=>{C.current=!1,w.current!==e&&i()}))},a=async()=>{try{let r=await e.ready();if(t)return;n=0;let a=S.current;ht(r.snapshot_state,r.snapshot_revision)&&(a===null&&(S.current=r.snapshot_revision),mt(a,r.snapshot_revision)&&(w.current=r.snapshot_revision,i()))}catch{n+=1}t||(r=window.setTimeout(()=>void a(),pt(document.visibilityState,n)))};return a(),()=>{t=!0,r!==null&&window.clearTimeout(r)}},[e,d,h]),(0,m.useEffect)(()=>{if(!at(r,a?.summary.overview_metrics?.partial===!0))return;let e=ot(async e=>{await i(e)});return s.current=e,()=>{s.current===e&&(s.current=null),e()}},[r,i,a?.summary.overview_metrics?.partial,s]),(0,m.useEffect)(()=>window.localStorage.setItem(Ee,t),[t]),(0,m.useEffect)(()=>window.localStorage.setItem(De,n),[n]),(0,m.useEffect)(()=>{[`/`,`/setup-pricing`,`/setup-project`].includes(window.location.pathname)||(window.history.replaceState(null,``,`/${window.location.search}${window.location.hash}`),v(`/`))},[v]),(0,m.useEffect)(()=>{let e=()=>v(window.location.pathname);return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[v]),(0,m.useEffect)(()=>{l!==`/setup-pricing`||u!==null||Promise.all([e.pricing(),e.fxRate()]).then(([e,t])=>{y(e),_(t)}).catch(e=>g(String(e)))},[e,l,u,g,_,y])}var J={events:0,tokens:{input:null,cached_input:null,output:null,reasoning:null,total:null},cost:{usd:null,brl:null},coverage:{events:0,tokens:0,usd:0,brl:0}};function yt(e,t,n){let r=e=>e===`intake`||e===`orchestration`||e===`execution`||e===`review`||e===`audit`||e===`finalization`?e:`execution`,i=n.rows.map(e=>({id:e.id,artifact_path:`.agents/records/runs/${e.id}`,status:e.status===`running`||e.status===`failed`||e.status===`cancelled`?e.status:`completed`,phase:e.phase??`execution`,entrypoint:e.conversation_id===null?`task`:`conversation`,work_type:`new`,run_role:e.run_kind===`subrun`?`subagent`:`orchestrator`,run_kind:e.run_kind??`run`,run_purpose:r(e.run_purpose),requires_finalizer:!1,parent_run_id:e.parent_run_id,client:e.client??`unknown`,agent:e.agent??`unknown`,agent_name:e.agent??`unknown`,agent_persona:e.agent_persona??null,agent_job:e.agent_job??null,provider:e.provider??null,model:e.model??`unknown`,reasoning_effort:e.reasoning_effort??null,effective_model:e.model??null,effective_reasoning_effort:e.reasoning_effort??null,effective_config_mixed:e.pricing_mixed??!1,service_tier:e.service_tier??null,call_count:e.llm_call_count??null,terminal_call_count:null,failed_call_count:null,cancelled_call_count:null,conversation_id:e.conversation_id??e.id,execution_id:e.execution_id,task_id:e.task_id,spec_id:null,prd_id:null,change_id:null,started_at:e.started_at,finished_at:e.finished_at,duration_ms:e.duration_ms,source_duration_ms:e.source_duration_ms===void 0?e.duration_ms:e.source_duration_ms,duration_provenance:e.duration_provenance===`observed`||e.duration_provenance===`reconciled`||e.duration_provenance===`legacy_inferred`||e.duration_provenance===`estimated`?e.duration_provenance:`unavailable`,llm_call_count:e.llm_call_count??null,input_tokens:e.input_tokens??null,cached_input_tokens:e.cached_input_tokens??null,uncached_input_tokens:e.uncached_input_tokens??null,output_tokens:e.output_tokens??null,reasoning_tokens:e.reasoning_tokens??null,visible_output_tokens:e.visible_output_tokens??null,input_rate_usd_per_million:e.input_rate_usd_per_million??null,cached_input_rate_usd_per_million:e.cached_input_rate_usd_per_million??null,output_rate_usd_per_million:e.output_rate_usd_per_million??null,reasoning_rate_usd_per_million:e.reasoning_rate_usd_per_million??null,context_input_multiplier:e.context_input_multiplier??null,context_output_multiplier:e.context_output_multiplier??null,speed_cost_multiplier:e.speed_cost_multiplier??null,pricing_scenario:e.pricing_scenario??null,standard_cost_usd:e.standard_cost_usd??null,speed_uplift_usd:e.speed_uplift_usd??null,input_cost_usd:e.input_cost_usd??null,cached_input_cost_usd:e.cached_input_cost_usd??null,output_cost_usd:e.output_cost_usd??null,reasoning_cost_usd:e.reasoning_cost_usd??null,calculated_cost_usd:e.calculated_cost_usd??null,recorded_cost_usd:e.recorded_cost_usd??null,cost_variance_usd:e.cost_variance_usd??null,cost_usd:e.cost_usd??null,cost_brl:e.currency===`BRL`?e.cost:null,fx_rate:e.fx_rate??null,pricing_segment_count:e.pricing_segment_count??null,pricing_mixed:e.pricing_mixed??!1,pricing_model:e.pricing_model??null,pricing_source:e.pricing_source??null,...e.lifecycle_elapsed_ms===void 0?{}:{lifecycle_elapsed_ms:e.lifecycle_elapsed_ms},usage:{conversation:J,planning:J,execution:{...J,events:e.llm_call_count??0,tokens:{input:e.input_tokens??null,cached_input:e.cached_input_tokens??null,output:e.output_tokens??null,reasoning:e.reasoning_tokens??null,total:e.total_tokens},cost:{usd:e.cost_usd??null,brl:e.currency===`BRL`?e.cost:null}},total:{...J,events:e.llm_call_count??0,tokens:{input:e.input_tokens??null,cached_input:e.cached_input_tokens??null,output:e.output_tokens??null,reasoning:e.reasoning_tokens??null,total:e.total_tokens},cost:{usd:e.cost_usd??null,brl:e.currency===`BRL`?e.cost:null}},new_work:J,rework:J}}));return{...e,runs:i,executions:t===`executions`||t===`conversations`?n.rows.map((e,n)=>{let r=i[n];if(r===void 0)throw Error(`Operations entity page must have a projected run for every row.`);let a=r.execution_id??r.conversation_id,o=e.status??`unavailable`;return{id:a,kind:t===`conversations`?`interaction`:`delivery`,created_at:r.started_at,status:o,work_status:o,origin:t===`conversations`?{type:`interaction`,conversation_id:r.conversation_id}:{type:`task`,task_id:r.task_id??`unavailable`},dag:{nodes:[],topological_order:[]},result:null,artifact_path:`.agents/records/executions/${a}`,agent_call_count:0,orchestrator_run_count:0,subagent_run_count:0,finalizer_run_count:0,finalized_task_count:0,llm_call_count:0,llm_call_count_complete:!1,task_count:0,spec_count:0,prd_count:0,duration_ms:r.source_duration_ms??null,...e.lifecycle_elapsed_ms===void 0?{}:{lifecycle_elapsed_ms:e.lifecycle_elapsed_ms},total_tokens:r.usage.total.tokens.total,cost_brl:r.usage.total.cost.brl}}):e.executions}}function Y(e){if(typeof e!=`string`)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function bt({api:e,entityFiltersRef:t,operationsPageAbortRef:n,operationsPageRequestVersionRef:r,operationsPeriod:i,operationsPeriodRef:a,refreshVersion:o,setEntityPage:s,setEntityPageKind:c,setOperations:l}){return{loadOperationsEntityPage:(0,m.useCallback)(async(u,d=0,f=t.current)=>{n.current?.abort();let p=new AbortController;n.current=p;let m=++r.current,h=o.current,g=z(i),_=()=>O(m,r.current,p.signal)&&T(h,o.current,g,z(a.current));c(u),s({offset:d,total:null,loading:!0,error:null});try{let t={runs:`operations_agent_invocations`,executions:`operations_executions`,conversations:`operations_conversations`}[u],n=await e.sqliteViewPage(t,g,{offset:d,limit:100,...f.query?{query:f.query}:{},...f.status?{status:f.status}:{},...f.risk?{risk:f.risk}:{}},p.signal),r={kind:u,offset:n.offset,limit:n.limit,total:n.total_count,aggregation:`canonical_entity`,rows:n.rows.map(e=>({id:String(e.agent_invocation_id??e.execution_id??e.conversation_id??e.id),started_at:String(e.occurred_at??e.started_at??`1970-01-01T00:00:00.000Z`),finished_at:typeof e.finished_at==`string`?e.finished_at:null,task_id:typeof e.task_id==`string`?e.task_id:null,execution_id:typeof e.execution_id==`string`?e.execution_id:null,conversation_id:typeof e.conversation_id==`string`?e.conversation_id:null,parent_run_id:typeof e.parent_agent_invocation_id==`string`?e.parent_agent_invocation_id:null,run_kind:e.invocation_kind===`delegated`||e.invocation_kind===`subagent`?`subrun`:e.invocation_kind===`orchestrator`?`run`:null,run_purpose:typeof e.purpose==`string`?e.purpose:null,phase:typeof e.phase==`string`?e.phase:null,status:typeof e.status==`string`?e.status:null,agent:typeof e.zaip_agent==`string`?e.zaip_agent:null,agent_persona:typeof e.zaip_agent_persona==`string`?e.zaip_agent_persona:null,agent_job:typeof e.zaip_agent_job==`string`?e.zaip_agent_job:null,client:typeof e.client==`string`?e.client:null,provider:typeof e.provider==`string`?e.provider:null,model:typeof e.model==`string`?e.model:null,reasoning_effort:typeof e.reasoning_effort==`string`?e.reasoning_effort:null,service_tier:typeof e.service_tier==`string`?e.service_tier:null,duration_ms:typeof e.duration_ms==`number`?e.duration_ms:typeof e.total_duration==`number`?e.total_duration:null,source_duration_ms:typeof e.source_duration_ms==`number`?e.source_duration_ms:null,duration_provenance:typeof e.duration_provenance==`string`?e.duration_provenance:null,llm_call_count:typeof e.llm_call_count==`number`?e.llm_call_count:null,input_tokens:typeof e.input_tokens==`number`?e.input_tokens:null,cached_input_tokens:typeof e.cached_input_tokens==`number`?e.cached_input_tokens:null,uncached_input_tokens:typeof e.uncached_input_tokens==`number`?e.uncached_input_tokens:null,output_tokens:typeof e.output_tokens==`number`?e.output_tokens:null,reasoning_tokens:typeof e.reasoning_tokens==`number`?e.reasoning_tokens:null,visible_output_tokens:typeof e.visible_output_tokens==`number`?e.visible_output_tokens:null,total_tokens:typeof e.total_tokens==`number`?e.total_tokens:null,input_rate_usd_per_million:typeof e.input_rate_usd_per_million==`number`?e.input_rate_usd_per_million:null,cached_input_rate_usd_per_million:typeof e.cached_input_rate_usd_per_million==`number`?e.cached_input_rate_usd_per_million:null,output_rate_usd_per_million:typeof e.output_rate_usd_per_million==`number`?e.output_rate_usd_per_million:null,reasoning_rate_usd_per_million:typeof e.reasoning_rate_usd_per_million==`number`?e.reasoning_rate_usd_per_million:null,context_input_multiplier:typeof e.context_input_multiplier==`number`?e.context_input_multiplier:null,context_output_multiplier:typeof e.context_output_multiplier==`number`?e.context_output_multiplier:null,speed_cost_multiplier:typeof e.speed_cost_multiplier==`number`?e.speed_cost_multiplier:null,pricing_scenario:typeof e.pricing_scenario==`string`?e.pricing_scenario:null,standard_cost_usd:typeof e.standard_cost_usd==`number`?e.standard_cost_usd:null,speed_uplift_usd:typeof e.speed_uplift_usd==`number`?e.speed_uplift_usd:null,input_cost_usd:typeof e.input_cost_usd==`number`?e.input_cost_usd:null,cached_input_cost_usd:typeof e.cached_input_cost_usd==`number`?e.cached_input_cost_usd:null,output_cost_usd:typeof e.output_cost_usd==`number`?e.output_cost_usd:null,reasoning_cost_usd:typeof e.reasoning_cost_usd==`number`?e.reasoning_cost_usd:null,calculated_cost_usd:typeof e.calculated_cost_usd==`number`?e.calculated_cost_usd:null,recorded_cost_usd:typeof e.recorded_cost_usd==`number`?e.recorded_cost_usd:null,cost_variance_usd:typeof e.cost_variance_usd==`number`?e.cost_variance_usd:null,cost_usd:typeof e.cost_usd==`number`?e.cost_usd:null,fx_rate:typeof e.fx_rate==`number`?e.fx_rate:null,pricing_segment_count:typeof e.pricing_segment_count==`number`?e.pricing_segment_count:null,pricing_mixed:e.pricing_mixed===1||e.pricing_mixed===!0,pricing_model:typeof e.audit_pricing_model==`string`?e.audit_pricing_model:typeof e.pricing_model==`string`?e.pricing_model:null,pricing_source:typeof e.audit_pricing_source==`string`?e.audit_pricing_source:typeof e.pricing_source==`string`?e.pricing_source:null,cost:typeof e.total_cost_brl==`number`?e.total_cost_brl:typeof e.cost_brl==`number`?e.cost_brl:null,currency:`BRL`}))};if(!_())return;l(e=>e===null?e:yt(e,u,r)),s({offset:r.offset,total:r.total,loading:!1,error:null,aggregation:r.aggregation})}catch(e){if(!_()||E(e))return;s({offset:d,total:null,loading:!1,error:e instanceof Error?e.message:String(e)})}finally{n.current===p&&(n.current=null)}},[e,t,n,r,i,a,o,s,c,l]),loadOperationsLifecyclePage:(0,m.useCallback)(async(u,d=0,f=t.current)=>{n.current?.abort();let p=new AbortController;n.current=p;let m=++r.current,h=o.current,g=z(i),_=()=>O(m,r.current,p.signal)&&T(h,o.current,g,z(a.current));c(u),s({offset:d,total:null,loading:!0,error:null});try{let t=await e.sqliteViewPage(u===`changes`?`operations_changes`:`operations_decisions`,g,{offset:d,limit:100,...f.query?{query:f.query}:{},...f.status?{status:f.status}:{},...f.risk?{risk:f.risk}:{}},p.signal),n=u===`changes`?t.rows.map(e=>{let t=String(e.source_type),n=String(e.source_id);return{id:String(e.id),title:typeof e.title==`string`?e.title:String(e.id),created_at:typeof e.occurred_at==`string`?e.occurred_at:null,status:typeof e.status==`string`?e.status:`unclassified`,risk:typeof e.risk==`string`?e.risk:`unclassified`,source:t===`spec`?{type:`spec`,spec_id:n}:t===`prd`?{type:`prd`,prd_id:n,spec_id:null}:{type:`task`,task_id:n},requirement_ids:Y(e.requirement_ids_json),acceptance_ids:Y(e.acceptance_ids_json),task_ids:Y(e.task_ids_json),result:typeof e.result==`string`?e.result:null,artifact_path:typeof e.source_path==`string`?e.source_path:String(e.id)}}):t.rows.map(e=>({id:String(e.id),title:typeof e.title==`string`?e.title:String(e.id),origin:e.origin===`human`?`human`:`agent`,scope_type:e.scope_type===`execution`?`execution`:`change`,scope_id:String(e.scope_id),artifact_path:typeof e.source_path==`string`?e.source_path:String(e.id),created_at:typeof e.occurred_at==`string`?e.occurred_at:`1970-01-01T00:00:00.000Z`})),r={kind:u,offset:t.offset,limit:t.limit,total:t.total_count,rows:n};if(!_())return;l(e=>e===null?e:{...e,...u===`changes`?{changes:r.rows}:{decisions:r.rows}}),s({offset:r.offset,total:r.total,loading:!1,error:null})}catch(e){if(!_()||E(e))return;s({offset:d,total:null,loading:!1,error:e instanceof Error?e.message:String(e)})}finally{n.current===p&&(n.current=null)}},[e,t,n,r,i,a,o,s,c,l])}}function xt({api:e,operations:t,isOperationsDetailLoaded:n,setError:r,setFailedArea:i,setLoadingArea:a}){let[o,s]=(0,m.useState)(null),[c,l]=(0,m.useState)([]),[u,d]=(0,m.useState)(null),[f,p]=(0,m.useState)(null),h=(0,m.useRef)(0),g=(0,m.useRef)(0),_=(0,m.useRef)(0),v=(0,m.useRef)(null),[y,b]=(0,m.useState)(null),x=(0,m.useRef)(null),[S,C]=(0,m.useState)(null),[w,T]=(0,m.useState)(``);async function E(n){_.current+=1,v.current?.abort(),b(null),p(null);let o=++g.current;x.current?.abort();let l=new AbortController;x.current=l,r(null),i(null),s(null),C(n),a(`traceability`),await new Promise(e=>window.requestAnimationFrame(()=>e()));try{let r=await e.taskTrace(n,l.signal);if(g.current!==o)return!1;let i=c.find(e=>e.id===n)??t?.tasks.find(e=>e.id===n);return s({...r,task_title:i?.title||r.task_title||n,task_risk:i?.risk||r.task_risk||null,task_created_at:i?.created_at||r.task_created_at||null,task_progress:r.task_progress??i?.progress??0}),!0}catch(e){return l.signal.aborted||g.current!==o?!1:(r(e instanceof Error?e.message:String(e)),i(`traceability`),!1)}finally{g.current===o&&(x.current===l&&(x.current=null),C(null),a(e=>e===`traceability`?null:e))}}function D(e){let n=t?.changes.find(t=>t.id===e);n!==void 0&&(s(null),p({kind:`change`,row:n}))}async function O(o,c){let l=++_.current;v.current?.abort(),v.current=null,g.current+=1,x.current?.abort(),x.current=null,C(null),a(e=>e===`traceability`?null:e),r(null),i(null),s(null),p(null);let u=(o===`PRD`?t?.prds:t?.specs)?.find(e=>e.id===c&&e.kind===o.toLowerCase());if(u&&t&&n()){b(null),p({kind:`macro`,label:o,row:u,projection:t});return}let d=new AbortController;v.current=d,b({label:o,id:c});try{let t=await e.operations(void 0,`detail`,d.signal);if(l!==_.current||d.signal.aborted)return;let n=(o===`PRD`?t.prds:t.specs).find(e=>e.id===c&&e.kind===o.toLowerCase());if(!n)throw Error(`${o} ${c} not found`);p({kind:`macro`,label:o,row:n,projection:t})}catch(e){if(l!==_.current||d.signal.aborted)return;r(e instanceof Error?e.message:String(e))}finally{l===_.current&&(v.current===d&&(v.current=null),b(null))}}async function k(n,r){let i=(n===`prd`?t?.prds:t?.specs)?.find(e=>e.id===r)??(f?.kind===`macro`?(n===`prd`?f.projection.prds:f.projection.specs).find(e=>e.id===r):void 0);if(!i)return;let a=++h.current,o=n===`prd`?`PRD`:`SPEC`;d({kind:n,label:o,preview:i});try{let t=n===`prd`?await e.prd(r):await e.spec(r);if(h.current!==a)return;d({kind:n,label:o,preview:i,detail:t})}catch(e){if(h.current!==a)return;d({kind:n,label:o,preview:i,error:e instanceof Error?e.message:String(e)})}}function A(){h.current+=1,d(null)}return{closeDocument:A,documentDetail:u,openDocument:k,openTrace:E,openTraceChange:D,openTraceMacro:O,selectedTraceTaskId:w,setSelectedTraceTaskId:T,setTrace:s,setTraceLink:p,setTraceLoadingTaskId:C,setTraceTasks:l,trace:o,traceLink:f,traceMacroLoading:y,traceLoadingTaskId:S,traceTasks:c}}function St({cursor:e,page:t,tasks:n}){let r=new Map(n.map(e=>[e.id,e]));for(let e of t.tasks)r.set(e.id,e);let i=e.offset+t.tasks.length;return{tasks:[...r.values()],cursor:t.tasks.length===0||i>=t.total?{offset:0,stageIndex:e.stageIndex+1}:{...e,offset:i}}}function Ct(e,t,n){return Math.min(t,e+n)}function wt(e,t,n){let r=(0,m.useRef)(t),i=(0,m.useRef)({offset:0,stageIndex:0}),a=(0,m.useRef)(!1),[o,s]=(0,m.useState)(!1),[c,l]=(0,m.useState)(!1);return(0,m.useEffect)(()=>{r.current=t},[t]),{loadMoreTraceTasks:(0,m.useCallback)(async(t=!1,o=!1)=>{if(a.current||(o&&(i.current={offset:0,stageIndex:0},r.current=[],n([]),s(!0)),i.current.stageIndex>=1))return r.current;a.current=!0,l(!0);try{do{let a=i.current,o=await e.traceabilityTasks(a.offset,10),s=St({cursor:a,page:o,tasks:r.current});if(r.current=s.tasks,n(r.current),i.current=s.cursor,o.tasks.length>0&&!t)break}while(i.current.stageIndex<1);return s(i.current.stageIndex<1),r.current}finally{a.current=!1,l(!1)}},[e,n]),traceTasksHasMore:o,traceTasksLoading:c}}function Tt({api:e,boardAbortControllersRef:t,boardFilterKeyRef:n,boardFiltersRef:r,boardInFlightRef:i,boardInitialPageRef:a,boardLoadedRef:o,boardRequestVersionRef:s,dashboardView:c,operations:l,operationsPeriod:u,operationsPeriodRef:d,overviewStatusInFlightRef:f,quickOverviewMetricsRef:p,setBoardKindTotals:h,setBoardStates:g,setBoardTotals:_,setOperations:v,setOverviewClassificationPages:y,setOverviewStatusPages:b}){let x=(0,m.useCallback)(()=>{s.current+=1;for(let e of t.current.values())e.abort();t.current.clear(),i.current.clear(),a.current.clear(),o.current={},_({}),h({}),g({}),b({}),y({})},[t,i,a,o,s,h,g,_,y,b]),S=(0,m.useCallback)(async n=>{if(l===null||i.current.has(n))return;i.current.add(n),t.current.get(n)?.abort();let a=new AbortController;t.current.set(n,a);let c=s.current,f=z(u);g(e=>({...e,[n]:{loading:!0,error:null}}));let p=o.current[n]??0;try{let t=await e.operationsBoard(f,n,p,r.current,a.signal,10);if(a.signal.aborted||c!==s.current||f.from!==z(d.current).from||f.to!==z(d.current).to)return;v(e=>e===null?e:{...k(e,[t]),summary:e.summary}),_(e=>({...e,[n]:t.total})),h(e=>({...e,[n]:t.totals_by_kind})),o.current={...o.current,[n]:p+t.prds.length+t.specs.length+t.tasks.length}}catch(e){if(a.signal.aborted||c!==s.current||E(e))return;g(t=>({...t,[n]:{loading:!1,error:e instanceof Error?e.message:String(e)}}))}finally{c===s.current&&(i.current.delete(n),t.current.get(n)===a&&t.current.delete(n),g(e=>e[n]?.error===null?{...e,[n]:{loading:!1,error:null}}:e))}},[e,t,r,i,o,s,l,u,d,h,g,_,v]),C=(0,m.useCallback)(e=>{let t={...e,kind:e.kind??r.current.kind??``},i=`${t.query}|${t.status}|${t.risk}|${t.origin??``}|${t.kind}`;i!==n.current&&(n.current=i,r.current=t,x(),v(e=>e===null?e:{...e,prds:[],specs:[],tasks:[],changes:[],summary:i===`||||`&&p.current!==void 0?{...e.summary,overview_metrics:p.current}:e.summary}))},[n,r,p,x,v]),w=(0,m.useCallback)(async(t,n,r)=>{let i=Se(t,n),a=f.current;if(a.has(i))return;a.add(i);let o=s.current,c=z(u);b(e=>({...e,[i]:{items:r===0?[]:e[i]?.items??[],total:e[i]?.total??0,loading:!0,error:null}}));try{let a=await e.operationsBoard(c,t,r,{kind:n===`task`?`all-tasks`:n});if(o!==s.current||c.from!==z(d.current).from||c.to!==z(d.current).to)return;let l=n===`task`?a.tasks:n===`spec`?a.specs:a.prds;b(e=>({...e,[i]:{items:r===0?l:[...e[i]?.items??[],...l],total:a.total,loading:!1,error:null}}))}catch(e){if(o!==s.current||E(e))return;b(t=>({...t,[i]:{items:t[i]?.items??[],total:t[i]?.total??0,loading:!1,error:e instanceof Error?e.message:String(e)}}))}finally{a.delete(i)}},[e,s,u,d,f,b]),T=(0,m.useCallback)(async(t,n,r)=>{let i=Ce(t,n),a=f.current;if(a.has(i))return;a.add(i);let o=s.current,c=z(u);y(e=>({...e,[i]:{items:r===0?[]:e[i]?.items??[],total:e[i]?.total??0,loading:!0,error:null}}));try{let a=await e.operationsClassification(c,t,n,r);if(o!==s.current||c.from!==z(d.current).from||c.to!==z(d.current).to)return;let l=t===`task`?a.tasks:t===`spec`?a.specs:a.prds;y(e=>({...e,[i]:{items:r===0?l:[...e[i]?.items??[],...l],total:a.total,loading:!1,error:null}}))}catch(e){if(o!==s.current||E(e))return;y(t=>({...t,[i]:{items:t[i]?.items??[],total:t[i]?.total??0,loading:!1,error:e instanceof Error?e.message:String(e)}}))}finally{a.delete(i)}},[e,s,u,d,f,y]),D=(0,m.useCallback)(t=>{let n={...r.current,...t},i=z(u);return{prepare:async()=>{let t=await Promise.all(B.map(t=>e.operationsBoard(i,t,0,n))),r=e=>[...e.prds.map(({kind:e,...t})=>({kind:`prd`,...t})),...e.specs.map(({kind:e,...t})=>({kind:`spec`,...t})),...e.tasks.map(e=>({kind:`task`,...e}))];return{totalRows:t.reduce((e,t)=>e+t.total,0),pages:async function*(){for(let a of t){let t=a,o=0;for(;;){let a=r(t);if(a.length===0||(o+=a.length,yield a,o>=t.total))break;t=await e.operationsBoard(i,t.stage,o,n)}}}}}}},[e,r,u]);return(0,m.useEffect)(()=>{if(c!==`operations`||l===null)return;let e=!1,t=s.current,n=()=>!e&&t===s.current,r=async()=>{if(!n())return;let e=B.filter(e=>!a.current.has(e)&&!i.current.has(e));for(let t=0;t<e.length&&n();t+=3){let r=e.slice(t,t+3);if(!n())return;for(let e of r)a.current.add(e);await Promise.all(r.map(e=>S(e)))}},o=window.setTimeout(()=>void r(),0);return()=>{e=!0,window.clearTimeout(o)}},[i,a,s,c,S,l]),{boardExportSource:D,loadFilteredBoard:C,loadMoreBoard:S,loadOverviewClassificationPage:T,loadOverviewStatusPage:w,resetBoard:x}}function X(e,t){return JSON.stringify([e.query,e.status,e.risk,e.origin??``,e.kind??``,t.from??``,t.to??``])}function Et(e,t,n){return e===`explicit`||t!==n}function Z(e,t){return{...e,kind:e.kind??t.kind??``}}var Q={offset:0,limit:10,total:null,hasMore:!1,typeFilter:`all`,rows:[],loading:!1,error:null};function Dt({api:e,operationsPeriod:t,operationsPeriodRef:n}){let[r,i]=(0,m.useState)(Q),a=(0,m.useRef)({query:``,status:``,risk:``}),o=(0,m.useRef)(null),s=(0,m.useRef)(0),c=(0,m.useRef)(null),l=(0,m.useCallback)(async(r,l=0,u=`explicit`)=>{let d=z(t),f=Z(r,a.current),p=X(f,d);if(!Et(u,p,c.current))return;o.current?.abort();let m=new AbortController;o.current=m;let h=++s.current;a.current=f,c.current=p;let g=f.kind||`all`;i(e=>({...e,offset:l,typeFilter:g,loading:!0,error:null}));try{let t=await e.sqliteViewPage(`operations_work_list`,d,{offset:l,limit:10,...f.query?{query:f.query}:{},...f.status?{status:f.status}:{},...f.risk?{risk:f.risk}:{},...f.origin?{origin:f.origin}:{},...g===`all`?{}:{kind:g}},m.signal);if(m.signal.aborted||h!==s.current||d.from!==z(n.current).from||d.to!==z(n.current).to)return;i({offset:t.offset,limit:t.limit,total:t.total_count,hasMore:t.has_more,typeFilter:g,rows:t.rows,loading:!1,error:null})}catch(e){if(m.signal.aborted||h!==s.current)return;c.current===p&&(c.current=null),i(t=>({...t,offset:l,typeFilter:g,loading:!1,error:e instanceof Error?e.message:String(e)}))}finally{o.current===m&&(o.current=null)}},[e,t,n]),u=(0,m.useCallback)(()=>{o.current?.abort(),o.current=null,++s.current,c.current=null,i(Q)},[]);return{workListPage:r,workListFiltersRef:a,loadWorkListFilters:(0,m.useCallback)(e=>l(e,0,`filter-hydration`),[l]),loadWorkListPage:l,resetWorkListPage:u}}function Ot(){let[e,t]=(0,m.useState)(Oe),[n,r]=(0,m.useState)(()=>window.localStorage.getItem(`zaip-dashboard-currency`)===`USD`?`USD`:`BRL`),i=(0,m.useRef)(n);return i.current=n,{costLocale:e,currency:n,setCurrency:r,currencyRef:i,changeDashboardLocale:(0,m.useCallback)(e=>{t(e),r(e===`en-US`?`USD`:`BRL`)},[])}}async function*kt(e,t){let n=e;for(;;){if(n.rows.length===0)return;yield n.rows;let e=n.offset+n.rows.length;if(!n.has_more||e>=n.total_count)return;n=await t(e)}}function At({api:e,operationsPeriod:t}){return(0,m.useCallback)((n,r)=>{let i=z(t);if(n===`work-kanban`)return;let a={"work-list":`operations_work_list`,changes:`operations_changes`,decisions:`operations_decisions`,executions:`operations_executions`,runs:`operations_agent_invocations`,conversations:`operations_conversations`,daily:`operations_daily`,monthly:`operations_monthly`,yearly:`operations_annual`}[n];if(a===void 0)return;let o=e=>({offset:e,limit:100,...r.query?{query:r.query}:{},...r.status?{status:r.status}:{},...r.risk?{risk:r.risk}:{},...r.origin?{origin:r.origin}:{},...a===`operations_work_list`&&r.kind?{kind:r.kind}:{}});return{prepare:async()=>{let t=await e.sqliteViewPage(a,i,o(0));return{totalRows:t.total_count,pages:()=>kt(t,t=>e.sqliteViewPage(a,i,o(t)))}}}},[e,t])}var $=1500;function jt({snapshotUpdating:e,initialDataPending:t,dismissed:n,delayElapsed:r}){return e&&t&&!n&&r}function Mt(e,t,n){let[r,i]=(0,m.useState)(!1),[a,o]=(0,m.useState)(!1);return(0,m.useEffect)(()=>{if(!e||!t||r){o(!1);return}let n=window.setTimeout(()=>o(!0),$);return()=>window.clearTimeout(n)},[t,r,e]),jt({snapshotUpdating:e,initialDataPending:t,dismissed:r,delayElapsed:a})?(0,g.jsxs)(`div`,{"aria-live":`polite`,className:`app-notice app-snapshot-status`,role:`status`,children:[(0,g.jsx)(`span`,{children:`Exibindo o último snapshot local validado. Os dados canônicos estão sendo atualizados em segundo plano e estarão atuais na próxima abertura.`}),(0,g.jsx)(`button`,{"aria-label":n===`pt-BR`?`Fechar aviso de atualização do snapshot`:`Dismiss snapshot update notice`,onClick:()=>i(!0),type:`button`,children:`×`})]}):null}function Nt(){ze(Ae());let[e,t]=(0,m.useState)(!1),n=(0,m.useMemo)(Ae,[]),r=(0,m.useMemo)(()=>new je(n),[n]),{loadCostDetail:i,loadCostReadModelPage:a,loadCostRunPage:o,loadCostGroupPage:s}=it(r),[c,l]=(0,m.useState)(()=>ke(window.location.pathname)),u=(0,m.useRef)(c);u.current=c;let[d,f]=(0,m.useState)(null),[p,h]=(0,m.useState)({offset:0,total:null,loading:!1,error:null}),[g,_]=(0,m.useState)(`runs`),v=(0,m.useRef)({query:``,status:``,risk:``}),[y,b]=(0,m.useState)({}),[x,O]=(0,m.useState)({}),[k,A]=(0,m.useState)({}),[ee,j]=(0,m.useState)({}),[te,ne]=(0,m.useState)({}),[M,re]=(0,m.useState)(null),[ie,N]=(0,m.useState)(null),{costLocale:P,currency:F,setCurrency:ae,currencyRef:oe,changeDashboardLocale:se}=Ot(),[I,L]=(0,m.useState)(()=>ye),ce=I.preset===`all`?null:I.range.start,le=I.preset===`all`?null:I.range.end,ue=(0,m.useMemo)(()=>({from:ce,to:le}),[ce,le]),R=(0,m.useRef)(I);R.current=I;let de=(0,m.useRef)(null),[fe,pe]=(0,m.useState)(!1),[me,he]=(0,m.useState)(null),[ge,_e]=(0,m.useState)(null),[ve,be]=(0,m.useState)(window.location.pathname),[xe,B]=(0,m.useState)(!0),[we,Te]=(0,m.useState)(!1),[,Ee]=(0,m.useState)(!1),[,De]=(0,m.useState)(!1),[Oe,V]=(0,m.useState)(`operations`),[H,U]=(0,m.useState)(null),[Me,W]=(0,m.useState)(null);(0,m.useEffect)(()=>{r.captureTelemetry().then(()=>r.ready()).then(e=>t(e.snapshot_state===`updating`)).catch(()=>{})},[r]);let[Ne,G]=(0,m.useState)(null),[Fe,Ie]=(0,m.useState)(null),[Le,Re]=(0,m.useState)(null),[K,Ze]=(0,m.useState)(We),Qe=(0,m.useCallback)(e=>{Ze(t=>Ge(t,e))},[]);(0,m.useEffect)(()=>{let e=!1;return r.dashboardIdentity().then(t=>{e||Qe(t)}).catch(()=>{}),()=>{e=!0}},[r,Qe]);let q=(0,m.useRef)(!1),{closeDocument:$e,documentDetail:et,openDocument:tt,openTrace:nt,openTraceChange:rt,openTraceMacro:at,traceMacroLoading:ot,selectedTraceTaskId:st,setSelectedTraceTaskId:ct,setTrace:lt,setTraceLink:ut,setTraceLoadingTaskId:dt,setTraceTasks:ft,trace:pt,traceLink:mt,traceLoadingTaskId:ht,traceTasks:gt}=xt({api:r,operations:d,isOperationsDetailLoaded:()=>q.current,setError:G,setFailedArea:U,setLoadingArea:V}),{loadMoreTraceTasks:_t,traceTasksHasMore:J,traceTasksLoading:yt}=wt(r,gt,ft),Y=(0,m.useRef)(0),St=(0,m.useRef)(0),Ct=(0,m.useRef)(!1),X=(0,m.useRef)(0),Et=(0,m.useRef)(0),Z=(0,m.useRef)(null),Q=(0,m.useRef)(!1),kt=(0,m.useRef)(null),$=(0,m.useRef)(null),jt=(0,m.useRef)(null),Nt=(0,m.useRef)(0),Pt=(0,m.useRef)({}),Ft=(0,m.useRef)(new Set),It=(0,m.useRef)(new Map),Lt=(0,m.useRef)(new Set),Rt=(0,m.useRef)(new Set),zt=(0,m.useRef)({query:``,status:``,risk:``,origin:``,kind:``}),Bt=(0,m.useRef)(`||||`),Vt=(0,m.useRef)(0),Ht=(0,m.useRef)(void 0),{workListPage:Ut,workListFiltersRef:Wt,loadWorkListFilters:Gt,loadWorkListPage:Kt,resetWorkListPage:qt}=Dt({api:r,operationsPeriod:I,operationsPeriodRef:R}),Jt=(0,m.useRef)(!1),Yt=(0,m.useCallback)(async(e=!0,n=!1,i=!1,a=!1)=>{kt.current?.(),kt.current=null,$.current?.abort(),$.current=null,Vt.current+=1;for(let e of It.current.values())e.abort();It.current.clear(),Ft.current.clear(),Rt.current.clear(),Pt.current={},b({}),O({}),A({}),j({}),ne({});let o=++Y.current,s=St.current,c=u.current,l=ue,d=()=>w(o,Y.current)&&T(o,Y.current,l,z(R.current));e&&(B(!0),V(`operations`)),G(null),U(null);try{if(n){let e=await r.reconcileOpenWork(F,l),n=Pe(e,d());if(Ie(n.reconciliation),n.dismissProgressDialog&&W(null),!n.applySnapshotState)return!1;if(t(e.snapshot_state===`updating`),n.reloadQuickProjection){let e=await r.operations(l,`quick`,void 0,!0);if(!d())return!1;Jt.current=!1,f(e),Ht.current=e.summary.overview_metrics,q.current=!1,Re(e.summary.latest_token_collected_at??null)}}else if(i){let e=await r.refreshProjection(F,l);if(!d())return!1;f(e.operations),Ht.current=e.operations.summary.overview_metrics,q.current=!0,re(e.costs),Q.current=!0,N(null);let t=e.dashboard;t&&Ze(e=>Ge(e,t)),Re(e.projection.latest_token_collected_at??null)}else{let[e,t]=await Promise.all([r.operations(l,`quick`,void 0,Jt.current),F===`USD`||a?r.costMonitor(F,l,`summary`):Promise.resolve(null)]);if(!d())return!1;Jt.current=!1,f(e),Ht.current=e.summary.overview_metrics,q.current=!1,t!==null&&(re(t),Q.current=!1,N(null)),Re(e.summary.latest_token_collected_at??null)}return!0}catch(e){return d()?(G(e instanceof Error?e.message:String(e)),U(c===`cost-monitor`?`costs`:`operations`),!1):!1}finally{d()&&D(s,St.current)&&De(!1),e&&d()&&(B(!1),V(e=>e===`operations`?null:e))}},[r,F,ue]),Xt=(0,m.useCallback)(async e=>{if(q.current||Ct.current||e?.aborted)return null;$.current?.abort();let t=e===void 0?new AbortController:null,n=e??t?.signal;if(n===void 0)return null;t!==null&&($.current=t),Ct.current=!0,X.current+=1,V(`costs`),U(null);try{let e=++Y.current,t=z(I),i=()=>w(e,Y.current)&&T(e,Y.current,t,z(R.current)),a=await r.operations(t,`detail`,n);return i()?(f(a),q.current=!0,a):null}catch(e){return n.aborted||E(e)?null:(G(e instanceof Error?e.message:String(e)),U(`operations`),null)}finally{t!==null&&$.current===t&&($.current=null),Ct.current=!1,X.current=Math.max(0,X.current-1),X.current===0&&V(e=>e===`costs`?null:e)}},[r,I]),{loadOperationsEntityPage:Zt,loadOperationsLifecyclePage:Qt}=bt({api:r,entityFiltersRef:v,operationsPageAbortRef:jt,operationsPageRequestVersionRef:Nt,operationsPeriod:I,operationsPeriodRef:R,refreshVersion:Y,setEntityPage:h,setEntityPageKind:_,setOperations:f}),$t=(0,m.useCallback)((e,t)=>{v.current=t,e===`changes`||e===`decisions`?Qt(e,0,t):Zt(e,0,t)},[Zt,Qt]),{boardExportSource:en,loadFilteredBoard:tn,loadMoreBoard:nn,loadOverviewClassificationPage:rn,loadOverviewStatusPage:an,resetBoard:on}=Tt({api:r,boardAbortControllersRef:It,boardFilterKeyRef:Bt,boardFiltersRef:zt,boardInFlightRef:Ft,boardInitialPageRef:Rt,boardLoadedRef:Pt,boardRequestVersionRef:Vt,dashboardView:c,operations:d,operationsPeriod:I,operationsPeriodRef:R,overviewStatusInFlightRef:Lt,quickOverviewMetricsRef:Ht,setBoardKindTotals:O,setBoardStates:A,setBoardTotals:b,setOperations:f,setOverviewClassificationPages:ne,setOverviewStatusPages:j}),sn=At({api:r,operationsPeriod:I}),cn=async e=>{e&&Ie(null),W(e?`reconciling`:`refreshing`);try{await Yt(!1,e,!e)}finally{W(null)}};(0,m.useEffect)(()=>{let e=null,t=()=>{e=window.setTimeout(()=>{L(e=>{let t=Ye(e);return t!==e&&(de.current=t),t}),t()},Xe())};return t(),()=>{e!==null&&window.clearTimeout(e)}},[]),(0,m.useEffect)(()=>{de.current===I&&(de.current=null,Yt(!1,!1,!0,!0))},[I,Yt]),vt({api:r,costLocale:P,currency:F,dashboardView:c,loadOperationsDetails:Xt,operations:d,operationsDetailAbortRef:$,operationsDetailCancelRef:kt,operationsPageAbortRef:jt,pathname:ve,pricing:me,refresh:Yt,refreshVersion:Y,setSnapshotUpdating:t,setError:G,setFxRate:_e,setPathname:be,setPricing:he,snapshotUpdating:e});let ln=Ve(be),un=(0,m.useCallback)(async()=>{Z.current?.abort();let e=new AbortController;Z.current=e;let t=++Et.current,n=z(I);X.current+=1,V(`costs`),G(null),U(null);try{let i=await r.costMonitor(F,n,`summary`,e.signal),a=z(R.current);if(!C({aborted:e.signal.aborted,currentCurrency:oe.current,currentPeriod:a,currentRequestVersion:Et.current,requestVersion:t,requestedCurrency:F,requestedPeriod:n}))return;re(i),Q.current=!0,N(null)}catch(n){if(e.signal.aborted||t!==Et.current)return;G(n instanceof Error?n.message:String(n)),U(`costs`)}finally{X.current=Math.max(0,X.current-1),X.current===0&&V(e=>e===`costs`?null:e),Z.current===e&&(Z.current=null)}},[r,F,I,oe]);(0,m.useEffect)(()=>{F!==`USD`||M?.currency===F||un()},[M?.currency,F,un]),(0,m.useEffect)(()=>{d===null||H===`costs`||Z.current!==null||S({costsLoaded:Q.current,currency:F,snapshotCurrency:M?.currency})&&un()},[M?.currency,F,H,un,d]);let dn=Je({setDashboardView:l,costsLoadedRef:Q,currency:F,costs:M,loadCostSummary:un,costSummaryAbortRef:Z,traceTasks:gt,boardRequestVersionRef:Vt,loadMoreTraceTasks:_t,setTraceTasks:ft,setSelectedTraceTaskId:ct,openTrace:nt,setTrace:lt,setTraceLoadingTaskId:dt}),fn=He(M,ie,F),{fact:pn,periods:mn}=Ue(M,ie,F),hn=()=>Ke(H,st,d,un,nt,Xt,Yt,G),gn=qe(r,P,ge,ln,ve,me,Yt,_e,he);return{loadMoreBoard:nn,overviewStatusPageKey:Se,overviewClassificationPageKey:Ce,boardRequestVersionRef:Vt,boardAbortControllersRef:It,boardInFlightRef:Ft,boardInitialPageRef:Rt,boardLoadedRef:Pt,setBoardTotals:b,setBoardKindTotals:O,setBoardStates:A,setOverviewStatusPages:j,setOverviewClassificationPages:ne,setOperationsLoading:B,operations:d,error:Ne,globalLoadingPending:F===`USD`&&M?.currency!==F,costLocale:P,refresh:async()=>{await Yt()},snapshotNotice:Mt(e,d===null&&xe,P),setupRoute:gn,failedArea:H,retryLastLoad:hn,costs:M,currency:F,dashboardView:c,lastUpdatedAt:Le,loadCostDetail:i,loadCostReadModelPage:a,loadCostRunPage:o,loadCostGroupPage:s,loadingArea:Oe,setDisplayedCosts:N,setCurrency:ae,setCostSurfaceLoading:Ee,changeDashboardLocale:se,loadMoreTraceTasks:_t,openTrace:nt,setRefreshDialog:W,setSelectedTraceTaskId:ct,openTraceChange:rt,openTraceMacro:at,selectedTraceTaskId:st,traceMacroLoading:ot,trace:pt,traceLoadingTaskId:ht,traceTasksHasMore:J,traceTasksLoading:yt,traceTasks:gt,capabilityNavigation:Be(c,P,e=>void dn(e)),boardTotals:y,boardKindTotals:x,boardExportSource:en,detailExportSource:sn,boardStates:k,operationsPeriod:I,entityPage:p,dashboardIdentity:K,operationsLoading:xe,factualCostFact:pn,factualCostPeriods:mn,setOperationsSurfaceLoading:Te,operationsSurfaceLoading:we,currentCostByRun:fn,loadOperationsEntityPage:Zt,loadOperationsLifecyclePage:Qt,loadOperationsDetails:Xt,entityPageKind:g,loadFilteredOperationsPage:$t,loadFilteredBoard:tn,loadWorkListPage:Kt,loadWorkListFilters:Gt,workListFiltersRef:Wt,boardFiltersRef:zt,workListPage:Ut,overviewStatusPages:ee,loadOverviewStatusPage:an,overviewClassificationPages:te,loadOverviewClassificationPage:rn,openDocument:tt,api:r,setError:G,operationsPeriodRef:R,setOperationsPeriod:L,operationsDetailLoadedRef:q,operationsDetailCancelRef:kt,operationsDetailAbortRef:$,operationsPageAbortRef:jt,resetWorkListPage:qt,operationsPageRequestVersionRef:Nt,resetBoard:on,refreshVersion:Y,costSummaryAbortRef:Z,costSummaryRequestVersion:Et,setEntityPage:h,costsLoadedRef:Q,setCosts:re,setPeriodTransitionPending:De,periodTransitionVersionRef:St,setLoadingArea:V,navigate:ln,setHelpOpen:pe,closeDocument:$e,documentDetail:et,helpOpen:fe,reconciliationResult:Fe,setReconciliationResult:Ie,refreshDialog:Me,setTrace:lt,traceLink:mt,setTraceLoadingTaskId:dt,setTraceLink:ut,refreshFromDialog:cn,renderedOperations:d}}async function Pt(e){let t=await(await fetch(`/api/v2/health`,{cache:`no-store`,signal:e})).json();if(t?.kind!==`zaip-dashboard-sqlite-runtime`||typeof t.workspace!=`string`||typeof t.workspace_name!=`string`||![`initialized`,`missing`,`invalid`].includes(t.lifecycle_manifest_state))throw Error(`Identidade do Dashboard indisponível`);return t}function Ft(){let[e,t]=(0,m.useState)(null),[n,r]=(0,m.useState)(!1);return(0,m.useEffect)(()=>{let e=!1,n,i;async function a(){i=new AbortController;let o=setTimeout(()=>i.abort(),4e3);try{let n=await Pt(i.signal);e||(t(n),r(!1))}catch{e||r(!0)}finally{clearTimeout(o),e||(n=setTimeout(a,5e3))}}return a(),()=>{e=!0,clearTimeout(n),i?.abort()}},[]),{status:e,unavailable:n}}function It({status:e,unavailable:t=!1}){let n=e?.lifecycle_manifest_state;return n===`initialized`&&e?.status===`ok`&&!t?null:(0,g.jsx)(`aside`,{className:`workspace-status`,"aria-label":`Saúde do Dashboard`,children:n===`missing`||n===`invalid`?(0,g.jsxs)(`div`,{className:`workspace-status__warning`,role:`alert`,children:[(0,g.jsx)(`strong`,{children:n===`missing`?`Lifecycle não inicializado`:`Manifesto do lifecycle inválido`}),(0,g.jsx)(`p`,{children:`Os dados deste workspace estão indisponíveis. Na pasta do projeto, execute:`}),(0,g.jsx)(`code`,{children:`node .agents/runtime/bin/zaip.mjs manifest rebuild --confirm-full-scan`})]}):e?.status===`degraded`||t?(0,g.jsx)(`p`,{className:`workspace-status__warning`,role:`status`,children:t?`Não foi possível consultar a saúde do Dashboard. Tentando novamente…`:`Dashboard degradado: a atualização dos dados ou da telemetria requer atenção.`}):(0,g.jsx)(`p`,{className:`workspace-status__warning`,role:`status`,children:`Identificando a saúde do Dashboard…`})})}function Lt(){let e=Nt(),t=Ft();return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(It,{...t}),t.status?.lifecycle_manifest_state===`initialized`?(0,g.jsx)(xe,{model:e}):null]})}var Rt=document.getElementById(`root`);if(!Rt)throw Error(`Elemento #root não encontrado`);(0,h.createRoot)(Rt).render((0,g.jsx)(m.StrictMode,{children:(0,g.jsx)(Lt,{})}));export{Ct as n,Ft as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{C as t,E as n,S as r,c as i,d as a,f as o,l as s,m as c,p as l,s as u,u as d,w as f,x as p}from"./cost-monitor-B0Jwz_rk.js";import{a as m,c as h,d as g,f as _,i as v,l as y,m as b,n as x,o as S,p as C,r as w,s as T,t as E,u as D}from"./icons-vendor-CjGGux6h.js";var O=e(n(),1),k=f();function A({ariaLabel:e,closeLabel:t,document:n,onClose:r}){return(0,k.jsxs)(`section`,{"aria-label":e,"aria-modal":`true`,className:`trace-document`,role:`dialog`,children:[(0,k.jsxs)(`header`,{children:[(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`small`,{children:n.path}),(0,k.jsx)(`h2`,{children:n.title})]}),(0,k.jsx)(`button`,{"aria-label":t,className:`trace-close-button`,onClick:r,type:`button`,children:(0,k.jsx)(u,{"aria-hidden":`true`,size:20,strokeWidth:2})})]}),(0,k.jsx)(`pre`,{children:n.content})]})}function j({stage:e,stageRecord:t,documents:n,stageCopy:r,stageArtifacts:i,copy:a,onBack:o,onOpenDocument:s,onStageChange:u}){let d=[`definition`,`planning`,`execution`,`decisions`,`verification`,`evidence`],f=d.indexOf(e),p=d[f-1],h=d[f+1],g=n.filter(e=>e.kind===`evidence`).length,_=new Set(n.map(e=>e.kind)).size,v=new Map;for(let e of n)v.set(e.kind,[...v.get(e.kind)??[],e]);let y=t?.last_recorded_at??a.pending;return(0,k.jsxs)(`section`,{className:`trace-stage-detail`,children:[(0,k.jsx)(`header`,{children:(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`p`,{children:r[e].label}),(0,k.jsx)(`h3`,{children:i[e]}),(0,k.jsx)(`small`,{children:y})]})}),(0,k.jsxs)(`div`,{className:`trace-stage-metrics`,children:[(0,k.jsxs)(`article`,{children:[(0,k.jsx)(`span`,{children:a.documents}),(0,k.jsx)(`strong`,{children:n.length})]}),(0,k.jsxs)(`article`,{children:[(0,k.jsx)(`span`,{children:a.types}),(0,k.jsx)(`strong`,{children:_})]}),(0,k.jsxs)(`article`,{children:[(0,k.jsx)(`span`,{children:a.evidenceMetric}),(0,k.jsx)(`strong`,{children:g})]})]}),(0,k.jsx)(`div`,{className:`trace-stage-documents`,children:n.length===0?(0,k.jsx)(`p`,{className:`trace-stage-empty`,children:a.empty}):[...v].map(([e,t])=>(0,k.jsxs)(`section`,{className:`trace-document-group`,children:[(0,k.jsxs)(`h4`,{children:[e,` `,(0,k.jsx)(`small`,{children:t.length})]}),t.map(e=>(0,k.jsxs)(`button`,{onClick:()=>s(e),type:`button`,children:[(0,k.jsx)(`strong`,{children:e.title}),(0,k.jsx)(`small`,{children:e.path})]},e.id))]},e))}),(0,k.jsxs)(`nav`,{"aria-label":a.navigation,className:`trace-stage-navigation`,children:[(0,k.jsxs)(`button`,{className:`trace-navigation-action trace-navigation-previous`,disabled:f===0,onClick:()=>u(d[f-1]),type:`button`,children:[(0,k.jsx)(c,{"aria-hidden":`true`,size:18,strokeWidth:1.9}),(0,k.jsxs)(`span`,{children:[(0,k.jsx)(`small`,{children:a.previous}),(0,k.jsx)(`strong`,{children:p?r[p].label.split(` (`)[0]:`—`})]})]}),(0,k.jsxs)(`div`,{className:`trace-navigation-center`,children:[(0,k.jsx)(`div`,{"aria-hidden":`true`,className:`trace-navigation-progress`,children:d.map((t,n)=>(0,k.jsx)(`span`,{"data-active":t===e,"data-passed":n<f},t))}),(0,k.jsxs)(`small`,{children:[f+1,` `,a.of,` `,d.length]}),(0,k.jsxs)(`button`,{className:`trace-all-stages-button`,onClick:o,type:`button`,children:[(0,k.jsx)(m,{"aria-hidden":`true`,size:15,strokeWidth:1.9}),a.back]})]}),(0,k.jsxs)(`button`,{className:`trace-navigation-action trace-navigation-next`,disabled:f===d.length-1,onClick:()=>u(d[f+1]),type:`button`,children:[(0,k.jsxs)(`span`,{children:[(0,k.jsx)(`small`,{children:a.next}),(0,k.jsx)(`strong`,{children:h?r[h].label.split(` (`)[0]:`—`})]}),(0,k.jsx)(l,{"aria-hidden":`true`,size:18,strokeWidth:1.9})]})]})]})}function M({ariaLabel:e,children:t,closeLabel:n,onClose:r}){return(0,O.useEffect)(()=>{let e=e=>{e.key===`Escape`&&r()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[r]),(0,k.jsxs)(`div`,{className:`trace-stage-dialog-backdrop`,role:`presentation`,children:[(0,k.jsx)(`button`,{"aria-label":n,className:`trace-stage-dialog-backdrop-dismiss`,onClick:r,type:`button`}),(0,k.jsxs)(`section`,{"aria-label":e,"aria-modal":`true`,className:`trace-stage-dialog`,role:`dialog`,children:[(0,k.jsx)(`button`,{"aria-label":n,className:`trace-stage-dialog-close`,onClick:r,type:`button`,children:(0,k.jsx)(u,{"aria-hidden":`true`,size:22})}),t]})]})}var N=[`definition`,`planning`,`execution`,`decisions`,`verification`,`evidence`],P=[`task`,`change`,`spec`,`prd`],F=[`coverage`,`documents`,`evidence`,`links`],I={"pt-BR":{lite:`Leve`,standard:`Padrão`,critical:`Crítico`},"en-US":{lite:`Lite`,standard:`Standard`,critical:`Critical`}},L={definition:D,planning:d,execution:w,decisions:S,verification:x,evidence:h},R={definition:`PRD · Requisitos`,planning:`SPEC · Change`,execution:`Tarefas · DAG · Runs · arquivos`,decisions:`Decisões do planejamento e da execução`,verification:`Testes · revisões · evals · checks`,evidence:`Evidências · resultados · rastreabilidade`},z={definition:`PRD · Requirements`,planning:`SPEC · Change`,execution:`Tasks · DAG · Runs · files`,decisions:`Planning and execution decisions`,verification:`Tests · reviews · evals · checks`,evidence:`Evidence · results · traceability`};function B(e,t){return[{label:`Task`,value:e.task_id,onOpen:void 0},{label:`Change`,value:e.change_id,onOpen:t.onOpenChange},{label:`SPEC`,value:e.spec_id,onOpen:t.onOpenSpec},{label:`PRD`,value:e.prd_id,onOpen:t.onOpenPrd}]}var V={definition:{label:`Definição (PRD + Requisitos)`,description:`Objetivo, contexto e critérios que definem o trabalho.`},planning:{label:`Planejamento (SPEC + Change)`,description:`Escopo, solução e mudanças previstas antes da execução.`},execution:{label:`Execução (Tarefas ou DAG)`,description:`Tarefas, dependências da DAG, Runs e arquivos produzidos.`},decisions:{label:`Decisões (Plano e Execução)`,description:`Decisões humanas e da IA tomadas no planejamento e na execução.`},verification:{label:`Verificação (Testes + Revisões)`,description:`Testes, revisões, evals e checks comparam o resultado aos Critérios de Aceite.`},evidence:{label:`Evidências (Resultados + Rastreabilidade)`,description:`Provas reproduzíveis vinculadas às Tasks, Changes, Runs e Critérios de Aceite.`}},H={definition:{label:`Definition (PRD + Requirements)`,description:`Objective, context, and criteria that define the work.`},planning:{label:`Planning (SPEC + Change)`,description:`Scope, solution, and changes planned before execution.`},execution:{label:`Execution (Tasks or DAG)`,description:`Tasks, DAG dependencies, Runs, and produced files.`},decisions:{label:`Decisions (Plan and Execution)`,description:`Human and AI decisions made during planning and execution.`},verification:{label:`Verification (Tests + Reviews)`,description:`Tests, reviews, evals, and checks compare results with acceptance criteria.`},evidence:{label:`Evidence (Results + Traceability)`,description:`Reproducible proof linked to Tasks, Changes, Runs, and acceptance criteria.`}},U={"pt-BR":{aria:`Rastreabilidade da task`,coverage:`etapas rastreadas`,evidence:`evidências`,close:`Fechar`,empty:`Nenhum documento relacionado.`,closeDocument:`Fechar documento`,back:`Voltar às etapas`,previous:`Anterior`,next:`Próxima`,documents:`Documentos`,types:`Tipos`,evidenceMetric:`Evidências`,taskFirst:`Task-first`,specDriven:`Spec-driven`,copyId:`Copiar ID`,copied:`ID copiado`,unlinked:`Não vinculado`,recorded:`Registrada em`,pending:`Pendente`,missingTimestamp:`Sem data/hora`,tests:`testes registrados`,time:`Tempo`,tokens:`Tokens`,cost:`Custo`,measuredRuns:`Runs medidas`,items:`itens`,navigation:`Navegação entre etapas`,of:`de`,stageDetails:`Detalhes da etapa`,document:`Documento`},"en-US":{aria:`Task traceability`,coverage:`tracked stages`,evidence:`evidence items`,close:`Close`,empty:`No related document.`,closeDocument:`Close document`,back:`Back to stages`,previous:`Previous`,next:`Next`,documents:`Documents`,types:`Types`,evidenceMetric:`Evidence`,taskFirst:`Task-first`,specDriven:`Spec-driven`,copyId:`Copy ID`,copied:`ID copied`,unlinked:`Not linked`,recorded:`Recorded at`,pending:`Pending`,missingTimestamp:`Missing date/time`,tests:`recorded tests`,time:`Time`,tokens:`Tokens`,cost:`Cost`,measuredRuns:`measured Runs`,items:`items`,navigation:`Stage navigation`,of:`of`,stageDetails:`Stage details`,document:`Document`}};function W({taskId:e,locale:t=`pt-BR`}){let n=t===`pt-BR`;return(0,k.jsx)(`div`,{className:`trace-backdrop`,children:(0,k.jsxs)(`section`,{"aria-busy":`true`,"aria-label":n?`Carregando rastreabilidade`:`Loading traceability`,"aria-live":`polite`,className:`trace-panel trace-loading-panel`,role:`dialog`,children:[(0,k.jsxs)(`header`,{className:`trace-panel-header`,children:[(0,k.jsxs)(`div`,{className:`trace-heading`,children:[(0,k.jsx)(`span`,{className:`trace-heading-icon trace-loading-icon`,"aria-hidden":`true`,children:(0,k.jsx)(s,{size:22,strokeWidth:1.8})}),(0,k.jsxs)(`div`,{className:`trace-task-summary-content`,children:[(0,k.jsx)(`h2`,{children:n?`Carregando rastreabilidade`:`Loading traceability`}),(0,k.jsx)(`p`,{children:e})]})]}),(0,k.jsxs)(`span`,{className:`trace-loading-status`,children:[(0,k.jsx)(s,{"aria-hidden":`true`,size:15,strokeWidth:2}),n?`Preparando trace`:`Preparing trace`]})]}),(0,k.jsx)(`div`,{className:`trace-loading-identifiers`,"aria-hidden":`true`,children:P.map(e=>(0,k.jsx)(`span`,{},e))}),(0,k.jsx)(`div`,{className:`trace-loading-metrics`,"aria-hidden":`true`,children:F.map(e=>(0,k.jsx)(`span`,{},e))}),(0,k.jsx)(`div`,{className:`trace-loading-stages`,"aria-hidden":`true`,children:N.map(e=>(0,k.jsx)(`span`,{},e))})]})})}function G({trace:e,locale:t=`pt-BR`,onClose:n,onOpenChange:r,onOpenPrd:s,onOpenSpec:c,embedded:d=!1}){let[f,p]=(0,O.useState)(null),[m,h]=(0,O.useState)(null),[S,w]=(0,O.useState)(!1),D=U[t],P=t===`en-US`?H:V,F=t===`en-US`?z:R,W=(0,O.useMemo)(()=>new Map(N.map(t=>[t,e.documents.filter(e=>e.stage===t)])),[e.documents]),G=(0,O.useMemo)(()=>new Map(e.stages.map(e=>[e.stage,e])),[e.stages]),q=Math.round(e.coverage.stages_with_timestamps/e.coverage.total_stages*100),X=[e.task_id,e.change_id,e.spec_id,e.prd_id].filter(Boolean).length,Z=B(e,{onOpenChange:r,onOpenPrd:s,onOpenSpec:c}),Q=J(e.task_created_at,t),$=Y(e.task_created_at,t),ee=async()=>{try{await navigator.clipboard.writeText(e.task_id),w(!0),window.setTimeout(()=>w(!1),2e3)}catch{w(!1)}};return(0,k.jsxs)(`div`,{className:d?`trace-embedded`:`trace-backdrop`,children:[(0,k.jsxs)(`section`,{"aria-label":D.aria,"aria-modal":d?void 0:`true`,className:`trace-panel`,role:`dialog`,children:[(0,k.jsxs)(`header`,{className:`trace-panel-header`,children:[(0,k.jsxs)(`div`,{className:`trace-heading`,children:[(0,k.jsx)(`span`,{className:`trace-heading-icon`,"aria-hidden":`true`,children:(0,k.jsx)(i,{size:22,strokeWidth:1.8})}),(0,k.jsxs)(`div`,{className:`trace-task-summary-content`,children:[(0,k.jsx)(`div`,{className:`trace-heading-title`,children:(0,k.jsxs)(`h2`,{children:[(0,k.jsx)(`span`,{className:`trace-title-prefix`,children:`Trace:`}),` `,e.task_title||e.task_id]})}),(0,k.jsx)(`p`,{children:t===`pt-BR`?`Visão completa do ciclo de desenvolvimento`:`Complete development lifecycle view`})]})]}),(0,k.jsxs)(`div`,{className:`trace-header-actions`,children:[(0,k.jsx)(K,{copy:D,locale:t,usage:e.usage}),d?null:(0,k.jsx)(`button`,{className:`trace-close-button`,"aria-label":D.close,onClick:n,type:`button`,children:(0,k.jsx)(u,{"aria-hidden":`true`,size:20,strokeWidth:2})})]})]}),(0,k.jsxs)(`section`,{className:`trace-task-summary`,"aria-label":t===`pt-BR`?`Resumo da tarefa`:`Task summary`,children:[(0,k.jsxs)(`article`,{children:[(0,k.jsx)(C,{"aria-hidden":`true`,size:17,strokeWidth:1.8}),(0,k.jsxs)(`div`,{className:`trace-task-summary-content`,children:[(0,k.jsx)(`span`,{children:t===`pt-BR`?`Criada em`:`Created at`}),(0,k.jsx)(`strong`,{children:Q})]})]}),(0,k.jsxs)(`article`,{children:[(0,k.jsx)(a,{"aria-hidden":`true`,size:17,strokeWidth:1.8}),(0,k.jsxs)(`div`,{className:`trace-task-summary-content`,children:[(0,k.jsx)(`span`,{children:t===`pt-BR`?`Desde a criação`:`Since creation`}),(0,k.jsx)(`strong`,{children:$})]})]}),(0,k.jsxs)(`article`,{className:`trace-task-progress`,children:[(0,k.jsx)(g,{"aria-hidden":`true`,size:17,strokeWidth:1.8}),(0,k.jsxs)(`div`,{className:`trace-task-summary-content trace-task-progress-content`,children:[(0,k.jsx)(`span`,{children:t===`pt-BR`?`Progresso`:`Progress`}),(0,k.jsxs)(`strong`,{children:[e.task_progress,`%`]}),(0,k.jsx)(`progress`,{max:100,value:e.task_progress})]})]}),(0,k.jsxs)(`article`,{className:`trace-task-classification`,children:[(0,k.jsx)(b,{"aria-hidden":`true`,size:17,strokeWidth:1.8}),(0,k.jsxs)(`div`,{className:`trace-task-summary-content`,children:[(0,k.jsx)(`span`,{children:t===`pt-BR`?`Classificação`:`Classification`}),(0,k.jsxs)(`div`,{className:`trace-task-badges`,children:[(0,k.jsxs)(`span`,{className:`trace-mode-badge`,children:[(0,k.jsx)(E,{"aria-hidden":`true`,size:12,strokeWidth:2}),e.spec_id===null?D.taskFirst:D.specDriven]}),e.task_risk?(0,k.jsxs)(`span`,{className:`trace-risk-badge`,"data-risk":e.task_risk,children:[(0,k.jsx)(x,{"aria-hidden":`true`,size:12,strokeWidth:2}),I[t][e.task_risk]]}):null]})]})]})]}),(0,k.jsx)(`section`,{className:`trace-overview trace-lineage`,"aria-label":t===`pt-BR`?`Identificadores vinculados`:`Linked identifiers`,children:Z.map(({label:e,value:n,onOpen:r})=>{let i=n!==null&&r!==void 0,a=e===`Task`&&n!==null,o=(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)(`div`,{className:`trace-identifier-content`,children:[(0,k.jsxs)(`span`,{children:[(0,k.jsx)(v,{"aria-hidden":`true`,size:11,strokeWidth:2}),e]}),(0,k.jsx)(`strong`,{title:n??D.unlinked,children:n??D.unlinked})]}),a?(0,k.jsx)(`button`,{"aria-label":S?t===`pt-BR`?`ID da tarefa copiado`:`Task ID copied`:t===`pt-BR`?`Copiar ID da tarefa`:`Copy task ID`,className:`trace-identifier-copy`,onClick:()=>void ee(),title:S?t===`pt-BR`?`Copiado`:`Copied`:void 0,type:`button`,children:S?(0,k.jsx)(_,{"aria-hidden":`true`,size:15}):(0,k.jsx)(y,{"aria-hidden":`true`,size:15})}):null,i?(0,k.jsx)(l,{"aria-hidden":`true`,size:15,strokeWidth:1.9}):null]});return(0,k.jsx)(`article`,{"data-empty":n===null,"data-linked":n!==null,"data-navigable":i,children:i?(0,k.jsx)(`button`,{"aria-label":`${t===`pt-BR`?`Abrir`:`Open`} ${e}: ${n}`,className:`trace-identifier-navigation`,onClick:()=>r(n),type:`button`,children:o}):(0,k.jsx)(`div`,{className:`trace-identifier-static`,children:o})},e)})}),(0,k.jsxs)(`section`,{className:`trace-metrics`,"aria-label":t===`pt-BR`?`Resumo da rastreabilidade`:`Traceability summary`,children:[(0,k.jsxs)(`article`,{children:[(0,k.jsx)(`span`,{className:`trace-metric-icon`,children:(0,k.jsx)(i,{"aria-hidden":`true`,size:18})}),(0,k.jsxs)(`div`,{children:[(0,k.jsxs)(`strong`,{children:[q,`%`]}),(0,k.jsx)(`span`,{children:D.coverage})]}),(0,k.jsxs)(`small`,{children:[e.coverage.stages_with_timestamps,` `,D.of,` `,e.coverage.total_stages]})]}),(0,k.jsxs)(`article`,{children:[(0,k.jsx)(`span`,{className:`trace-metric-icon`,children:(0,k.jsx)(T,{"aria-hidden":`true`,size:18})}),(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`strong`,{children:e.documents.length}),(0,k.jsx)(`span`,{children:D.documents})]}),(0,k.jsx)(`small`,{children:t===`pt-BR`?`no ciclo completo`:`in the full lifecycle`})]}),(0,k.jsxs)(`article`,{children:[(0,k.jsx)(`span`,{className:`trace-metric-icon`,children:(0,k.jsx)(b,{"aria-hidden":`true`,size:18})}),(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`strong`,{children:e.coverage.evidence_count}),(0,k.jsx)(`span`,{children:D.evidenceMetric})]}),(0,k.jsxs)(`small`,{children:[e.coverage.test_count,` `,D.tests]})]}),(0,k.jsxs)(`article`,{children:[(0,k.jsx)(`span`,{className:`trace-metric-icon`,children:(0,k.jsx)(v,{"aria-hidden":`true`,size:18})}),(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`strong`,{children:X}),(0,k.jsx)(`span`,{children:t===`pt-BR`?`Vínculos`:`Links`})]}),(0,k.jsx)(`small`,{children:`Task · Change · SPEC · PRD`})]})]}),(0,k.jsx)(`div`,{className:`trace-stage-menu`,children:N.map((e,n)=>{let r=L[e],i=(W.get(e)??[]).length;return(0,k.jsxs)(`button`,{className:`trace-stage-menu-button`,"data-stage":e,onClick:()=>h(e),type:`button`,children:[(0,k.jsx)(`span`,{className:`trace-stage-number`,children:String(n+1).padStart(2,`0`)}),(0,k.jsx)(r,{className:`trace-stage-icon`,"aria-hidden":`true`,size:22,strokeWidth:1.8}),(0,k.jsx)(`strong`,{children:P[e].label}),(0,k.jsx)(`em`,{children:P[e].description}),(0,k.jsxs)(`span`,{className:`trace-stage-action`,children:[(0,k.jsxs)(`small`,{children:[(0,k.jsx)(o,{"aria-hidden":`true`,size:13}),` `,i,` `,D.items]}),(0,k.jsxs)(`span`,{children:[t===`pt-BR`?`Ver etapa`:`View stage`,(0,k.jsx)(l,{"aria-hidden":`true`,size:13,strokeWidth:2})]})]})]},e)})})]}),m?(0,k.jsx)(M,{ariaLabel:D.stageDetails,closeLabel:t===`pt-BR`?`Fechar detalhes da etapa`:`Close stage details`,onClose:()=>h(null),children:(0,k.jsx)(j,{copy:D,documents:W.get(m)??[],locale:t,onBack:()=>h(null),onOpenDocument:p,onStageChange:h,stage:m,stageArtifacts:F,stageRecord:G.get(m),stageCopy:P})}):null,f?(0,k.jsx)(A,{ariaLabel:`${D.document} ${f.title}`,closeLabel:D.closeDocument,document:f,onClose:()=>p(null)}):null]})}function K({usage:e,locale:t,copy:n}){let i=[{label:n.time,metric:e.duration_ms,value:q(e.duration_ms.value,t)},{label:n.tokens,metric:e.total_tokens,value:e.total_tokens.value===null?`—`:p(e.total_tokens.value,t)},{label:n.cost,metric:e.cost,value:e.cost.value===null||e.cost.currency===null?`—`:r(e.cost.value,e.cost.currency,t)}];return(0,k.jsx)(`section`,{"aria-label":t===`pt-BR`?`Uso agregado da Task`:`Aggregated Task usage`,children:(0,k.jsx)(`dl`,{className:`trace-usage-strip`,children:i.map(({label:t,metric:r,value:i})=>{let a=Math.round(r.coverage_ratio*100),o=`${r.known_runs}/${e.run_count} ${n.measuredRuns} · ${a}%`;return(0,k.jsxs)(`div`,{title:o,children:[(0,k.jsxs)(`dt`,{children:[t,(0,k.jsx)(`span`,{"aria-hidden":`true`,className:`trace-usage-coverage`,"data-complete":r.unknown_runs===0}),(0,k.jsx)(`span`,{className:`trace-usage-sr-only`,children:o})]}),(0,k.jsx)(`dd`,{children:i})]},t)})})})}function q(e,n){return e===null?`—`:t(e,n)}function J(e,t){if(e===null)return`—`;let n=new Date(e);return Number.isNaN(n.getTime())?`—`:new Intl.DateTimeFormat(t,{dateStyle:`short`,timeStyle:`short`}).format(n)}function Y(e,t){if(e===null)return`—`;let n=Date.parse(e);if(!Number.isFinite(n))return`—`;let r=Math.max(0,Date.now()-n),i=Math.max(1,Math.round(r/6e4)),a;if(i<60)a=`${i}m`;else{let e=Math.round(i/60);if(e<24)a=`${e}h`;else{let n=Math.round(e/24);if(n<7)a=`${n}d`;else{let e=Math.round(n/7);a=t===`pt-BR`?`${e}sem`:`${e}w`}}}return t===`pt-BR`?`Há ${a}`:`${a} ago`}export{G as n,W as t};