@zaip-ai/cli 3.2.0 → 3.4.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 (288) 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 +5 -3
  4. package/dist/services/adapters.js.map +1 -1
  5. package/dist/services/agent-catalog-upgrade.d.ts +3 -0
  6. package/dist/services/agent-catalog-upgrade.d.ts.map +1 -0
  7. package/dist/services/agent-catalog-upgrade.js +35 -0
  8. package/dist/services/agent-catalog-upgrade.js.map +1 -0
  9. package/dist/services/install-agents-template.d.ts.map +1 -1
  10. package/dist/services/install-agents-template.js +22 -22
  11. package/dist/services/install-agents-template.js.map +1 -1
  12. package/dist/services/install-template-policy.d.ts +3 -0
  13. package/dist/services/install-template-policy.d.ts.map +1 -0
  14. package/dist/services/install-template-policy.js +21 -0
  15. package/dist/services/install-template-policy.js.map +1 -0
  16. package/dist/services/logger.js +24 -8
  17. package/dist/services/logger.js.map +1 -1
  18. package/dist/services/logger.test.js +33 -6
  19. package/dist/services/logger.test.js.map +1 -1
  20. package/dist/services/sqlite-bootstrap.d.ts +1 -0
  21. package/dist/services/sqlite-bootstrap.d.ts.map +1 -1
  22. package/dist/services/sqlite-bootstrap.js +10 -1
  23. package/dist/services/sqlite-bootstrap.js.map +1 -1
  24. package/package.json +2 -2
  25. package/templates/.agents/README-ENG.md +2 -1
  26. package/templates/.agents/README.md +2 -1
  27. package/templates/.agents/config/agents/catalog.yaml +1 -0
  28. package/templates/.agents/config/agents/discovery.json +2 -2
  29. package/templates/.agents/config/clients/codex/agents/zaip-agent-builder.toml +2 -2
  30. package/templates/.agents/dashboard/.zaip-managed.json +278 -126
  31. package/templates/.agents/dashboard/apps/frontend/dist/assets/{CostCalculationGuidePage-CEDZjl4V.js → CostCalculationGuidePage-C5NgEcVh.js} +1 -1
  32. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-BzaUTZDx.js → DashboardHelpDialog-CCMVnkkI.js} +4 -3
  33. package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-21cCJik-.js → PricingSettingsDialog-CGYcJ5EB.js} +1 -1
  34. package/templates/.agents/dashboard/apps/frontend/dist/assets/{ProjectSettingsPage-BAvLPAee.js → ProjectSettingsPage-DVCPPV75.js} +1 -1
  35. package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-wqW52uCx.js → TraceabilityWorkspace-CqK3Psfy.js} +1 -1
  36. package/templates/.agents/dashboard/apps/frontend/dist/assets/{cost-monitor-PoJA2PI1.css → cost-monitor-BsMfGfQi.css} +1 -1
  37. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-j3aUYH5G.js +68 -0
  38. package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-BkAm8-h4.js → dashboard-localization-jvdDfNKs.js} +2 -1
  39. package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-DEmo6Tn2.js → icons-vendor-x8xxL9yW.js} +1 -1
  40. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-Cl5EWx8R.js +2 -0
  41. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-Cwylbh_N.css +1 -0
  42. package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-CadYsm83.js → react-vendor-CNOXIJHN.js} +1 -1
  43. package/templates/.agents/dashboard/apps/frontend/dist/assets/{traceability-BzKK8kK3.js → traceability-CcpbpT1s.js} +1 -1
  44. package/templates/.agents/dashboard/apps/frontend/dist/index.html +7 -7
  45. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  46. package/templates/.agents/dashboard/apps/frontend/src/App.tsx +12 -1
  47. package/templates/.agents/dashboard/apps/frontend/src/WorkspaceStatus.test.tsx +33 -0
  48. package/templates/.agents/dashboard/apps/frontend/src/WorkspaceStatus.tsx +58 -0
  49. package/templates/.agents/dashboard/apps/frontend/src/app-work-board-options.ts +41 -0
  50. package/templates/.agents/dashboard/apps/frontend/src/dashboard-runtime-status.ts +25 -0
  51. package/templates/.agents/dashboard/apps/frontend/src/snapshot-coherence.test.ts +1 -1
  52. package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.ts +5 -1
  53. package/templates/.agents/dashboard/apps/frontend/src/use-app-work-board.test.ts +140 -0
  54. package/templates/.agents/dashboard/apps/frontend/src/use-app-work-board.ts +28 -41
  55. package/templates/.agents/dashboard/apps/frontend/src/use-runtime-status.ts +38 -0
  56. package/templates/.agents/dashboard/apps/frontend/src/workspace-status.css +33 -0
  57. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  58. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.test.ts +25 -3
  59. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.tsx +17 -19
  60. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostFilters.tsx +13 -167
  61. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostGroupsTable.tsx +2 -9
  62. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.test.ts +8 -8
  63. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.tsx +29 -52
  64. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTableLoading.test.ts +1 -1
  65. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables-keeps-legacy-codex-identity-fields-blank.test.ts +2 -2
  66. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +4 -27
  67. package/templates/.agents/dashboard/modules/cost-monitor/src/react/MacroCostTable.test.ts +2 -2
  68. package/templates/.agents/dashboard/modules/cost-monitor/src/react/MacroCostTable.tsx +4 -3
  69. package/templates/.agents/dashboard/modules/cost-monitor/src/react/agent-model-presentation.test.ts +26 -0
  70. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-embedded.css +7 -0
  71. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-loaders.ts +173 -0
  72. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-page-props.ts +47 -0
  73. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-page-selectors.ts +1 -7
  74. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-page-range.ts +3 -9
  75. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.test.ts +44 -83
  76. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.ts +11 -111
  77. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.test.ts +47 -181
  78. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.ts +63 -91
  79. package/templates/.agents/dashboard/modules/cost-monitor/src/server/cost-monitor-unavailable.test.ts +55 -0
  80. package/templates/.agents/dashboard/modules/cost-monitor/src/server/cost-summary-duration.test.ts +189 -0
  81. package/templates/.agents/dashboard/modules/operations/package.json +1 -1
  82. package/templates/.agents/dashboard/modules/operations/src/react/OperationsEntityFilters.tsx +82 -0
  83. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.helpers.tsx +4 -1
  84. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.test.ts +5 -0
  85. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +22 -31
  86. package/templates/.agents/dashboard/modules/operations/src/react/PagedWorkList.test.tsx +13 -1
  87. package/templates/.agents/dashboard/modules/operations/src/react/PagedWorkList.tsx +16 -3
  88. package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.test.ts +11 -27
  89. package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.tsx +44 -193
  90. package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportColumns.ts +186 -0
  91. package/templates/.agents/dashboard/modules/operations/src/react/export/excel-agent-participations.test.ts +28 -0
  92. package/templates/.agents/dashboard/modules/operations/src/react/export/export-layout.test.ts +2 -1
  93. package/templates/.agents/dashboard/modules/operations/src/react/export/xlsx-runtime-e2e.test.ts +55 -31
  94. package/templates/.agents/dashboard/modules/operations/src/react/operations-export-duration.ts +13 -0
  95. package/templates/.agents/dashboard/modules/operations/src/react/operations-filter-panel.css +4 -0
  96. package/templates/.agents/dashboard/modules/operations/src/react/use-operation-filter-feedback.ts +18 -0
  97. package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.test.ts +11 -0
  98. package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.ts +10 -2
  99. package/templates/.agents/dashboard/modules/operations/src/work-board-model.ts +1 -1
  100. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  101. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  102. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  103. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  104. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +406 -332
  105. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +352 -280
  106. package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
  107. package/templates/.agents/dashboard/packages/local-runtime/scripts/rebuild-sqlite-read-model.mjs +2 -1
  108. package/templates/.agents/dashboard/packages/local-runtime/scripts/validate-sqlite-read-model.mjs +4 -2
  109. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +406 -332
  110. package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.test.ts +95 -0
  111. package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.ts +102 -12
  112. package/templates/.agents/dashboard/packages/local-runtime/src/server-board.test.ts +75 -1
  113. package/templates/.agents/dashboard/packages/local-runtime/src/server-costs-routes.ts +10 -0
  114. package/templates/.agents/dashboard/packages/local-runtime/src/server-lifecycle-diagnostics.ts +50 -0
  115. package/templates/.agents/dashboard/packages/local-runtime/src/server-macro-population.test.ts +165 -0
  116. package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-page-filters.ts +65 -0
  117. package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-pages.test.ts +111 -0
  118. package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-pages.ts +53 -63
  119. package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-runs-route.ts +19 -5
  120. package/templates/.agents/dashboard/packages/local-runtime/src/server-period-macro-metric.test.ts +19 -0
  121. package/templates/.agents/dashboard/packages/local-runtime/src/server-period-macro-metric.ts +11 -2
  122. package/templates/.agents/dashboard/packages/local-runtime/src/server-read-projections.ts +19 -12
  123. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-refresh.test.ts +46 -2
  124. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.test.ts +10 -2
  125. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.ts +4 -3
  126. package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +43 -1
  127. package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +46 -11
  128. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-filter-matrix.test.ts +188 -0
  129. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-summary-details.test.ts +85 -0
  130. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-summary-details.ts +147 -0
  131. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-first-fold-cache.test.ts +94 -0
  132. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-first-fold-cache.ts +96 -55
  133. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-force-canonical.test.ts +58 -3
  134. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-macro-classification.test.ts +172 -0
  135. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-materialize-projections.ts +1 -1
  136. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-operations-projection.ts +4 -1
  137. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-operations-work-list.test.ts +7 -7
  138. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-operations-work-list.ts +2 -1
  139. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-period-averages.ts +10 -1
  140. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-agent-dimension.ts +18 -82
  141. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-cached-cost-page.ts +169 -0
  142. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-developer.ts +205 -0
  143. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-entity-group.ts +13 -4
  144. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-filtered-dimension.ts +22 -23
  145. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-financial.ts +42 -209
  146. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-model-dimension.ts +18 -4
  147. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-provider-dimension.ts +9 -2
  148. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-summary.ts +76 -83
  149. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-view-page.ts +25 -161
  150. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-canonical.ts +18 -45
  151. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-counts-every-root-execution-day-returns.test.ts +15 -2
  152. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-filesystem.ts +16 -16
  153. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-keeps-orphan-telemetry-out-kanban-without.test.ts +2 -1
  154. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-multi-provider.test.ts +1 -1
  155. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-rebuild.ts +47 -22
  156. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-schema.ts +16 -2
  157. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.test.ts +13 -1
  158. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-rebuild-result.ts +15 -0
  159. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-schema-base-views.ts +4 -4
  160. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-schema-dashboard-views.ts +19 -42
  161. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-schema-macro-classification.ts +48 -0
  162. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-summary-cursor.ts +15 -0
  163. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-token-active-allocation.ts +46 -0
  164. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-work-stages.ts +60 -0
  165. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-history.mjs +5 -1
  166. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-launch-claims.test.mjs +7 -1
  167. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-launch-page.mjs +17 -2
  168. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-ownership.mjs +65 -0
  169. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-ownership.test.mjs +72 -0
  170. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-processes.mjs +32 -9
  171. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.mjs +39 -45
  172. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.test.mjs +5 -2
  173. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  174. package/templates/.agents/dashboard/scripts/qualify-macro-overview.mjs +50 -0
  175. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  176. package/templates/.agents/dashboard/tests/e2e/specs/dashboard-performance-matrix.spec.ts +1 -18
  177. package/templates/.agents/dashboard/tests/e2e/specs/export-row-identity.spec.ts +20 -0
  178. package/templates/.agents/dashboard/tests/e2e/specs/export-row-identity.ts +20 -0
  179. package/templates/.agents/design/.zaip-managed.json +82 -74
  180. package/templates/.agents/design/apps/catalog/dist/assets/index-0W0Gj_Gs.css +1 -0
  181. package/templates/.agents/design/apps/catalog/dist/assets/index-32GZO95T.js +72 -0
  182. package/templates/.agents/design/apps/catalog/dist/assets/{index-D_lfqoyx.js → index-BP8IxOxt.js} +3 -3
  183. package/templates/.agents/design/apps/catalog/dist/assets/{index-BOjCcUaU.js → index-QJsgr9Ht.js} +3 -3
  184. package/templates/.agents/design/apps/catalog/dist/index.html +2 -2
  185. package/templates/.agents/design/apps/catalog/dist/storybook/assets/CatalogShell-CvaciY0C.js +1 -0
  186. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{Color-6AOWCN3U-Cm-yJJz_.js → Color-6AOWCN3U-DwBV1A1Y.js} +1 -1
  187. package/templates/.agents/design/apps/catalog/dist/storybook/assets/Components.stories-3dqK5g3e.js +142 -0
  188. package/templates/.agents/design/apps/catalog/dist/storybook/assets/DesignSystem.stories-2OCgtT0I.js +1 -0
  189. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{DocsRenderer-JROSPFPF-Belk4jRr.js → DocsRenderer-JROSPFPF-CODg0rSl.js} +4 -4
  190. package/templates/.agents/design/apps/catalog/dist/storybook/assets/Primitives-BmeKjJW4.js +1 -0
  191. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{WithTooltip-7X4HQR7L-DoPvjkS1.js → WithTooltip-7X4HQR7L-C5MI-3uZ.js} +1 -1
  192. package/templates/.agents/design/apps/catalog/dist/storybook/assets/WorkspaceStatus.stories-Tb_iQqVK.js +17 -0
  193. package/templates/.agents/design/apps/catalog/dist/storybook/assets/WorkspaceStatusSpecimen-CD54pw0-.js +1 -0
  194. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{chunk-DRQKCCAG-B1itKXEN.js → chunk-DRQKCCAG-KSn75jcy.js} +1 -1
  195. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{chunk-W22LQPXL-C-Eb5SPY.js → chunk-W22LQPXL-C4LS1Thf.js} +1 -1
  196. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{components-DnyKLwhj.js → components-DV1BRgMY.js} +5 -5
  197. package/templates/.agents/design/apps/catalog/dist/storybook/assets/formatter-L2YTDE3Q-BU_68im1.js +1 -0
  198. package/templates/.agents/design/apps/catalog/dist/storybook/assets/iframe-0W0Gj_Gs.css +1 -0
  199. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{iframe-DcXBsFPz.js → iframe-CBbPFx5G.js} +4 -4
  200. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{react-18-CRM89QRf.js → react-18-C9IPGXtb.js} +1 -1
  201. package/templates/.agents/design/apps/catalog/dist/storybook/assets/react-CEv2qkJT.js +1 -0
  202. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{syntaxhighlighter-YFXUGROL-B03jQGTF.js → syntaxhighlighter-YFXUGROL-ZgDQjyWI.js} +1 -1
  203. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{theming-4ZyufAga.js → theming-Cx9-gH6l.js} +1 -1
  204. package/templates/.agents/design/apps/catalog/dist/storybook/iframe.html +2 -2
  205. package/templates/.agents/design/apps/catalog/dist/storybook/index.json +1 -1
  206. package/templates/.agents/design/apps/catalog/dist/storybook/sb-addons/a11y-2/manager-bundle.js +3 -3
  207. package/templates/.agents/design/apps/catalog/dist/storybook/sb-addons/docs-1/manager-bundle.js +4 -4
  208. package/templates/.agents/design/apps/catalog/dist/storybook/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +60 -60
  209. package/templates/.agents/design/apps/catalog/package.json +1 -1
  210. package/templates/.agents/design/apps/catalog/src/components/DashboardFiltersSpecimen.tsx +61 -0
  211. package/templates/.agents/design/apps/catalog/src/components/Primitives.tsx +24 -0
  212. package/templates/.agents/design/apps/catalog/src/components/WorkspaceStatusSpecimen.tsx +26 -0
  213. package/templates/.agents/design/apps/catalog/src/design-contract.test.ts +27 -13
  214. package/templates/.agents/design/apps/catalog/src/pages/ComponentsPage.tsx +38 -0
  215. package/templates/.agents/design/apps/catalog/src/pages/DesignSystemPage.tsx +15 -1
  216. package/templates/.agents/design/apps/catalog/src/stories/Components.stories.tsx +18 -0
  217. package/templates/.agents/design/apps/catalog/src/stories/DashboardFilters.stories.tsx +7 -0
  218. package/templates/.agents/design/apps/catalog/src/stories/WorkspaceStatus.stories.tsx +9 -0
  219. package/templates/.agents/design/apps/catalog/src/styles/components.css +83 -2
  220. package/templates/.agents/design/apps/catalog/src/styles.css +2 -0
  221. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  222. package/templates/.agents/design/tokens.json +32 -0
  223. package/templates/.agents/requirements/autonomous-assurance.md +1 -1
  224. package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
  225. package/templates/.agents/requirements/comparative-audit.md +1 -1
  226. package/templates/.agents/requirements/context-engine.md +1 -1
  227. package/templates/.agents/requirements/cost-observability.md +1 -1
  228. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  229. package/templates/.agents/requirements/data-export.md +1 -1
  230. package/templates/.agents/requirements/design-system.md +1 -1
  231. package/templates/.agents/requirements/execution-engine.md +1 -1
  232. package/templates/.agents/requirements/kanban-dashboard.md +1 -1
  233. package/templates/.agents/requirements/model-orchestration.md +1 -1
  234. package/templates/.agents/requirements/public-distribution.md +18 -4
  235. package/templates/.agents/requirements/software-architecture.md +1 -1
  236. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  237. package/templates/.agents/requirements/work-lifecycle.md +1 -1
  238. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  239. package/templates/.agents/rules/autonomy-decision.md +1 -0
  240. package/templates/.agents/rules/workflow.md +1 -1
  241. package/templates/.agents/runtime/VERSION +1 -1
  242. package/templates/.agents/runtime/bin/zaip.mjs +28 -26
  243. package/templates/.agents/runtime/checksums.sha256 +5 -5
  244. package/templates/.agents/runtime/manifest.json +1 -1
  245. package/templates/.agents/runtime/provenance.json +4 -4
  246. package/templates/.agents/runtime/sbom.cdx.json +1 -1
  247. package/templates/.agents/skills/zaip-aios/SKILL.md +0 -1
  248. package/templates/.agents/skills/zaip-skill-author-skills/scripts/audit-skill-catalog.mjs +1 -0
  249. package/templates/.agents/skills/zaip-skill-config/SKILL.md +1 -1
  250. package/templates/.agents/skills/zaip-skill-execution/SKILL.md +13 -0
  251. package/templates/.agents/skills/zaip-skill-execution/references/autonomous-continuation.md +17 -0
  252. package/templates/.agents/skills/zaip-skill-execution/references/correction-cycle.md +2 -2
  253. package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +4 -2
  254. package/templates/.agents/skills/zaip-skill-github-deploy/references/deployment-workflow.md +4 -2
  255. package/templates/.agents/skills/zaip-skill-github-deploy/references/release-identity.md +2 -2
  256. package/templates/.agents/skills/zaip-skill-github-setup/SKILL.md +2 -2
  257. package/templates/.agents/skills/zaip-skill-move-prd/SKILL.md +4 -0
  258. package/templates/.agents/skills/zaip-skill-move-spec/SKILL.md +4 -0
  259. package/templates/.agents/skills/zaip-skill-prd/SKILL.md +3 -3
  260. package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +15 -8
  261. package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +13 -12
  262. package/templates/.agents/skills/zaip-skill-setup/SKILL.md +50 -13
  263. package/templates/.agents/skills/zaip-skill-setup/agents/openai.yaml +2 -2
  264. package/templates/.agents/skills/zaip-skill-spec/SKILL.md +2 -2
  265. package/templates/.agents/skills/zaip-skill-update-version-doc/SKILL.md +39 -0
  266. package/templates/.agents/skills/zaip-skill-update-version-doc/agents/openai.yaml +4 -0
  267. package/templates/.agents/skills/zaip-skill-update-version-doc/scripts/update-version-doc.mjs +21 -0
  268. package/templates/.agents/skills/zaip-skill-update-version-doc/scripts/update-version-doc.test.mjs +32 -0
  269. package/templates/.agents/zaip-aios/README.md +2 -1
  270. package/templates/.agents/zaip-aios/VERSION +1 -1
  271. package/templates/.agents/zaip-aios/guides/20-instalacao-detalhada.md +7 -3
  272. package/templates/template-manifest.json +436 -256
  273. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-06__WZco.js +0 -68
  274. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-Cmlx8OYH.css +0 -1
  275. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-DqZKJS8y.js +0 -2
  276. package/templates/.agents/design/apps/catalog/dist/assets/index-BEmIE7WE.css +0 -1
  277. package/templates/.agents/design/apps/catalog/dist/assets/index-BJV597iq.js +0 -72
  278. package/templates/.agents/design/apps/catalog/dist/assets/index-B_WhrCZe.js +0 -72
  279. package/templates/.agents/design/apps/catalog/dist/assets/index-CqqYWY2f.js +0 -9
  280. package/templates/.agents/design/apps/catalog/dist/assets/index-CqtYXZfV.js +0 -72
  281. package/templates/.agents/design/apps/catalog/dist/assets/index-D9pj7Jlf.js +0 -9
  282. package/templates/.agents/design/apps/catalog/dist/assets/index-i_PO2k9R.js +0 -9
  283. package/templates/.agents/design/apps/catalog/dist/storybook/assets/CatalogShell-Cstn1UwA.js +0 -1
  284. package/templates/.agents/design/apps/catalog/dist/storybook/assets/Components.stories-D1WopB2L.js +0 -137
  285. package/templates/.agents/design/apps/catalog/dist/storybook/assets/DesignSystem.stories-DQ9PJ3N3.js +0 -1
  286. package/templates/.agents/design/apps/catalog/dist/storybook/assets/formatter-L2YTDE3Q-D0OSgxWz.js +0 -1
  287. package/templates/.agents/design/apps/catalog/dist/storybook/assets/iframe-BEmIE7WE.css +0 -1
  288. package/templates/.agents/design/apps/catalog/dist/storybook/assets/react-C3tkVMIp.js +0 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/design-catalog",
3
- "version": "3.2.0",
3
+ "version": "3.4.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "scripts": {
@@ -0,0 +1,61 @@
1
+ import { useState } from "react";
2
+ import { Card } from "./Primitives.js";
3
+
4
+ export const dashboardFilterFixtures = [
5
+ { name: "Operação", labels: ["Busca", "Status", "Risco", "Origem"] },
6
+ {
7
+ name: "Custos",
8
+ labels: [
9
+ "Buscar custos",
10
+ "Provider",
11
+ "Agente",
12
+ "Modelo",
13
+ "Status",
14
+ "Prioridade",
15
+ "Risco",
16
+ "Fase",
17
+ "Entrada",
18
+ "Trabalho",
19
+ ],
20
+ },
21
+ ] as const;
22
+ /** Native catalog adapter: business modules keep the query and lifecycle contracts. */
23
+ export function DashboardFiltersSpecimen({
24
+ fixture = dashboardFilterFixtures[0],
25
+ }: {
26
+ fixture?: (typeof dashboardFilterFixtures)[number];
27
+ }) {
28
+ const [values, setValues] = useState<Record<string, string>>({});
29
+ return (
30
+ <Card>
31
+ <h3>{fixture.name}</h3>
32
+ <details open>
33
+ <summary>Filtros de {fixture.name.toLowerCase()}</summary>
34
+ {fixture.labels.map((label) => (
35
+ <label key={label} style={{ display: "block", marginBlock: 8 }}>
36
+ {label}
37
+ {label.startsWith("Busca") ? (
38
+ <input
39
+ aria-label={label}
40
+ value={values[label] ?? ""}
41
+ onChange={(e) => setValues({ ...values, [label]: e.target.value })}
42
+ />
43
+ ) : (
44
+ <select
45
+ aria-label={label}
46
+ value={values[label] ?? ""}
47
+ onChange={(e) => setValues({ ...values, [label]: e.target.value })}
48
+ >
49
+ <option value="">Todos</option>
50
+ <option value="example">{label === "Status" ? "Bloqueado" : "Exemplo"}</option>
51
+ </select>
52
+ )}
53
+ </label>
54
+ ))}
55
+ <button type="button" onClick={() => setValues({})}>
56
+ Limpar filtros
57
+ </button>
58
+ </details>
59
+ </Card>
60
+ );
61
+ }
@@ -34,6 +34,30 @@ export function Card({ children, accent = false }: { children: ReactNode; accent
34
34
  return <article className={accent ? "card card-accent" : "card"}>{children}</article>;
35
35
  }
36
36
 
37
+ export function EditorialHero({
38
+ eyebrow,
39
+ title,
40
+ description,
41
+ children,
42
+ }: {
43
+ eyebrow?: string;
44
+ title: string;
45
+ description: string;
46
+ children?: ReactNode;
47
+ }) {
48
+ return (
49
+ <section className="editorial-hero">
50
+ <div className="editorial-hero-copy">
51
+ {eyebrow ? <p className="eyebrow">{eyebrow}</p> : null}
52
+ <h2>{title}</h2>
53
+ <p>{description}</p>
54
+ {children ? <div className="editorial-hero-actions">{children}</div> : null}
55
+ </div>
56
+ <div aria-hidden="true" className="editorial-hero-orbit" />
57
+ </section>
58
+ );
59
+ }
60
+
37
61
  export function Metric({ label, value, change }: { label: string; value: string; change: string }) {
38
62
  return (
39
63
  <Card>
@@ -0,0 +1,26 @@
1
+ import { Card } from "./Primitives.js";
2
+
3
+ export const workspaceStatusFixtures = [
4
+ { name: "Inicializado", message: "Lifecycle inicializado" },
5
+ { name: "Ausente", message: "Lifecycle não inicializado" },
6
+ { name: "Inválido", message: "Manifesto do lifecycle inválido" },
7
+ { name: "Indisponível", message: "Não foi possível consultar a saúde do Dashboard" },
8
+ ] as const;
9
+
10
+ /** Native adapter: the catalog cannot depend on the Dashboard application. */
11
+ export function WorkspaceStatusSpecimen({
12
+ fixture = workspaceStatusFixtures[0],
13
+ }: {
14
+ fixture?: (typeof workspaceStatusFixtures)[number];
15
+ }) {
16
+ return (
17
+ <Card>
18
+ <h3>{fixture.name}</h3>
19
+ <aside aria-label="Workspace do Dashboard" style={{ overflowWrap: "anywhere" }}>
20
+ <strong>zaip-growth</strong>
21
+ <p>C:/projetos/zaip-growth</p>
22
+ <p>{fixture.message}</p>
23
+ </aside>
24
+ </Card>
25
+ );
26
+ }
@@ -7,19 +7,28 @@ const designRoot = resolve(import.meta.dirname, "../../..");
7
7
 
8
8
  describe("design contract", () => {
9
9
  it("keeps structured tokens aligned with DESIGN.md frontmatter", async () => {
10
- const [markdown, tokensSource, componentsPage, primitives, stories, app, ...styles] =
11
- await Promise.all([
12
- readFile(resolve(designRoot, "DESIGN.md"), "utf8"),
13
- readFile(resolve(designRoot, "tokens.json"), "utf8"),
14
- readFile(resolve(import.meta.dirname, "pages/ComponentsPage.tsx"), "utf8"),
15
- readFile(resolve(import.meta.dirname, "components/Primitives.tsx"), "utf8"),
16
- readFile(resolve(import.meta.dirname, "stories/Components.stories.tsx"), "utf8"),
17
- readFile(resolve(import.meta.dirname, "App.tsx"), "utf8"),
18
- readFile(resolve(import.meta.dirname, "styles.css"), "utf8"),
19
- readFile(resolve(import.meta.dirname, "styles/catalog.css"), "utf8"),
20
- readFile(resolve(import.meta.dirname, "styles/design-system.css"), "utf8"),
21
- readFile(resolve(import.meta.dirname, "styles/components.css"), "utf8"),
22
- ]);
10
+ const [
11
+ markdown,
12
+ tokensSource,
13
+ designSystemPage,
14
+ componentsPage,
15
+ primitives,
16
+ stories,
17
+ app,
18
+ ...styles
19
+ ] = await Promise.all([
20
+ readFile(resolve(designRoot, "DESIGN.md"), "utf8"),
21
+ readFile(resolve(designRoot, "tokens.json"), "utf8"),
22
+ readFile(resolve(import.meta.dirname, "pages/DesignSystemPage.tsx"), "utf8"),
23
+ readFile(resolve(import.meta.dirname, "pages/ComponentsPage.tsx"), "utf8"),
24
+ readFile(resolve(import.meta.dirname, "components/Primitives.tsx"), "utf8"),
25
+ readFile(resolve(import.meta.dirname, "stories/Components.stories.tsx"), "utf8"),
26
+ readFile(resolve(import.meta.dirname, "App.tsx"), "utf8"),
27
+ readFile(resolve(import.meta.dirname, "styles.css"), "utf8"),
28
+ readFile(resolve(import.meta.dirname, "styles/catalog.css"), "utf8"),
29
+ readFile(resolve(import.meta.dirname, "styles/design-system.css"), "utf8"),
30
+ readFile(resolve(import.meta.dirname, "styles/components.css"), "utf8"),
31
+ ]);
23
32
  const css = styles.join("\n");
24
33
  const match = /^---\n([\s\S]+?)\n---/.exec(markdown);
25
34
  expect(match?.[1]).toBeDefined();
@@ -30,6 +39,7 @@ describe("design contract", () => {
30
39
  expect(tokens.dark).toEqual(design.dark);
31
40
  expect(tokens.effects).toEqual(design.effects);
32
41
  expect(tokens.neutral).toEqual(design.neutral);
42
+ expect(tokens.typography).toEqual(design.typography);
33
43
  expect(tokens.rounded).toEqual(design.rounded);
34
44
  expect(tokens.spacing).toEqual(design.spacing);
35
45
  for (const value of Object.values(tokens.colors as Record<string, string>)) {
@@ -58,5 +68,9 @@ describe("design contract", () => {
58
68
  expect(componentsPage).toContain(`<${specimen}`);
59
69
  expect(stories).toContain(`<${specimen}`);
60
70
  }
71
+ expect(primitives).toContain("function EditorialHero");
72
+ expect(designSystemPage).toContain("<EditorialHero");
73
+ expect(componentsPage).toContain("<EditorialHero");
74
+ expect(stories).toContain("<EditorialHero");
61
75
  });
62
76
  });
@@ -1,4 +1,8 @@
1
1
  import { AutonomySpecimen, autonomyFixtures } from "../components/AutonomySpecimen.js";
2
+ import {
3
+ DashboardFiltersSpecimen,
4
+ dashboardFilterFixtures,
5
+ } from "../components/DashboardFiltersSpecimen.js";
2
6
  import { PageIntro, Section } from "../components/CatalogShell.js";
3
7
  import {
4
8
  CostPopulationSpecimen,
@@ -15,6 +19,7 @@ import {
15
19
  ChartPanel,
16
20
  DataTable,
17
21
  DialogSpecimen,
22
+ EditorialHero,
18
23
  Field,
19
24
  FilterForm,
20
25
  Metric,
@@ -25,6 +30,10 @@ import {
25
30
  ProjectStatusSpecimen,
26
31
  projectStatusFixtures,
27
32
  } from "../components/ProjectStatusSpecimen.js";
33
+ import {
34
+ WorkspaceStatusSpecimen,
35
+ workspaceStatusFixtures,
36
+ } from "../components/WorkspaceStatusSpecimen.js";
28
37
 
29
38
  const dashboardFamilies = [
30
39
  ["Dialogs e popups", "TaskDetailsDialog, TraceStageDialog", "Foco, contexto e saída explícita"],
@@ -44,6 +53,35 @@ export function ComponentsPage() {
44
53
  title="Components"
45
54
  description="Famílias reais do dashboard representadas por espécimes compartilhados com o Storybook. O catálogo documenta o contrato; os componentes de negócio continuam em seus módulos."
46
55
  />
56
+ <Section
57
+ title="Filtros do Dashboard"
58
+ description="Operação expõe busca, status, risco e origem no cabeçalho visível. Custos mantém seus filtros dimensionais acessíveis na área integrada; Desenvolvedores usa somente o período. Adaptadores nativos com limpeza e foco de teclado."
59
+ >
60
+ {dashboardFilterFixtures.map((fixture) => (
61
+ <DashboardFiltersSpecimen key={fixture.name} fixture={fixture} />
62
+ ))}
63
+ </Section>
64
+ <Section
65
+ title="Hero editorial"
66
+ description="Componente público para promessa, explicação e até duas ações; a variação de ação secundária permanece legível sobre navy."
67
+ >
68
+ <EditorialHero
69
+ eyebrow="Componente central"
70
+ title="Uma direção pública que chama para a ação."
71
+ description="Use em abertura de páginas de marca; mantenha a prova detalhada e a lógica comercial no conteúdo local."
72
+ >
73
+ <Button>Ação principal</Button>
74
+ <Button variant="secondary">Ação secundária</Button>
75
+ </EditorialHero>
76
+ </Section>
77
+ <Section
78
+ title="Workspace do Dashboard"
79
+ description="Nome e caminho absolutos sempre visíveis; lifecycle ausente ou inválido impede a exibição de zeros como dados válidos. Adaptador nativo do componente WorkspaceStatus."
80
+ >
81
+ {workspaceStatusFixtures.map((fixture) => (
82
+ <WorkspaceStatusSpecimen key={fixture.name} fixture={fixture} />
83
+ ))}
84
+ </Section>
47
85
  <Section
48
86
  title="Dialogs e popups"
49
87
  description="Superfícies focadas com nome acessível, contexto, Escape e ação de fechamento."
@@ -1,10 +1,11 @@
1
1
  import { PageIntro, Section } from "../components/CatalogShell.js";
2
- import { Badge, Button, Card, Field } from "../components/Primitives.js";
2
+ import { Badge, Button, Card, EditorialHero, Field } from "../components/Primitives.js";
3
3
 
4
4
  const primaryColors = [
5
5
  ["Primary", "#00B0F0", "Ação, foco e identidade"],
6
6
  ["Primary strong", "#018abb", "Hover e ênfase reforçada"],
7
7
  ["Primary ink", "#006b91", "Texto e ícones sobre fundos claros"],
8
+ ["Primary soft", "#dffcff", "Base breve para badge e ênfase"],
8
9
  ] as const;
9
10
 
10
11
  const secondaryColors = [
@@ -87,6 +88,19 @@ export function DesignSystemPage() {
87
88
  ))}
88
89
  </div>
89
90
  </Section>
91
+ <Section
92
+ title="Hero editorial público"
93
+ description="Hero de alto contraste para comunicar uma promessa verificável, com ações claras e espaço para leitura."
94
+ >
95
+ <EditorialHero
96
+ eyebrow="Direção pública"
97
+ title="Mais contraste para decisões mais claras."
98
+ description="Navy estabelece profundidade; tipografia expressiva e CTAs pill deixam a próxima ação inequívoca."
99
+ >
100
+ <Button>Começar agora</Button>
101
+ <Button variant="secondary">Entender o sistema</Button>
102
+ </EditorialHero>
103
+ </Section>
90
104
  <Section
91
105
  title="Tipografia"
92
106
  description="Hierarquia compacta para produto e escala expressiva para superfícies públicas."
@@ -14,6 +14,7 @@ import {
14
14
  ChartPanel,
15
15
  DataTable,
16
16
  DialogSpecimen,
17
+ EditorialHero,
17
18
  FilterForm,
18
19
  Metric,
19
20
  StateGallery,
@@ -75,6 +76,23 @@ export const DialogsAndPopups: Story = {
75
76
  render: () => <DialogSpecimen />,
76
77
  };
77
78
 
79
+ export const EditorialHeroes: Story = {
80
+ render: () => (
81
+ <EditorialHero
82
+ eyebrow="Componente central"
83
+ title="Contraste e direção para páginas públicas."
84
+ description="Mantenha uma promessa verificável e no máximo duas ações, inclusive em telas estreitas."
85
+ >
86
+ <button className="button button-primary" type="button">
87
+ Ação principal
88
+ </button>
89
+ <button className="button button-secondary" type="button">
90
+ Ação secundária
91
+ </button>
92
+ </EditorialHero>
93
+ ),
94
+ };
95
+
78
96
  export const CardsAndMetrics: Story = {
79
97
  render: () => (
80
98
  <div className="metric-grid">
@@ -0,0 +1,7 @@
1
+ import {
2
+ DashboardFiltersSpecimen,
3
+ dashboardFilterFixtures,
4
+ } from "../components/DashboardFiltersSpecimen.js";
5
+ export default { title: "Components/Filtros do Dashboard", component: DashboardFiltersSpecimen };
6
+ export const Operations = { args: { fixture: dashboardFilterFixtures[0] } };
7
+ export const Costs = { args: { fixture: dashboardFilterFixtures[1] } };
@@ -0,0 +1,9 @@
1
+ import {
2
+ WorkspaceStatusSpecimen,
3
+ workspaceStatusFixtures,
4
+ } from "../components/WorkspaceStatusSpecimen.js";
5
+ export default { title: "Components/Workspace do Dashboard", component: WorkspaceStatusSpecimen };
6
+ export const Initialized = { args: { fixture: workspaceStatusFixtures[0] } };
7
+ export const Missing = { args: { fixture: workspaceStatusFixtures[1] } };
8
+ export const Invalid = { args: { fixture: workspaceStatusFixtures[2] } };
9
+ export const Unavailable = { args: { fixture: workspaceStatusFixtures[3] } };
@@ -6,7 +6,74 @@
6
6
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.08);
7
7
  }
8
8
  .card-accent {
9
- background: linear-gradient(180deg, #f3feff 0%, #ffffff 100%);
9
+ background: linear-gradient(180deg, var(--primary-soft) 0%, #ffffff 100%);
10
+ }
11
+ .editorial-hero {
12
+ position: relative;
13
+ isolation: isolate;
14
+ display: grid;
15
+ min-height: 380px;
16
+ align-items: center;
17
+ overflow: hidden;
18
+ border: 1px solid rgba(255, 255, 255, 0.12);
19
+ border-radius: 32px;
20
+ padding: clamp(32px, 7vw, 76px);
21
+ background:
22
+ radial-gradient(circle at 82% 20%, rgba(0, 176, 240, 0.24), transparent 24%),
23
+ linear-gradient(135deg, var(--secondary) 0%, var(--secondary-elevated) 100%);
24
+ color: #f1f5f9;
25
+ box-shadow: 0 26px 70px rgba(15, 23, 42, 0.22);
26
+ }
27
+ .editorial-hero-copy {
28
+ position: relative;
29
+ z-index: 1;
30
+ max-width: 720px;
31
+ }
32
+ .editorial-hero .eyebrow {
33
+ color: #72f4fb;
34
+ }
35
+ .editorial-hero h2 {
36
+ max-width: 680px;
37
+ margin: 14px 0 18px;
38
+ font-family: Inter, Poppins, ui-sans-serif, system-ui, sans-serif;
39
+ font-size: clamp(2.5rem, 6vw, 4.25rem);
40
+ font-weight: 650;
41
+ line-height: 1.05;
42
+ letter-spacing: -0.05em;
43
+ }
44
+ .editorial-hero-copy > p:not(.eyebrow) {
45
+ max-width: 620px;
46
+ margin: 0;
47
+ color: #cbd5e1;
48
+ font-size: clamp(1rem, 2vw, 1.2rem);
49
+ line-height: 1.65;
50
+ }
51
+ .editorial-hero-actions {
52
+ display: flex;
53
+ flex-wrap: wrap;
54
+ gap: 12px;
55
+ margin-top: 30px;
56
+ }
57
+ .editorial-hero .button-secondary {
58
+ border-color: rgba(255, 255, 255, 0.3);
59
+ color: #f1f5f9;
60
+ }
61
+ .editorial-hero .button-secondary:hover {
62
+ border-color: var(--primary);
63
+ background: rgba(0, 176, 240, 0.12);
64
+ }
65
+ .editorial-hero-orbit {
66
+ position: absolute;
67
+ z-index: 0;
68
+ width: min(48vw, 540px);
69
+ aspect-ratio: 1;
70
+ right: -12%;
71
+ bottom: -42%;
72
+ border: 1px solid rgba(114, 244, 251, 0.28);
73
+ border-radius: 50%;
74
+ box-shadow:
75
+ 0 0 0 46px rgba(0, 176, 240, 0.05),
76
+ 0 0 0 112px rgba(0, 176, 240, 0.035);
10
77
  }
11
78
  .card h3 {
12
79
  margin: 24px 0 8px;
@@ -201,7 +268,7 @@ tbody tr:last-child td {
201
268
  height: 64px;
202
269
  place-items: center;
203
270
  border-radius: 24px;
204
- background: #dffcff;
271
+ background: var(--primary-soft);
205
272
  color: #006b91;
206
273
  font-size: 2rem;
207
274
  }
@@ -404,6 +471,17 @@ tbody tr:last-child td {
404
471
  }
405
472
 
406
473
  @media (max-width: 560px) {
474
+ .editorial-hero {
475
+ min-height: 0;
476
+ border-radius: 24px;
477
+ }
478
+ .editorial-hero-actions {
479
+ align-items: stretch;
480
+ flex-direction: column;
481
+ }
482
+ .editorial-hero-actions .button {
483
+ width: 100%;
484
+ }
407
485
  .filter-form {
408
486
  grid-template-columns: 1fr;
409
487
  }
@@ -422,6 +500,9 @@ tbody tr:last-child td {
422
500
  }
423
501
 
424
502
  @media (prefers-reduced-motion: reduce) {
503
+ .editorial-hero-orbit {
504
+ box-shadow: none;
505
+ }
425
506
  .loading-spinner {
426
507
  animation: none;
427
508
  border-color: var(--primary);
@@ -11,7 +11,9 @@
11
11
  --primary: #00b0f0;
12
12
  --primary-strong: #018abb;
13
13
  --primary-ink: #006b91;
14
+ --primary-soft: #dffcff;
14
15
  --secondary: #0a0e17;
16
+ --secondary-elevated: #111827;
15
17
  --surface: #ffffff;
16
18
  --surface-muted: #f5f7fb;
17
19
  --text: #0f172a;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/design-local-runtime",
3
- "version": "3.2.0",
3
+ "version": "3.4.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "scripts": {
@@ -5,7 +5,9 @@
5
5
  "primary": "#00B0F0",
6
6
  "primary-strong": "#018abb",
7
7
  "primary-ink": "#006b91",
8
+ "primary-soft": "#dffcff",
8
9
  "secondary": "#0a0e17",
10
+ "secondary-elevated": "#111827",
9
11
  "surface": "#ffffff",
10
12
  "surface-muted": "#f5f7fb",
11
13
  "text": "#0f172a",
@@ -43,6 +45,36 @@
43
45
  "canvas": "#f5f7fb",
44
46
  "white": "#ffffff"
45
47
  },
48
+ "typography": {
49
+ "display": {
50
+ "fontFamily": "Inter, Poppins, ui-sans-serif, system-ui, sans-serif",
51
+ "fontSize": "clamp(2.5rem, 6vw, 4.25rem)",
52
+ "fontWeight": "650",
53
+ "lineHeight": "1.05",
54
+ "letterSpacing": "-0.05em"
55
+ },
56
+ "heading": {
57
+ "fontFamily": "Inter, Poppins, ui-sans-serif, system-ui, sans-serif",
58
+ "fontSize": "clamp(1.75rem, 4vw, 2.5rem)",
59
+ "fontWeight": "650",
60
+ "lineHeight": "1.15",
61
+ "letterSpacing": "-0.035em"
62
+ },
63
+ "body": {
64
+ "fontFamily": "Inter, ui-sans-serif, system-ui, sans-serif",
65
+ "fontSize": "1rem",
66
+ "fontWeight": "400",
67
+ "lineHeight": "1.65",
68
+ "letterSpacing": "0"
69
+ },
70
+ "label": {
71
+ "fontFamily": "Inter, ui-sans-serif, system-ui, sans-serif",
72
+ "fontSize": "0.75rem",
73
+ "fontWeight": "700",
74
+ "lineHeight": "1.3",
75
+ "letterSpacing": "0.12em"
76
+ }
77
+ },
46
78
  "rounded": {
47
79
  "sm": "8px",
48
80
  "md": "16px",
@@ -6,7 +6,7 @@ title: Garantia adaptativa e execução autônoma
6
6
  status: active
7
7
  version: 3
8
8
  source_change: null
9
- source_release: "3.2.0"
9
+ source_release: "3.4.0"
10
10
  ---
11
11
 
12
12
  # Garantia adaptativa e execução autônoma
@@ -6,7 +6,7 @@ title: Autonomia delimitada para Cloudflare e Hostinger
6
6
  status: proposed
7
7
  version: 1
8
8
  source_change: null
9
- source_release: "3.2.0"
9
+ source_release: "3.4.0"
10
10
  ---
11
11
 
12
12
  # Cloudflare e Hostinger (proposta de requisito)
@@ -6,7 +6,7 @@ title: Auditoria comparativa e plano de evolução
6
6
  status: active
7
7
  version: 1
8
8
  source_change: null
9
- source_release: "3.2.0"
9
+ source_release: "3.4.0"
10
10
  ---
11
11
 
12
12
  # Auditoria comparativa e plano de evolução
@@ -6,7 +6,7 @@ title: Contexto mínimo, seguro e navegável
6
6
  status: active
7
7
  version: 8
8
8
  source_change: null
9
- source_release: "3.2.0"
9
+ source_release: "3.4.0"
10
10
  ---
11
11
 
12
12
  # Context engine
@@ -6,7 +6,7 @@ title: Tokens, custos e cobertura
6
6
  status: active
7
7
  version: 10
8
8
  source_change: null
9
- source_release: "3.2.0"
9
+ source_release: "3.4.0"
10
10
  ---
11
11
 
12
12
  # Cost observability
@@ -6,7 +6,7 @@ title: Inicialização e hidratação confiável do dashboard
6
6
  status: active
7
7
  version: 1
8
8
  source_change: null
9
- source_release: "3.2.0"
9
+ source_release: "3.4.0"
10
10
  ---
11
11
 
12
12
  # Inicialização e hidratação confiável do dashboard
@@ -6,7 +6,7 @@ title: Exportação contextual de dados para Excel
6
6
  status: proposed
7
7
  version: 2
8
8
  source_change: null
9
- source_release: "3.2.0"
9
+ source_release: "3.4.0"
10
10
  ---
11
11
 
12
12
  # Exportação contextual de dados
@@ -6,7 +6,7 @@ title: Contrato visual e catálogo executável
6
6
  status: active
7
7
  version: 5
8
8
  source_change: null
9
- source_release: "3.2.0"
9
+ source_release: "3.4.0"
10
10
  ---
11
11
 
12
12
  # Design system
@@ -6,7 +6,7 @@ title: Preparação, materialização e DAG
6
6
  status: active
7
7
  version: 11
8
8
  source_change: null
9
- source_release: "3.2.0"
9
+ source_release: "3.4.0"
10
10
  ---
11
11
 
12
12
  # Execution engine
@@ -6,7 +6,7 @@ title: Projeções operacionais e analíticas
6
6
  status: active
7
7
  version: 14
8
8
  source_change: null
9
- source_release: "3.2.0"
9
+ source_release: "3.4.0"
10
10
  ---
11
11
 
12
12
  # Kanban and dashboard
@@ -6,7 +6,7 @@ title: Seleção automática e observável de modelo e effort
6
6
  status: active
7
7
  version: 8
8
8
  source_change: null
9
- source_release: "3.2.0"
9
+ source_release: "3.4.0"
10
10
  ---
11
11
 
12
12
  # Orquestração de modelos