@zaip-ai/cli 1.0.7 → 1.3.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 (444) hide show
  1. package/README.md +6 -4
  2. package/dist/services/adapters.d.ts +1 -1
  3. package/dist/services/adapters.d.ts.map +1 -1
  4. package/dist/services/adapters.js +15 -5
  5. package/dist/services/adapters.js.map +1 -1
  6. package/dist/services/adapters.test.js +1 -1
  7. package/dist/services/agent-adapters.d.ts +9 -0
  8. package/dist/services/agent-adapters.d.ts.map +1 -1
  9. package/dist/services/agent-adapters.js +39 -4
  10. package/dist/services/agent-adapters.js.map +1 -1
  11. package/dist/services/agent-adapters.test.js +13 -1
  12. package/dist/services/agent-adapters.test.js.map +1 -1
  13. package/dist/services/codex-config-template.d.ts +2 -1
  14. package/dist/services/codex-config-template.d.ts.map +1 -1
  15. package/dist/services/codex-config-template.js +13 -2
  16. package/dist/services/codex-config-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 +31 -7
  20. package/dist/services/codex-rules.js.map +1 -1
  21. package/dist/services/codex-subagent-hook-template.d.ts +1 -1
  22. package/dist/services/codex-subagent-hook-template.d.ts.map +1 -1
  23. package/dist/services/codex-subagent-hook-template.js +4 -1
  24. package/dist/services/codex-subagent-hook-template.js.map +1 -1
  25. package/dist/services/doctor.d.ts.map +1 -1
  26. package/dist/services/doctor.js +3 -1
  27. package/dist/services/doctor.js.map +1 -1
  28. package/dist/services/global-codex-config.d.ts +6 -3
  29. package/dist/services/global-codex-config.d.ts.map +1 -1
  30. package/dist/services/global-codex-config.js +82 -13
  31. package/dist/services/global-codex-config.js.map +1 -1
  32. package/dist/services/global-codex-config.test.js +57 -10
  33. package/dist/services/global-codex-config.test.js.map +1 -1
  34. package/dist/services/install-agents-template.d.ts.map +1 -1
  35. package/dist/services/install-agents-template.js +15 -2
  36. package/dist/services/install-agents-template.js.map +1 -1
  37. package/dist/services/logger.js +1 -1
  38. package/dist/services/logger.js.map +1 -1
  39. package/dist/services/logger.test.js +3 -3
  40. package/dist/services/logger.test.js.map +1 -1
  41. package/dist/services/runtime-template.test.js +21 -5
  42. package/dist/services/runtime-template.test.js.map +1 -1
  43. package/dist/services/template-manifest.d.ts.map +1 -1
  44. package/dist/services/template-manifest.js +7 -0
  45. package/dist/services/template-manifest.js.map +1 -1
  46. package/package.json +1 -1
  47. package/templates/.agents/architecture/software-architecture.md +131 -0
  48. package/templates/.agents/branding/brandbook.docx +0 -0
  49. package/templates/.agents/branding/brandbook.md +60 -0
  50. package/templates/.agents/config/agents/catalog.yaml +310 -10
  51. package/templates/.agents/config/clients/codex/agents/zaip-agent-brand-strategist.toml +30 -0
  52. package/templates/.agents/config/clients/codex/agents/zaip-agent-designer.toml +5 -5
  53. package/templates/.agents/config/clients/codex/agents/zaip-agent-finalizer.toml +2 -2
  54. package/templates/.agents/config/clients/codex/agents/zaip-agent-general-operations.toml +30 -0
  55. package/templates/.agents/config/clients/codex/agents/zaip-agent-governance-compliance.toml +30 -0
  56. package/templates/.agents/config/clients/codex/agents/zaip-agent-growth-strategist.toml +30 -0
  57. package/templates/.agents/config/clients/codex/agents/zaip-agent-marketing-analyst.toml +8 -8
  58. package/templates/.agents/config/clients/codex/agents/zaip-agent-orchestrator.toml +5 -3
  59. package/templates/.agents/config/clients/codex/agents/zaip-agent-sales-specialist.toml +30 -0
  60. package/templates/.agents/config/project.yaml +1 -1
  61. package/templates/.agents/dashboard/.tmp-run-list.json +254 -0
  62. package/templates/.agents/dashboard/.zaip-managed.json +775 -163
  63. package/templates/.agents/dashboard/DATA-DICTIONARY.md +2227 -0
  64. package/templates/.agents/dashboard/README.md +48 -97
  65. package/templates/.agents/dashboard/apps/frontend/dist/assets/CostCalculationGuidePage-DxR_pgSV.js +1 -0
  66. package/templates/.agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-4jZLTWE_.js +2156 -0
  67. package/templates/.agents/dashboard/apps/frontend/dist/assets/PricingSettingsDialog-CKcsqb-r.js +1 -0
  68. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-BomxqCBU.css +1 -0
  69. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-DmmJD2Th.js +3 -0
  70. package/templates/.agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-BwtitWa_.js +1 -0
  71. package/templates/.agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-CaKwQP43.css +1 -0
  72. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-BZ5WdaMN.css +1 -0
  73. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-N5Csr0RP.js +68 -0
  74. package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-C98LGC-Q.js → dashboard-localization-CLJ0lT9v.js} +1 -1
  75. package/templates/.agents/dashboard/apps/frontend/dist/assets/icons-vendor-C0fj2uU9.js +1 -0
  76. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-C4aIB1PV.js +2 -0
  77. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-DK_enB5Z.css +1 -0
  78. package/templates/.agents/dashboard/apps/frontend/dist/assets/react-vendor-BEsJ-FYH.js +9 -0
  79. package/templates/.agents/dashboard/apps/frontend/dist/assets/rolldown-runtime-D9-fqq9M.js +1 -0
  80. package/templates/.agents/dashboard/apps/frontend/dist/assets/traceability-B6y6Gw12.js +1 -0
  81. package/templates/.agents/dashboard/apps/frontend/dist/assets/traceability-DFY7ZDlu.css +1 -0
  82. package/templates/.agents/dashboard/apps/frontend/dist/index.html +9 -2
  83. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  84. package/templates/.agents/dashboard/apps/frontend/src/App.tsx +1129 -600
  85. package/templates/.agents/dashboard/apps/frontend/src/AppLoadingBoundary.tsx +48 -0
  86. package/templates/.agents/dashboard/apps/frontend/src/AppLoadingPanels.tsx +2 -0
  87. package/templates/.agents/dashboard/apps/frontend/src/AppOverlays.tsx +247 -0
  88. package/templates/.agents/dashboard/apps/frontend/src/AppRequestGuards.tsx +95 -0
  89. package/templates/.agents/dashboard/apps/frontend/src/AppSetupRoutes.tsx +87 -0
  90. package/templates/.agents/dashboard/apps/frontend/src/CostCalculationGuidePage.tsx +641 -0
  91. package/templates/.agents/dashboard/apps/frontend/src/DashboardAlternateContent.tsx +159 -0
  92. package/templates/.agents/dashboard/apps/frontend/src/DashboardCapabilityNav.tsx +13 -13
  93. package/templates/.agents/dashboard/apps/frontend/src/DashboardGlobalSettings.tsx +56 -0
  94. package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.tsx +266 -315
  95. package/templates/.agents/dashboard/apps/frontend/src/ProjectStackEditor.tsx +151 -0
  96. package/templates/.agents/dashboard/apps/frontend/src/TraceabilityWorkspace.test.ts +37 -0
  97. package/templates/.agents/dashboard/apps/frontend/src/TraceabilityWorkspace.tsx +114 -12
  98. package/templates/.agents/dashboard/apps/frontend/src/app-preferences.ts +15 -0
  99. package/templates/.agents/dashboard/apps/frontend/src/app-session-token.ts +20 -0
  100. package/templates/.agents/dashboard/apps/frontend/src/cost-calculation-guide.css +267 -0
  101. package/templates/.agents/dashboard/apps/frontend/src/cost-calculation-guide.test.ts +69 -0
  102. package/templates/.agents/dashboard/apps/frontend/src/cost-period-refresh.test.ts +85 -0
  103. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.test.ts +133 -0
  104. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.ts +453 -13
  105. package/templates/.agents/dashboard/apps/frontend/src/dashboard-localization.ts +1 -1
  106. package/templates/.agents/dashboard/apps/frontend/src/main.tsx +1 -0
  107. package/templates/.agents/dashboard/apps/frontend/src/operations-detail-hydration.test.ts +55 -0
  108. package/templates/.agents/dashboard/apps/frontend/src/operations-detail-hydration.ts +36 -0
  109. package/templates/.agents/dashboard/apps/frontend/src/operations-entity-page-projection.test.ts +126 -0
  110. package/templates/.agents/dashboard/apps/frontend/src/operations-entity-page-projection.ts +181 -0
  111. package/templates/.agents/dashboard/apps/frontend/src/operations-period-contract.test.ts +138 -0
  112. package/templates/.agents/dashboard/apps/frontend/src/operations-period-render.test.ts +105 -0
  113. package/templates/.agents/dashboard/apps/frontend/src/operations-period.test.ts +6 -3
  114. package/templates/.agents/dashboard/apps/frontend/src/operations-period.ts +9 -5
  115. package/templates/.agents/dashboard/apps/frontend/src/overview-status-page.test.ts +26 -0
  116. package/templates/.agents/dashboard/apps/frontend/src/period-transition-overlay.css +44 -0
  117. package/templates/.agents/dashboard/apps/frontend/src/project-settings-model.ts +121 -62
  118. package/templates/.agents/dashboard/apps/frontend/src/project-settings-page.css +482 -3
  119. package/templates/.agents/dashboard/apps/frontend/src/project-settings.test.ts +84 -17
  120. package/templates/.agents/dashboard/apps/frontend/src/snapshot-banner-semantics.test.ts +78 -0
  121. package/templates/.agents/dashboard/apps/frontend/src/snapshot-coherence.test.ts +234 -39
  122. package/templates/.agents/dashboard/apps/frontend/src/snapshot-notice.ts +15 -0
  123. package/templates/.agents/dashboard/apps/frontend/src/sqlite-cost-adapters.ts +26 -0
  124. package/templates/.agents/dashboard/apps/frontend/src/styles.css +14 -2
  125. package/templates/.agents/dashboard/apps/frontend/src/traceability-workspace.css +38 -2
  126. package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.test.ts +253 -0
  127. package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.ts +380 -0
  128. package/templates/.agents/dashboard/apps/frontend/src/use-app-effects.ts +175 -0
  129. package/templates/.agents/dashboard/apps/frontend/src/use-app-operations-pages.ts +395 -0
  130. package/templates/.agents/dashboard/apps/frontend/src/use-app-trace-documents.ts +141 -0
  131. package/templates/.agents/dashboard/apps/frontend/src/use-idle-cost-prefetch.ts +45 -0
  132. package/templates/.agents/dashboard/apps/frontend/src/work-list-pagination.test.ts +46 -0
  133. package/templates/.agents/dashboard/apps/frontend/src/work-list-pagination.ts +36 -0
  134. package/templates/.agents/dashboard/apps/frontend/vite.config.ts +58 -5
  135. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  136. package/templates/.agents/dashboard/modules/cost-monitor/src/contracts.ts +47 -6
  137. package/templates/.agents/dashboard/modules/cost-monitor/src/duration-estimate.ts +13 -0
  138. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.test.ts +134 -0
  139. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.tsx +290 -0
  140. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostCharts.test.ts +133 -19
  141. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostCharts.tsx +134 -43
  142. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostFilters.tsx +137 -19
  143. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostModelsAuditTable.test.ts +2 -0
  144. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostModelsAuditTable.tsx +13 -10
  145. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorContent.tsx +328 -0
  146. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.test.ts +302 -6
  147. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.tsx +627 -400
  148. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostSummary.tsx +5 -13
  149. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +370 -72
  150. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.tsx +467 -326
  151. package/templates/.agents/dashboard/modules/cost-monitor/src/react/MacroCostTable.test.ts +17 -0
  152. package/templates/.agents/dashboard/modules/cost-monitor/src/react/MacroCostTable.tsx +25 -6
  153. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-copy.ts +0 -2
  154. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-page-helpers.ts +17 -0
  155. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-responsive.css +6 -3
  156. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-row-filters.ts +123 -0
  157. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-summary.ts +8 -3
  158. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-views.ts +32 -0
  159. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor.css +55 -14
  160. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-presentation.ts +121 -0
  161. package/templates/.agents/dashboard/modules/cost-monitor/src/react/index.ts +3 -0
  162. package/templates/.agents/dashboard/modules/cost-monitor/src/react/period-cost-groups.test.ts +68 -0
  163. package/templates/.agents/dashboard/modules/cost-monitor/src/react/period-cost-groups.ts +33 -5
  164. package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-compact-cost-page.ts +119 -0
  165. package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-cost-group-page.test.ts +12 -0
  166. package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-cost-group-page.ts +146 -0
  167. package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-cost-run-page.ts +118 -0
  168. package/templates/.agents/dashboard/modules/cost-monitor/src/server/aggregate.test.ts +2 -2
  169. package/templates/.agents/dashboard/modules/cost-monitor/src/server/aggregate.ts +5 -3
  170. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-pricing-fallback.test.ts +53 -0
  171. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.basics.test.ts +34 -0
  172. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.test.ts +168 -161
  173. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.ts +188 -29
  174. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.test.ts +757 -0
  175. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.ts +784 -0
  176. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-terminal-day.test.ts +100 -0
  177. package/templates/.agents/dashboard/modules/cost-monitor/src/server/index.ts +1 -0
  178. package/templates/.agents/dashboard/modules/cost-monitor/src/server/refactor-map-xr9l.json +61 -0
  179. package/templates/.agents/dashboard/modules/cost-monitor/src/server/source-size-cost-server/build-cost-monitor-projection-agents.test.ts +31 -0
  180. package/templates/.agents/dashboard/modules/cost-monitor/src/server/source-size-cost-server/build-cost-summary-projection-duration.test.ts +414 -0
  181. package/templates/.agents/dashboard/modules/cost-monitor/src/task-cost-groups.test.ts +41 -0
  182. package/templates/.agents/dashboard/modules/cost-monitor/src/task-cost-groups.ts +55 -11
  183. package/templates/.agents/dashboard/modules/operations/package.json +2 -1
  184. package/templates/.agents/dashboard/modules/operations/src/contracts.ts +185 -0
  185. package/templates/.agents/dashboard/modules/operations/src/duration-population.test.ts +63 -1
  186. package/templates/.agents/dashboard/modules/operations/src/duration-population.ts +60 -5
  187. package/templates/.agents/dashboard/modules/operations/src/react/EntityDetailsDialog.tsx +14 -3
  188. package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.test.ts +44 -1
  189. package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.tsx +345 -18
  190. package/templates/.agents/dashboard/modules/operations/src/react/MacroPlanningDialog.tsx +1 -0
  191. package/templates/.agents/dashboard/modules/operations/src/react/OperationDateFilters.test.ts +9 -5
  192. package/templates/.agents/dashboard/modules/operations/src/react/OperationDateFilters.tsx +2 -2
  193. package/templates/.agents/dashboard/modules/operations/src/react/OperationsMainContent.tsx +168 -0
  194. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.helpers.tsx +95 -6
  195. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.test.ts +367 -14
  196. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.tsx +562 -131
  197. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +353 -355
  198. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPageNavigation.tsx +65 -0
  199. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPageOverview.tsx +169 -0
  200. package/templates/.agents/dashboard/modules/operations/src/react/PeriodSummaryTable.tsx +73 -8
  201. package/templates/.agents/dashboard/modules/operations/src/react/PrdDocumentDialog.test.tsx +32 -0
  202. package/templates/.agents/dashboard/modules/operations/src/react/PrdDocumentDialog.tsx +62 -6
  203. package/templates/.agents/dashboard/modules/operations/src/react/TaskBoard.test.ts +55 -0
  204. package/templates/.agents/dashboard/modules/operations/src/react/TaskBoard.tsx +27 -19
  205. package/templates/.agents/dashboard/modules/operations/src/react/TaskDetailsDialog.tsx +105 -42
  206. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkBoard.priority.test.ts +19 -0
  207. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkBoard.tsx +265 -36
  208. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkList.test.ts +171 -8
  209. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkList.tsx +98 -68
  210. package/templates/.agents/dashboard/modules/operations/src/react/conversation-rows.test.ts +72 -1
  211. package/templates/.agents/dashboard/modules/operations/src/react/conversation-rows.ts +78 -17
  212. package/templates/.agents/dashboard/modules/operations/src/react/execution-metrics.ts +6 -4
  213. package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.test.ts +431 -1
  214. package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.tsx +574 -20
  215. package/templates/.agents/dashboard/modules/operations/src/react/export/export-layout.test.ts +42 -4
  216. package/templates/.agents/dashboard/modules/operations/src/react/export/xlsx-runtime-e2e.test.ts +248 -0
  217. package/templates/.agents/dashboard/modules/operations/src/react/macro-planning-dialog-content.css +49 -0
  218. package/templates/.agents/dashboard/modules/operations/src/react/macro-planning-dialog.css +93 -50
  219. package/templates/.agents/dashboard/modules/operations/src/react/manual-work-priority.test.ts +82 -0
  220. package/templates/.agents/dashboard/modules/operations/src/react/operation-date-range.test.ts +29 -2
  221. package/templates/.agents/dashboard/modules/operations/src/react/operation-date-range.ts +22 -1
  222. package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.test.ts +77 -4
  223. package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.ts +67 -5
  224. package/templates/.agents/dashboard/modules/operations/src/react/operations-coverage-toast.test.ts +54 -0
  225. package/templates/.agents/dashboard/modules/operations/src/react/operations-global-filters.test.ts +22 -0
  226. package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +149 -12
  227. package/templates/.agents/dashboard/modules/operations/src/react/operations-overview.status-cards.test.ts +27 -0
  228. package/templates/.agents/dashboard/modules/operations/src/react/operations-page-contract.ts +176 -0
  229. package/templates/.agents/dashboard/modules/operations/src/react/operations-period-scope.test.ts +160 -0
  230. package/templates/.agents/dashboard/modules/operations/src/react/operations-period-scope.ts +47 -0
  231. package/templates/.agents/dashboard/modules/operations/src/react/operations-query.ts +10 -0
  232. package/templates/.agents/dashboard/modules/operations/src/react/operations-responsive.css +3 -0
  233. package/templates/.agents/dashboard/modules/operations/src/react/operations-view-labels.ts +28 -0
  234. package/templates/.agents/dashboard/modules/operations/src/react/operations-view-order.test.ts +21 -7
  235. package/templates/.agents/dashboard/modules/operations/src/react/operations.css +42 -0
  236. package/templates/.agents/dashboard/modules/operations/src/react/period-summary-population.test.ts +54 -0
  237. package/templates/.agents/dashboard/modules/operations/src/react/period-summary-population.ts +32 -0
  238. package/templates/.agents/dashboard/modules/operations/src/react/period-summary.test.ts +241 -6
  239. package/templates/.agents/dashboard/modules/operations/src/react/period-summary.ts +148 -6
  240. package/templates/.agents/dashboard/modules/operations/src/react/popup-localization.test.ts +1 -1
  241. package/templates/.agents/dashboard/modules/operations/src/react/unified-work-board.css +132 -0
  242. package/templates/.agents/dashboard/modules/operations/src/react/unified-work-board.css.test.ts +13 -0
  243. package/templates/.agents/dashboard/modules/operations/src/react/unified-work-board.header.test.ts +16 -0
  244. package/templates/.agents/dashboard/modules/operations/src/react/use-infinite-column.ts +11 -5
  245. package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.test.ts +7 -4
  246. package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.ts +5 -84
  247. package/templates/.agents/dashboard/modules/operations/src/server/build-operations-projection.test.ts +291 -15
  248. package/templates/.agents/dashboard/modules/operations/src/server/build-operations-projection.ts +182 -472
  249. package/templates/.agents/dashboard/modules/operations/src/server/canonical-compat.test.ts +40 -0
  250. package/templates/.agents/dashboard/modules/operations/src/server/canonical-compat.ts +19 -6
  251. package/templates/.agents/dashboard/modules/operations/src/server/canonical-run-projection.ts +31 -6
  252. package/templates/.agents/dashboard/modules/operations/src/server/daily-duration-projection.ts +220 -0
  253. package/templates/.agents/dashboard/modules/operations/src/server/execution-duration-projection.ts +28 -0
  254. package/templates/.agents/dashboard/modules/operations/src/server/execution-relationship-counts.test.ts +39 -2
  255. package/templates/.agents/dashboard/modules/operations/src/server/execution-relationship-counts.ts +25 -13
  256. package/templates/.agents/dashboard/modules/operations/src/server/filter.test.ts +3 -3
  257. package/templates/.agents/dashboard/modules/operations/src/server/filter.ts +7 -2
  258. package/templates/.agents/dashboard/modules/operations/src/server/index.ts +3 -0
  259. package/templates/.agents/dashboard/modules/operations/src/server/macro.ts +3 -12
  260. package/templates/.agents/dashboard/modules/operations/src/server/manifest-usage.ts +65 -0
  261. package/templates/.agents/dashboard/modules/operations/src/server/operations-projection-aggregates.ts +297 -0
  262. package/templates/.agents/dashboard/modules/operations/src/server/quick-daily-operations-projection.ts +330 -0
  263. package/templates/.agents/dashboard/modules/operations/src/server/quick-operations-projection.test.ts +505 -0
  264. package/templates/.agents/dashboard/modules/operations/src/server/quick-operations-projection.ts +609 -0
  265. package/templates/.agents/dashboard/modules/operations/src/server/runs.ts +18 -19
  266. package/templates/.agents/dashboard/modules/operations/src/work-board-model.ts +76 -0
  267. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  268. package/templates/.agents/dashboard/modules/traceability/src/server/build-task-trace.ts +3 -1
  269. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  270. package/templates/.agents/dashboard/packages/branding/src/index.ts +1 -1
  271. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  272. package/templates/.agents/dashboard/packages/contracts/src/index.ts +2 -0
  273. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  274. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +1759 -0
  275. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs.metafile.json +7333 -0
  276. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +1611 -0
  277. package/templates/.agents/dashboard/packages/local-runtime/package.json +8 -3
  278. package/templates/.agents/dashboard/packages/local-runtime/scripts/build-sqlite-dashboard.mjs +20 -0
  279. package/templates/.agents/dashboard/packages/local-runtime/scripts/build-sqlite-runtime.mjs +114 -0
  280. package/templates/.agents/dashboard/packages/local-runtime/scripts/rebuild-sqlite-read-model.mjs +31 -0
  281. package/templates/.agents/dashboard/packages/local-runtime/scripts/source-size-runtime-scripts/sqlite-read-model-fixture.mjs +397 -0
  282. package/templates/.agents/dashboard/packages/local-runtime/scripts/test-sqlite-read-model.mjs +589 -0
  283. package/templates/.agents/dashboard/packages/local-runtime/scripts/test-unix-launchers.mjs +53 -0
  284. package/templates/.agents/dashboard/packages/local-runtime/scripts/validate-sqlite-read-model.mjs +203 -0
  285. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +1646 -107
  286. package/templates/.agents/dashboard/packages/local-runtime/src/agent-adapter-sync.ts +30 -0
  287. package/templates/.agents/dashboard/packages/local-runtime/src/agent-catalog-settings.test.ts +3 -2
  288. package/templates/.agents/dashboard/packages/local-runtime/src/agent-catalog-settings.ts +5 -0
  289. package/templates/.agents/dashboard/packages/local-runtime/src/manifest-runs.ts +72 -33
  290. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.test.ts +339 -4
  291. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.ts +392 -1
  292. package/templates/.agents/dashboard/packages/local-runtime/src/runtime.mjs +5 -5
  293. package/templates/.agents/dashboard/packages/local-runtime/src/server-board.test.ts +110 -0
  294. package/templates/.agents/dashboard/packages/local-runtime/src/server-board.ts +189 -0
  295. package/templates/.agents/dashboard/packages/local-runtime/src/server-cross-layer-parity.test.ts +245 -0
  296. package/templates/.agents/dashboard/packages/local-runtime/src/server-daily-read-models-route.ts +64 -0
  297. package/templates/.agents/dashboard/packages/local-runtime/src/server-daily-read-models.test.ts +204 -0
  298. package/templates/.agents/dashboard/packages/local-runtime/src/server-daily-read-models.ts +194 -0
  299. package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-pages.test.ts +163 -0
  300. package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-pages.ts +354 -0
  301. package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-runs-route.test.ts +74 -0
  302. package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-runs-route.ts +113 -0
  303. package/templates/.agents/dashboard/packages/local-runtime/src/server-overview.test.ts +68 -0
  304. package/templates/.agents/dashboard/packages/local-runtime/src/server-period.ts +47 -0
  305. package/templates/.agents/dashboard/packages/local-runtime/src/server-projections.ts +483 -0
  306. package/templates/.agents/dashboard/packages/local-runtime/src/server-settings.test.ts +5 -2
  307. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot.test.ts +178 -84
  308. package/templates/.agents/dashboard/packages/local-runtime/src/server-workspace.ts +149 -0
  309. package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +675 -267
  310. package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +1212 -309
  311. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-metric-contract.test.ts +53 -0
  312. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-metric-contract.ts +722 -0
  313. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.test.ts +3743 -0
  314. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.ts +7017 -0
  315. package/templates/.agents/dashboard/packages/local-runtime/src/work-priority-contract.test.ts +33 -0
  316. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-history.mjs +41 -0
  317. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-processes.mjs +210 -0
  318. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.mjs +514 -190
  319. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.test.mjs +324 -24
  320. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  321. package/templates/.agents/dashboard/packages/windows-launcher/LauncherVerificationBehaviorTests.cs +206 -0
  322. package/templates/.agents/dashboard/packages/windows-launcher/Program.cs +95 -8
  323. package/templates/.agents/dashboard/packages/windows-launcher/build-dashboard-launcher.ps1 +2 -2
  324. package/templates/.agents/dashboard/packages/windows-launcher/run-launcher-verification-tests.ps1 +22 -0
  325. package/templates/.agents/dashboard/read-model.dbml +2201 -0
  326. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  327. package/templates/.agents/dashboard/tests/e2e/playwright.config.ts +1 -1
  328. package/templates/.agents/dashboard/tests/e2e/specs/dashboard.spec.ts +216 -41
  329. package/templates/.agents/dashboard/work-priority.json +34 -0
  330. package/templates/.agents/dashboard/zaip-dashboard-linux.sh +45 -0
  331. package/templates/.agents/dashboard/zaip-dashboard-mac.command +3 -0
  332. package/templates/.agents/dashboard/zaip-dashboard-windows.exe +0 -0
  333. package/templates/.agents/design/.zaip-managed.json +3 -3
  334. package/templates/.agents/design/apps/catalog/package.json +1 -1
  335. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  336. package/templates/.agents/growth/estrategia-bootstrap-90-dias.md +169 -0
  337. package/templates/.agents/growth/strategy.md +27 -0
  338. package/templates/.agents/marketing/estrategia-marketing-zaip-90-dias.md +197 -0
  339. package/templates/.agents/marketing/strategy.md +29 -0
  340. package/templates/.agents/requirements/autonomous-assurance.md +1 -1
  341. package/templates/.agents/requirements/comparative-audit.md +1 -1
  342. package/templates/.agents/requirements/context-engine.md +1 -1
  343. package/templates/.agents/requirements/cost-observability.md +1 -1
  344. package/templates/.agents/requirements/dashboard-launch.md +24 -0
  345. package/templates/.agents/requirements/data-export.md +1 -1
  346. package/templates/.agents/requirements/design-system.md +1 -1
  347. package/templates/.agents/requirements/execution-engine.md +1 -1
  348. package/templates/.agents/requirements/kanban-dashboard.md +4 -3
  349. package/templates/.agents/requirements/model-orchestration.md +1 -1
  350. package/templates/.agents/requirements/public-distribution.md +9 -6
  351. package/templates/.agents/requirements/software-architecture.md +1 -1
  352. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  353. package/templates/.agents/requirements/work-lifecycle.md +9 -3
  354. package/templates/.agents/requirements/zaip-strategic-95.md +4 -4
  355. package/templates/.agents/rules/autonomy-decision.md +15 -0
  356. package/templates/.agents/rules/core.md +1 -1
  357. package/templates/.agents/rules/run-lifecycle-closure.md +1 -1
  358. package/templates/.agents/rules/specialist-routing.md +19 -0
  359. package/templates/.agents/rules/workflow.md +1 -1
  360. package/templates/.agents/runtime/VERSION +1 -1
  361. package/templates/.agents/runtime/bin/zaip.mjs +118 -67
  362. package/templates/.agents/runtime/checksums.sha256 +6 -4
  363. package/templates/.agents/runtime/manifest.json +3 -1
  364. package/templates/.agents/runtime/pnpm-lock.sha256 +1 -0
  365. package/templates/.agents/runtime/provenance.json +11 -0
  366. package/templates/.agents/runtime/sbom.cdx.json +1929 -39
  367. package/templates/.agents/sales/playbook.md +32 -0
  368. package/templates/.agents/sales/roteiro-comercial-zaip.md +252 -0
  369. package/templates/.agents/skills/zaip-aios/SKILL.md +1 -1
  370. package/templates/.agents/skills/zaip-skill-brand-governance/SKILL.md +22 -0
  371. package/templates/.agents/skills/zaip-skill-brand-governance/agents/openai.yaml +4 -0
  372. package/templates/.agents/skills/zaip-skill-brand-governance/references/brandbook-framework.md +39 -0
  373. package/templates/.agents/skills/zaip-skill-brand-governance/references/brandbook-standards.md +30 -0
  374. package/templates/.agents/skills/zaip-skill-dashboard-sqlite/SKILL.md +25 -0
  375. package/templates/.agents/skills/zaip-skill-dashboard-sqlite/agents/openai.yaml +4 -0
  376. package/templates/.agents/skills/zaip-skill-enforce-architecture/SKILL.md +2 -0
  377. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/SKILL.md +18 -0
  378. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/agents/openai.yaml +6 -0
  379. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-fence.mjs +71 -0
  380. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-fence.test.mjs +60 -0
  381. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/scheduled-ready-queue-contract.test.mjs +111 -0
  382. package/templates/.agents/skills/zaip-skill-execution/SKILL.md +2 -2
  383. package/templates/.agents/skills/zaip-skill-frontend-launcher/references/launcher-contract.md +3 -1
  384. package/templates/.agents/skills/zaip-skill-general-operations/SKILL.md +12 -0
  385. package/templates/.agents/skills/zaip-skill-general-operations/agents/openai.yaml +4 -0
  386. package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +9 -7
  387. package/templates/.agents/skills/zaip-skill-github-deploy/agents/openai.yaml +2 -2
  388. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +11 -38
  389. package/templates/.agents/skills/zaip-skill-governance-compliance/SKILL.md +12 -0
  390. package/templates/.agents/skills/zaip-skill-governance-compliance/agents/openai.yaml +4 -0
  391. package/templates/.agents/skills/zaip-skill-growth-strategy-revops/SKILL.md +21 -0
  392. package/templates/.agents/skills/zaip-skill-growth-strategy-revops/agents/openai.yaml +4 -0
  393. package/templates/.agents/skills/zaip-skill-growth-strategy-revops/references/growth-revops-framework.md +25 -0
  394. package/templates/.agents/skills/zaip-skill-instalar-agendamento/SKILL.md +17 -0
  395. package/templates/.agents/skills/zaip-skill-instalar-agendamento/agents/openai.yaml +6 -0
  396. package/templates/.agents/skills/zaip-skill-marketing/SKILL.md +9 -3
  397. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-local-telemetry.mjs +99 -93
  398. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.mjs +132 -23
  399. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.test.mjs +149 -1
  400. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-remeasurement.mjs +76 -19
  401. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-remeasurement.test.mjs +217 -7
  402. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/source-size-telemetry/model-identity-reconciliation.mjs +77 -0
  403. package/templates/.agents/skills/zaip-skill-sales-methodology/SKILL.md +20 -0
  404. package/templates/.agents/skills/zaip-skill-sales-methodology/agents/openai.yaml +4 -0
  405. package/templates/.agents/skills/zaip-skill-sales-methodology/references/sales-process-framework.md +77 -0
  406. package/templates/.agents/skills/zaip-skill-setup/SKILL.md +5 -0
  407. package/templates/.agents/skills/zaip-skill-sqlite-read-model/SKILL.md +96 -0
  408. package/templates/.agents/skills/zaip-skill-sqlite-read-model/agents/openai.yaml +4 -0
  409. package/templates/.agents/skills/zaip-skill-sqlite-read-model/scripts/ensure-node.mjs +41 -0
  410. package/templates/.agents/zaip-aios/INDEX.md +11 -0
  411. package/templates/.agents/zaip-aios/README.md +38 -8
  412. package/templates/.agents/zaip-aios/VERSION +1 -1
  413. package/templates/.agents/zaip-aios/guides/09-agentes-e-squads.md +43 -6
  414. package/templates/.agents/zaip-aios/guides/10-seguranca.md +21 -7
  415. package/templates/.agents/zaip-aios/guides/17-como-o-custo-e-calculado.md +32 -0
  416. package/templates/.agents/zaip-aios/guides/18-catalogo-de-agentes.md +76 -0
  417. package/templates/.agents/zaip-aios/guides/19-assurance-e-autonomia.md +72 -0
  418. package/templates/.agents/zaip-aios/guides/20-instalacao-detalhada.md +330 -0
  419. package/templates/.agents/zaip-aios/guides/21-telemetria-monitor-custos.md +52 -0
  420. package/templates/.agents/zaip-aios/guides/22-fluxos-e-roteamento.md +69 -0
  421. package/templates/.agents/zaip-aios/guides/23-orquestracao-de-modelos.md +483 -0
  422. package/templates/.agents/zaip-aios/guides/24-calculo-de-custos-openai.md +85 -0
  423. package/templates/.agents/zaip-aios/guides/25-fontes-de-precos-openai.md +18 -0
  424. package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +44 -0
  425. package/templates/.agents/zaip-aios/guides/27-telemetria-git-native.md +167 -0
  426. package/templates/.agents/zaip-aios/guides/28-lifecycle-completo.md +144 -0
  427. package/templates/.agents/zaip-aios/guides/assets/diagrams/lifecycles-task-spec-prd.png +0 -0
  428. package/templates/.agents/zaip-aios/guides/assets/diagrams/prd-lifecycle.png +0 -0
  429. package/templates/.agents/zaip-aios/guides/assets/diagrams/spec-lifecycle.png +0 -0
  430. package/templates/.agents/zaip-aios/guides/assets/diagrams/task-lifecycle.png +0 -0
  431. package/templates/template-manifest.json +1082 -215
  432. package/templates/.agents/dashboard/apps/frontend/dist/assets/AgentCatalogSettingsPage-CLYIi7Vo.js +0 -1
  433. package/templates/.agents/dashboard/apps/frontend/dist/assets/AgentCatalogSettingsPage-DTDNVQGX.css +0 -1
  434. package/templates/.agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-Cv-JcoxP.js +0 -1320
  435. package/templates/.agents/dashboard/apps/frontend/dist/assets/PricingSettingsDialog-CzEggcRb.js +0 -1
  436. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-05YKn6Z4.js +0 -3
  437. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-YO3yqtgV.css +0 -1
  438. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-8AzCnl3a.js +0 -77
  439. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-DdBYQ_8D.css +0 -1
  440. package/templates/.agents/dashboard/apps/frontend/src/AgentCatalogSettingsPage.tsx +0 -617
  441. package/templates/.agents/dashboard/apps/frontend/src/agent-catalog-settings-page.css +0 -660
  442. package/templates/.agents/dashboard/apps/frontend/src/agent-catalog-settings.test.ts +0 -249
  443. package/templates/.agents/dashboard/dashboard.config.json +0 -4
  444. package/templates/.agents/dashboard/zaip-dashboard.exe +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/dashboard-e2e",
3
- "version": "1.0.0",
3
+ "version": "1.3.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "scripts": {
@@ -18,7 +18,7 @@ export default defineConfig({
18
18
  },
19
19
  projects: [{ name: "chromium", use: { ...devices["Desktop Chrome"] } }],
20
20
  webServer: {
21
- command: "node .agents/dashboard/packages/local-runtime/dist/server.js",
21
+ command: "node .agents/dashboard/packages/local-runtime/dist/server.cjs",
22
22
  cwd: workspaceRoot,
23
23
  url: `${baseURL}/api/v2/health`,
24
24
  reuseExistingServer: false,
@@ -85,12 +85,19 @@ test("exports the active Cost Monitor, Operations table, and Kanban view through
85
85
  .getByRole("textbox", { name: "Busca" });
86
86
  await globalSearch.fill("EXEC-");
87
87
  await page.getByRole("button", { exact: true, name: "Execuções" }).click();
88
- await expect(page.getByRole("columnheader", { name: /Execução/ })).toBeVisible();
88
+ const executionRows = page.locator(".ui-table-row-action");
89
+ if ((await executionRows.count()) === 0) {
90
+ await expect(page.locator(".ui-empty")).toBeVisible();
91
+ } else {
92
+ await expect(page.getByRole("columnheader", { name: /Execução/ })).toBeVisible();
93
+ }
89
94
  await expect(page.locator(".export-progress")).toContainText(/\d+%/);
90
- await page.locator(".ui-table-row-action").first().click();
91
- const executionDialog = page.getByRole("dialog", { name: "Detalhes de Execução ZAIP" });
92
- await expect(executionDialog).toBeVisible();
93
- await executionDialog.getByRole("button", { name: "Fechar" }).click();
95
+ if ((await executionRows.count()) > 0) {
96
+ await executionRows.first().click();
97
+ const executionDialog = page.getByRole("dialog", { name: "Detalhes de Execução ZAIP" });
98
+ await expect(executionDialog).toBeVisible();
99
+ await executionDialog.getByRole("button", { name: "Fechar" }).click();
100
+ }
94
101
  await page.evaluate(() => {
95
102
  (
96
103
  window as Window & {
@@ -229,7 +236,9 @@ test("renders the modern read-only dashboard and meets accessibility gates", asy
229
236
  const period = globalControls.getByRole("combobox", { name: "Período" });
230
237
  await expect(startDate).toHaveValue(/^\d{4}-\d{2}-\d{2}$/);
231
238
  await expect(endDate).toHaveValue(/^\d{4}-\d{2}-\d{2}$/);
232
- await expect(period).toHaveValue("this-month");
239
+ await expect(period).toHaveValue("all");
240
+ await expect(startDate).toBeDisabled();
241
+ await expect(endDate).toBeDisabled();
233
242
  const initialStart = await startDate.inputValue();
234
243
  const today = await endDate.inputValue();
235
244
  await expect(page.getByLabel("Data inicial nos filtros")).toHaveValue(initialStart);
@@ -251,9 +260,9 @@ test("renders the modern read-only dashboard and meets accessibility gates", asy
251
260
  await expect(period).toHaveValue("custom");
252
261
  await period.selectOption("all");
253
262
  await expect(period).toHaveValue("all");
254
- await expect(startDate).toHaveValue("");
263
+ await expect(startDate).toHaveValue(/^\d{4}-\d{2}-\d{2}$/);
255
264
  await expect(startDate).toBeDisabled();
256
- await expect(endDate).toHaveValue("");
265
+ await expect(endDate).toHaveValue(/^\d{4}-\d{2}-\d{2}$/);
257
266
  await expect(endDate).toBeDisabled();
258
267
 
259
268
  await page.getByLabel("Risco").selectOption("critical");
@@ -261,17 +270,34 @@ test("renders the modern read-only dashboard and meets accessibility gates", asy
261
270
  page.locator(".operations-task-card .operations-risk:not(.is-critical)"),
262
271
  ).toHaveCount(0);
263
272
  await expect(page.locator(".operations-risk.is-critical").first()).toBeVisible();
273
+ const filteredTaskTotal = Number(
274
+ await page
275
+ .getByRole("button", { name: /Tarefas:/ })
276
+ .first()
277
+ .locator("strong")
278
+ .textContent(),
279
+ );
280
+ const filteredStatusCounts = (
281
+ await page.locator(".operations-panel-wide .operations-legend-value strong").allTextContents()
282
+ ).map(Number);
283
+ const filteredRiskCounts = (
284
+ await page.locator(".operations-panel-risk .operations-legend-value strong").allTextContents()
285
+ ).map(Number);
286
+ expect(filteredStatusCounts.reduce((sum, value) => sum + value, 0)).toBe(filteredTaskTotal);
287
+ expect(filteredRiskCounts.reduce((sum, value) => sum + value, 0)).toBe(filteredTaskTotal);
264
288
  await page.getByRole("button", { name: "Limpar filtros" }).click();
265
289
  await expect(page.getByRole("dialog", { name: "Atualizar dashboard" })).toHaveCount(0);
266
290
  await expect(startDate).toHaveValue(initialStart);
267
- await expect(period).toHaveValue("this-month");
291
+ await expect(period).toHaveValue("all");
292
+ await expect(startDate).toBeDisabled();
293
+ await expect(endDate).toBeDisabled();
268
294
  await expect(page.getByLabel("Risco")).toHaveValue("");
269
295
 
270
296
  const results = await new AxeBuilder({ page }).analyze();
271
297
  expect(results.violations).toEqual([]);
272
298
  });
273
299
 
274
- test("loads one overview first and one full Operations projection only after selection", async ({
300
+ test("loads a quick Operations summary and never hydrates full detail on selection", async ({
275
301
  page,
276
302
  }) => {
277
303
  const operationsRequests: string[] = [];
@@ -282,22 +308,60 @@ test("loads one overview first and one full Operations projection only after sel
282
308
  });
283
309
 
284
310
  await openDashboard(page);
285
- expect(operationsRequests).toHaveLength(1);
286
- expect(operationsRequests[0]).toContain("scope=overview");
311
+ expect(operationsRequests.some((url) => url.includes("scope=quick"))).toBe(true);
312
+ expect(operationsRequests.some((url) => url.includes("scope=detail"))).toBe(false);
313
+ expect(operationsRequests.some((url) => url.includes("/snapshot"))).toBe(false);
314
+
315
+ const requestsBeforeMacroSelection = operationsRequests.length;
316
+ await page.getByRole("button", { name: /^SPECs:/ }).click();
317
+ await expect(page.getByRole("heading", { name: "Status das SPECs" })).toBeVisible();
318
+ await expect(page.getByRole("heading", { name: "Top 5 SPECs" })).toBeVisible();
319
+ await expect(page.locator(".operations-run-bar")).toHaveCount(5);
320
+ expect(
321
+ (await page.locator(".operations-panel-wide .operations-legend-value strong").allTextContents())
322
+ .map(Number)
323
+ .reduce((sum, value) => sum + value, 0),
324
+ ).toBe(32);
325
+ expect(
326
+ (await page.locator(".operations-panel-risk .operations-legend-value strong").allTextContents())
327
+ .map(Number)
328
+ .reduce((sum, value) => sum + value, 0),
329
+ ).toBe(32);
330
+ await page.getByRole("button", { name: /^PRDs:/ }).click();
331
+ await expect(page.getByRole("heading", { name: "Status das PRDs" })).toBeVisible();
332
+ await expect(page.getByRole("heading", { name: "Top 5 PRDs" })).toBeVisible();
333
+ await expect(page.locator(".operations-run-bar")).toHaveCount(5);
334
+ expect(
335
+ (await page.locator(".operations-panel-wide .operations-legend-value strong").allTextContents())
336
+ .map(Number)
337
+ .reduce((sum, value) => sum + value, 0),
338
+ ).toBe(12);
339
+ expect(
340
+ (await page.locator(".operations-panel-risk .operations-legend-value strong").allTextContents())
341
+ .map(Number)
342
+ .reduce((sum, value) => sum + value, 0),
343
+ ).toBe(12);
344
+ expect(operationsRequests).toHaveLength(requestsBeforeMacroSelection);
287
345
 
288
346
  await selectOperations(page);
289
347
  await expect(page.getByLabel("Kanban de trabalho")).toBeVisible();
290
- expect(operationsRequests).toHaveLength(2);
291
- expect(operationsRequests[1]).not.toContain("scope=overview");
348
+ expect(operationsRequests.some((url) => url.includes("scope=detail"))).toBe(false);
349
+ expect(operationsRequests.some((url) => url.includes("/snapshot"))).toBe(false);
292
350
 
293
351
  await page
294
352
  .getByRole("navigation", { name: "Áreas do dashboard" })
295
353
  .getByRole("button", { name: /Operação/ })
296
354
  .click();
297
- expect(operationsRequests).toHaveLength(2);
355
+ expect(operationsRequests.some((url) => url.includes("scope=detail"))).toBe(false);
298
356
  });
299
357
 
300
358
  test("integrates the detailed cost monitor into the main dashboard", async ({ page }) => {
359
+ const costRequests: string[] = [];
360
+ const pageErrors: string[] = [];
361
+ page.on("request", (request) => {
362
+ if (request.url().includes("/api/v2/")) costRequests.push(request.url());
363
+ });
364
+ page.on("pageerror", (error) => pageErrors.push(error.message));
301
365
  await openDashboard(page);
302
366
  const capabilityNav = page.getByRole("navigation", { name: "Áreas do dashboard" });
303
367
  const globalControls = page.locator(".dashboard-global-controls");
@@ -333,9 +397,9 @@ test("integrates the detailed cost monitor into the main dashboard", async ({ pa
333
397
  const modelHeader = page.getByRole("columnheader", { name: /Modelo/ });
334
398
  if ((await modelHeader.count()) > 0) {
335
399
  await expect(modelHeader).toBeVisible();
336
- await expect(page.getByRole("columnheader", { name: /Invocações de Agentes/ })).toBeVisible();
337
- await expect(page.getByRole("columnheader", { name: /Total de tokens/ })).toBeVisible();
338
- await expect(page.getByRole("columnheader", { name: /Custo Final atual/ })).toBeVisible();
400
+ await expect(page.getByRole("columnheader", { name: /^Invocações / })).toBeVisible();
401
+ await expect(page.getByRole("columnheader", { name: /^Tokens / })).toBeVisible();
402
+ await expect(page.getByRole("columnheader", { name: /^Custo / })).toBeVisible();
339
403
  } else {
340
404
  await expect(page.locator(".cost-content-models .ui-empty")).toBeVisible();
341
405
  }
@@ -346,10 +410,39 @@ test("integrates the detailed cost monitor into the main dashboard", async ({ pa
346
410
  await expect(page.getByRole("button", { name: "Zaip Agentes" })).toBeVisible();
347
411
  await expect(page.getByRole("button", { exact: true, name: "Conversas" })).toBeVisible();
348
412
 
413
+ for (const [tab, kind] of [
414
+ ["Execuções", "executions"],
415
+ ["Conversas", "conversations"],
416
+ ["Tarefas", "tasks"],
417
+ ["SPEC", "specs"],
418
+ ["PRD", "prds"],
419
+ ] as const) {
420
+ const response = page.waitForResponse(
421
+ (candidate) =>
422
+ candidate.url().includes("/api/v2/sqlite-views?") &&
423
+ candidate.url().includes(`view=cost_monitor_${kind}`),
424
+ );
425
+ await page.locator(".cost-tabs").getByRole("button", { exact: true, name: tab }).click();
426
+ expect((await response).status()).toBe(200);
427
+ await expect(
428
+ page.getByRole("columnheader", { name: /Tempo observado/ }).or(page.locator(".ui-empty")),
429
+ ).toBeVisible();
430
+ await expect(
431
+ page.getByRole("navigation", { name: "Paginação dos dados agregados" }),
432
+ ).toBeVisible();
433
+ expect(pageErrors).toEqual([]);
434
+ await expect(page.locator(".cost-tabs")).toBeVisible();
435
+ }
436
+ expect(costRequests.some((url) => url.includes("scope=detail"))).toBe(false);
437
+
349
438
  await capabilityNav.getByRole("button", { name: /Operação/ }).click();
350
439
  await page.getByRole("button", { exact: true, name: "Invocações de agentes" }).click();
351
440
  await page.getByRole("button", { exact: true, name: "Execuções" }).click();
352
- await expect(page.getByRole("columnheader", { name: /Execução/ })).toBeVisible();
441
+ await expect(
442
+ page
443
+ .getByRole("columnheader", { name: /Execução/ })
444
+ .or(page.getByRole("status").filter({ hasText: /Aguardando linhas canônicas de execuções/ })),
445
+ ).toBeVisible();
353
446
  await page.getByRole("button", { exact: true, name: "Invocações de agentes" }).click();
354
447
 
355
448
  await page.getByRole("button", { name: "PT-BR" }).click();
@@ -362,11 +455,27 @@ test("integrates the detailed cost monitor into the main dashboard", async ({ pa
362
455
  await expect(runRow).toBeVisible();
363
456
  const initialRunCount = await runRows.count();
364
457
  const englishStartDate = globalControls.getByLabel("Start date");
458
+ const narrowedResponse = page.waitForResponse(
459
+ (candidate) =>
460
+ candidate.status() === 200 &&
461
+ candidate.url().includes("/api/v2/sqlite-views?") &&
462
+ candidate.url().includes("view=operations_agent_invocations"),
463
+ );
365
464
  await englishStartDate.fill(initialEnd);
465
+ await narrowedResponse;
366
466
  await expect(englishStartDate).toHaveValue(initialEnd);
367
467
  expect(await runRows.count()).toBeLessThanOrEqual(initialRunCount);
468
+ const restoredResponse = page.waitForResponse(
469
+ (candidate) =>
470
+ candidate.status() === 200 &&
471
+ candidate.url().includes("/api/v2/sqlite-views?") &&
472
+ candidate.url().includes("view=operations_agent_invocations"),
473
+ );
368
474
  await englishStartDate.fill(initialStart);
369
- await page.locator(".ui-table-row-action").first().click();
475
+ const restoredPage = await restoredResponse;
476
+ expect(((await restoredPage.json()) as { rows: unknown[] }).rows.length).toBeGreaterThan(0);
477
+ await expect(runRows.first()).toBeVisible();
478
+ await runRows.first().click();
370
479
  const runDetails = page.getByRole("dialog", { name: "Details for Agent Invocation" });
371
480
  await expect(runDetails).toBeVisible();
372
481
  await runDetails.getByRole("button", { name: "Close" }).click();
@@ -406,9 +515,10 @@ test("embeds traceability and keeps global settings and help available", async (
406
515
 
407
516
  await page.getByRole("button", { name: "Configurações" }).click();
408
517
  await page.getByLabel("Moeda").selectOption("USD");
409
- await page.getByRole("button", { name: "Abrir ajuda e guides" }).click();
518
+ await page.getByRole("button", { name: "Central de Ajuda" }).click();
410
519
  await expect(page.getByRole("dialog", { name: "Ajuda do ZAIP-AIOS" })).toBeVisible();
411
520
  await expect(page.getByRole("button", { name: "README · ZAIP-AIOS" })).toBeVisible();
521
+ await expect(page.getByRole("button", { name: "Como o custo é calculado" })).toBeVisible();
412
522
  await expect(page.getByText("Aprofundar no framework")).toBeVisible();
413
523
  const helpDialog = page.getByRole("dialog", { name: "Ajuda do ZAIP-AIOS" });
414
524
  await expect(
@@ -426,6 +536,7 @@ test("groups macro work in All and reveals descendant Tasks only in Tasks", asyn
426
536
  await openDashboard(page);
427
537
  await selectOperations(page);
428
538
  const board = page.getByLabel("Kanban de trabalho");
539
+ await expect(board.locator(".operations-task-card").first()).toBeVisible();
429
540
  const allItemCount = await boardItemCount(board);
430
541
 
431
542
  await page.getByRole("button", { exact: true, name: "Tarefas" }).click();
@@ -437,23 +548,79 @@ test("groups macro work in All and reveals descendant Tasks only in Tasks", asyn
437
548
  .locator(".operations-work-card")
438
549
  .filter({ has: page.locator(".operations-work-kind.is-spec") })
439
550
  .first();
440
- await expect(spec).toBeVisible();
441
- await expect(spec.locator(".operations-work-card-counts")).toHaveText(/Tasks \d+\/\d+/);
442
- await spec.click();
443
- await expect(page.getByRole("dialog", { name: "Detalhes do SPEC" })).toBeVisible();
444
- await page.getByRole("button", { name: "Fechar" }).click();
551
+ if ((await spec.count()) === 0) {
552
+ await expect(
553
+ page.getByLabel("Kanban de trabalho").locator(".operations-task-card"),
554
+ ).toHaveCount(0);
555
+ } else {
556
+ await expect(spec).toBeVisible();
557
+ await expect(spec.locator(".operations-work-card-counts")).toHaveText(/Tasks \d+\/\d+/);
558
+ await spec.locator(".operations-work-card-open").click();
559
+ await expect(page.getByRole("dialog", { name: "Detalhes do SPEC" })).toBeVisible();
560
+ await page.getByRole("button", { name: "Fechar" }).click();
561
+ }
445
562
 
446
563
  await page.getByRole("button", { exact: true, name: "PRDs" }).click();
447
564
  const prd = page
448
565
  .locator(".operations-work-card")
449
566
  .filter({ has: page.locator(".operations-work-kind.is-prd") })
450
567
  .first();
451
- await expect(prd).toBeVisible();
452
- await expect(prd.locator(".operations-work-card-counts")).toHaveText(
453
- /SPECs \d+\/\d+ · Tasks \d+\/\d+/,
454
- );
455
- await prd.click();
456
- await expect(page.getByRole("dialog", { name: "Detalhes do PRD" })).toBeVisible();
568
+ if ((await prd.count()) === 0) {
569
+ await expect(
570
+ page.getByLabel("Kanban de trabalho").locator(".operations-task-card"),
571
+ ).toHaveCount(0);
572
+ } else {
573
+ await expect(prd).toBeVisible();
574
+ await expect(prd.locator(".operations-work-card-counts")).toHaveText(
575
+ /SPECs \d+\/\d+ · Tasks \d+\/\d+/,
576
+ );
577
+ await prd.locator(".operations-work-card-open").click();
578
+ await expect(page.getByRole("dialog", { name: "Detalhes do PRD" })).toBeVisible();
579
+ }
580
+ });
581
+
582
+ test("loads monthly overview quickly and keeps PRD and SPEC chart totals reconciled", async ({
583
+ page,
584
+ }) => {
585
+ const openedAt = Date.now();
586
+ await openDashboard(page);
587
+ expect(Date.now() - openedAt).toBeLessThan(3_000);
588
+
589
+ const period = page.getByRole("combobox", { name: /Per/ }).first();
590
+ for (const preset of ["last-month", "this-month"] as const) {
591
+ const response = page.waitForResponse(
592
+ (candidate) =>
593
+ candidate.status() === 200 &&
594
+ candidate.url().includes("/api/v2/operations") &&
595
+ candidate.url().includes("scope=quick"),
596
+ );
597
+ const selectedAt = Date.now();
598
+ await period.selectOption(preset);
599
+ await response;
600
+ expect(Date.now() - selectedAt).toBeLessThan(3_000);
601
+
602
+ for (const kind of ["SPECs", "PRDs"] as const) {
603
+ const selector = page.locator(".operations-kpi.is-selectable").filter({ hasText: kind });
604
+ const cardCount = Number(await selector.locator("strong").textContent());
605
+ await selector.click();
606
+
607
+ const panels = page.locator(".operations-chart-grid > .operations-panel");
608
+ const donutCount = Number(
609
+ await panels.nth(1).locator(".operations-donut-wrap strong").textContent(),
610
+ );
611
+ const statusCounts = await panels
612
+ .nth(0)
613
+ .locator(".operations-legend-value strong")
614
+ .allTextContents();
615
+ const classificationCounts = await panels
616
+ .nth(1)
617
+ .locator(".operations-legend-value strong")
618
+ .allTextContents();
619
+ expect(donutCount).toBe(cardCount);
620
+ expect(statusCounts.reduce((sum, value) => sum + Number(value), 0)).toBe(cardCount);
621
+ expect(classificationCounts.reduce((sum, value) => sum + Number(value), 0)).toBe(cardCount);
622
+ }
623
+ }
457
624
  });
458
625
 
459
626
  async function boardItemCount(board: Locator): Promise<number> {
@@ -475,7 +642,12 @@ test("opens entity-specific details for changes decisions executions and runs",
475
642
 
476
643
  for (const [tab, dialogName, detailLabel] of cases) {
477
644
  await page.getByRole("button", { exact: true, name: tab }).click();
478
- await page.locator(".ui-table-row-action").first().click();
645
+ const rows = page.locator(".ui-table-row-action");
646
+ if ((await rows.count()) === 0) {
647
+ await expect(page.locator(".ui-empty")).toBeVisible();
648
+ continue;
649
+ }
650
+ await rows.first().click();
479
651
  const dialog = page.getByRole("dialog", { name: dialogName });
480
652
  await expect(dialog).toBeVisible();
481
653
  await expect(dialog.getByText(detailLabel, { exact: true })).toBeVisible();
@@ -484,6 +656,16 @@ test("opens entity-specific details for changes decisions executions and runs",
484
656
  }
485
657
  });
486
658
 
659
+ test("keeps aggregate KPIs visible without an obsolete coverage overlay", async ({ page }) => {
660
+ await openDashboard(page);
661
+
662
+ await expect(page.getByText(/Agregados do manifesto/)).toHaveCount(0);
663
+ await expect(page.locator(".operations-coverage-toast")).toHaveCount(0);
664
+ await expect(page.getByRole("article", { name: /Tempo total de execu/ })).toBeVisible();
665
+ await expect(page.getByRole("article", { name: /Tokens gastos/ })).toBeVisible();
666
+ await expect(page.getByRole("article", { name: /Custo Estimado/ })).toBeVisible();
667
+ });
668
+
487
669
  async function globalThisScrollPosition(page: import("@playwright/test").Page) {
488
670
  return page.evaluate("window.scrollY");
489
671
  }
@@ -493,24 +675,17 @@ async function openDashboard(page: import("@playwright/test").Page) {
493
675
  (response) =>
494
676
  response.status() === 200 &&
495
677
  response.url().includes("/api/v2/operations") &&
496
- response.url().includes("scope=overview"),
678
+ response.url().includes("scope=quick"),
497
679
  );
498
680
  await page.goto("/?token=e2e-token");
499
681
  await operations;
500
682
  }
501
683
 
502
684
  async function selectOperations(page: import("@playwright/test").Page) {
503
- const operations = page.waitForResponse(
504
- (response) =>
505
- response.status() === 200 &&
506
- response.url().includes("/api/v2/operations") &&
507
- !response.url().includes("scope=overview"),
508
- );
509
685
  await page
510
686
  .getByRole("navigation", { name: "Áreas do dashboard" })
511
687
  .getByRole("button", { name: /Operação/ })
512
688
  .click();
513
- await operations;
514
689
  }
515
690
 
516
691
  test("protects dashboard reads and rejects mutating methods", async ({ request }) => {
@@ -0,0 +1,34 @@
1
+ {
2
+ "schema_version": 1,
3
+ "item_ids": [
4
+ "TASK-2026-07-17-09-15-AUDITORIA-ESTRUTURAL-ZAIP-AIOS-JL7U",
5
+ "TASK-2026-07-17-22-37-INTAKE-OUTCOMES-V3-GA4Q",
6
+ "TASK-2026-07-18-11-54-LIBERAR-ACESSO-TOTAL-CODEX-KKP3",
7
+ "TASK-2026-07-18-12-26-FORMATAR-CUSTOS-CARD-XGRU",
8
+ "TASK-2026-07-18-12-42-REMOVE-OBSOLETE-TASKS-9RBB",
9
+ "TASK-2026-07-18-13-11-ALIGN-CODEX-FULL-ACCESS-A7C5",
10
+ "TASK-2026-07-22-00-26-GLOBAL-CODEX-CONFIG-W7R9",
11
+ "TASK-2026-08-09-11-12-DASHBOARD-FRESH-PORT-HANDOFF-GCAA",
12
+ "TASK-2026-08-09-18-59-REQUALIFICAR-CANDIDATO-ESCOPADO-T8WS",
13
+ "TASK-2026-08-09-20-01-FECHAR-LINT-SHA-LIMPO-RFWB",
14
+ "TASK-2026-08-10-09-42-SINCRONIZAR-EVIDENCIA-HAQ3-2WBT",
15
+ "TASK-2026-08-12-01-15-API-SQLITE-PAGINACAO-6D8V",
16
+ "TASK-2026-08-12-01-15-ASSURANCE-SQLITE-BROWSER-5K9T",
17
+ "TASK-2026-08-12-01-15-CONTRATO-INVENTARIO-SQLITE-METRICAS-9A2R",
18
+ "TASK-2026-08-12-01-15-EXPORTACAO-SQLITE-PARIDADE-7H3S",
19
+ "TASK-2026-08-12-01-15-PROJECAO-SQLITE-SEMANTICA-4C7P",
20
+ "PRD-2026-08-12-01-25-AUDITORIA-INTEGRAL-DASHBOARD-SQLITE-Q7MK",
21
+ "SPEC-2026-08-12-01-15-AUDITORIA-DASHBOARD-SQLITE-METRICAS-N5QK",
22
+ "TASK-2026-08-12-19-43-ADICIONAR-HERMES-README-5V8V",
23
+ "TASK-2026-08-12-22-14-COST-LIFECYCLE-SUBTOTAL-PARITY-LJTE",
24
+ "TASK-2026-08-12-23-43-RECONCILE-OPEN-ITEMS-CURRENT-TELEMETRY-XUH8",
25
+ "TASK-2026-08-12-23-54-RECALIBRAR-OPENCLAW-ECONOMIA-ZRXN",
26
+ "TASK-2026-08-13-00-02-COST-MONITOR-OVERVIEW-RECONCILIATION-T9RX",
27
+ "TASK-2026-08-13-00-15-CORRIGIR-PRIORIDADE-KANBAN-SQLITE-9D72",
28
+ "TASK-2026-08-13-00-17-RECALIBRAR-ZAIP-NOTA-95-GWHV",
29
+ "TASK-2026-08-13-00-28-RECALIBRAR-TRAYCER-HERMES-KDZB",
30
+ "TASK-2026-08-13-00-30-COST-DAILY-DURATION-PARITY-JMBS",
31
+ "TASK-2026-08-13-00-33-PADRONIZAR-METRICAS-LISTA-OPERACIONAL-YSS8"
32
+ ],
33
+ "updated_at": "2026-08-13T12:46:29.552Z"
34
+ }
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env sh
2
+ # Linux launcher for the local, loopback-only ZAIP SQLite dashboard.
3
+ set -eu
4
+
5
+ launcher_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
6
+ workspace_root=$(CDPATH= cd -- "$launcher_dir/../.." && pwd)
7
+ runtime="$workspace_root/.agents/dashboard/packages/local-runtime/start-dashboard.mjs"
8
+
9
+ if [ ! -f "$runtime" ]; then
10
+ printf '%s\n' "Erro: o runtime do ZAIP Dashboard não foi encontrado. Reinstale ou reconstrua o ZAIP-AIOS." >&2
11
+ exit 1
12
+ fi
13
+
14
+ node_bin=${ZAIP_NODE:-}
15
+ if [ -n "$node_bin" ]; then
16
+ if [ ! -x "$node_bin" ]; then
17
+ printf '%s\n' "Erro: ZAIP_NODE não aponta para um executável Node.js: $node_bin" >&2
18
+ exit 1
19
+ fi
20
+ elif node_bin=$(command -v node 2>/dev/null); then
21
+ :
22
+ else
23
+ printf '%s\n' "Erro: Node.js 22 ou superior não foi encontrado no PATH. Instale-o e tente novamente." >&2
24
+ exit 1
25
+ fi
26
+
27
+ node_major=$("$node_bin" -p "process.versions.node.split('.')[0]" 2>/dev/null || true)
28
+ case "$node_major" in
29
+ ''|*[!0-9]*)
30
+ printf '%s\n' "Erro: não foi possível determinar a versão do Node.js em $node_bin." >&2
31
+ exit 1
32
+ ;;
33
+ esac
34
+ if [ "$node_major" -lt 22 ]; then
35
+ printf '%s\n' "Erro: o Dashboard SQLite requer Node.js 22 ou superior; encontrado Node.js $node_major." >&2
36
+ exit 1
37
+ fi
38
+
39
+ if ! "$node_bin" -e "const { builtinModules } = require('node:module'); process.exit(builtinModules.includes('node:sqlite') ? 0 : 1)" >/dev/null 2>&1; then
40
+ printf '%s\n' "Erro: este Node.js não disponibiliza node:sqlite. Reinstale o Node.js 22 ou superior." >&2
41
+ exit 1
42
+ fi
43
+
44
+ cd "$workspace_root"
45
+ exec "$node_bin" "$runtime" "$@"
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env sh
2
+ # macOS Finder-compatible launcher. Keep the Linux contract in the sibling .sh.
3
+ exec "$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)/zaip-dashboard-linux.sh" "$@"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "1.0.0",
3
+ "version": "1.3.0",
4
4
  "files": [
5
5
  {
6
6
  "path": "apps/catalog/.storybook/main.ts",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  {
222
222
  "path": "apps/catalog/package.json",
223
- "sha256": "6ed07adcaa1075aba5a41ca157b5f5aad70bae02b3f01914c4efe85181969013"
223
+ "sha256": "e9ffdce8dcc8ed1fed3888add953e7e789261307b8d037a6001d98a38f644279"
224
224
  },
225
225
  {
226
226
  "path": "apps/catalog/public/logo_novo_azul.png",
@@ -304,7 +304,7 @@
304
304
  },
305
305
  {
306
306
  "path": "packages/local-runtime/package.json",
307
- "sha256": "f00e4ab953a4c1fd2b91b6f510799d5407aa2fe5e61204b9cc80ccef564effef"
307
+ "sha256": "73bbd424a00481ca49bd3265183e0b505cc313484459d0701361a987f2b89057"
308
308
  },
309
309
  {
310
310
  "path": "packages/local-runtime/runtime.mjs",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/design-catalog",
3
- "version": "1.0.0",
3
+ "version": "1.3.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "scripts": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/design-local-runtime",
3
- "version": "1.0.0",
3
+ "version": "1.3.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "scripts": {