@zaip-ai/cli 2.2.0 → 2.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 (420) hide show
  1. package/dist/services/adapters.d.ts +1 -1
  2. package/dist/services/adapters.d.ts.map +1 -1
  3. package/dist/services/adapters.js +23 -9
  4. package/dist/services/adapters.js.map +1 -1
  5. package/dist/services/agent-adapters.js +25 -9
  6. package/dist/services/agent-adapters.js.map +1 -1
  7. package/dist/services/agent-discovery.d.ts +27 -0
  8. package/dist/services/agent-discovery.d.ts.map +1 -0
  9. package/dist/services/agent-discovery.js +73 -0
  10. package/dist/services/agent-discovery.js.map +1 -0
  11. package/dist/services/codex-conversation-lifecycle-hook.d.ts.map +1 -1
  12. package/dist/services/codex-conversation-lifecycle-hook.js +153 -24
  13. package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -1
  14. package/dist/services/codex-pre-tool-hook-template.d.ts.map +1 -1
  15. package/dist/services/codex-pre-tool-hook-template.js +146 -72
  16. package/dist/services/codex-pre-tool-hook-template.js.map +1 -1
  17. package/dist/services/codex-rules.d.ts +1 -1
  18. package/dist/services/codex-rules.d.ts.map +1 -1
  19. package/dist/services/codex-rules.js +3 -3
  20. package/dist/services/codex-subagent-hook-template.d.ts +1 -1
  21. package/dist/services/codex-subagent-hook-template.d.ts.map +1 -1
  22. package/dist/services/codex-subagent-hook-template.js +117 -66
  23. package/dist/services/codex-subagent-hook-template.js.map +1 -1
  24. package/dist/services/install-agents-template.d.ts.map +1 -1
  25. package/dist/services/install-agents-template.js +56 -6
  26. package/dist/services/install-agents-template.js.map +1 -1
  27. package/dist/services/logger.js +1 -1
  28. package/dist/services/logger.js.map +1 -1
  29. package/dist/services/logger.test.js +22 -1
  30. package/dist/services/logger.test.js.map +1 -1
  31. package/dist/services/runtime-template.test.js +129 -0
  32. package/dist/services/runtime-template.test.js.map +1 -1
  33. package/package.json +1 -1
  34. package/templates/.agents/.env.example +9 -3
  35. package/templates/.agents/README-ENG.md +30 -5
  36. package/templates/.agents/README.md +30 -7
  37. package/templates/.agents/architecture/software-architecture.md +1 -59
  38. package/templates/.agents/branding/brandbook.md +3 -0
  39. package/templates/.agents/config/agents/catalog.yaml +22 -10
  40. package/templates/.agents/config/agents/discovery.json +319 -0
  41. package/templates/.agents/config/clients/codex/agents/zaip-agent-backend.toml +2 -2
  42. package/templates/.agents/config/clients/codex/agents/zaip-agent-builder.toml +2 -2
  43. package/templates/.agents/config/clients/codex/agents/zaip-agent-cloud-engineer.toml +11 -8
  44. package/templates/.agents/config/clients/codex/agents/zaip-agent-designer.toml +2 -2
  45. package/templates/.agents/config/clients/codex/agents/zaip-agent-frontend.toml +2 -2
  46. package/templates/.agents/config/clients/codex/agents/zaip-agent-task-executor.toml +2 -2
  47. package/templates/.agents/config/clients/codex/agents/zaip-agent-website-developer.toml +2 -2
  48. package/templates/.agents/config/pricing/models.json +9 -5
  49. package/templates/.agents/config/project.yaml +12 -1
  50. package/templates/.agents/dashboard/.zaip-managed.json +375 -95
  51. package/templates/.agents/dashboard/apps/frontend/dist/assets/CostCalculationGuidePage-CGxeQak4.js +1 -0
  52. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-DaSllaJp.js → DashboardHelpDialog-tzS7YxYB.js} +57 -33
  53. package/templates/.agents/dashboard/apps/frontend/dist/assets/PricingSettingsDialog-DEbCi1gP.js +1 -0
  54. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-1L7Qw-Gq.js +3 -0
  55. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-EInWr641.css +1 -0
  56. package/templates/.agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-t1Om0Abw.js +1 -0
  57. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-B6aZfo5f.js +68 -0
  58. package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-TPUT2IUt.js → icons-vendor-DiGC-dsJ.js} +1 -1
  59. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-DgTmNHN5.js +2 -0
  60. package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-Ct48XHGL.js → react-vendor-kPO6yNed.js} +1 -1
  61. package/templates/.agents/dashboard/apps/frontend/dist/assets/rolldown-runtime-Bh1tDfsg.js +1 -0
  62. package/templates/.agents/dashboard/apps/frontend/dist/assets/traceability-DQpKX9c1.js +1 -0
  63. package/templates/.agents/dashboard/apps/frontend/dist/index.html +6 -6
  64. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  65. package/templates/.agents/dashboard/apps/frontend/src/App.tsx +3 -1264
  66. package/templates/.agents/dashboard/apps/frontend/src/AppDashboardContent.tsx +363 -0
  67. package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.dom.test.ts +99 -0
  68. package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.tsx +62 -6
  69. package/templates/.agents/dashboard/apps/frontend/src/ProjectStackEditor.tsx +3 -1
  70. package/templates/.agents/dashboard/apps/frontend/src/__tests__/app-composition-support.ts +7 -0
  71. package/templates/.agents/dashboard/apps/frontend/src/cost-period-refresh.test.ts +9 -7
  72. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api-settings.ts +151 -0
  73. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.ts +28 -153
  74. package/templates/.agents/dashboard/apps/frontend/src/dashboard-app-shell.tsx +33 -0
  75. package/templates/.agents/dashboard/apps/frontend/src/dashboard-cost-facts.ts +30 -0
  76. package/templates/.agents/dashboard/apps/frontend/src/dashboard-project-overview.ts +7 -1
  77. package/templates/.agents/dashboard/apps/frontend/src/dashboard-retry.ts +17 -0
  78. package/templates/.agents/dashboard/apps/frontend/src/dashboard-setup-route.ts +29 -0
  79. package/templates/.agents/dashboard/apps/frontend/src/dashboard-view-actions.ts +66 -0
  80. package/templates/.agents/dashboard/apps/frontend/src/operations-period-render.test.ts +3 -2
  81. package/templates/.agents/dashboard/apps/frontend/src/overview-status-page.test.ts +2 -2
  82. package/templates/.agents/dashboard/apps/frontend/src/project-installation-status.test.ts +48 -0
  83. package/templates/.agents/dashboard/apps/frontend/src/project-installation-status.ts +29 -0
  84. package/templates/.agents/dashboard/apps/frontend/src/project-settings-page.css +68 -0
  85. package/templates/.agents/dashboard/apps/frontend/src/project-settings.test.ts +2 -2
  86. package/templates/.agents/dashboard/apps/frontend/src/sao-paulo-day-rollover.test.ts +36 -0
  87. package/templates/.agents/dashboard/apps/frontend/src/sao-paulo-day-rollover.ts +30 -0
  88. package/templates/.agents/dashboard/apps/frontend/src/snapshot-banner-semantics.test.ts +2 -5
  89. package/templates/.agents/dashboard/apps/frontend/src/snapshot-coherence.test.ts +30 -19
  90. package/templates/.agents/dashboard/apps/frontend/src/use-app-effects.ts +9 -1
  91. package/templates/.agents/dashboard/apps/frontend/src/use-app-trace-task-pagination.ts +77 -0
  92. package/templates/.agents/dashboard/apps/frontend/src/use-app-work-board.ts +397 -0
  93. package/templates/.agents/dashboard/apps/frontend/src/use-dashboard-app-model.tsx +782 -0
  94. package/templates/.agents/dashboard/apps/frontend/src/use-snapshot-notice.tsx +49 -0
  95. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  96. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostDeveloperPanelSlot.tsx +16 -0
  97. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostGroupsTable.tsx +459 -0
  98. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.test.ts +27 -17
  99. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.tsx +62 -186
  100. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorRunDialog.tsx +20 -0
  101. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables-hides-calls-that-have-no-collected.test.ts +80 -0
  102. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables-keeps-legacy-codex-identity-fields-blank.test.ts +455 -0
  103. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +18 -525
  104. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.tsx +32 -508
  105. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-export-sources.ts +74 -0
  106. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-page-actions.ts +19 -0
  107. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-page-selectors.ts +49 -0
  108. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-formatters.ts +115 -0
  109. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.test-fixtures.ts +2 -0
  110. package/templates/.agents/dashboard/modules/operations/package.json +1 -1
  111. package/templates/.agents/dashboard/modules/operations/src/contracts.ts +4 -0
  112. package/templates/.agents/dashboard/modules/operations/src/react/EntityTableBadges.tsx +34 -0
  113. package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.tsx +8 -38
  114. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview-keeps-structure-classes-mutually-exclusive.test.ts +243 -0
  115. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.test.ts +27 -275
  116. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.tsx +70 -247
  117. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewCharts.tsx +171 -0
  118. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewPanels.tsx +64 -0
  119. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +4 -3
  120. package/templates/.agents/dashboard/modules/operations/src/react/PrdDocumentDialog.test.tsx +2 -1
  121. package/templates/.agents/dashboard/modules/operations/src/react/manual-work-priority.test.ts +2 -1
  122. package/templates/.agents/dashboard/modules/operations/src/react/operations-coverage-toast.test.ts +6 -2
  123. package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +6 -14
  124. package/templates/.agents/dashboard/modules/operations/src/react/operations-overview.status-cards.test.ts +3 -1
  125. package/templates/.agents/dashboard/modules/operations/src/react/operations-page-contract.ts +2 -0
  126. package/templates/.agents/dashboard/modules/operations/src/react/overview-metric-format.ts +32 -0
  127. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  128. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  129. package/templates/.agents/dashboard/packages/branding/src/index.ts +1 -1
  130. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  131. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  132. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +1458 -1458
  133. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +1425 -1425
  134. package/templates/.agents/dashboard/packages/local-runtime/package.json +2 -1
  135. package/templates/.agents/dashboard/packages/local-runtime/scripts/build-sqlite-runtime.mjs +7 -3
  136. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +1458 -1459
  137. package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.ts +25 -0
  138. package/templates/.agents/dashboard/packages/local-runtime/src/agent-catalog-settings.test.ts +1 -1
  139. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.test.ts +53 -8
  140. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.ts +79 -24
  141. package/templates/.agents/dashboard/packages/local-runtime/src/projection-refresh-diagnostics.ts +35 -0
  142. package/templates/.agents/dashboard/packages/local-runtime/src/server-costs-routes.ts +168 -0
  143. package/templates/.agents/dashboard/packages/local-runtime/src/server-dual-reads-manifest-summaries-without-losing.test.ts +344 -0
  144. package/templates/.agents/dashboard/packages/local-runtime/src/server-http-contracts.ts +31 -0
  145. package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-routes.ts +345 -0
  146. package/templates/.agents/dashboard/packages/local-runtime/src/server-read-projections.ts +461 -0
  147. package/templates/.agents/dashboard/packages/local-runtime/src/server-reconciliation-refresh.test.ts +78 -0
  148. package/templates/.agents/dashboard/packages/local-runtime/src/server-route-context.ts +13 -0
  149. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.test.ts +18 -0
  150. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.ts +19 -3
  151. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot.test.ts +22 -21
  152. package/templates/.agents/dashboard/packages/local-runtime/src/server-sqlite-view-allowlist.test.ts +25 -0
  153. package/templates/.agents/dashboard/packages/local-runtime/src/server-trace-routes.ts +64 -0
  154. package/templates/.agents/dashboard/packages/local-runtime/src/server-work-reconciliation.test.ts +2 -30
  155. package/templates/.agents/dashboard/packages/local-runtime/src/server-work-reconciliation.ts +6 -23
  156. package/templates/.agents/dashboard/packages/local-runtime/src/server.test-fixtures.ts +1 -1
  157. package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +2 -330
  158. package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +73 -1060
  159. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-materialize-first-fold.ts +78 -0
  160. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-materialize-projections.ts +561 -0
  161. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-materialize-runs.ts +600 -0
  162. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-metric-contract.test.ts +1 -1
  163. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-agent-dimension.ts +269 -0
  164. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-context.ts +32 -0
  165. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-entity-group.ts +244 -0
  166. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-filtered-dimension.ts +292 -0
  167. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-financial.ts +547 -0
  168. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-model-dimension.ts +360 -0
  169. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-provider-dimension.ts +169 -0
  170. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-summary.ts +475 -0
  171. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-temporal-dimension.ts +132 -0
  172. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-timing.ts +299 -0
  173. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-view-page.ts +692 -0
  174. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-counts-every-root-execution-day-returns.test.ts +739 -0
  175. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-does-not-convert-delayed-historical-finalizer.test.ts +706 -0
  176. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-filesystem.ts +748 -0
  177. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-first-fold-types.ts +1 -1
  178. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-keeps-orphan-telemetry-out-kanban-without.test.ts +710 -0
  179. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-marks-token-cost-telemetry-unavailable-when.test.ts +618 -0
  180. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-rebuild.ts +755 -0
  181. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-rebuilds-disposable-snapshot-serves-zaip-records.test.ts +276 -0
  182. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-schema.ts +193 -0
  183. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-types.ts +123 -0
  184. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.test.ts +1 -2805
  185. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.ts +17 -6930
  186. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-schema-base-views.ts +385 -0
  187. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-schema-dashboard-views.ts +412 -0
  188. package/templates/.agents/dashboard/packages/local-runtime/src/work-priority-contract.test.ts +4 -3
  189. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-build.mjs +195 -0
  190. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-lifecycle.test.mjs +2 -7
  191. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-logging.mjs +35 -0
  192. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-navigation.mjs +114 -0
  193. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-paths.mjs +90 -0
  194. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.mjs +89 -418
  195. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.test.mjs +22 -12
  196. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  197. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  198. package/templates/.agents/dashboard/tests/e2e/playwright.config.ts +4 -1
  199. package/templates/.agents/design/.zaip-managed.json +5 -5
  200. package/templates/.agents/design/DESIGN.md +2 -186
  201. package/templates/.agents/design/README.md +12 -2
  202. package/templates/.agents/design/apps/catalog/package.json +1 -1
  203. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  204. package/templates/.agents/growth/strategy.md +3 -0
  205. package/templates/.agents/marketing/strategy.md +3 -0
  206. package/templates/.agents/requirements/autonomous-assurance.md +2 -1
  207. package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
  208. package/templates/.agents/requirements/comparative-audit.md +1 -1
  209. package/templates/.agents/requirements/context-engine.md +1 -1
  210. package/templates/.agents/requirements/cost-observability.md +1 -1
  211. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  212. package/templates/.agents/requirements/data-export.md +1 -1
  213. package/templates/.agents/requirements/design-system.md +13 -4
  214. package/templates/.agents/requirements/execution-engine.md +1 -1
  215. package/templates/.agents/requirements/kanban-dashboard.md +1 -1
  216. package/templates/.agents/requirements/model-orchestration.md +1 -1
  217. package/templates/.agents/requirements/public-distribution.md +4 -2
  218. package/templates/.agents/requirements/software-architecture.md +1 -1
  219. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  220. package/templates/.agents/requirements/work-lifecycle.md +3 -3
  221. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  222. package/templates/.agents/rules/architecture.md +2 -0
  223. package/templates/.agents/rules/astra-diagnostic.md +1 -1
  224. package/templates/.agents/rules/autonomy-decision.md +3 -1
  225. package/templates/.agents/rules/cloud-hostinger-autonomy.md +2 -0
  226. package/templates/.agents/rules/context.md +2 -1
  227. package/templates/.agents/rules/core.md +3 -3
  228. package/templates/.agents/rules/design-system-central-contract.md +17 -0
  229. package/templates/.agents/rules/evolution.md +3 -1
  230. package/templates/.agents/rules/frontend-lite.md +3 -1
  231. package/templates/.agents/rules/local-sqlite-storage.md +2 -2
  232. package/templates/.agents/rules/meta-mcp.md +3 -1
  233. package/templates/.agents/rules/model-orchestration.md +1 -1
  234. package/templates/.agents/rules/run-lifecycle-closure.md +6 -4
  235. package/templates/.agents/rules/security.md +3 -1
  236. package/templates/.agents/rules/specialist-routing.md +3 -1
  237. package/templates/.agents/rules/text-writing-utf8.md +1 -1
  238. package/templates/.agents/rules/workflow.md +7 -5
  239. package/templates/.agents/runtime/VERSION +1 -1
  240. package/templates/.agents/runtime/bin/zaip.mjs +519 -247
  241. package/templates/.agents/runtime/checksums.sha256 +6 -6
  242. package/templates/.agents/runtime/manifest.json +1 -1
  243. package/templates/.agents/runtime/pnpm-lock.sha256 +1 -1
  244. package/templates/.agents/runtime/provenance.json +5 -5
  245. package/templates/.agents/runtime/sbom.cdx.json +1 -1
  246. package/templates/.agents/sales/playbook.md +3 -0
  247. package/templates/.agents/skills/zaip-aios/SKILL.md +5 -3
  248. package/templates/.agents/skills/zaip-skill-adapt-stack/SKILL.md +1 -0
  249. package/templates/.agents/skills/zaip-skill-api-contracts/SKILL.md +14 -0
  250. package/templates/.agents/skills/zaip-skill-api-contracts/agents/openai.yaml +4 -0
  251. package/templates/.agents/skills/zaip-skill-application-observability/SKILL.md +15 -0
  252. package/templates/.agents/skills/zaip-skill-application-observability/agents/openai.yaml +4 -0
  253. package/templates/.agents/skills/zaip-skill-application-observability/references/signal-design.md +3 -0
  254. package/templates/.agents/skills/zaip-skill-application-readiness/SKILL.md +15 -0
  255. package/templates/.agents/skills/zaip-skill-application-readiness/agents/openai.yaml +4 -0
  256. package/templates/.agents/skills/zaip-skill-application-readiness/references/evidence-matrix.md +3 -0
  257. package/templates/.agents/skills/zaip-skill-architecture-design/SKILL.md +14 -0
  258. package/templates/.agents/skills/zaip-skill-architecture-design/agents/openai.yaml +4 -0
  259. package/templates/.agents/skills/zaip-skill-async-jobs/SKILL.md +14 -0
  260. package/templates/.agents/skills/zaip-skill-async-jobs/agents/openai.yaml +4 -0
  261. package/templates/.agents/skills/zaip-skill-auth-tenancy/SKILL.md +15 -0
  262. package/templates/.agents/skills/zaip-skill-auth-tenancy/agents/openai.yaml +4 -0
  263. package/templates/.agents/skills/zaip-skill-auth-tenancy/references/data-access-paths.md +9 -0
  264. package/templates/.agents/skills/zaip-skill-auth-tenancy/references/worker-scenario.md +5 -0
  265. package/templates/.agents/skills/zaip-skill-auth-tenancy/scripts/worker-contract.test.mjs +27 -0
  266. package/templates/.agents/skills/zaip-skill-author-skills/SKILL.md +2 -0
  267. package/templates/.agents/skills/zaip-skill-author-skills/references/engineering-skill-index.md +9 -0
  268. package/templates/.agents/skills/zaip-skill-author-skills/scripts/audit-skill-catalog.mjs +5 -3
  269. package/templates/.agents/skills/zaip-skill-author-skills/scripts/author-skill-scripts.test.mjs +27 -0
  270. package/templates/.agents/skills/zaip-skill-backend/SKILL.md +4 -0
  271. package/templates/.agents/skills/zaip-skill-backend/references/deployment-environments.md +75 -0
  272. package/templates/.agents/skills/zaip-skill-backend/references/supabase-migration-contract.md +23 -0
  273. package/templates/.agents/skills/zaip-skill-brand-governance/SKILL.md +2 -0
  274. package/templates/.agents/skills/zaip-skill-cache-strategy/SKILL.md +14 -0
  275. package/templates/.agents/skills/zaip-skill-cache-strategy/agents/openai.yaml +4 -0
  276. package/templates/.agents/skills/zaip-skill-change/SKILL.md +1 -1
  277. package/templates/.agents/skills/zaip-skill-cloud-engineering/SKILL.md +7 -0
  278. package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/SKILL.md +37 -0
  279. package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/agents/openai.yaml +6 -0
  280. package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/references/workers-static-assets.md +26 -0
  281. package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/references/workflow-templates.md +71 -0
  282. package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/scripts/cloudflare-github-deploy-contract.test.mjs +77 -0
  283. package/templates/.agents/skills/zaip-skill-config/SKILL.md +21 -11
  284. package/templates/.agents/skills/zaip-skill-config/agents/openai.yaml +2 -2
  285. package/templates/.agents/skills/zaip-skill-container-runtime/SKILL.md +14 -0
  286. package/templates/.agents/skills/zaip-skill-container-runtime/agents/openai.yaml +4 -0
  287. package/templates/.agents/skills/zaip-skill-context/SKILL.md +6 -1
  288. package/templates/.agents/skills/zaip-skill-context/references/prd-spec-task-handoff.md +10 -0
  289. package/templates/.agents/skills/zaip-skill-context/references/rule-selection.md +20 -0
  290. package/templates/.agents/skills/zaip-skill-cqrs/SKILL.md +1 -0
  291. package/templates/.agents/skills/zaip-skill-cybersecurity/SKILL.md +18 -0
  292. package/templates/.agents/skills/zaip-skill-cybersecurity/agents/openai.yaml +4 -0
  293. package/templates/.agents/skills/zaip-skill-cybersecurity/references/audit-contract.md +94 -0
  294. package/templates/.agents/skills/zaip-skill-cybersecurity/scripts/score-audit.mjs +185 -0
  295. package/templates/.agents/skills/zaip-skill-cybersecurity/scripts/score-audit.test.mjs +101 -0
  296. package/templates/.agents/skills/zaip-skill-data-modeling/SKILL.md +14 -0
  297. package/templates/.agents/skills/zaip-skill-data-modeling/agents/openai.yaml +4 -0
  298. package/templates/.agents/skills/zaip-skill-database-migrations/SKILL.md +20 -0
  299. package/templates/.agents/skills/zaip-skill-database-migrations/agents/openai.yaml +4 -0
  300. package/templates/.agents/skills/zaip-skill-database-migrations/references/manual-mode.md +15 -0
  301. package/templates/.agents/skills/zaip-skill-database-migrations/references/promotion-example.md +5 -0
  302. package/templates/.agents/skills/zaip-skill-database-migrations/scripts/export-manual-sql.mjs +145 -0
  303. package/templates/.agents/skills/zaip-skill-database-migrations/scripts/export-manual-sql.test.mjs +178 -0
  304. package/templates/.agents/skills/zaip-skill-dependency-upgrade/SKILL.md +14 -0
  305. package/templates/.agents/skills/zaip-skill-dependency-upgrade/agents/openai.yaml +4 -0
  306. package/templates/.agents/skills/zaip-skill-deployment-pipeline/SKILL.md +15 -0
  307. package/templates/.agents/skills/zaip-skill-deployment-pipeline/agents/openai.yaml +4 -0
  308. package/templates/.agents/skills/zaip-skill-deployment-pipeline/references/runtime-shapes.md +3 -0
  309. package/templates/.agents/skills/zaip-skill-design-system/SKILL.md +20 -9
  310. package/templates/.agents/skills/zaip-skill-dev-environment/SKILL.md +14 -0
  311. package/templates/.agents/skills/zaip-skill-dev-environment/agents/openai.yaml +4 -0
  312. package/templates/.agents/skills/zaip-skill-dev-environment/references/inventory-contract.md +7 -0
  313. package/templates/.agents/skills/zaip-skill-dev-environment/scripts/inventory.mjs +77 -0
  314. package/templates/.agents/skills/zaip-skill-disaster-recovery/SKILL.md +15 -0
  315. package/templates/.agents/skills/zaip-skill-disaster-recovery/agents/openai.yaml +4 -0
  316. package/templates/.agents/skills/zaip-skill-disaster-recovery/references/recovery-scope.md +3 -0
  317. package/templates/.agents/skills/zaip-skill-execution/SKILL.md +3 -3
  318. package/templates/.agents/skills/zaip-skill-execution/references/correction-cycle.md +7 -0
  319. package/templates/.agents/skills/zaip-skill-execution/references/runtime-governance.md +1 -5
  320. package/templates/.agents/skills/zaip-skill-external-integrations/SKILL.md +14 -0
  321. package/templates/.agents/skills/zaip-skill-external-integrations/agents/openai.yaml +4 -0
  322. package/templates/.agents/skills/zaip-skill-frontend/SKILL.md +4 -0
  323. package/templates/.agents/skills/zaip-skill-frontend-componentization/SKILL.md +44 -0
  324. package/templates/.agents/skills/zaip-skill-frontend-componentization/agents/openai.yaml +4 -0
  325. package/templates/.agents/skills/zaip-skill-frontend-data-flows/SKILL.md +14 -0
  326. package/templates/.agents/skills/zaip-skill-frontend-data-flows/agents/openai.yaml +4 -0
  327. package/templates/.agents/skills/zaip-skill-general-operations/SKILL.md +2 -0
  328. package/templates/.agents/skills/zaip-skill-github-actions-setup/SKILL.md +36 -0
  329. package/templates/.agents/skills/zaip-skill-github-actions-setup/agents/openai.yaml +4 -0
  330. package/templates/.agents/skills/zaip-skill-github-actions-setup/references/cloudflare-pages.md +33 -0
  331. package/templates/.agents/skills/zaip-skill-github-actions-setup/references/github.md +63 -0
  332. package/templates/.agents/skills/zaip-skill-github-actions-setup/references/hostinger-vps.md +55 -0
  333. package/templates/.agents/skills/zaip-skill-github-actions-setup/references/npm.md +30 -0
  334. package/templates/.agents/skills/zaip-skill-github-actions-setup/scripts/check-skill.mjs +55 -0
  335. package/templates/.agents/skills/zaip-skill-github-actions-setup/scripts/verify-cloudflare.mjs +61 -0
  336. package/templates/.agents/skills/zaip-skill-github-actions-setup/scripts/verify-cloudflare.test.mjs +128 -0
  337. package/templates/.agents/skills/zaip-skill-github-actions-setup/scripts/verify-ssh.integration.test.mjs +106 -0
  338. package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +43 -76
  339. package/templates/.agents/skills/zaip-skill-github-deploy/references/deployment-workflow.md +131 -0
  340. package/templates/.agents/skills/zaip-skill-github-deploy/references/github-release-workflow-template.md +31 -0
  341. package/templates/.agents/skills/zaip-skill-github-deploy/references/release-gate-matrix.md +24 -0
  342. package/templates/.agents/skills/zaip-skill-github-deploy/references/release-identity.md +44 -0
  343. package/templates/.agents/skills/zaip-skill-github-deploy/references/release-notes.md +134 -0
  344. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/consumer-release-preparation.mjs +389 -0
  345. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/consumer-release-preparation.test.mjs +134 -0
  346. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +25 -2
  347. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-readiness-api.test.mjs +134 -0
  348. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-readiness.mjs +98 -0
  349. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-readiness.test.mjs +25 -0
  350. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/install-github-readiness-workflow.mjs +159 -0
  351. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/install-github-readiness-workflow.test.mjs +160 -0
  352. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/preflight.mjs +149 -12
  353. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/preflight.test.mjs +64 -5
  354. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/release-notes-coverage.test.mjs +126 -0
  355. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/resolve-release-identity.mjs +78 -0
  356. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/resolve-release-identity.test.mjs +51 -0
  357. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/validate-release-notes.mjs +184 -0
  358. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/validate-release-notes.test.mjs +109 -0
  359. package/templates/.agents/skills/zaip-skill-growth-strategy-revops/SKILL.md +2 -0
  360. package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/SKILL.md +18 -10
  361. package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/agents/openai.yaml +3 -4
  362. package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/references/aws-cli-terraform.md +62 -0
  363. package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/references/guia-iniciante-hostinger-vps.md +183 -0
  364. package/templates/.agents/skills/zaip-skill-marketing/SKILL.md +2 -0
  365. package/templates/.agents/skills/zaip-skill-module-scaffold/SKILL.md +14 -0
  366. package/templates/.agents/skills/zaip-skill-module-scaffold/agents/openai.yaml +4 -0
  367. package/templates/.agents/skills/zaip-skill-module-scaffold/references/scaffold-contract.md +9 -0
  368. package/templates/.agents/skills/zaip-skill-module-scaffold/scripts/helpers.test.mjs +121 -0
  369. package/templates/.agents/skills/zaip-skill-module-scaffold/scripts/scaffold.mjs +169 -0
  370. package/templates/.agents/skills/zaip-skill-move-prd/SKILL.md +1 -1
  371. package/templates/.agents/skills/zaip-skill-move-spec/SKILL.md +1 -1
  372. package/templates/.agents/skills/zaip-skill-performance-engineering/SKILL.md +14 -0
  373. package/templates/.agents/skills/zaip-skill-performance-engineering/agents/openai.yaml +4 -0
  374. package/templates/.agents/skills/zaip-skill-prd/SKILL.md +1 -1
  375. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-local-telemetry.mjs +1 -0
  376. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.mjs +26 -9
  377. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.test.mjs +39 -13
  378. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-remeasurement.mjs +1 -0
  379. package/templates/.agents/skills/zaip-skill-refactor-landing-page/SKILL.md +66 -0
  380. package/templates/.agents/skills/zaip-skill-refactor-landing-page/agents/openai.yaml +4 -0
  381. package/templates/.agents/skills/zaip-skill-refactor-landing-page/references/behavioral-dry-run.md +23 -0
  382. package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +40 -1
  383. package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +98 -0
  384. package/templates/.agents/skills/zaip-skill-review/SKILL.md +1 -0
  385. package/templates/.agents/skills/zaip-skill-rules/SKILL.md +3 -3
  386. package/templates/.agents/skills/zaip-skill-sales-methodology/SKILL.md +2 -0
  387. package/templates/.agents/skills/zaip-skill-setup/SKILL.md +19 -21
  388. package/templates/.agents/skills/zaip-skill-setup/agents/openai.yaml +2 -2
  389. package/templates/.agents/skills/zaip-skill-spec/SKILL.md +3 -2
  390. package/templates/.agents/skills/zaip-skill-storage-uploads/SKILL.md +14 -0
  391. package/templates/.agents/skills/zaip-skill-storage-uploads/agents/openai.yaml +4 -0
  392. package/templates/.agents/skills/zaip-skill-systematic-debugging/SKILL.md +14 -0
  393. package/templates/.agents/skills/zaip-skill-systematic-debugging/agents/openai.yaml +4 -0
  394. package/templates/.agents/skills/zaip-skill-task/SKILL.md +16 -7
  395. package/templates/.agents/skills/zaip-skill-task/references/commit-policy.md +25 -0
  396. package/templates/.agents/skills/zaip-skill-test-data/SKILL.md +14 -0
  397. package/templates/.agents/skills/zaip-skill-test-data/agents/openai.yaml +4 -0
  398. package/templates/.agents/skills/zaip-skill-test-data/scripts/generate.mjs +72 -0
  399. package/templates/.agents/skills/zaip-skill-testing-strategy/SKILL.md +15 -0
  400. package/templates/.agents/skills/zaip-skill-testing-strategy/agents/openai.yaml +4 -0
  401. package/templates/.agents/skills/zaip-skill-testing-strategy/references/example-map.md +3 -0
  402. package/templates/.agents/skills/zaip-skill-website-readiness/SKILL.md +8 -0
  403. package/templates/.agents/zaip-aios/VERSION +1 -1
  404. package/templates/.agents/zaip-aios/guides/10-seguranca.md +2 -1
  405. package/templates/.agents/zaip-aios/guides/20-instalacao-detalhada.md +5 -3
  406. package/templates/scripts/validate-cloud-hostinger-contract.mjs +34 -0
  407. package/templates/template-manifest.json +955 -211
  408. package/templates/.agents/branding/.gitkeep +0 -0
  409. package/templates/.agents/dashboard/apps/frontend/dist/assets/CostCalculationGuidePage-snUCQYTC.js +0 -1
  410. package/templates/.agents/dashboard/apps/frontend/dist/assets/PricingSettingsDialog-BPtVUGgs.js +0 -1
  411. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-3Awyaovx.js +0 -3
  412. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-GgzpZ_PY.css +0 -1
  413. package/templates/.agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-BCvZFMEf.js +0 -1
  414. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-DbaLbU2q.js +0 -68
  415. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-_MEktQNM.js +0 -2
  416. package/templates/.agents/dashboard/apps/frontend/dist/assets/rolldown-runtime-D9-fqq9M.js +0 -1
  417. package/templates/.agents/dashboard/apps/frontend/dist/assets/traceability-BDe4_Ubl.js +0 -1
  418. package/templates/.agents/growth/.gitkeep +0 -0
  419. package/templates/.agents/marketing/.gitkeep +0 -0
  420. package/templates/.agents/sales/.gitkeep +0 -0
@@ -0,0 +1,3 @@
1
+ import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{C as t,x as n}from"./cost-monitor-B6aZfo5f.js";var r=e(t(),1),i=[{id:`primary_language`,defaultName:`TypeScript`,scope:`backend`},{id:`backend_runtime`,defaultName:`Node.js`,scope:`backend`},{id:`backend_api`,defaultName:`Hono`,scope:`backend`},{id:`query_builder`,defaultName:`Kysely`,scope:`backend`},{id:`database`,defaultName:`PostgreSQL via Supabase`,scope:`backend`},{id:`auth_storage`,defaultName:`Supabase Auth + Storage`,scope:`backend`},{id:`cache_messaging`,defaultName:`Redis`,scope:`backend`},{id:`async_queue`,defaultName:`BullMQ`,scope:`backend`},{id:`backend_infrastructure`,defaultName:`Terraform`,scope:`backend`},{id:`backend_hosting`,defaultName:`Hostinger VPS`,scope:`backend`},{id:`web_framework`,defaultName:`React`,scope:`frontend`},{id:`web_language`,defaultName:`TypeScript`,scope:`frontend`},{id:`web_build`,defaultName:`Vite`,scope:`frontend`},{id:`frontend_hosting`,defaultName:`Cloudflare Pages`,scope:`frontend`},{id:`site_framework`,defaultName:`Astro`,scope:`site`},{id:`site_language`,defaultName:`TypeScript`,scope:`site`},{id:`site_islands`,defaultName:`React Islands`,scope:`site`},{id:`site_build`,defaultName:`Vite`,scope:`site`},{id:`site_hosting`,defaultName:`Cloudflare Pages`,scope:`site`},{id:`prometheus`,defaultName:`Prometheus`,scope:`observability`},{id:`grafana`,defaultName:`Grafana`,scope:`observability`},{id:`uptime_kuma`,defaultName:`Uptime Kuma`,scope:`observability`},{id:`cadvisor`,defaultName:`cAdvisor`,scope:`observability`},{id:`node_exporter`,defaultName:`node-exporter`,scope:`observability`},{id:`redis_exporter`,defaultName:`Redis Exporter`,scope:`observability`},{id:`k6`,defaultName:`k6`,scope:`testing`},{id:`autocannon`,defaultName:`autocannon`,scope:`testing`}];function a(e){let{languages:t,components:n,...r}=e.stack.overrides,a=m(n)?n:{};return{components:Object.fromEntries(i.map(e=>{let t=a[e.id],n=m(t)?t:{};return[e.id,{name:p(n.name)||e.defaultName,version:p(n.version),reference:p(n.reference)}]})),otherOverrides:JSON.stringify(r,null,2)}}function o(e,t){let n=new Map(t.filter(e=>e.installation===`installed`&&e.version!==null).map(e=>[e.name.toLowerCase(),e.version]));return Object.fromEntries(i.map(t=>{let r=e[t.id],i=n.get(d(t.id));return[t.id,r.version!==``||i===void 0?r:{...r,version:i}]}))}function s(e,t,n){let r=JSON.parse(n);if(!m(r))throw Error(`Demais overrides deve ser um objeto JSON.`);let{languages:a,components:o,...s}=r;for(let e of i){let n=t[e.id].version.trim();if(n!==``&&!/^\d+\.\d+(?:\.\d+)?(?:[-+][0-9A-Za-z.-]+)?$/.test(n))throw Error(`A versão de ${t[e.id].name||e.defaultName} deve ser exata, como 22.16.0 ou 17.6, sem ^, ~, >= ou latest.`)}let c=Object.fromEntries(i.map(e=>[e.id,{name:t[e.id].name.trim()||e.defaultName,version:t[e.id].version.trim(),reference:t[e.id].reference.trim()}])),l=m(e.stack.overrides.components)?e.stack.overrides.components:{};return{...e,stack:{...e.stack,overrides:{...s,components:{...l,...c},languages:{frontend:f(c,`frontend`),backend:f(c,`backend`),site:f(c,`site`)}}}}}function c(e){return[...new Set(e.split(/\r?\n/).map(e=>e.trim()).filter(Boolean))]}function l(){return{runtime:`autonomous`,autonomous:{provider:`codex`,model:`gpt-5.6-terra`,max_parallelism:1,lease_ms:6e4}}}function u(e){let t=e?.match(/^v?(\d+)\.(\d+)\.\d+(?:[-+][0-9A-Za-z.-]+)?$/);return t?`v${t[1]}.${t[2]}`:null}function d(e){return e===`backend_runtime`?`node.js`:e===`backend_api`?`hono`:e===`site_framework`?`astro`:e===`cache_messaging`?`redis`:e===`async_queue`?`bullmq`:e===`web_framework`||e===`site_islands`?`react`:e===`web_build`||e===`site_build`?`vite`:e===`primary_language`||e===`web_language`||e===`site_language`?`typescript`:``}function f(e,t){return[...new Set(i.filter(e=>e.scope===t).map(t=>e[t.id].name.trim()).filter(Boolean))]}function p(e){return typeof e==`string`?e:``}function m(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var h=n(),g={primary_language:{pt:`Linguagem principal`,en:`Primary language`},backend_runtime:{pt:`Runtime backend`,en:`Backend runtime`},backend_api:{pt:`Framework backend / API`,en:`Backend framework / API`},query_builder:{pt:`Query builder`,en:`Query builder`},database:{pt:`Banco de dados`,en:`Database`},auth_storage:{pt:`Autenticação e Storage`,en:`Authentication and Storage`},cache_messaging:{pt:`Cache e mensageria`,en:`Cache and messaging`},async_queue:{pt:`Filas e processamento assíncrono`,en:`Queues and async processing`},backend_infrastructure:{pt:`Infraestrutura backend`,en:`Backend infrastructure`},backend_hosting:{pt:`Hospedagem do backend`,en:`Backend hosting`},web_framework:{pt:`Framework do Web App`,en:`Web App framework`},web_language:{pt:`Linguagem do Web App`,en:`Web App language`},web_build:{pt:`Build do Web App`,en:`Web App build`},frontend_hosting:{pt:`Hospedagem do frontend`,en:`Frontend hosting`},site_framework:{pt:`Framework do site`,en:`Site framework`},site_language:{pt:`Linguagem do site`,en:`Site language`},site_islands:{pt:`Componentes interativos`,en:`Interactive components`},site_build:{pt:`Build do site`,en:`Site build`},site_hosting:{pt:`Hospedagem do site`,en:`Site hosting`},prometheus:{pt:`Coleta de métricas`,en:`Metrics collection`},grafana:{pt:`Dashboards`,en:`Dashboards`},uptime_kuma:{pt:`Monitoramento de disponibilidade`,en:`Availability monitoring`},cadvisor:{pt:`Métricas de containers`,en:`Container metrics`},node_exporter:{pt:`Métricas de host`,en:`Host metrics`},redis_exporter:{pt:`Métricas do Redis`,en:`Redis metrics`},k6:{pt:`Teste de carga`,en:`Load testing`},autocannon:{pt:`Teste HTTP de carga`,en:`HTTP load testing`}};function _({components:e,locale:t,onChange:n,referenceHint:r,versionHint:a}){let o=[{scope:`backend`,title:t===`pt-BR`?`Backend e dados`:`Backend and data`},{scope:`frontend`,title:`Web App`},{scope:`site`,title:t===`pt-BR`?`Site e landing pages`:`Site and landing pages`},{scope:`observability`,title:t===`pt-BR`?`Observabilidade`:`Observability`},{scope:`testing`,title:t===`pt-BR`?`Testes sob demanda`:`On-demand testing`}],s=(t,r,i)=>n({...e,[t]:{...e[t],[r]:i}});return(0,h.jsxs)(`div`,{className:`project-stack-editor`,children:[o.map(n=>(0,h.jsxs)(`section`,{children:[(0,h.jsx)(`h3`,{children:n.title}),(0,h.jsxs)(`div`,{className:`project-stack-table`,children:[(0,h.jsxs)(`div`,{className:`project-stack-table-head`,"aria-hidden":`true`,children:[(0,h.jsx)(`span`,{children:`Item`}),(0,h.jsx)(`span`,{children:t===`pt-BR`?`Tecnologia`:`Technology`}),(0,h.jsx)(`span`,{children:t===`pt-BR`?`Versão exata`:`Exact version`}),(0,h.jsx)(`span`,{children:t===`pt-BR`?`Pacote / imagem / serviço`:`Package / image / service`})]}),i.filter(e=>e.scope===n.scope).map(n=>(0,h.jsxs)(`div`,{className:`project-stack-row`,children:[(0,h.jsx)(`strong`,{children:g[n.id][t===`pt-BR`?`pt`:`en`]}),(0,h.jsx)(`input`,{"aria-label":`${g[n.id].pt}: tecnologia`,value:e[n.id].name,onChange:e=>s(n.id,`name`,e.target.value)}),(0,h.jsx)(`input`,{"aria-label":`${g[n.id].pt}: versão exata`,inputMode:`decimal`,placeholder:`x.y.z`,value:e[n.id].version,onChange:e=>s(n.id,`version`,e.target.value)}),(0,h.jsx)(`input`,{"aria-label":`${g[n.id].pt}: referência`,placeholder:`npm:pacote ou service:nome`,value:e[n.id].reference,onChange:e=>s(n.id,`reference`,e.target.value)})]},n.id))]})]},n.scope)),(0,h.jsxs)(`div`,{className:`project-stack-format-help`,children:[(0,h.jsxs)(`p`,{children:[(0,h.jsx)(`strong`,{children:t===`pt-BR`?`Formato da versão:`:`Version format:`}),` `,a]}),(0,h.jsxs)(`p`,{children:[(0,h.jsx)(`strong`,{children:t===`pt-BR`?`Formato da referência:`:`Reference format:`}),` `,r]})]})]})}function v({components:e,showTitle:t=!0,text:n}){return e.length===0?null:(0,h.jsxs)(`section`,{className:`project-stack-versions`,"aria-label":n.versions,children:[t?(0,h.jsx)(`h3`,{children:n.versions}):null,(0,h.jsx)(`div`,{children:e.map(e=>(0,h.jsxs)(`article`,{children:[(0,h.jsxs)(`div`,{className:`project-stack-version-identity`,children:[(0,h.jsx)(`strong`,{children:e.name}),(0,h.jsxs)(`code`,{children:[n.current,`: `,e.version??n.versionUnavailable]}),e.configured_version!==null&&e.configured_version!==e.version?(0,h.jsxs)(`code`,{children:[n.configured,`: `,e.configured_version]}):null]}),(0,h.jsx)(`span`,{className:`is-${e.verification}`,children:e.installation===`runtime`?n.runtime:e.installation===`installed`?n.installed:e.installation===`bundled`?n.bundled:n.missing}),e.source?(0,h.jsx)(`small`,{children:e.source}):null]},e.name))})]})}function y(e){let{completed:t,percent:n,total:r}=e.installation;return{completed:t,total:r,percentage:n,complete:t===r}}function b(e){return e.filter(e=>![`database`,`installation`].includes(e.id))}var x={"pt-BR":{eyebrow:`Configurações`,title:`Configuração do projeto`,intro:`Edite o arquivo central do projeto com validação do schema antes da gravação.`,loading:`Carregando…`,back:`Voltar ao dashboard`,save:`Salvar configurações`,saving:`Validando e salvando…`,saved:`Configurações salvas e validadas.`,framework:`Framework ZAIP-AIOS`,frameworkHint:`Ativa ou desativa o framework para este projeto.`,identity:`Identidade do projeto`,stack:`Stack e linguagens`,execution:`Execução`,assurance:`Assurance`,executionToggleHint:`Grava ou remove o bloco execution. Sem ele, o projeto usa execução manual.`,runtimeHint:`Manual apenas materializa o trabalho; autonomous executa a DAG pelo provider configurado quando as precondições passam.`,providerHint:`Provider que inicia os agentes da execução autônoma: Codex ou Claude.`,executionModelHint:`Modelo-base do runtime autônomo. A política automática de PRD/SPEC ainda pode selecionar um modelo permitido por agente.`,parallelismHint:`Teto de agentes simultâneos. O valor efetivo é o menor limite entre projeto, DAG, provider e squad.`,leaseHint:`Valor persistido no projeto. O coordenador atual ainda usa internamente um lease fixo de 60 segundos.`,assuranceToggleHint:`Ativa ou remove os gates de evidência, revisão e qualidade do projeto. Recomenda-se manter ativo.`,assuranceVersionHint:`Versão do contrato de assurance. É fixa e somente leitura.`,assuranceDepthHint:`Auto ajusta o rigor ao escopo; base exige o conjunto padrão; elevated amplia validações para mudanças mais abrangentes.`,finalCommitHint:`Exige que as evidências comprovem o commit final integrado. Sinais de produção ou migração ainda podem exigir isso mesmo quando desativado.`,context:`Contexto`,overview:`Visão geral do projeto`,available:`Criado`,unavailable:`Ainda não criado`,componentGuide:`Preencha cada responsabilidade separadamente. A versão fica sem prefixos (^, ~, >=) e a referência identifica o pacote, imagem ou serviço.`,versionHint:`Versão exata: 22.16.0 ou 17.6. Deixe vazio para serviços sem versão fixada.`,referenceHint:`Ex.: npm:hono, docker:node:22.16.0-bookworm-slim, service:supabase ou provider:cloudflare-pages.`,overrides:`Opções avançadas (JSON)`,overridesHint:`Use apenas fatos técnicos transversais confirmados. Deixe vazio quando não houver exceções.`,versions:`Versões detectadas no workspace`,exact:`Verificada`,constraint:`Requisito`,versionUnavailable:`Não encontrada`,runtime:`Runtime do Dashboard`,installed:`Instalado no projeto`,missing:`Ausente no projeto`,bundled:`Empacotado no Dashboard`,current:`Atual`,configured:`Configurado`,installation:`Instalação`,incompleteInstallation:`Nem todas as dependências técnicas locais deste computador foram instaladas.`,dismiss:`Fechar aviso`,contextGuide:`O contexto começa pelas fontes canônicas e inclui somente arquivos relevantes para a tarefa. Saídas geradas são consultadas apenas em setup, release ou checagem de paridade.`,contextDomains:`Branding, Marketing, Growth e Sales são usados sob demanda pelos respectivos especialistas, quando houver uma tarefa e artefatos desses domínios. Não os adicione aqui apenas por existirem como capacidades.`},"en-US":{eyebrow:`Settings`,title:`Project settings`,intro:`Edit the central project file with schema validation before writing.`,loading:`Loading project settings…`,back:`Back to dashboard`,save:`Save settings`,saving:`Validating and saving…`,saved:`Settings saved and validated.`,framework:`ZAIP-AIOS framework`,frameworkHint:`Enable or disable the framework for this project.`,identity:`Project identity`,stack:`Stack and languages`,execution:`Execution`,assurance:`Assurance`,executionToggleHint:`Writes or removes the execution block. Without it, the project uses manual execution.`,runtimeHint:`Manual only materializes work; autonomous runs the DAG through the configured provider after preconditions pass.`,providerHint:`Provider that starts autonomous execution agents: Codex or Claude.`,executionModelHint:`Base model for the autonomous runtime. PRD/SPEC automatic policy may still select an allowed model per agent.`,parallelismHint:`Maximum simultaneous agents. Effective parallelism is the smallest project, DAG, provider, and squad limit.`,leaseHint:`Value persisted in the project. The current coordinator still uses a fixed internal 60-second lease.`,assuranceToggleHint:`Enables or removes project evidence, review, and quality gates. Keeping it enabled is recommended.`,assuranceVersionHint:`Assurance contract version. It is fixed and read-only.`,assuranceDepthHint:`Auto adapts rigor to scope; base uses the standard set; elevated expands validation for broader changes.`,finalCommitHint:`Requires evidence for the final integrated commit. Production or migration signals may still require it when disabled.`,context:`Context`,overview:`Project overview`,available:`Created`,unavailable:`Not created yet`,componentGuide:`Fill each responsibility separately. Versions have no prefixes (^, ~, >=), and the reference identifies the package, image, or service.`,versionHint:`Exact version: 22.16.0 or 17.6. Leave blank for services without a pinned version.`,referenceHint:`E.g. npm:hono, docker:node:22.16.0-bookworm-slim, service:supabase, or provider:cloudflare-pages.`,overrides:`Advanced options (JSON)`,overridesHint:`Use only confirmed cross-cutting technical facts. Leave empty when there are no exceptions.`,versions:`Versions detected in the workspace`,exact:`Verified`,constraint:`Requirement`,versionUnavailable:`Not found`,runtime:`Dashboard runtime`,installed:`Installed in project`,missing:`Missing from project`,bundled:`Bundled in Dashboard`,current:`Current`,configured:`Configured`,installation:`Installation`,incompleteInstallation:`Not all local technical dependencies have been installed on this computer.`,dismiss:`Dismiss notification`,contextGuide:`Context starts from canonical sources and includes only files relevant to the task. Generated outputs are consulted only for setup, release, or parity checks.`,contextDomains:`Branding, Marketing, Growth, and Sales are used on demand by their respective specialists when there is a task and artifacts in those domains. Do not add them here merely because they exist as capabilities.`}};function S({api:e,locale:t,onClose:n}){let i=x[t],[d,f]=(0,r.useState)(null),[p,m]=(0,r.useState)(null),[g,S]=(0,r.useState)(null),[k,A]=(0,r.useState)(`{}`),[j,M]=(0,r.useState)(!1),[N,P]=(0,r.useState)(null),[F,I]=(0,r.useState)(null),[L,R]=(0,r.useState)(!1),z=p===null?null:y(p);(0,r.useEffect)(()=>{Promise.all([e.projectSettings(),e.projectOverview()]).then(([e,t])=>{let n=a(e);f(e),m(t),S(o(n.components,t.stack_components)),A(n.otherOverrides)}).catch(e=>P(e instanceof Error?e.message:String(e)))},[e]),(0,r.useEffect)(()=>{R(p!==null&&y(p).complete===!1)},[p]);async function B(t){if(t.preventDefault(),d!==null){M(!0),P(null),I(null);try{let t=await e.saveProjectSettings(s(d,g??a(d).components,k)),n=await e.projectOverview(),r=a(t);f(t),m(n),S(r.components),A(r.otherOverrides),I(i.saved)}catch(e){P(e instanceof Error?e.message:String(e))}finally{M(!1)}}}if(d===null){let e=N===null;return(0,h.jsx)(`main`,{"aria-busy":e,className:`project-settings-state`,children:(0,h.jsxs)(`div`,{"aria-live":e?`polite`:`assertive`,className:`project-settings-state-card`,role:e?`status`:`alert`,children:[e?(0,h.jsx)(`span`,{"aria-hidden":`true`,className:`project-settings-loader`}):null,(0,h.jsx)(`p`,{children:i.eyebrow}),(0,h.jsx)(`h1`,{children:N??i.loading}),(0,h.jsxs)(`button`,{onClick:n,type:`button`,children:[`← `,i.back]})]})})}return(0,h.jsxs)(`main`,{className:`project-settings-page`,children:[(0,h.jsxs)(`form`,{onSubmit:B,children:[(0,h.jsxs)(`header`,{className:`project-settings-header`,children:[(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`p`,{children:i.eyebrow}),(0,h.jsx)(`h1`,{children:i.title}),(0,h.jsx)(`span`,{children:i.intro})]}),(0,h.jsxs)(`button`,{className:`project-settings-back`,onClick:n,type:`button`,children:[`← `,i.back]})]}),N?(0,h.jsx)(`div`,{className:`project-settings-message is-error`,children:N}):null,F?(0,h.jsx)(`div`,{className:`project-settings-message is-success`,role:`status`,children:F}):null,(0,h.jsxs)(`section`,{className:`project-settings-feature`,children:[(0,h.jsxs)(`div`,{children:[(0,h.jsxs)(`h2`,{children:[i.framework,u(p?.framework_version)?` - ${u(p?.framework_version)}`:``]}),(0,h.jsx)(`p`,{children:i.frameworkHint})]}),(0,h.jsx)(E,{checked:d.zaip?.enabled===!0,label:t===`pt-BR`?`Framework ativo`:`Framework enabled`,onChange:e=>f({...d,zaip:{enabled:e}})})]}),(0,h.jsxs)(`section`,{className:`project-settings-summary`,"aria-label":i.overview,children:[p&&b(p.metrics).map(e=>(0,h.jsxs)(`div`,{className:`project-settings-metric`,children:[(0,h.jsx)(`strong`,{children:e.value}),(0,h.jsx)(`span`,{children:e.label})]},e.id)),z?(0,h.jsxs)(`div`,{className:`project-settings-metric installation-metric ${z.complete?`is-complete`:`is-incomplete`}`,children:[(0,h.jsx)(`strong`,{children:C(z.percentage,t)}),(0,h.jsxs)(`span`,{children:[i.installation,` · `,z.completed,`/`,z.total]})]}):null]}),(0,h.jsx)(w,{className:`is-wide`,title:i.overview,children:(0,h.jsx)(`div`,{className:`project-overview`,"aria-live":`polite`,children:p?.areas.map(e=>(0,h.jsxs)(`div`,{className:`project-overview-item`,children:[(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`strong`,{children:e.label}),(0,h.jsx)(`code`,{children:e.artifact})]}),(0,h.jsx)(`span`,{className:e.available?`is-available`:`is-unavailable`,children:e.available?i.available:i.unavailable})]},e.id))})}),(0,h.jsx)(w,{className:`is-wide project-detected-versions`,title:i.versions,children:(0,h.jsx)(v,{components:p?.stack_components??[],text:i,showTitle:!1})}),(0,h.jsxs)(`div`,{className:`project-settings-grid`,children:[(0,h.jsxs)(w,{className:`is-wide project-identity-card`,title:i.identity,children:[(0,h.jsx)(T,{label:`Schema`,children:(0,h.jsx)(`input`,{readOnly:!0,value:d.schema_version})}),(0,h.jsx)(T,{label:t===`pt-BR`?`ID do projeto`:`Project ID`,children:(0,h.jsx)(`input`,{required:!0,value:d.project.id,onChange:e=>f({...d,project:{...d.project,id:e.target.value}})})}),(0,h.jsx)(T,{label:t===`pt-BR`?`Nome do projeto`:`Project name`,children:(0,h.jsx)(`input`,{required:!0,value:d.project.name,onChange:e=>f({...d,project:{...d.project,name:e.target.value}})})}),(0,h.jsx)(T,{label:`Timezone IANA`,children:(0,h.jsx)(`input`,{required:!0,value:d.project.timezone,onChange:e=>f({...d,project:{...d.project,timezone:e.target.value}})})})]}),(0,h.jsxs)(w,{className:`is-wide`,title:i.stack,children:[(0,h.jsx)(`p`,{className:`project-stack-guide`,children:i.componentGuide}),g?(0,h.jsx)(_,{components:g,locale:t,onChange:S,referenceHint:i.referenceHint,versionHint:i.versionHint}):null,(0,h.jsxs)(`details`,{className:`project-settings-advanced`,children:[(0,h.jsx)(`summary`,{children:i.overrides}),(0,h.jsx)(T,{hint:i.overridesHint,label:`Overrides`,children:(0,h.jsx)(`textarea`,{rows:7,value:k,onChange:e=>A(e.target.value)})})]})]}),(0,h.jsxs)(w,{title:i.execution,children:[(0,h.jsx)(D,{checked:d.execution!==void 0,hint:i.executionToggleHint,label:t===`pt-BR`?`Incluir configuração de execução`:`Include execution configuration`,onChange:e=>f({...d,execution:e?{runtime:`manual`}:void 0})}),d.execution?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(T,{hint:i.runtimeHint,label:`Runtime`,children:(0,h.jsxs)(`select`,{value:d.execution.runtime,onChange:e=>f({...d,execution:e.target.value===`manual`?{runtime:`manual`}:l()}),children:[(0,h.jsx)(`option`,{value:`manual`,children:`manual`}),(0,h.jsx)(`option`,{value:`autonomous`,children:`autonomous`})]})}),d.execution.runtime===`autonomous`?(0,h.jsx)(O,{config:d,setConfig:f,text:i}):null]}):null]}),(0,h.jsxs)(w,{title:i.assurance,children:[(0,h.jsx)(D,{checked:d.assurance!==void 0,hint:i.assuranceToggleHint,label:t===`pt-BR`?`Incluir assurance`:`Include assurance`,onChange:e=>f({...d,assurance:e?{version:1,standard_depth:`auto`,require_final_commit:!0}:void 0})}),d.assurance?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(T,{hint:i.assuranceVersionHint,label:t===`pt-BR`?`Versão`:`Version`,children:(0,h.jsx)(`input`,{readOnly:!0,value:d.assurance.version})}),(0,h.jsx)(T,{hint:i.assuranceDepthHint,label:t===`pt-BR`?`Profundidade padrão`:`Standard depth`,children:(0,h.jsxs)(`select`,{value:d.assurance.standard_depth,onChange:e=>f({...d,assurance:{...d.assurance??{version:1,standard_depth:`auto`,require_final_commit:!0},standard_depth:e.target.value}}),children:[(0,h.jsx)(`option`,{value:`auto`,children:`auto`}),(0,h.jsx)(`option`,{value:`base`,children:`base`}),(0,h.jsx)(`option`,{value:`elevated`,children:`elevated`})]})}),(0,h.jsx)(E,{checked:d.assurance.require_final_commit,hint:i.finalCommitHint,label:t===`pt-BR`?`Exigir commit final`:`Require final commit`,onChange:e=>f({...d,assurance:{...d.assurance??{version:1,standard_depth:`auto`,require_final_commit:!0},require_final_commit:e}})})]}):null]}),(0,h.jsxs)(w,{className:`is-wide`,title:i.context,children:[(0,h.jsx)(D,{checked:d.context!==void 0,label:t===`pt-BR`?`Incluir raízes de contexto`:`Include context roots`,onChange:e=>f({...d,context:e?{canonical_roots:[`packages`],projection_roots:[]}:void 0})}),d.context?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)(`div`,{className:`project-settings-guidance`,children:[(0,h.jsx)(`p`,{children:i.contextGuide}),(0,h.jsx)(`p`,{children:i.contextDomains})]}),(0,h.jsxs)(`div`,{className:`project-settings-fields two-columns`,children:[(0,h.jsx)(T,{hint:t===`pt-BR`?`Uma pasta por linha. Estas são as fontes principais do projeto.`:`One folder per line. These are the project's primary sources.`,label:t===`pt-BR`?`Fontes canônicas`:`Canonical sources`,children:(0,h.jsx)(`textarea`,{required:!0,rows:5,value:d.context.canonical_roots.join(`
2
+ `),onChange:e=>f({...d,context:{...d.context??{canonical_roots:[`packages`],projection_roots:[]},canonical_roots:c(e.target.value)}})})}),(0,h.jsx)(T,{hint:t===`pt-BR`?`Uma pasta por linha. São saídas geradas, não fontes de contexto normal.`:`One folder per line. These are generated outputs, not normal context sources.`,label:t===`pt-BR`?`Saídas geradas/publicadas`:`Generated/published outputs`,children:(0,h.jsx)(`textarea`,{rows:5,value:d.context.projection_roots.join(`
3
+ `),onChange:e=>f({...d,context:{...d.context??{canonical_roots:[`packages`],projection_roots:[]},projection_roots:c(e.target.value)}})})})]})]}):null]})]}),(0,h.jsxs)(`footer`,{className:`project-settings-footer`,children:[(0,h.jsx)(`span`,{children:`.agents/config/project.yaml`}),(0,h.jsx)(`button`,{disabled:j,type:`submit`,children:j?i.saving:i.save})]})]}),L&&z?.complete===!1?(0,h.jsxs)(`div`,{"aria-live":`assertive`,className:`project-installation-toast`,role:`alert`,children:[(0,h.jsx)(`span`,{children:i.incompleteInstallation}),(0,h.jsx)(`button`,{"aria-label":i.dismiss,onClick:()=>R(!1),type:`button`,children:`×`})]}):null]})}function C(e,t){return`${new Intl.NumberFormat(t,{maximumFractionDigits:2}).format(e)}%`}function w({children:e,className:t=``,title:n}){return(0,h.jsxs)(`section`,{className:`project-settings-card ${t}`,children:[(0,h.jsx)(`h2`,{children:n}),(0,h.jsx)(`div`,{className:`project-settings-fields`,children:e})]})}function T({children:e,hint:t,label:n}){return(0,h.jsxs)(`div`,{className:`project-settings-field`,children:[(0,h.jsx)(`span`,{children:n}),e,t?(0,h.jsx)(`small`,{children:t}):null]})}function E({checked:e,hint:t,label:n,onChange:r}){return(0,h.jsxs)(`div`,{className:`project-settings-toggle-field`,children:[(0,h.jsxs)(`label`,{className:`project-settings-toggle`,children:[(0,h.jsx)(`input`,{checked:e,onChange:e=>r(e.target.checked),type:`checkbox`}),(0,h.jsx)(`span`,{"aria-hidden":`true`}),(0,h.jsx)(`strong`,{children:n})]}),t?(0,h.jsx)(`small`,{children:t}):null]})}function D(e){return(0,h.jsx)(E,{...e})}function O({config:e,setConfig:t,text:n}){let r=e.execution?.runtime===`autonomous`?e.execution:l(),i=n=>t({...e,execution:{runtime:`autonomous`,autonomous:n}});return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(T,{hint:n.providerHint,label:`Provider`,children:(0,h.jsxs)(`select`,{value:r.autonomous.provider,onChange:e=>i({...r.autonomous,provider:e.target.value}),children:[(0,h.jsx)(`option`,{value:`codex`,children:`codex`}),(0,h.jsx)(`option`,{value:`claude`,children:`claude`})]})}),(0,h.jsx)(T,{hint:n.executionModelHint,label:`Model`,children:(0,h.jsx)(`input`,{required:!0,value:r.autonomous.model,onChange:e=>i({...r.autonomous,model:e.target.value})})}),(0,h.jsx)(T,{hint:n.parallelismHint,label:`Max parallelism`,children:(0,h.jsx)(`input`,{max:8,min:1,type:`number`,value:r.autonomous.max_parallelism,onChange:e=>i({...r.autonomous,max_parallelism:Number(e.target.value)})})}),(0,h.jsx)(T,{hint:n.leaseHint,label:`Lease (ms)`,children:(0,h.jsx)(`input`,{max:36e5,min:5e3,step:1e3,type:`number`,value:r.autonomous.lease_ms,onChange:e=>i({...r.autonomous,lease_ms:Number(e.target.value)})})})]})}export{S as ProjectSettingsPage};
@@ -0,0 +1 @@
1
+ .project-settings-page,.project-settings-state{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#0f172a;background:#f5f7fb;min-height:100vh;padding:clamp(20px,4vw,48px)}.project-settings-page form,.project-settings-state-card{width:min(1440px,100%);margin-inline:auto}.project-settings-state{place-items:center;display:grid}.project-settings-state-card{text-align:center;background:#fff;border:1px solid #dbe4ef;border-radius:24px;justify-items:center;gap:12px;max-width:420px;padding:clamp(32px,6vw,48px);display:grid;box-shadow:0 18px 48px #0f172a14}.project-settings-loader{border:3px solid #00b0f02e;border-top-color:#00b0f0;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite project-settings-spin}.project-settings-state-card h1{max-width:18ch;font-size:clamp(1.75rem,5vw,2.25rem)}.project-settings-state-card button{width:auto;margin-top:12px}.project-settings-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.project-settings-header p,.project-settings-state p{color:#006b91;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.project-settings-header h1,.project-settings-state h1{letter-spacing:-.035em;margin:0;font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.15}.project-settings-header>div>span{color:#526176;max-width:760px;margin-top:10px;line-height:1.65;display:block}.project-settings-back,.project-settings-footer button,.project-settings-state button{color:#006b91;cursor:pointer;min-height:44px;font:inherit;background:0 0;border:1px solid #00b0f073;border-radius:999px;padding:10px 20px;font-weight:700}.project-settings-footer button{color:#042330;background:linear-gradient(135deg,#00b0f0 0%,#72f4fb 100%);border-color:#0000}.project-settings-back:focus-visible,.project-settings-footer button:focus-visible,.project-settings-state button:focus-visible,.project-settings-field input:focus-visible,.project-settings-field select:focus-visible,.project-settings-field textarea:focus-visible,.project-settings-toggle input:focus-visible+span{outline-offset:3px;outline:3px solid #00b0f06b}.project-settings-message,.project-settings-feature{border-radius:16px;margin-bottom:20px;padding:16px 18px}.project-settings-message.is-error{color:#b91c1c;background:#fef2f2;border:1px solid #dc26264d}.project-settings-message.is-success{color:#166534;background:#f0fdf4;border:1px solid #16a34a4d}.project-settings-feature{background:#00b0f014;border:1px solid #00b0f057;justify-content:space-between;align-items:center;gap:24px;display:flex}.project-settings-feature h2,.project-settings-feature p{margin:0}.project-settings-feature h2{font-size:1rem}.project-settings-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.project-settings-metric{background:linear-gradient(145deg,#00b0f014,#fff 72%);border:1px solid #dbe4ef;border-radius:16px;align-content:center;gap:4px;min-height:94px;padding:14px 16px;display:grid}.project-settings-metric strong{color:#0f172a;font-variant-numeric:tabular-nums;font-size:1.75rem;line-height:1}.project-settings-metric span{color:#526176;font-size:.78rem;font-weight:700;line-height:1.35}.project-settings-metric.installation-metric.is-complete strong,.project-settings-metric.installation-metric.is-complete span{color:#166534}.project-settings-metric.installation-metric.is-incomplete{background:linear-gradient(145deg,#dc262614,#fff 72%);border-color:#dc26264d}.project-settings-metric.installation-metric.is-incomplete strong,.project-settings-metric.installation-metric.is-incomplete span{color:#b91c1c}.project-settings-feature p{color:#526176;margin-top:5px}.project-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;margin-top:32px;display:grid}.project-settings-card{background:#fff;border:1px solid #dbe4ef;border-radius:24px;overflow:hidden;box-shadow:0 10px 28px #0f172a0f}.project-settings-card.is-wide{grid-column:1/-1}.project-identity-card .project-settings-fields{grid-template-columns:minmax(110px,.55fr) minmax(220px,1fr) minmax(220px,1fr) minmax(260px,1.2fr);align-items:end}.project-settings-card>h2{background:linear-gradient(145deg,#00b0f014,#0000 72%);border-bottom:1px solid #dbe4ef;margin:0;padding:18px 22px;font-size:1rem}.project-settings-fields{gap:16px;padding:20px 22px 22px;display:grid}.project-settings-fields .project-settings-fields{padding:0}.project-settings-fields.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.project-stack-guide{color:#526176;border-left:3px solid #00b0f0;margin:0 22px;padding:2px 0 2px 12px;line-height:1.5}.project-stack-editor{gap:22px;padding:20px 22px 22px;display:grid}.project-stack-editor>section{gap:10px;display:grid}.project-stack-editor h3{margin:0;font-size:.95rem}.project-stack-table{background:#fff;border:1px solid #dbe4ef;border-radius:14px;overflow:hidden}.project-stack-table-head,.project-stack-row{grid-template-columns:minmax(170px,.9fr) minmax(170px,1fr) minmax(120px,.55fr) minmax(250px,1.35fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.project-stack-table-head{color:#526176;letter-spacing:.04em;text-transform:uppercase;background:#f1f5f9;font-size:.7rem;font-weight:800}.project-stack-row+.project-stack-row{border-top:1px solid #e8eef5}.project-stack-row strong{color:#334155;font-size:.78rem}.project-stack-row input{color:#0f172a;caret-color:#018abb;min-width:0;font:inherit;-webkit-text-fill-color:#0f172a;background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;padding:9px 10px;font-size:.82rem}.project-stack-row input::placeholder{color:#94a3b8;opacity:1;-webkit-text-fill-color:#94a3b8}.project-stack-row input:hover{background-color:#fff;border-color:#a9bfd3}.project-stack-row input:focus-visible{outline-offset:1px;background-color:#fff;border-color:#00b0f0;outline:3px solid #00b0f033}.project-stack-row input:-webkit-autofill{-webkit-text-fill-color:#0f172a;box-shadow:inset 0 0 0 1000px #f8fafc}.project-stack-row input:-webkit-autofill:hover{-webkit-text-fill-color:#0f172a;box-shadow:inset 0 0 0 1000px #f8fafc}.project-stack-row input:-webkit-autofill:focus{-webkit-text-fill-color:#0f172a;box-shadow:inset 0 0 0 1000px #f8fafc}.project-stack-format-help{color:#3f5268;background:#eff8ff;border-radius:12px;gap:5px;padding:12px 14px;font-size:.78rem;line-height:1.45;display:grid}.project-stack-format-help p{margin:0}.project-settings-advanced{border:1px solid #dbe4ef;border-radius:16px;margin:0 22px 22px;padding:0 16px}.project-stack-architecture{background:#f8fafc;border:1px solid #dbe4ef;border-radius:16px;margin:0 22px 22px;padding:16px}.project-stack-architecture h3{margin:0 0 12px;font-size:.9rem}.project-stack-architecture>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.project-stack-architecture article{gap:5px;min-width:0;display:grid}.project-stack-architecture article strong{color:#334155;font-size:.78rem}.project-stack-architecture article span{color:#526176;font-size:.82rem;line-height:1.45}.project-settings-advanced summary{color:#334155;cursor:pointer;min-height:48px;padding-top:15px;font-weight:700}.project-settings-advanced .project-settings-field{padding-bottom:16px}.project-settings-guidance{color:#526176;border-left:3px solid #00b0f0;gap:10px;margin:20px 22px 0;padding:4px 0 4px 14px;line-height:1.55;display:grid}.project-settings-guidance p{margin:0}.project-settings-field{gap:8px;min-width:0;display:grid}.project-settings-field>span{color:#475569;letter-spacing:.04em;font-size:.75rem;font-weight:700}.project-settings-field input,.project-settings-field select,.project-settings-field textarea{color:#0f172a;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:16px;padding:12px 14px}.project-settings-field input[readonly]{color:#64748b;background:#f8fafc}.project-settings-field textarea{resize:vertical;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.5}.project-settings-field small{color:#64748b;line-height:1.45}.project-settings-toggle-field{gap:2px;width:fit-content;max-width:680px;display:grid}.project-settings-toggle-field>small{color:#64748b;padding-left:57px;line-height:1.45}.project-settings-toggle{cursor:pointer;align-items:center;gap:11px;width:fit-content;min-height:44px;display:inline-flex}.project-settings-toggle input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.project-settings-toggle>span{background:#e2e8f0;border:1px solid #cbd5e1;border-radius:999px;width:46px;height:26px;transition:border-color .16s,background .16s;position:relative}.project-settings-toggle>span:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #0f172a3d}.project-settings-toggle input:checked+span{background:#00b0f0;border-color:#018abb}.project-settings-toggle input:checked+span:after{transform:translate(20px)}.project-settings-toggle strong{color:#334155;font-size:.88rem}.project-settings-fixed{background:#f8fafc;border:1px solid #dbe4ef;border-radius:16px;grid-column:1/-1;gap:7px;padding:14px 16px;display:grid}.project-settings-fixed span{color:#64748b;font-size:.82rem;line-height:1.5}.project-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.project-overview-item{background:#f8fafc;border:1px solid #dbe4ef;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.project-overview-item>div{gap:5px;min-width:0;display:grid}.project-overview-item code{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.project-overview-item>span{border-radius:999px;flex:none;padding:4px 8px;font-size:.75rem;font-weight:700}.project-overview-item>span.is-available{color:#166534;background:#f0fdf4}.project-overview-item>span.is-unavailable{color:#b91c1c;background:#fef2f2}.project-detected-versions{margin-top:18px}.project-detected-versions .project-settings-fields{padding:20px 22px 22px}.project-detected-versions .project-stack-versions{margin:0}.project-installation-toast{z-index:20;color:#b91c1c;background:#fef2f2;border:1px solid #dc262659;border-radius:16px;align-items:center;gap:12px;max-width:min(420px,100vw - 32px);padding:14px 16px;font-weight:700;line-height:1.45;display:flex;position:fixed;bottom:clamp(16px,4vw,48px);right:clamp(16px,4vw,48px);box-shadow:0 18px 48px #0f172a29}.project-installation-toast button{width:32px;min-height:32px;color:inherit;cursor:pointer;font:inherit;background:0 0;border:1px solid;border-radius:999px;flex:none;place-items:center;padding:0;font-size:1.25rem;line-height:1;display:grid}.project-installation-toast button:focus-visible{outline-offset:3px;outline:3px solid #00b0f06b}.project-settings-footer{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #dbe4ef;border-radius:24px;justify-content:space-between;align-items:center;gap:18px;margin-top:24px;padding:16px 20px;display:flex;position:sticky;bottom:0;box-shadow:0 18px 48px #0f172a14}.project-settings-footer span{color:#64748b;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.8rem}.project-settings-footer button:disabled{cursor:wait;opacity:.65}@media (width<=1100px){.project-identity-card .project-settings-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.project-settings-header,.project-settings-feature,.project-settings-footer{flex-direction:column;align-items:stretch}.project-settings-grid,.project-settings-fields.two-columns,.project-identity-card .project-settings-fields,.project-overview{grid-template-columns:1fr}.project-settings-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.project-stack-architecture>div{grid-template-columns:1fr}.project-stack-table{background:0 0;border:0;gap:12px;display:grid;overflow:visible}.project-stack-table-head{display:none}.project-stack-row{background:#fff;border:1px solid #dbe4ef;border-radius:12px;grid-template-columns:1fr;gap:8px;padding:12px}.project-stack-row+.project-stack-row{border-top:1px solid #dbe4ef}.project-settings-card.is-wide{grid-column:auto}.project-settings-back,.project-settings-footer button{width:100%}}@media (prefers-reduced-motion:reduce){.project-settings-toggle>span,.project-settings-toggle>span:after{transition:none}.project-settings-loader{animation:none}}@keyframes project-settings-spin{to{transform:rotate(360deg)}}.project-stack-versions{margin:0 22px 22px}.project-stack-versions h3{margin:0 0 12px;font-size:.9rem}.project-stack-versions>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.project-stack-versions article{background:#f8fafc;border:1px solid #dbe4ef;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity badge""source source";align-items:start;gap:7px 12px;min-width:0;padding:9px 12px;display:grid}.project-stack-version-identity{grid-area:identity;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;min-width:0;display:grid}.project-stack-version-identity strong{color:#334155;min-width:0;font-size:.8rem}.project-stack-version-identity code{color:#0f172a;overflow-wrap:anywhere;min-width:0;font-size:.8rem}.project-stack-version-identity code+code{grid-column:2}.project-stack-versions article small{color:#64748b;overflow-wrap:anywhere;grid-area:source;min-width:0;font-size:.68rem;line-height:1.35}.project-stack-versions article span{border-radius:999px;grid-area:badge;width:fit-content;padding:3px 6px;font-size:.68rem;font-weight:700}.project-stack-versions .is-exact{color:#166534;background:#f0fdf4}.project-stack-versions .is-constraint{color:#9a3412;background:#fff7ed}.project-stack-versions .is-unavailable{color:#b91c1c;background:#fef2f2}@media (width<=820px){.project-stack-versions article{grid-template-columns:minmax(0,1fr);grid-template-areas:"identity""badge""source";align-items:start;gap:6px 10px;padding:10px 12px}.project-stack-versions>div,.project-stack-version-identity{grid-template-columns:1fr}.project-stack-version-identity code+code{grid-column:1}.project-stack-versions article span{align-self:start}.project-stack-versions article small{text-align:left}}
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{C as t,x as n}from"./cost-monitor-B6aZfo5f.js";import{n as r}from"./traceability-DQpKX9c1.js";import{t as i}from"./index-DgTmNHN5.js";var a=e(t(),1),o=n();function s(e,t){let n=t.trim().toLocaleLowerCase();return n===``?[...e]:e.filter(e=>`${e.title} ${e.id}`.toLocaleLowerCase().includes(n))}function c(e,t,n){return n?[...e]:s(e,t)}function l(e){return`traceability-task-option-${e}`}function u({locale:e,loadingTaskId:t,hasMoreTasks:n,isLoadingTasks:s,onLoadMoreTasks:u,onSelectTask:d,onOpenChange:f,onOpenPrd:p,onOpenSpec:m,selectedTaskId:h,tasks:g,trace:_}){let v=[...g].sort((e,t)=>Date.parse(t.created_at)-Date.parse(e.created_at)),y=v.find(e=>e.id===h),[b,x]=(0,a.useState)(()=>y?.title??h),[S,C]=(0,a.useState)(!1),[w,T]=(0,a.useState)(!1),[E,D]=(0,a.useState)(0),[O,k]=(0,a.useState)(12),A=(0,a.useMemo)(()=>c(v,b,w),[b,w,v]),j=A.slice(0,O),M=j.length<A.length,N=`traceability-task-search`,P=`traceability-task-results`,F=e===`pt-BR`?`Task selecionada`:`Selected task`,I=e===`pt-BR`?`Buscar task por nome ou ID`:`Search task by name or ID`,L=S?A[E]?.id:void 0;(0,a.useEffect)(()=>{x(y?.title??h),D(0)},[y?.title,h]);let R=e=>{x(e.title),C(!1),T(!1),d(e.id)},z=(e=!0)=>{C(!0),T(!0),e&&(D(0),k(12))};return(0,o.jsxs)(`section`,{className:`traceability-workspace`,children:[(0,o.jsxs)(`header`,{children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(`label`,{htmlFor:N,children:F}),(0,o.jsx)(`input`,{"aria-activedescendant":L===void 0?void 0:l(L),"aria-autocomplete":`list`,"aria-controls":P,"aria-expanded":S,"aria-label":I,id:N,onChange:e=>{x(e.target.value),D(0),T(!1),k(12),C(!0)},onClick:()=>z(),onFocus:()=>z(),onKeyDown:e=>{if(e.key===`ArrowDown`)e.preventDefault(),z(!1),D(e=>Math.min(e+1,Math.max(0,v.length-1)));else if(e.key===`ArrowUp`)e.preventDefault(),z(!1),D(e=>Math.max(0,e-1));else if(e.key===`Enter`&&S){let t=A[E];t!==void 0&&(e.preventDefault(),R(t))}else e.key===`Escape`&&C(!1)},role:`combobox`,type:`search`,value:b}),S?(0,o.jsx)(`div`,{"aria-label":I,className:`traceability-task-results`,id:P,onScroll:e=>{let{clientHeight:t,scrollHeight:r,scrollTop:a}=e.currentTarget;a+t<r-32||(n&&u(),j.length<A.length&&k(e=>i(e,A.length,12)))},role:`listbox`,children:A.length>0?j.map((e,t)=>(0,o.jsx)(`div`,{role:`presentation`,children:(0,o.jsx)(`button`,{"aria-selected":e.id===h,className:t===E?`is-active`:void 0,id:l(e.id),onClick:()=>R(e),role:`option`,type:`button`,children:(0,o.jsx)(`strong`,{children:e.title})})},e.id)):(0,o.jsx)(`div`,{className:`traceability-task-no-results`,role:`status`,children:e===`pt-BR`?`Nenhuma task encontrada.`:`No tasks found.`})}):null,S&&A.length>0?(0,o.jsx)(`p`,{"aria-live":`polite`,className:`traceability-task-pagination-status`,role:`status`,children:s?e===`pt-BR`?`Carregando mais tasks…`:`Loading more tasks…`:M||n?e===`pt-BR`?`${j.length} de ${A.length} tasks exibidas. Role para carregar mais.`:`${j.length} of ${A.length} tasks shown. Scroll to load more.`:e===`pt-BR`?`${A.length} tasks exibidas. Fim da lista.`:`${A.length} tasks shown. End of list.`}):null]}),(0,o.jsx)(`small`,{children:e===`pt-BR`?`Selecione pelo nome para visualizar o ciclo completo sem precisar do ID.`:`Select by name to inspect the complete lifecycle without knowing the ID.`})]}),t?(0,o.jsx)(`div`,{"aria-live":`polite`,className:`traceability-workspace-loading`,children:e===`pt-BR`?`Carregando as 6 etapas…`:`Loading all 6 stages…`}):_?(0,o.jsx)(r,{embedded:!0,locale:e,onClose:()=>void 0,onOpenChange:f,onOpenPrd:p,onOpenSpec:m,trace:_}):(0,o.jsx)(`p`,{children:e===`pt-BR`?`Nenhuma task disponível.`:`No task available.`})]})}export{u as TraceabilityWorkspace};