@zaip-ai/cli 1.0.6 → 1.0.7

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 (887) hide show
  1. package/README.md +4 -2
  2. package/dist/services/adapter-hook-sources.d.ts +3 -0
  3. package/dist/services/adapter-hook-sources.d.ts.map +1 -0
  4. package/dist/services/adapter-hook-sources.js +3 -0
  5. package/dist/services/adapter-hook-sources.js.map +1 -0
  6. package/dist/services/adapters.d.ts.map +1 -1
  7. package/dist/services/adapters.js +75 -600
  8. package/dist/services/adapters.js.map +1 -1
  9. package/dist/services/adapters.test.js +41 -0
  10. package/dist/services/adapters.test.js.map +1 -1
  11. package/dist/services/agent-adapters.d.ts +7 -0
  12. package/dist/services/agent-adapters.d.ts.map +1 -1
  13. package/dist/services/agent-adapters.js +81 -13
  14. package/dist/services/agent-adapters.js.map +1 -1
  15. package/dist/services/agent-adapters.test.js +56 -7
  16. package/dist/services/agent-adapters.test.js.map +1 -1
  17. package/dist/services/claude-settings-template.d.ts +2 -0
  18. package/dist/services/claude-settings-template.d.ts.map +1 -0
  19. package/dist/services/claude-settings-template.js +8 -0
  20. package/dist/services/claude-settings-template.js.map +1 -0
  21. package/dist/services/codex-config-template.d.ts +3 -0
  22. package/dist/services/codex-config-template.d.ts.map +1 -0
  23. package/dist/services/codex-config-template.js +98 -0
  24. package/dist/services/codex-config-template.js.map +1 -0
  25. package/dist/services/codex-pre-tool-hook-template.d.ts +2 -0
  26. package/dist/services/codex-pre-tool-hook-template.d.ts.map +1 -0
  27. package/dist/services/codex-pre-tool-hook-template.js +472 -0
  28. package/dist/services/codex-pre-tool-hook-template.js.map +1 -0
  29. package/dist/services/codex-rules.d.ts +1 -1
  30. package/dist/services/codex-rules.d.ts.map +1 -1
  31. package/dist/services/codex-rules.js +22 -13
  32. package/dist/services/codex-rules.js.map +1 -1
  33. package/dist/services/codex-subagent-hook-template.d.ts +2 -0
  34. package/dist/services/codex-subagent-hook-template.d.ts.map +1 -0
  35. package/dist/services/codex-subagent-hook-template.js +250 -0
  36. package/dist/services/codex-subagent-hook-template.js.map +1 -0
  37. package/dist/services/doctor.d.ts.map +1 -1
  38. package/dist/services/doctor.js +8 -35
  39. package/dist/services/doctor.js.map +1 -1
  40. package/dist/services/global-codex-config.d.ts +12 -6
  41. package/dist/services/global-codex-config.d.ts.map +1 -1
  42. package/dist/services/global-codex-config.js +72 -53
  43. package/dist/services/global-codex-config.js.map +1 -1
  44. package/dist/services/global-codex-config.test.js +35 -84
  45. package/dist/services/global-codex-config.test.js.map +1 -1
  46. package/dist/services/install-agents-template.d.ts.map +1 -1
  47. package/dist/services/install-agents-template.js +55 -19
  48. package/dist/services/install-agents-template.js.map +1 -1
  49. package/dist/services/local-state-migration.d.ts +19 -0
  50. package/dist/services/local-state-migration.d.ts.map +1 -0
  51. package/dist/services/local-state-migration.js +122 -0
  52. package/dist/services/local-state-migration.js.map +1 -0
  53. package/dist/services/logger.d.ts.map +1 -1
  54. package/dist/services/logger.js +4 -6
  55. package/dist/services/logger.js.map +1 -1
  56. package/dist/services/logger.test.js +36 -3
  57. package/dist/services/logger.test.js.map +1 -1
  58. package/dist/services/runtime-template.test.js +22 -18
  59. package/dist/services/runtime-template.test.js.map +1 -1
  60. package/dist/services/template-manifest.d.ts +1 -0
  61. package/dist/services/template-manifest.d.ts.map +1 -1
  62. package/dist/services/template-manifest.js +31 -11
  63. package/dist/services/template-manifest.js.map +1 -1
  64. package/dist/services/transactional-files.d.ts.map +1 -1
  65. package/dist/services/transactional-files.js +84 -27
  66. package/dist/services/transactional-files.js.map +1 -1
  67. package/dist/types.d.ts +2 -1
  68. package/dist/types.d.ts.map +1 -1
  69. package/package.json +2 -2
  70. package/templates/.agents/config/agents/catalog.yaml +1081 -145
  71. package/templates/.agents/config/clients/codex/agents/zaip-agent-analyst.toml +30 -0
  72. package/templates/.agents/config/clients/codex/agents/zaip-agent-auditor.toml +30 -0
  73. package/templates/.agents/config/clients/codex/agents/zaip-agent-backend.toml +30 -0
  74. package/templates/.agents/config/clients/codex/agents/zaip-agent-builder.toml +31 -0
  75. package/templates/.agents/config/clients/codex/agents/zaip-agent-cloud-engineer.toml +30 -0
  76. package/templates/.agents/config/clients/codex/agents/zaip-agent-data-analyst.toml +30 -0
  77. package/templates/.agents/config/clients/codex/agents/zaip-agent-designer.toml +31 -0
  78. package/templates/.agents/config/clients/codex/agents/zaip-agent-finalizer.toml +31 -0
  79. package/templates/.agents/config/clients/codex/agents/zaip-agent-frontend.toml +31 -0
  80. package/templates/.agents/config/clients/codex/agents/zaip-agent-integrator.toml +30 -0
  81. package/templates/.agents/config/clients/codex/agents/zaip-agent-marketing-analyst.toml +30 -0
  82. package/templates/.agents/config/clients/codex/agents/zaip-agent-orchestrator.toml +37 -0
  83. package/templates/.agents/config/clients/codex/agents/zaip-agent-refactoring-specialist.toml +35 -0
  84. package/templates/.agents/config/clients/codex/agents/zaip-agent-reviewer.toml +30 -0
  85. package/templates/.agents/config/clients/codex/agents/zaip-agent-security-auditor.toml +30 -0
  86. package/templates/.agents/config/clients/codex/agents/zaip-agent-task-executor.toml +31 -0
  87. package/templates/.agents/config/clients/codex/agents/zaip-agent-website-developer.toml +30 -0
  88. package/templates/.agents/config/clients/codex/agents/zaip-agent-writer.toml +32 -0
  89. package/templates/.agents/config/clients.yaml +152 -0
  90. package/templates/{.zaip-aios → .agents/config}/pricing/models.json +4 -13
  91. package/templates/.agents/config/project.yaml +24 -1
  92. package/templates/.agents/dashboard/.zaip-managed.json +1140 -12
  93. package/templates/.agents/dashboard/README.md +23 -4
  94. package/templates/.agents/dashboard/apps/frontend/dist/assets/AgentCatalogSettingsPage-CLYIi7Vo.js +1 -0
  95. package/templates/.agents/dashboard/apps/frontend/dist/assets/AgentCatalogSettingsPage-DTDNVQGX.css +1 -0
  96. package/templates/.agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-Cv-JcoxP.js +1320 -0
  97. package/templates/.agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-Je5nK-Et.css +1 -0
  98. package/templates/.agents/dashboard/apps/frontend/dist/assets/PricingSettingsDialog-CzEggcRb.js +1 -0
  99. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-05YKn6Z4.js +3 -0
  100. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-YO3yqtgV.css +1 -0
  101. package/templates/.agents/dashboard/apps/frontend/dist/assets/dashboard-localization-C98LGC-Q.js +231 -0
  102. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-8AzCnl3a.js +77 -0
  103. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-DdBYQ_8D.css +1 -0
  104. package/templates/.agents/dashboard/apps/frontend/dist/index.html +2 -2
  105. package/templates/{.zaip-aios/dashboard/apps/frontend/dist → .agents/dashboard/apps/frontend}/index.html +1 -2
  106. package/templates/.agents/dashboard/apps/frontend/package.json +22 -0
  107. package/templates/.agents/dashboard/apps/frontend/src/AgentCatalogSettingsPage.tsx +617 -0
  108. package/templates/.agents/dashboard/apps/frontend/src/App.tsx +766 -0
  109. package/templates/.agents/dashboard/apps/frontend/src/AppLoadingPanels.tsx +134 -0
  110. package/templates/.agents/dashboard/apps/frontend/src/DashboardCapabilityNav.tsx +117 -0
  111. package/templates/.agents/dashboard/apps/frontend/src/DashboardHelpDialog.tsx +242 -0
  112. package/templates/.agents/dashboard/apps/frontend/src/PricingSettingsDialog.tsx +295 -0
  113. package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.tsx +719 -0
  114. package/templates/.agents/dashboard/apps/frontend/src/TraceabilityWorkspace.tsx +72 -0
  115. package/templates/.agents/dashboard/apps/frontend/src/agent-catalog-settings-page.css +660 -0
  116. package/templates/.agents/dashboard/apps/frontend/src/agent-catalog-settings.test.ts +249 -0
  117. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.test.ts +31 -0
  118. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.ts +374 -0
  119. package/templates/.agents/dashboard/apps/frontend/src/dashboard-capability-nav.css +81 -0
  120. package/templates/.agents/dashboard/apps/frontend/src/dashboard-help-dialog.css +202 -0
  121. package/templates/.agents/dashboard/apps/frontend/src/dashboard-localization.test.ts +72 -0
  122. package/templates/.agents/dashboard/apps/frontend/src/dashboard-localization.ts +361 -0
  123. package/templates/.agents/dashboard/apps/frontend/src/loading-feedback.css +42 -0
  124. package/templates/{.zaip-aios/design/apps/catalog → .agents/dashboard/apps/frontend}/src/main.tsx +5 -1
  125. package/templates/.agents/dashboard/apps/frontend/src/operations-period.test.ts +18 -0
  126. package/templates/.agents/dashboard/apps/frontend/src/operations-period.ts +22 -0
  127. package/templates/.agents/dashboard/apps/frontend/src/pricing-settings-dialog.css +309 -0
  128. package/templates/.agents/dashboard/apps/frontend/src/project-settings-model.ts +129 -0
  129. package/templates/.agents/dashboard/apps/frontend/src/project-settings-page.css +335 -0
  130. package/templates/.agents/dashboard/apps/frontend/src/project-settings.test.ts +57 -0
  131. package/templates/.agents/dashboard/apps/frontend/src/snapshot-coherence.test.ts +79 -0
  132. package/templates/.agents/dashboard/apps/frontend/src/snapshot-coherence.ts +17 -0
  133. package/templates/.agents/dashboard/apps/frontend/src/styles.css +761 -0
  134. package/templates/.agents/dashboard/apps/frontend/src/traceability-workspace.css +70 -0
  135. package/templates/{.zaip-aios/design/apps/catalog → .agents/dashboard/apps/frontend}/tsconfig.json +1 -7
  136. package/templates/.agents/dashboard/apps/frontend/vite.config.ts +22 -0
  137. package/templates/{.zaip-aios/design/apps/catalog → .agents/dashboard/apps/frontend}/vitest.config.ts +3 -1
  138. package/templates/.agents/dashboard/dashboard.config.json +4 -0
  139. package/templates/.agents/dashboard/modules/cost-monitor/composition-root.ts +6 -0
  140. package/templates/.agents/dashboard/modules/cost-monitor/package.json +24 -0
  141. package/templates/.agents/dashboard/modules/cost-monitor/src/agent-groups.test.ts +43 -0
  142. package/templates/.agents/dashboard/modules/cost-monitor/src/agent-groups.ts +40 -0
  143. package/templates/.agents/dashboard/modules/cost-monitor/src/contracts.ts +221 -0
  144. package/templates/.agents/dashboard/modules/cost-monitor/src/provider.test.ts +19 -0
  145. package/templates/.agents/dashboard/modules/cost-monitor/src/provider.ts +5 -0
  146. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostCharts.test.ts +75 -0
  147. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostCharts.tsx +260 -0
  148. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostFilters.tsx +351 -0
  149. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostModelsAuditTable.test.ts +51 -0
  150. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostModelsAuditTable.tsx +327 -0
  151. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorIcons.tsx +50 -0
  152. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.test.ts +251 -0
  153. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.tsx +775 -0
  154. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostPeriodAverageCards.tsx +89 -0
  155. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostSummary.tsx +64 -0
  156. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTableIcons.tsx +9 -0
  157. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +708 -0
  158. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.tsx +797 -0
  159. package/templates/.agents/dashboard/modules/cost-monitor/src/react/MacroCostTable.test.ts +79 -0
  160. package/templates/.agents/dashboard/modules/cost-monitor/src/react/MacroCostTable.tsx +218 -0
  161. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-duration.ts +17 -0
  162. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-copy.ts +84 -0
  163. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-embedded.css +11 -0
  164. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-layout.test.ts +28 -0
  165. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-responsive.css +123 -0
  166. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-summary.ts +130 -0
  167. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor.css +683 -0
  168. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-run-origin.css +28 -0
  169. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-metrics.ts +77 -0
  170. package/templates/.agents/dashboard/modules/cost-monitor/src/react/index.ts +2 -0
  171. package/templates/.agents/dashboard/modules/cost-monitor/src/react/period-cost-groups.test.ts +111 -0
  172. package/templates/.agents/dashboard/modules/cost-monitor/src/react/period-cost-groups.ts +140 -0
  173. package/templates/.agents/dashboard/modules/cost-monitor/src/run-display.ts +10 -0
  174. package/templates/.agents/dashboard/modules/cost-monitor/src/server/aggregate.test.ts +213 -0
  175. package/templates/.agents/dashboard/modules/cost-monitor/src/server/aggregate.ts +86 -0
  176. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-pricing.test.ts +132 -0
  177. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection-filtering.test.ts +193 -0
  178. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection-pricing.test.ts +167 -0
  179. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.test-fixtures.ts +213 -0
  180. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.test.ts +793 -0
  181. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.ts +622 -0
  182. package/templates/.agents/dashboard/modules/cost-monitor/src/server/index.ts +2 -0
  183. package/templates/.agents/dashboard/modules/cost-monitor/src/server/run-telemetry.test.ts +36 -0
  184. package/templates/.agents/dashboard/modules/cost-monitor/src/server/run-telemetry.ts +22 -0
  185. package/templates/.agents/dashboard/modules/cost-monitor/src/task-cost-groups.test.ts +137 -0
  186. package/templates/.agents/dashboard/modules/cost-monitor/src/task-cost-groups.ts +64 -0
  187. package/templates/.agents/dashboard/modules/cost-monitor/tsconfig.json +10 -0
  188. package/templates/.agents/dashboard/modules/operations/composition-root.ts +19 -0
  189. package/templates/.agents/dashboard/modules/operations/package.json +30 -0
  190. package/templates/.agents/dashboard/modules/operations/src/contracts.ts +409 -0
  191. package/templates/.agents/dashboard/modules/operations/src/duration-population.test.ts +16 -0
  192. package/templates/.agents/dashboard/modules/operations/src/duration-population.ts +35 -0
  193. package/templates/.agents/dashboard/modules/operations/src/react/EntityDetailsDialog.tsx +309 -0
  194. package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.test.ts +33 -0
  195. package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.tsx +491 -0
  196. package/templates/.agents/dashboard/modules/operations/src/react/MacroBoard.test.ts +28 -0
  197. package/templates/.agents/dashboard/modules/operations/src/react/MacroBoard.tsx +313 -0
  198. package/templates/.agents/dashboard/modules/operations/src/react/MacroGrid.tsx +61 -0
  199. package/templates/.agents/dashboard/modules/operations/src/react/MacroPlanningDialog.tsx +427 -0
  200. package/templates/.agents/dashboard/modules/operations/src/react/OperationDateFilters.test.ts +32 -0
  201. package/templates/.agents/dashboard/modules/operations/src/react/OperationDateFilters.tsx +124 -0
  202. package/templates/.agents/dashboard/modules/operations/src/react/OperationsIcons.tsx +58 -0
  203. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.helpers.tsx +412 -0
  204. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.test.ts +498 -0
  205. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.tsx +621 -0
  206. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +800 -0
  207. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPageDetails.tsx +113 -0
  208. package/templates/.agents/dashboard/modules/operations/src/react/PeriodSummaryTable.tsx +248 -0
  209. package/templates/.agents/dashboard/modules/operations/src/react/PrdDocumentDialog.tsx +235 -0
  210. package/templates/.agents/dashboard/modules/operations/src/react/TaskBoard.test.ts +141 -0
  211. package/templates/.agents/dashboard/modules/operations/src/react/TaskBoard.tsx +352 -0
  212. package/templates/.agents/dashboard/modules/operations/src/react/TaskDetailsDialog.tsx +134 -0
  213. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkBoard.tsx +502 -0
  214. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkList.test.ts +48 -0
  215. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkList.tsx +298 -0
  216. package/templates/.agents/dashboard/modules/operations/src/react/card-elapsed-time.css +19 -0
  217. package/templates/.agents/dashboard/modules/operations/src/react/card-elapsed-time.test.ts +47 -0
  218. package/templates/.agents/dashboard/modules/operations/src/react/card-elapsed-time.ts +66 -0
  219. package/templates/.agents/dashboard/modules/operations/src/react/card-type-colors.css +35 -0
  220. package/templates/.agents/dashboard/modules/operations/src/react/conversation-rows.test.ts +50 -0
  221. package/templates/.agents/dashboard/modules/operations/src/react/conversation-rows.ts +75 -0
  222. package/templates/.agents/dashboard/modules/operations/src/react/entity-details-dialog.css +76 -0
  223. package/templates/.agents/dashboard/modules/operations/src/react/execution-metrics.test.ts +170 -0
  224. package/templates/.agents/dashboard/modules/operations/src/react/execution-metrics.ts +88 -0
  225. package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.test.ts +32 -0
  226. package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.tsx +93 -0
  227. package/templates/.agents/dashboard/modules/operations/src/react/export/ExportProgressToast.tsx +26 -0
  228. package/templates/.agents/dashboard/modules/operations/src/react/export/export-layout.test.ts +67 -0
  229. package/templates/.agents/dashboard/modules/operations/src/react/export/export-session.test.ts +208 -0
  230. package/templates/.agents/dashboard/modules/operations/src/react/export/export-session.ts +194 -0
  231. package/templates/.agents/dashboard/modules/operations/src/react/export/export.css +31 -0
  232. package/templates/.agents/dashboard/modules/operations/src/react/format-card-created-at.test.ts +19 -0
  233. package/templates/.agents/dashboard/modules/operations/src/react/format-card-created-at.ts +19 -0
  234. package/templates/.agents/dashboard/modules/operations/src/react/format-rounded-duration.test.ts +27 -0
  235. package/templates/.agents/dashboard/modules/operations/src/react/format-rounded-duration.ts +14 -0
  236. package/templates/.agents/dashboard/modules/operations/src/react/fullscreen-dialog.test.tsx +113 -0
  237. package/templates/.agents/dashboard/modules/operations/src/react/index.ts +10 -0
  238. package/templates/.agents/dashboard/modules/operations/src/react/macro-dialog-data.test.ts +70 -0
  239. package/templates/.agents/dashboard/modules/operations/src/react/macro-dialog-data.ts +24 -0
  240. package/templates/.agents/dashboard/modules/operations/src/react/macro-dialog-usage.tsx +83 -0
  241. package/templates/.agents/dashboard/modules/operations/src/react/macro-planning-dialog-responsive.css +74 -0
  242. package/templates/.agents/dashboard/modules/operations/src/react/macro-planning-dialog.css +752 -0
  243. package/templates/.agents/dashboard/modules/operations/src/react/metric-accessibility.test.ts +17 -0
  244. package/templates/.agents/dashboard/modules/operations/src/react/operation-date-range.test.ts +55 -0
  245. package/templates/.agents/dashboard/modules/operations/src/react/operation-date-range.ts +135 -0
  246. package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.test.ts +19 -0
  247. package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.ts +27 -0
  248. package/templates/.agents/dashboard/modules/operations/src/react/operations-date-filters.css +154 -0
  249. package/templates/.agents/dashboard/modules/operations/src/react/operations-filter-panel.css +187 -0
  250. package/templates/.agents/dashboard/modules/operations/src/react/operations-layout.test.ts +15 -0
  251. package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +69 -0
  252. package/templates/.agents/dashboard/modules/operations/src/react/operations-overview.css +588 -0
  253. package/templates/.agents/dashboard/modules/operations/src/react/operations-page-filters.ts +51 -0
  254. package/templates/.agents/dashboard/modules/operations/src/react/operations-responsive.css +94 -0
  255. package/templates/.agents/dashboard/modules/operations/src/react/operations-table-badges.css +57 -0
  256. package/templates/.agents/dashboard/modules/operations/src/react/operations-view-order.test.ts +19 -0
  257. package/templates/.agents/dashboard/modules/operations/src/react/operations.css +753 -0
  258. package/templates/.agents/dashboard/modules/operations/src/react/period-summary.css +12 -0
  259. package/templates/.agents/dashboard/modules/operations/src/react/period-summary.test.ts +472 -0
  260. package/templates/.agents/dashboard/modules/operations/src/react/period-summary.ts +237 -0
  261. package/templates/.agents/dashboard/modules/operations/src/react/popup-localization.test.ts +48 -0
  262. package/templates/.agents/dashboard/modules/operations/src/react/run-scope.test.ts +29 -0
  263. package/templates/.agents/dashboard/modules/operations/src/react/run-scope.ts +25 -0
  264. package/templates/.agents/dashboard/modules/operations/src/react/sort-by-created-at.test.ts +35 -0
  265. package/templates/.agents/dashboard/modules/operations/src/react/sort-by-created-at.ts +11 -0
  266. package/templates/.agents/dashboard/modules/operations/src/react/status-labels.ts +36 -0
  267. package/templates/.agents/dashboard/modules/operations/src/react/table-order.test.ts +34 -0
  268. package/templates/.agents/dashboard/modules/operations/src/react/table-order.ts +15 -0
  269. package/templates/.agents/dashboard/modules/operations/src/react/task-origin-badge.css +23 -0
  270. package/templates/.agents/dashboard/modules/operations/src/react/task-origin.test.ts +46 -0
  271. package/templates/.agents/dashboard/modules/operations/src/react/task-origin.ts +27 -0
  272. package/templates/.agents/dashboard/modules/operations/src/react/unified-work-board.css +187 -0
  273. package/templates/.agents/dashboard/modules/operations/src/react/use-current-time.ts +12 -0
  274. package/templates/.agents/dashboard/modules/operations/src/react/use-infinite-column.ts +29 -0
  275. package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.test.ts +247 -0
  276. package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.ts +179 -0
  277. package/templates/.agents/dashboard/modules/operations/src/server/build-operations-projection-helpers.ts +43 -0
  278. package/templates/.agents/dashboard/modules/operations/src/server/build-operations-projection.test.ts +364 -0
  279. package/templates/.agents/dashboard/modules/operations/src/server/build-operations-projection.ts +787 -0
  280. package/templates/.agents/dashboard/modules/operations/src/server/canonical-compat.ts +176 -0
  281. package/templates/.agents/dashboard/modules/operations/src/server/canonical-run-projection.ts +140 -0
  282. package/templates/.agents/dashboard/modules/operations/src/server/execution-relationship-counts.test.ts +137 -0
  283. package/templates/.agents/dashboard/modules/operations/src/server/execution-relationship-counts.ts +121 -0
  284. package/templates/.agents/dashboard/modules/operations/src/server/filter.test.ts +33 -0
  285. package/templates/.agents/dashboard/modules/operations/src/server/filter.ts +17 -0
  286. package/templates/.agents/dashboard/modules/operations/src/server/index.ts +2 -0
  287. package/templates/.agents/dashboard/modules/operations/src/server/internal.ts +8 -0
  288. package/templates/.agents/dashboard/modules/operations/src/server/macro.ts +68 -0
  289. package/templates/.agents/dashboard/modules/operations/src/server/metric-coverage.ts +60 -0
  290. package/templates/.agents/dashboard/modules/operations/src/server/planned-task-previews.test.ts +22 -0
  291. package/templates/.agents/dashboard/modules/operations/src/server/planned-task-previews.ts +55 -0
  292. package/templates/.agents/dashboard/modules/operations/src/server/read-task-detail.ts +86 -0
  293. package/templates/.agents/dashboard/modules/operations/src/server/run-order.test.ts +23 -0
  294. package/templates/.agents/dashboard/modules/operations/src/server/run-order.ts +11 -0
  295. package/templates/.agents/dashboard/modules/operations/src/server/runs.test.ts +27 -0
  296. package/templates/.agents/dashboard/modules/operations/src/server/runs.ts +77 -0
  297. package/templates/.agents/dashboard/modules/operations/src/server/task-test-counts.test.ts +32 -0
  298. package/templates/.agents/dashboard/modules/operations/src/server/task-test-counts.ts +49 -0
  299. package/templates/.agents/dashboard/modules/operations/src/server/usage.test.ts +25 -0
  300. package/templates/.agents/dashboard/modules/operations/src/server/usage.ts +139 -0
  301. package/templates/.agents/dashboard/modules/operations/src/work-readiness.ts +26 -0
  302. package/templates/.agents/dashboard/modules/operations/tsconfig.json +10 -0
  303. package/templates/.agents/dashboard/modules/traceability/composition-root.ts +7 -0
  304. package/templates/.agents/dashboard/modules/traceability/golden/golden-view.test.ts +27 -0
  305. package/templates/.agents/dashboard/modules/traceability/golden/golden-view.ts +57 -0
  306. package/templates/.agents/dashboard/modules/traceability/golden/index.ts +1 -0
  307. package/templates/.agents/dashboard/modules/traceability/package.json +26 -0
  308. package/templates/.agents/dashboard/modules/traceability/src/contracts.ts +76 -0
  309. package/templates/.agents/dashboard/modules/traceability/src/react/TaskTracePanel.test.ts +80 -0
  310. package/templates/.agents/dashboard/modules/traceability/src/react/TaskTracePanel.tsx +681 -0
  311. package/templates/.agents/dashboard/modules/traceability/src/react/TraceDocumentDialog.tsx +34 -0
  312. package/templates/.agents/dashboard/modules/traceability/src/react/TraceStageDetail.tsx +129 -0
  313. package/templates/.agents/dashboard/modules/traceability/src/react/TraceStageDialog.tsx +49 -0
  314. package/templates/.agents/dashboard/modules/traceability/src/react/index.ts +1 -0
  315. package/templates/.agents/dashboard/modules/traceability/src/react/traceability-embedded.css +9 -0
  316. package/templates/.agents/dashboard/modules/traceability/src/react/traceability-navigation.css +122 -0
  317. package/templates/.agents/dashboard/modules/traceability/src/react/traceability-stage-detail.css +175 -0
  318. package/templates/.agents/dashboard/modules/traceability/src/react/traceability-stage-dialog.css +127 -0
  319. package/templates/.agents/dashboard/modules/traceability/src/react/traceability-usage.css +120 -0
  320. package/templates/.agents/dashboard/modules/traceability/src/react/traceability.css +727 -0
  321. package/templates/.agents/dashboard/modules/traceability/src/server/build-task-trace.test.ts +311 -0
  322. package/templates/.agents/dashboard/modules/traceability/src/server/build-task-trace.ts +421 -0
  323. package/templates/.agents/dashboard/modules/traceability/src/server/index.ts +1 -0
  324. package/templates/.agents/dashboard/modules/traceability/tsconfig.json +10 -0
  325. package/templates/.agents/dashboard/packages/branding/package.json +14 -0
  326. package/templates/.agents/dashboard/packages/branding/src/index.ts +10 -0
  327. package/templates/.agents/dashboard/packages/branding/tsconfig.json +7 -0
  328. package/templates/.agents/dashboard/packages/contracts/package.json +17 -0
  329. package/templates/.agents/dashboard/packages/contracts/src/export.ts +29 -0
  330. package/templates/.agents/dashboard/packages/contracts/src/index.ts +155 -0
  331. package/templates/.agents/dashboard/packages/contracts/src/period-counts.test.ts +48 -0
  332. package/templates/.agents/dashboard/packages/contracts/tsconfig.json +7 -0
  333. package/templates/.agents/dashboard/packages/data-export/package.json +19 -0
  334. package/templates/.agents/dashboard/packages/data-export/src/index.test.ts +268 -0
  335. package/templates/.agents/dashboard/packages/data-export/src/index.ts +84 -0
  336. package/templates/.agents/dashboard/packages/data-export/src/ooxml-stream.test.ts +19 -0
  337. package/templates/.agents/dashboard/packages/data-export/src/ooxml-stream.ts +260 -0
  338. package/templates/.agents/dashboard/packages/local-runtime/package.json +31 -0
  339. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +68 -46
  340. package/templates/.agents/dashboard/packages/local-runtime/src/agent-catalog-settings.test.ts +224 -0
  341. package/templates/.agents/dashboard/packages/local-runtime/src/agent-catalog-settings.ts +320 -0
  342. package/templates/.agents/dashboard/packages/local-runtime/src/export/index.ts +7 -0
  343. package/templates/.agents/dashboard/packages/local-runtime/src/manifest-runs.ts +204 -0
  344. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.test.ts +92 -0
  345. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.ts +32 -0
  346. package/templates/.agents/dashboard/packages/local-runtime/src/runtime.mjs +222 -0
  347. package/templates/.agents/dashboard/packages/local-runtime/src/server-settings.test.ts +217 -0
  348. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot.test.ts +526 -0
  349. package/templates/.agents/dashboard/packages/local-runtime/src/server-summary-helpers.ts +73 -0
  350. package/templates/.agents/dashboard/packages/local-runtime/src/server.test-fixtures.ts +147 -0
  351. package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +580 -0
  352. package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +799 -0
  353. package/templates/.agents/dashboard/packages/local-runtime/src/start-dashboard.mjs +81 -0
  354. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.mjs +85 -33
  355. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.test.mjs +378 -0
  356. package/templates/.agents/dashboard/packages/local-runtime/tsconfig.json +8 -0
  357. package/templates/.agents/dashboard/packages/ui/package.json +18 -0
  358. package/templates/.agents/dashboard/packages/ui/src/DashboardHeader.test.mjs +20 -0
  359. package/templates/.agents/dashboard/packages/ui/src/DashboardHeader.tsx +273 -0
  360. package/templates/.agents/dashboard/packages/ui/src/DataTable.test.tsx +61 -0
  361. package/templates/.agents/dashboard/packages/ui/src/DataTable.tsx +292 -0
  362. package/templates/.agents/dashboard/packages/ui/src/PeriodAverageCards.test.tsx +27 -0
  363. package/templates/.agents/dashboard/packages/ui/src/PeriodAverageCards.tsx +27 -0
  364. package/templates/.agents/dashboard/packages/ui/src/format.test.ts +54 -0
  365. package/templates/.agents/dashboard/packages/ui/src/format.ts +81 -0
  366. package/templates/.agents/dashboard/packages/ui/src/index.ts +6 -0
  367. package/templates/.agents/dashboard/packages/ui/src/period-average-cards.css +64 -0
  368. package/templates/.agents/dashboard/packages/ui/src/ui.css +451 -0
  369. package/templates/.agents/dashboard/packages/ui/tsconfig.json +10 -0
  370. package/templates/.agents/dashboard/packages/windows-launcher/Program.cs +214 -0
  371. package/templates/.agents/dashboard/packages/windows-launcher/ZaipDashboardLauncher.csproj +11 -0
  372. package/templates/.agents/dashboard/packages/windows-launcher/build-dashboard-launcher.ps1 +142 -0
  373. package/templates/.agents/dashboard/packages/windows-launcher/zaip-dashboard.cmd +4 -0
  374. package/templates/.agents/dashboard/tests/e2e/package.json +18 -0
  375. package/templates/.agents/dashboard/tests/e2e/playwright.config.ts +33 -0
  376. package/templates/.agents/dashboard/tests/e2e/specs/dashboard.spec.ts +531 -0
  377. package/templates/.agents/dashboard/tests/e2e/tsconfig.json +9 -0
  378. package/templates/.agents/dashboard/zaip-dashboard.exe +0 -0
  379. package/templates/{.zaip-aios → .agents}/design/.zaip-managed.json +62 -50
  380. package/templates/.agents/design/DESIGN.md +7 -0
  381. package/templates/.agents/design/apps/catalog/dist/assets/index-BEmIE7WE.css +1 -0
  382. package/templates/{.zaip-aios/design/apps/catalog/dist/assets/index-Bvwc3Bgw.js → .agents/design/apps/catalog/dist/assets/index-CqqYWY2f.js} +1 -1
  383. package/templates/.agents/design/apps/catalog/dist/assets/{index-Bvwc3Bgw.js → index-D9pj7Jlf.js} +1 -1
  384. package/templates/.agents/design/apps/catalog/dist/index.html +2 -2
  385. package/templates/.agents/design/apps/catalog/dist/storybook/assets/CatalogShell-BWY-80s4.js +1 -0
  386. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{Color-6AOWCN3U-D8qyAXo4.js → Color-6AOWCN3U-B-kAgAjB.js} +1 -1
  387. package/templates/.agents/design/apps/catalog/dist/storybook/assets/Components.stories-Be2mDUQj.js +27 -0
  388. package/templates/.agents/design/apps/catalog/dist/storybook/assets/DesignSystem.stories-DRx9blDs.js +1 -0
  389. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{DocsRenderer-JROSPFPF-LmiVo77Q.js → DocsRenderer-JROSPFPF-BVN7xHtv.js} +4 -4
  390. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{WithTooltip-7X4HQR7L-CTMWAwDe.js → WithTooltip-7X4HQR7L-CDHtKYkz.js} +1 -1
  391. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{chunk-DRQKCCAG-DUhJxxRU.js → chunk-DRQKCCAG-D6AsDkMK.js} +1 -1
  392. package/templates/{.zaip-aios/design/apps/catalog/dist/storybook/assets/chunk-W22LQPXL-9RCn9-l7.js → .agents/design/apps/catalog/dist/storybook/assets/chunk-W22LQPXL-B4m5uloN.js} +1 -1
  393. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{components-BX1OfYUi.js → components-CN8YyTUg.js} +5 -5
  394. package/templates/.agents/design/apps/catalog/dist/storybook/assets/formatter-L2YTDE3Q-EwuTh8Zk.js +1 -0
  395. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{iframe-LMhZM1ce.js → iframe-9yZfIsdT.js} +3 -3
  396. package/templates/.agents/design/apps/catalog/dist/storybook/assets/iframe-BEmIE7WE.css +1 -0
  397. package/templates/{.zaip-aios/design/apps/catalog/dist/storybook/assets/react-18-jAz3avmR.js → .agents/design/apps/catalog/dist/storybook/assets/react-18-BoCSnq6H.js} +1 -1
  398. package/templates/.agents/design/apps/catalog/dist/storybook/assets/react-DyL61NPT.js +1 -0
  399. package/templates/{.zaip-aios/design/apps/catalog/dist/storybook/assets/syntaxhighlighter-YFXUGROL-DV8X2acD.js → .agents/design/apps/catalog/dist/storybook/assets/syntaxhighlighter-YFXUGROL-Bnn_nMwJ.js} +1 -1
  400. package/templates/{.zaip-aios/design/apps/catalog/dist/storybook/assets/theming-CHbHkcNi.js → .agents/design/apps/catalog/dist/storybook/assets/theming-DS_ue2sb.js} +1 -1
  401. package/templates/.agents/design/apps/catalog/dist/storybook/iframe.html +2 -2
  402. package/templates/.agents/design/apps/catalog/dist/storybook/index.json +1 -1
  403. package/templates/.agents/design/apps/catalog/src/components/Primitives.tsx +168 -2
  404. package/templates/.agents/design/apps/catalog/src/components/dialog-focus.test.ts +42 -0
  405. package/templates/.agents/design/apps/catalog/src/components/dialog-focus.ts +38 -0
  406. package/templates/.agents/design/apps/catalog/src/design-contract.test.ts +37 -8
  407. package/templates/.agents/design/apps/catalog/src/pages/ComponentsPage.tsx +89 -28
  408. package/templates/.agents/design/apps/catalog/src/stories/Components.stories.tsx +54 -0
  409. package/templates/.agents/design/apps/catalog/src/styles/components.css +204 -3
  410. package/templates/.agents/design/apps/catalog/src/styles/design-system.css +2 -0
  411. package/templates/.agents/design/apps/catalog/src/styles.css +5 -0
  412. package/templates/.agents/design/tokens.json +9 -1
  413. package/templates/.agents/requirements/autonomous-assurance.md +9 -10
  414. package/templates/.agents/requirements/comparative-audit.md +22 -0
  415. package/templates/.agents/requirements/context-engine.md +5 -5
  416. package/templates/.agents/requirements/cost-observability.md +3 -2
  417. package/templates/.agents/requirements/data-export.md +57 -0
  418. package/templates/.agents/requirements/design-system.md +2 -2
  419. package/templates/.agents/requirements/execution-engine.md +8 -6
  420. package/templates/.agents/requirements/kanban-dashboard.md +3 -3
  421. package/templates/.agents/requirements/model-orchestration.md +11 -11
  422. package/templates/.agents/requirements/public-distribution.md +4 -4
  423. package/templates/.agents/requirements/software-architecture.md +4 -4
  424. package/templates/.agents/requirements/strategic-improvements.md +24 -0
  425. package/templates/.agents/requirements/work-lifecycle.md +20 -10
  426. package/templates/.agents/requirements/zaip-strategic-95.md +20 -0
  427. package/templates/.agents/rules/{zaip/architecture.md → architecture.md} +1 -1
  428. package/templates/{.zaip-aios/templates/rules/zaip → .agents/rules}/context.md +3 -3
  429. package/templates/.agents/rules/core.md +21 -0
  430. package/templates/.agents/rules/{zaip/evolution.md → evolution.md} +1 -1
  431. package/templates/.agents/rules/frontend-lite.md +18 -0
  432. package/templates/{.zaip-aios/templates/rules/zaip → .agents/rules}/model-orchestration.md +1 -1
  433. package/templates/.agents/rules/run-lifecycle-closure.md +24 -0
  434. package/templates/{.zaip-aios/templates/rules/zaip → .agents/rules}/security.md +1 -1
  435. package/templates/.agents/rules/text-writing-utf8.md +12 -0
  436. package/templates/.agents/rules/workflow.md +25 -0
  437. package/templates/{.zaip-aios → .agents/runtime}/bin/zaip.mjs +399 -195
  438. package/templates/.agents/runtime/checksums.sha256 +9 -0
  439. package/templates/.agents/runtime/manifest.json +16 -0
  440. package/templates/{.zaip-aios → .agents/runtime}/sbom.cdx.json +532 -10
  441. package/templates/.agents/skills/criar-pasta-obsidian/SKILL.md +20 -0
  442. package/templates/.agents/skills/criar-pasta-obsidian/agents/openai.yaml +4 -0
  443. package/templates/.agents/skills/criar-pasta-obsidian/scripts/generate-obsidian-vault.mjs +414 -0
  444. package/templates/.agents/skills/criar-pasta-obsidian/scripts/generate-obsidian-vault.test.mjs +144 -0
  445. package/templates/.agents/skills/zaip-aios/SKILL.md +2 -2
  446. package/templates/.agents/skills/zaip-aios/agents/openai.yaml +4 -0
  447. package/templates/.agents/skills/zaip-skill-adapters/SKILL.md +1 -1
  448. package/templates/.agents/skills/zaip-skill-backend/SKILL.md +10 -0
  449. package/templates/.agents/skills/zaip-skill-backend/agents/openai.yaml +4 -0
  450. package/templates/.agents/skills/zaip-skill-cloud-engineering/SKILL.md +10 -0
  451. package/templates/.agents/skills/zaip-skill-cloud-engineering/agents/openai.yaml +4 -0
  452. package/templates/.agents/skills/zaip-skill-config/SKILL.md +3 -3
  453. package/templates/.agents/skills/zaip-skill-data-analyst/SKILL.md +23 -0
  454. package/templates/.agents/skills/zaip-skill-data-analyst/agents/openai.yaml +4 -0
  455. package/templates/.agents/skills/zaip-skill-design-system/SKILL.md +50 -0
  456. package/templates/.agents/skills/zaip-skill-design-system/agents/openai.yaml +4 -0
  457. package/templates/.agents/skills/zaip-skill-design-system/references/scope.md +21 -0
  458. package/templates/.agents/skills/zaip-skill-enforce-architecture/SKILL.md +2 -2
  459. package/templates/.agents/skills/zaip-skill-execution/SKILL.md +11 -8
  460. package/templates/.agents/skills/zaip-skill-execution/references/prepared-plan.md +2 -0
  461. package/templates/.agents/skills/zaip-skill-frontend/SKILL.md +10 -0
  462. package/templates/.agents/skills/zaip-skill-frontend/agents/openai.yaml +4 -0
  463. package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +41 -15
  464. package/templates/.agents/skills/zaip-skill-github-deploy/agents/openai.yaml +2 -2
  465. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +80 -0
  466. package/templates/.agents/skills/zaip-skill-github-setup/SKILL.md +1 -1
  467. package/templates/.agents/skills/zaip-skill-marketing/SKILL.md +10 -0
  468. package/templates/.agents/skills/zaip-skill-marketing/agents/openai.yaml +4 -0
  469. package/templates/.agents/skills/zaip-skill-move-prd/SKILL.md +10 -6
  470. package/templates/.agents/skills/zaip-skill-move-spec/SKILL.md +9 -6
  471. package/templates/.agents/skills/zaip-skill-observability/SKILL.md +1 -1
  472. package/templates/.agents/skills/zaip-skill-prd/SKILL.md +27 -11
  473. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/SKILL.md +3 -4
  474. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-local-telemetry.mjs +59 -13
  475. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.mjs +131 -28
  476. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.test.mjs +81 -2
  477. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-remeasurement.mjs +167 -0
  478. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-remeasurement.test.mjs +267 -0
  479. package/templates/.agents/skills/zaip-skill-refactor-existing-code/SKILL.md +55 -0
  480. package/templates/.agents/skills/zaip-skill-refactor-existing-code/agents/openai.yaml +4 -0
  481. package/templates/.agents/skills/zaip-skill-refactor-existing-code/references/refactor-map-contract.md +33 -0
  482. package/templates/.agents/skills/zaip-skill-refactor-existing-code/references/visual-modes.md +17 -0
  483. package/templates/.agents/skills/zaip-skill-refactor-existing-code/scripts/inventory-source.mjs +181 -0
  484. package/templates/.agents/skills/zaip-skill-refactor-existing-code/scripts/refactor-scripts.test.mjs +293 -0
  485. package/templates/.agents/skills/zaip-skill-refactor-existing-code/scripts/validate-refactor-map.mjs +294 -0
  486. package/templates/.agents/skills/zaip-skill-requirements/SKILL.md +1 -1
  487. package/templates/.agents/skills/zaip-skill-review/SKILL.md +1 -1
  488. package/templates/.agents/skills/zaip-skill-rules/SKILL.md +4 -4
  489. package/templates/.agents/skills/zaip-skill-setup/SKILL.md +2 -2
  490. package/templates/.agents/skills/zaip-skill-spec/SKILL.md +10 -10
  491. package/templates/.agents/skills/zaip-skill-task/SKILL.md +3 -3
  492. package/templates/.agents/skills/zaip-skill-tool-setup/references/secrets.md +1 -1
  493. package/templates/.agents/skills/zaip-skill-tool-setup/scripts/tool-state.mjs +1 -1
  494. package/templates/.agents/skills/zaip-skill-website-readiness/SKILL.md +53 -0
  495. package/templates/.agents/skills/zaip-skill-website-readiness/agents/openai.yaml +4 -0
  496. package/templates/.agents/skills/zaip-skill-website-readiness/references/capability-checklist.md +32 -0
  497. package/templates/.agents/tools/catalog.yaml +0 -6
  498. package/templates/.agents/zaip-aios/README.md +1 -1
  499. package/templates/.agents/zaip-aios/guides/01-primeiros-passos.md +4 -2
  500. package/templates/.agents/zaip-aios/guides/03-tasks.md +6 -0
  501. package/templates/.agents/zaip-aios/guides/04-specs.md +7 -3
  502. package/templates/.agents/zaip-aios/guides/05-prds.md +26 -1
  503. package/templates/.agents/zaip-aios/guides/06-execucao.md +10 -0
  504. package/templates/.agents/zaip-aios/guides/08-contexto-e-tokens.md +1 -1
  505. package/templates/.agents/zaip-aios/guides/11-observabilidade-e-custos.md +2 -0
  506. package/templates/.agents/zaip-aios/guides/13-boas-praticas.md +3 -0
  507. package/templates/.agents/zaip-aios/guides/14-troubleshooting.md +3 -1
  508. package/templates/.agents/zaip-aios/guides/16-lifecycle-e-reconciliacao.md +7 -1
  509. package/templates/.local/gitignore.template +2 -0
  510. package/templates/template-manifest.json +1650 -1859
  511. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-_yxs47Hd.css +0 -1
  512. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-ehU9Etwm.js +0 -1207
  513. package/templates/.agents/design/apps/catalog/dist/assets/index-B4pfFtvJ.css +0 -1
  514. package/templates/.agents/design/apps/catalog/dist/storybook/assets/Components.stories-DkBtOSHX.js +0 -1
  515. package/templates/.agents/design/apps/catalog/dist/storybook/assets/DesignSystem.stories-BttERyCr.js +0 -1
  516. package/templates/.agents/design/apps/catalog/dist/storybook/assets/Primitives-HZpQ6PjX.js +0 -1
  517. package/templates/.agents/design/apps/catalog/dist/storybook/assets/chunk-W22LQPXL-9RCn9-l7.js +0 -18
  518. package/templates/.agents/design/apps/catalog/dist/storybook/assets/formatter-L2YTDE3Q-Bu6KfEwW.js +0 -1
  519. package/templates/.agents/design/apps/catalog/dist/storybook/assets/iframe-B4pfFtvJ.css +0 -1
  520. package/templates/.agents/design/apps/catalog/dist/storybook/assets/react-18-jAz3avmR.js +0 -9
  521. package/templates/.agents/design/apps/catalog/dist/storybook/assets/react-DvDPBd6Q.js +0 -1
  522. package/templates/.agents/design/apps/catalog/dist/storybook/assets/syntaxhighlighter-YFXUGROL-DV8X2acD.js +0 -6
  523. package/templates/.agents/design/apps/catalog/dist/storybook/assets/theming-CHbHkcNi.js +0 -39
  524. package/templates/.agents/rules/project/.gitkeep +0 -0
  525. package/templates/.agents/rules/zaip/context.md +0 -22
  526. package/templates/.agents/rules/zaip/core.md +0 -24
  527. package/templates/.agents/rules/zaip/model-orchestration.md +0 -48
  528. package/templates/.agents/rules/zaip/security.md +0 -20
  529. package/templates/.agents/rules/zaip/workflow.md +0 -35
  530. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/inspect-local-sqlite.py +0 -52
  531. package/templates/.agents/tools/mcp/development/sqlite/README.md +0 -20
  532. package/templates/.agents/tools/mcp/development/sqlite/manifest.yaml +0 -25
  533. package/templates/.zaip-aios/checksums.sha256 +0 -370
  534. package/templates/.zaip-aios/dashboard/.zaip-managed.json +0 -46
  535. package/templates/.zaip-aios/dashboard/README.md +0 -91
  536. package/templates/.zaip-aios/dashboard/apps/frontend/dist/assets/index-_yxs47Hd.css +0 -1
  537. package/templates/.zaip-aios/dashboard/apps/frontend/dist/assets/index-ehU9Etwm.js +0 -1207
  538. package/templates/.zaip-aios/dashboard/apps/frontend/dist/assets/logo_novo_azul-BBx5pA2B.png +0 -0
  539. package/templates/.zaip-aios/dashboard/packages/local-runtime/server.mjs +0 -199
  540. package/templates/.zaip-aios/dashboard/packages/local-runtime/start-dashboard.mjs +0 -726
  541. package/templates/.zaip-aios/dashboard/zaip-dashboard.exe +0 -0
  542. package/templates/.zaip-aios/design/DESIGN.md +0 -180
  543. package/templates/.zaip-aios/design/README.md +0 -47
  544. package/templates/.zaip-aios/design/apps/catalog/.storybook/main.ts +0 -15
  545. package/templates/.zaip-aios/design/apps/catalog/.storybook/preview.ts +0 -21
  546. package/templates/.zaip-aios/design/apps/catalog/dist/assets/index-B4pfFtvJ.css +0 -1
  547. package/templates/.zaip-aios/design/apps/catalog/dist/index.html +0 -14
  548. package/templates/.zaip-aios/design/apps/catalog/dist/logo_novo_azul.png +0 -0
  549. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/Color-6AOWCN3U-D8qyAXo4.js +0 -1
  550. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/Components.stories-DkBtOSHX.js +0 -1
  551. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/DesignSystem.stories-BttERyCr.js +0 -1
  552. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/DocsRenderer-JROSPFPF-LmiVo77Q.js +0 -46
  553. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/Primitives-HZpQ6PjX.js +0 -1
  554. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/WithTooltip-7X4HQR7L-CTMWAwDe.js +0 -9
  555. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/axe-Bk3eEgJf.js +0 -20
  556. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/chunk-242VQQM5-DB2JSNUA.js +0 -1
  557. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/chunk-DRQKCCAG-DUhJxxRU.js +0 -1
  558. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/chunk-QQBDHPVZ-nYh9QWsm.js +0 -1
  559. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/components-BX1OfYUi.js +0 -243
  560. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/formatter-L2YTDE3Q-Bu6KfEwW.js +0 -1
  561. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/iframe-B4pfFtvJ.css +0 -1
  562. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/iframe-LMhZM1ce.js +0 -1154
  563. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/jsx-runtime-f3rHp9ZU.js +0 -1
  564. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/matchers-JIUQ3HVY-9iRExWZO.js +0 -28
  565. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/preload-helper-BdFrVu1K.js +0 -1
  566. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/react-DvDPBd6Q.js +0 -1
  567. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/favicon-wrapper.svg +0 -46
  568. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/favicon.svg +0 -1
  569. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/iframe.html +0 -710
  570. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/index.html +0 -152
  571. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/index.json +0 -1
  572. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/logo_novo_azul.png +0 -0
  573. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/nunito-sans-bold-italic.woff2 +0 -0
  574. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/nunito-sans-bold.woff2 +0 -0
  575. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/nunito-sans-italic.woff2 +0 -0
  576. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/nunito-sans-regular.woff2 +0 -0
  577. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-addons/a11y-2/manager-bundle.js +0 -57
  578. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-addons/docs-1/manager-bundle.js +0 -18
  579. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +0 -632
  580. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-common-assets/favicon-wrapper.svg +0 -46
  581. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-common-assets/favicon.svg +0 -1
  582. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  583. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  584. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  585. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  586. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-manager/globals-runtime.js +0 -78957
  587. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-manager/globals.js +0 -24
  588. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-manager/manager-stores.js +0 -23
  589. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-manager/runtime.js +0 -28253
  590. package/templates/.zaip-aios/design/apps/catalog/dist/storybook/vite-inject-mocker-entry.js +0 -2
  591. package/templates/.zaip-aios/design/apps/catalog/index.html +0 -13
  592. package/templates/.zaip-aios/design/apps/catalog/package.json +0 -32
  593. package/templates/.zaip-aios/design/apps/catalog/public/logo_novo_azul.png +0 -0
  594. package/templates/.zaip-aios/design/apps/catalog/src/App.tsx +0 -29
  595. package/templates/.zaip-aios/design/apps/catalog/src/components/CatalogShell.tsx +0 -78
  596. package/templates/.zaip-aios/design/apps/catalog/src/components/Primitives.tsx +0 -137
  597. package/templates/.zaip-aios/design/apps/catalog/src/design-contract.test.ts +0 -33
  598. package/templates/.zaip-aios/design/apps/catalog/src/pages/ComponentsPage.tsx +0 -83
  599. package/templates/.zaip-aios/design/apps/catalog/src/pages/DesignSystemPage.tsx +0 -185
  600. package/templates/.zaip-aios/design/apps/catalog/src/stories/Components.stories.tsx +0 -12
  601. package/templates/.zaip-aios/design/apps/catalog/src/stories/DesignSystem.stories.tsx +0 -12
  602. package/templates/.zaip-aios/design/apps/catalog/src/styles/catalog.css +0 -315
  603. package/templates/.zaip-aios/design/apps/catalog/src/styles/components.css +0 -228
  604. package/templates/.zaip-aios/design/apps/catalog/src/styles/design-system.css +0 -137
  605. package/templates/.zaip-aios/design/apps/catalog/src/styles.css +0 -85
  606. package/templates/.zaip-aios/design/apps/catalog/vite.config.ts +0 -10
  607. package/templates/.zaip-aios/design/packages/local-runtime/package.json +0 -9
  608. package/templates/.zaip-aios/design/packages/local-runtime/runtime.mjs +0 -238
  609. package/templates/.zaip-aios/design/packages/local-runtime/runtime.test.mjs +0 -66
  610. package/templates/.zaip-aios/design/packages/local-runtime/start-design.mjs +0 -46
  611. package/templates/.zaip-aios/design/packages/windows-launcher/Program.cs +0 -110
  612. package/templates/.zaip-aios/design/packages/windows-launcher/build-design-launcher.ps1 +0 -107
  613. package/templates/.zaip-aios/design/tokens.json +0 -52
  614. package/templates/.zaip-aios/design/zaip-design.exe +0 -0
  615. package/templates/.zaip-aios/manifest.json +0 -377
  616. package/templates/.zaip-aios/profiles/clients.json +0 -506
  617. package/templates/.zaip-aios/profiles/fixtures/architecture/negative/modules/orders/application/queries/list.query.ts +0 -5
  618. package/templates/.zaip-aios/profiles/fixtures/architecture/negative/modules/orders/domain/order.ts +0 -3
  619. package/templates/.zaip-aios/profiles/fixtures/architecture/positive/modules/orders/application/queries/list.query.ts +0 -5
  620. package/templates/.zaip-aios/profiles/typescript-hono-kysely.json +0 -41
  621. package/templates/.zaip-aios/templates/config/agents/catalog.yaml +0 -246
  622. package/templates/.zaip-aios/templates/requirements/.gitkeep +0 -0
  623. package/templates/.zaip-aios/templates/requirements/autonomous-assurance.md +0 -63
  624. package/templates/.zaip-aios/templates/requirements/context-engine.md +0 -44
  625. package/templates/.zaip-aios/templates/requirements/cost-observability.md +0 -39
  626. package/templates/.zaip-aios/templates/requirements/design-system.md +0 -48
  627. package/templates/.zaip-aios/templates/requirements/execution-engine.md +0 -60
  628. package/templates/.zaip-aios/templates/requirements/kanban-dashboard.md +0 -30
  629. package/templates/.zaip-aios/templates/requirements/model-orchestration.md +0 -58
  630. package/templates/.zaip-aios/templates/requirements/public-distribution.md +0 -40
  631. package/templates/.zaip-aios/templates/requirements/software-architecture.md +0 -57
  632. package/templates/.zaip-aios/templates/requirements/work-lifecycle.md +0 -82
  633. package/templates/.zaip-aios/templates/rules/project/.gitkeep +0 -0
  634. package/templates/.zaip-aios/templates/rules/zaip/architecture.md +0 -28
  635. package/templates/.zaip-aios/templates/rules/zaip/core.md +0 -24
  636. package/templates/.zaip-aios/templates/rules/zaip/evolution.md +0 -22
  637. package/templates/.zaip-aios/templates/rules/zaip/workflow.md +0 -35
  638. package/templates/.zaip-aios/templates/skills/.gitkeep +0 -0
  639. package/templates/.zaip-aios/templates/skills/zaip-aios/SKILL.md +0 -9
  640. package/templates/.zaip-aios/templates/skills/zaip-skill-adapt-stack/SKILL.md +0 -11
  641. package/templates/.zaip-aios/templates/skills/zaip-skill-adapt-stack/agents/openai.yaml +0 -4
  642. package/templates/.zaip-aios/templates/skills/zaip-skill-adapters/SKILL.md +0 -15
  643. package/templates/.zaip-aios/templates/skills/zaip-skill-adapters/agents/openai.yaml +0 -4
  644. package/templates/.zaip-aios/templates/skills/zaip-skill-api-to-mcp/SKILL.md +0 -19
  645. package/templates/.zaip-aios/templates/skills/zaip-skill-api-to-mcp/agents/openai.yaml +0 -4
  646. package/templates/.zaip-aios/templates/skills/zaip-skill-api-to-mcp/assets/adapter.example.yaml +0 -26
  647. package/templates/.zaip-aios/templates/skills/zaip-skill-api-to-mcp/references/security-contract.md +0 -10
  648. package/templates/.zaip-aios/templates/skills/zaip-skill-api-to-mcp/references/server-layout.md +0 -19
  649. package/templates/.zaip-aios/templates/skills/zaip-skill-api-to-mcp/scripts/inspect-openapi.mjs +0 -60
  650. package/templates/.zaip-aios/templates/skills/zaip-skill-api-to-mcp/scripts/scaffold-local-mcp.mjs +0 -47
  651. package/templates/.zaip-aios/templates/skills/zaip-skill-author-skills/SKILL.md +0 -21
  652. package/templates/.zaip-aios/templates/skills/zaip-skill-author-skills/agents/openai.yaml +0 -4
  653. package/templates/.zaip-aios/templates/skills/zaip-skill-change/SKILL.md +0 -20
  654. package/templates/.zaip-aios/templates/skills/zaip-skill-change/agents/openai.yaml +0 -4
  655. package/templates/.zaip-aios/templates/skills/zaip-skill-config/SKILL.md +0 -22
  656. package/templates/.zaip-aios/templates/skills/zaip-skill-config/agents/openai.yaml +0 -4
  657. package/templates/.zaip-aios/templates/skills/zaip-skill-context/SKILL.md +0 -16
  658. package/templates/.zaip-aios/templates/skills/zaip-skill-context/agents/openai.yaml +0 -4
  659. package/templates/.zaip-aios/templates/skills/zaip-skill-cqrs/SKILL.md +0 -11
  660. package/templates/.zaip-aios/templates/skills/zaip-skill-cqrs/agents/openai.yaml +0 -4
  661. package/templates/.zaip-aios/templates/skills/zaip-skill-decisions/SKILL.md +0 -14
  662. package/templates/.zaip-aios/templates/skills/zaip-skill-decisions/agents/openai.yaml +0 -4
  663. package/templates/.zaip-aios/templates/skills/zaip-skill-enforce-architecture/SKILL.md +0 -14
  664. package/templates/.zaip-aios/templates/skills/zaip-skill-enforce-architecture/agents/openai.yaml +0 -4
  665. package/templates/.zaip-aios/templates/skills/zaip-skill-eval/SKILL.md +0 -14
  666. package/templates/.zaip-aios/templates/skills/zaip-skill-eval/agents/openai.yaml +0 -4
  667. package/templates/.zaip-aios/templates/skills/zaip-skill-execution/SKILL.md +0 -36
  668. package/templates/.zaip-aios/templates/skills/zaip-skill-execution/agents/openai.yaml +0 -6
  669. package/templates/.zaip-aios/templates/skills/zaip-skill-execution/references/prepared-plan.md +0 -31
  670. package/templates/.zaip-aios/templates/skills/zaip-skill-frontend-launcher/SKILL.md +0 -29
  671. package/templates/.zaip-aios/templates/skills/zaip-skill-frontend-launcher/agents/openai.yaml +0 -4
  672. package/templates/.zaip-aios/templates/skills/zaip-skill-frontend-launcher/references/launcher-contract.md +0 -36
  673. package/templates/.zaip-aios/templates/skills/zaip-skill-github-deploy/SKILL.md +0 -75
  674. package/templates/.zaip-aios/templates/skills/zaip-skill-github-deploy/agents/openai.yaml +0 -6
  675. package/templates/.zaip-aios/templates/skills/zaip-skill-github-deploy/scripts/preflight.mjs +0 -256
  676. package/templates/.zaip-aios/templates/skills/zaip-skill-github-setup/SKILL.md +0 -80
  677. package/templates/.zaip-aios/templates/skills/zaip-skill-github-setup/agents/openai.yaml +0 -4
  678. package/templates/.zaip-aios/templates/skills/zaip-skill-move-prd/SKILL.md +0 -37
  679. package/templates/.zaip-aios/templates/skills/zaip-skill-move-prd/agents/openai.yaml +0 -4
  680. package/templates/.zaip-aios/templates/skills/zaip-skill-move-spec/SKILL.md +0 -38
  681. package/templates/.zaip-aios/templates/skills/zaip-skill-move-spec/agents/openai.yaml +0 -4
  682. package/templates/.zaip-aios/templates/skills/zaip-skill-navigate-work/SKILL.md +0 -16
  683. package/templates/.zaip-aios/templates/skills/zaip-skill-navigate-work/agents/openai.yaml +0 -4
  684. package/templates/.zaip-aios/templates/skills/zaip-skill-observability/SKILL.md +0 -24
  685. package/templates/.zaip-aios/templates/skills/zaip-skill-observability/agents/openai.yaml +0 -4
  686. package/templates/.zaip-aios/templates/skills/zaip-skill-openai-docs/SKILL.md +0 -17
  687. package/templates/.zaip-aios/templates/skills/zaip-skill-openai-docs/agents/openai.yaml +0 -4
  688. package/templates/.zaip-aios/templates/skills/zaip-skill-openai-docs/references/routing.md +0 -11
  689. package/templates/.zaip-aios/templates/skills/zaip-skill-prd/SKILL.md +0 -44
  690. package/templates/.zaip-aios/templates/skills/zaip-skill-prd/agents/openai.yaml +0 -4
  691. package/templates/.zaip-aios/templates/skills/zaip-skill-preview/SKILL.md +0 -16
  692. package/templates/.zaip-aios/templates/skills/zaip-skill-preview/agents/openai.yaml +0 -4
  693. package/templates/.zaip-aios/templates/skills/zaip-skill-reconcile-telemetry/SKILL.md +0 -39
  694. package/templates/.zaip-aios/templates/skills/zaip-skill-reconcile-telemetry/agents/openai.yaml +0 -4
  695. package/templates/.zaip-aios/templates/skills/zaip-skill-reconcile-telemetry/scripts/inspect-local-sqlite.py +0 -52
  696. package/templates/.zaip-aios/templates/skills/zaip-skill-reconcile-telemetry/scripts/normalize-run-agents.mjs +0 -63
  697. package/templates/.zaip-aios/templates/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-local-telemetry.mjs +0 -698
  698. package/templates/.zaip-aios/templates/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.mjs +0 -361
  699. package/templates/.zaip-aios/templates/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.test.mjs +0 -187
  700. package/templates/.zaip-aios/templates/skills/zaip-skill-requirements/SKILL.md +0 -16
  701. package/templates/.zaip-aios/templates/skills/zaip-skill-requirements/agents/openai.yaml +0 -4
  702. package/templates/.zaip-aios/templates/skills/zaip-skill-review/SKILL.md +0 -18
  703. package/templates/.zaip-aios/templates/skills/zaip-skill-review/agents/openai.yaml +0 -4
  704. package/templates/.zaip-aios/templates/skills/zaip-skill-rules/SKILL.md +0 -19
  705. package/templates/.zaip-aios/templates/skills/zaip-skill-rules/agents/openai.yaml +0 -4
  706. package/templates/.zaip-aios/templates/skills/zaip-skill-security/SKILL.md +0 -30
  707. package/templates/.zaip-aios/templates/skills/zaip-skill-security/agents/openai.yaml +0 -4
  708. package/templates/.zaip-aios/templates/skills/zaip-skill-setup/SKILL.md +0 -25
  709. package/templates/.zaip-aios/templates/skills/zaip-skill-setup/agents/openai.yaml +0 -4
  710. package/templates/.zaip-aios/templates/skills/zaip-skill-spec/SKILL.md +0 -45
  711. package/templates/.zaip-aios/templates/skills/zaip-skill-spec/agents/openai.yaml +0 -4
  712. package/templates/.zaip-aios/templates/skills/zaip-skill-task/SKILL.md +0 -41
  713. package/templates/.zaip-aios/templates/skills/zaip-skill-task/agents/openai.yaml +0 -4
  714. package/templates/.zaip-aios/templates/skills/zaip-skill-text-encoding/SKILL.md +0 -27
  715. package/templates/.zaip-aios/templates/skills/zaip-skill-text-encoding/agents/openai.yaml +0 -6
  716. package/templates/.zaip-aios/templates/skills/zaip-skill-tool-setup/SKILL.md +0 -22
  717. package/templates/.zaip-aios/templates/skills/zaip-skill-tool-setup/agents/openai.yaml +0 -4
  718. package/templates/.zaip-aios/templates/skills/zaip-skill-tool-setup/references/codex-config.md +0 -24
  719. package/templates/.zaip-aios/templates/skills/zaip-skill-tool-setup/references/secrets.md +0 -8
  720. package/templates/.zaip-aios/templates/skills/zaip-skill-tool-setup/scripts/configure-local-mcp.mjs +0 -52
  721. package/templates/.zaip-aios/templates/skills/zaip-skill-tool-setup/scripts/inspect-tool.mjs +0 -35
  722. package/templates/.zaip-aios/templates/skills/zaip-skill-tool-setup/scripts/tool-state.mjs +0 -26
  723. package/templates/.zaip-aios/templates/tools/README.md +0 -9
  724. package/templates/.zaip-aios/templates/tools/api/asaas/README.md +0 -22
  725. package/templates/.zaip-aios/templates/tools/api/asaas/manifest.yaml +0 -20
  726. package/templates/.zaip-aios/templates/tools/api/github/README.md +0 -22
  727. package/templates/.zaip-aios/templates/tools/api/github/manifest.yaml +0 -20
  728. package/templates/.zaip-aios/templates/tools/api/google-ads/README.md +0 -23
  729. package/templates/.zaip-aios/templates/tools/api/google-ads/manifest.yaml +0 -21
  730. package/templates/.zaip-aios/templates/tools/api/google-analytics/README.md +0 -22
  731. package/templates/.zaip-aios/templates/tools/api/google-analytics/manifest.yaml +0 -20
  732. package/templates/.zaip-aios/templates/tools/api/google-search-console/README.md +0 -21
  733. package/templates/.zaip-aios/templates/tools/api/google-search-console/manifest.yaml +0 -19
  734. package/templates/.zaip-aios/templates/tools/api/google-tag-manager/README.md +0 -22
  735. package/templates/.zaip-aios/templates/tools/api/google-tag-manager/manifest.yaml +0 -20
  736. package/templates/.zaip-aios/templates/tools/api/hubspot/README.md +0 -22
  737. package/templates/.zaip-aios/templates/tools/api/hubspot/manifest.yaml +0 -20
  738. package/templates/.zaip-aios/templates/tools/api/instagram-graph/README.md +0 -23
  739. package/templates/.zaip-aios/templates/tools/api/instagram-graph/manifest.yaml +0 -21
  740. package/templates/.zaip-aios/templates/tools/api/kommo-crm/README.md +0 -23
  741. package/templates/.zaip-aios/templates/tools/api/kommo-crm/manifest.yaml +0 -21
  742. package/templates/.zaip-aios/templates/tools/api/linkedin-ads/README.md +0 -23
  743. package/templates/.zaip-aios/templates/tools/api/linkedin-ads/manifest.yaml +0 -21
  744. package/templates/.zaip-aios/templates/tools/api/meta-ads/README.md +0 -23
  745. package/templates/.zaip-aios/templates/tools/api/meta-ads/manifest.yaml +0 -21
  746. package/templates/.zaip-aios/templates/tools/api/openai/README.md +0 -22
  747. package/templates/.zaip-aios/templates/tools/api/openai/manifest.yaml +0 -20
  748. package/templates/.zaip-aios/templates/tools/api/shopify/README.md +0 -23
  749. package/templates/.zaip-aios/templates/tools/api/shopify/manifest.yaml +0 -21
  750. package/templates/.zaip-aios/templates/tools/api/slack/README.md +0 -22
  751. package/templates/.zaip-aios/templates/tools/api/slack/manifest.yaml +0 -20
  752. package/templates/.zaip-aios/templates/tools/api/stripe/README.md +0 -22
  753. package/templates/.zaip-aios/templates/tools/api/stripe/manifest.yaml +0 -20
  754. package/templates/.zaip-aios/templates/tools/api/tiktok-ads/README.md +0 -23
  755. package/templates/.zaip-aios/templates/tools/api/tiktok-ads/manifest.yaml +0 -21
  756. package/templates/.zaip-aios/templates/tools/api/youtube-analytics/README.md +0 -22
  757. package/templates/.zaip-aios/templates/tools/api/youtube-analytics/manifest.yaml +0 -20
  758. package/templates/.zaip-aios/templates/tools/catalog.yaml +0 -358
  759. package/templates/.zaip-aios/templates/tools/mcp/development/browser/README.md +0 -20
  760. package/templates/.zaip-aios/templates/tools/mcp/development/browser/manifest.yaml +0 -24
  761. package/templates/.zaip-aios/templates/tools/mcp/development/filesystem/README.md +0 -20
  762. package/templates/.zaip-aios/templates/tools/mcp/development/filesystem/manifest.yaml +0 -24
  763. package/templates/.zaip-aios/templates/tools/mcp/development/git/README.md +0 -20
  764. package/templates/.zaip-aios/templates/tools/mcp/development/git/manifest.yaml +0 -24
  765. package/templates/.zaip-aios/templates/tools/mcp/development/github/README.md +0 -20
  766. package/templates/.zaip-aios/templates/tools/mcp/development/github/manifest.yaml +0 -25
  767. package/templates/.zaip-aios/templates/tools/mcp/development/gitlab/README.md +0 -20
  768. package/templates/.zaip-aios/templates/tools/mcp/development/gitlab/manifest.yaml +0 -25
  769. package/templates/.zaip-aios/templates/tools/mcp/development/jira/README.md +0 -21
  770. package/templates/.zaip-aios/templates/tools/mcp/development/jira/manifest.yaml +0 -26
  771. package/templates/.zaip-aios/templates/tools/mcp/development/linear/README.md +0 -20
  772. package/templates/.zaip-aios/templates/tools/mcp/development/linear/manifest.yaml +0 -25
  773. package/templates/.zaip-aios/templates/tools/mcp/development/notion/README.md +0 -20
  774. package/templates/.zaip-aios/templates/tools/mcp/development/notion/manifest.yaml +0 -25
  775. package/templates/.zaip-aios/templates/tools/mcp/development/openai-docs/README.md +0 -15
  776. package/templates/.zaip-aios/templates/tools/mcp/development/openai-docs/manifest.yaml +0 -21
  777. package/templates/.zaip-aios/templates/tools/mcp/development/postgresql/README.md +0 -20
  778. package/templates/.zaip-aios/templates/tools/mcp/development/postgresql/manifest.yaml +0 -25
  779. package/templates/.zaip-aios/templates/tools/mcp/development/slack/README.md +0 -20
  780. package/templates/.zaip-aios/templates/tools/mcp/development/slack/manifest.yaml +0 -25
  781. package/templates/.zaip-aios/templates/tools/mcp/development/sqlite/README.md +0 -20
  782. package/templates/.zaip-aios/templates/tools/mcp/development/sqlite/manifest.yaml +0 -25
  783. package/templates/.zaip-aios/templates/tools/mcp/infra/aws/README.md +0 -21
  784. package/templates/.zaip-aios/templates/tools/mcp/infra/aws/manifest.yaml +0 -26
  785. package/templates/.zaip-aios/templates/tools/mcp/infra/azure/README.md +0 -20
  786. package/templates/.zaip-aios/templates/tools/mcp/infra/azure/manifest.yaml +0 -25
  787. package/templates/.zaip-aios/templates/tools/mcp/infra/cloudflare/README.md +0 -21
  788. package/templates/.zaip-aios/templates/tools/mcp/infra/cloudflare/manifest.yaml +0 -26
  789. package/templates/.zaip-aios/templates/tools/mcp/infra/docker/README.md +0 -20
  790. package/templates/.zaip-aios/templates/tools/mcp/infra/docker/manifest.yaml +0 -24
  791. package/templates/.zaip-aios/templates/tools/mcp/infra/gcp/README.md +0 -21
  792. package/templates/.zaip-aios/templates/tools/mcp/infra/gcp/manifest.yaml +0 -26
  793. package/templates/.zaip-aios/templates/tools/mcp/infra/hostinger/README.md +0 -20
  794. package/templates/.zaip-aios/templates/tools/mcp/infra/hostinger/manifest.yaml +0 -25
  795. package/templates/.zaip-aios/templates/tools/mcp/infra/kubernetes/README.md +0 -20
  796. package/templates/.zaip-aios/templates/tools/mcp/infra/kubernetes/manifest.yaml +0 -25
  797. package/templates/.zaip-aios/templates/tools/mcp/infra/terraform/README.md +0 -20
  798. package/templates/.zaip-aios/templates/tools/mcp/infra/terraform/manifest.yaml +0 -24
  799. package/templates/.zaip-aios/templates/tools/mcp/marketing/google-ads/README.md +0 -21
  800. package/templates/.zaip-aios/templates/tools/mcp/marketing/google-ads/manifest.yaml +0 -26
  801. package/templates/.zaip-aios/templates/tools/mcp/marketing/google-analytics/README.md +0 -20
  802. package/templates/.zaip-aios/templates/tools/mcp/marketing/google-analytics/manifest.yaml +0 -25
  803. package/templates/.zaip-aios/templates/tools/mcp/marketing/google-search-console/README.md +0 -19
  804. package/templates/.zaip-aios/templates/tools/mcp/marketing/google-search-console/manifest.yaml +0 -24
  805. package/templates/.zaip-aios/templates/tools/mcp/marketing/google-tag-manager/README.md +0 -21
  806. package/templates/.zaip-aios/templates/tools/mcp/marketing/google-tag-manager/manifest.yaml +0 -26
  807. package/templates/.zaip-aios/templates/tools/mcp/marketing/hubspot/README.md +0 -20
  808. package/templates/.zaip-aios/templates/tools/mcp/marketing/hubspot/manifest.yaml +0 -25
  809. package/templates/.zaip-aios/templates/tools/mcp/marketing/instagram-insights/README.md +0 -21
  810. package/templates/.zaip-aios/templates/tools/mcp/marketing/instagram-insights/manifest.yaml +0 -26
  811. package/templates/.zaip-aios/templates/tools/mcp/marketing/linkedin-ads/README.md +0 -21
  812. package/templates/.zaip-aios/templates/tools/mcp/marketing/linkedin-ads/manifest.yaml +0 -26
  813. package/templates/.zaip-aios/templates/tools/mcp/marketing/mailchimp/README.md +0 -21
  814. package/templates/.zaip-aios/templates/tools/mcp/marketing/mailchimp/manifest.yaml +0 -26
  815. package/templates/.zaip-aios/templates/tools/mcp/marketing/meta-ads/README.md +0 -21
  816. package/templates/.zaip-aios/templates/tools/mcp/marketing/meta-ads/manifest.yaml +0 -26
  817. package/templates/.zaip-aios/templates/tools/mcp/marketing/semrush/README.md +0 -20
  818. package/templates/.zaip-aios/templates/tools/mcp/marketing/semrush/manifest.yaml +0 -25
  819. package/templates/.zaip-aios/templates/tools/mcp/marketing/tiktok-ads/README.md +0 -21
  820. package/templates/.zaip-aios/templates/tools/mcp/marketing/tiktok-ads/manifest.yaml +0 -26
  821. package/templates/.zaip-aios/templates/tools/mcp/marketing/youtube-analytics/README.md +0 -21
  822. package/templates/.zaip-aios/templates/tools/mcp/marketing/youtube-analytics/manifest.yaml +0 -26
  823. package/templates/.zaip-aios/templates/tools/mcp/observability/cloudwatch/README.md +0 -21
  824. package/templates/.zaip-aios/templates/tools/mcp/observability/cloudwatch/manifest.yaml +0 -26
  825. package/templates/.zaip-aios/templates/tools/mcp/observability/datadog/README.md +0 -21
  826. package/templates/.zaip-aios/templates/tools/mcp/observability/datadog/manifest.yaml +0 -26
  827. package/templates/.zaip-aios/templates/tools/mcp/observability/elasticsearch/README.md +0 -21
  828. package/templates/.zaip-aios/templates/tools/mcp/observability/elasticsearch/manifest.yaml +0 -26
  829. package/templates/.zaip-aios/templates/tools/mcp/observability/grafana/README.md +0 -21
  830. package/templates/.zaip-aios/templates/tools/mcp/observability/grafana/manifest.yaml +0 -26
  831. package/templates/.zaip-aios/templates/tools/mcp/observability/kibana/README.md +0 -21
  832. package/templates/.zaip-aios/templates/tools/mcp/observability/kibana/manifest.yaml +0 -26
  833. package/templates/.zaip-aios/templates/tools/mcp/observability/loki/README.md +0 -19
  834. package/templates/.zaip-aios/templates/tools/mcp/observability/loki/manifest.yaml +0 -24
  835. package/templates/.zaip-aios/templates/tools/mcp/observability/new-relic/README.md +0 -21
  836. package/templates/.zaip-aios/templates/tools/mcp/observability/new-relic/manifest.yaml +0 -26
  837. package/templates/.zaip-aios/templates/tools/mcp/observability/opentelemetry/README.md +0 -20
  838. package/templates/.zaip-aios/templates/tools/mcp/observability/opentelemetry/manifest.yaml +0 -25
  839. package/templates/.zaip-aios/templates/tools/mcp/observability/prometheus/README.md +0 -19
  840. package/templates/.zaip-aios/templates/tools/mcp/observability/prometheus/manifest.yaml +0 -24
  841. package/templates/.zaip-aios/templates/tools/mcp/observability/sentry/README.md +0 -21
  842. package/templates/.zaip-aios/templates/tools/mcp/observability/sentry/manifest.yaml +0 -26
  843. package/templates/.zaip-aios/templates/tools/policies/approval-rules.yaml +0 -8
  844. package/templates/.zaip-aios/templates/tools/policies/financial-limits.yaml +0 -6
  845. package/templates/.zaip-aios/templates/tools/policies/permissions.yaml +0 -8
  846. package/templates/.zaip-aios/templates/tools/policies/secret-handling.md +0 -7
  847. package/templates/.zaip-aios/templates/tools/profiles/business.yaml +0 -8
  848. package/templates/.zaip-aios/templates/tools/profiles/default.yaml +0 -8
  849. package/templates/.zaip-aios/templates/tools/profiles/development.yaml +0 -13
  850. package/templates/.zaip-aios/templates/tools/profiles/infrastructure.yaml +0 -8
  851. package/templates/.zaip-aios/templates/tools/profiles/marketing.yaml +0 -9
  852. package/templates/.zaip-aios/templates/tools/profiles/observability.yaml +0 -8
  853. package/templates/.zaip-aios/templates/tools/runtime/README.md +0 -3
  854. package/templates/.zaip-aios/templates/tools/runtime/api-mcp-runtime.mjs +0 -217
  855. package/templates/.zaip-aios/templates/tools/runtime/api-mcp-runtime.test.mjs +0 -56
  856. package/templates/.zaip-aios/templates/tools/runtime/fixtures/definition.json +0 -17
  857. package/templates/.zaip-aios/templates/tools/runtime/runner.mjs +0 -16
  858. package/templates/.zaip-aios/templates/tools/runtime/stdio.test.mjs +0 -32
  859. package/templates/.zaip-aios/templates/tools/state.example.yaml +0 -8
  860. package/templates/.zaip-aios/templates/zaip-aios/INDEX.md +0 -26
  861. package/templates/.zaip-aios/templates/zaip-aios/README.md +0 -13
  862. package/templates/.zaip-aios/templates/zaip-aios/VERSION +0 -1
  863. package/templates/.zaip-aios/templates/zaip-aios/guides/01-primeiros-passos.md +0 -10
  864. package/templates/.zaip-aios/templates/zaip-aios/guides/02-requirements.md +0 -12
  865. package/templates/.zaip-aios/templates/zaip-aios/guides/03-tasks.md +0 -12
  866. package/templates/.zaip-aios/templates/zaip-aios/guides/04-specs.md +0 -16
  867. package/templates/.zaip-aios/templates/zaip-aios/guides/05-prds.md +0 -13
  868. package/templates/.zaip-aios/templates/zaip-aios/guides/06-execucao.md +0 -13
  869. package/templates/.zaip-aios/templates/zaip-aios/guides/07-revisao-e-validacao.md +0 -8
  870. package/templates/.zaip-aios/templates/zaip-aios/guides/08-contexto-e-tokens.md +0 -10
  871. package/templates/.zaip-aios/templates/zaip-aios/guides/09-agentes-e-squads.md +0 -8
  872. package/templates/.zaip-aios/templates/zaip-aios/guides/10-seguranca.md +0 -206
  873. package/templates/.zaip-aios/templates/zaip-aios/guides/11-observabilidade-e-custos.md +0 -10
  874. package/templates/.zaip-aios/templates/zaip-aios/guides/12-instalacao-e-upgrade.md +0 -10
  875. package/templates/.zaip-aios/templates/zaip-aios/guides/13-boas-praticas.md +0 -12
  876. package/templates/.zaip-aios/templates/zaip-aios/guides/14-troubleshooting.md +0 -12
  877. package/templates/.zaip-aios/templates/zaip-aios/guides/15-tools-e-codex.md +0 -25
  878. package/templates/.zaip-aios/templates/zaip-aios/guides/16-lifecycle-e-reconciliacao.md +0 -47
  879. /package/templates/{.zaip-aios → .agents/config}/pricing/fx/2026/07/12/usd-brl.json +0 -0
  880. /package/templates/{.zaip-aios/dashboard/apps/frontend/dist → .agents/dashboard/apps/frontend/public}/icon_zaip.png +0 -0
  881. /package/templates/{.zaip-aios/dashboard/apps/frontend/dist → .agents/dashboard/apps/frontend/public}/logo_novo_azul.png +0 -0
  882. /package/templates/{.zaip-aios → .agents/runtime}/LICENSE +0 -0
  883. /package/templates/{.zaip-aios → .agents/runtime}/THIRD_PARTY_NOTICES.md +0 -0
  884. /package/templates/{.zaip-aios → .agents/runtime}/VERSION +0 -0
  885. /package/templates/{.zaip-aios → .agents/runtime}/migrations/001-layout-v1.json +0 -0
  886. /package/templates/{.zaip-aios → .agents/runtime}/migrations/002-layout-v2.json +0 -0
  887. /package/templates/{.zaip-aios → .agents/runtime}/schemas/contracts.schema.json +0 -0
@@ -0,0 +1,176 @@
1
+ import type { ScopedRun } from "./internal.js";
2
+
3
+ export function observedSourceTiming(
4
+ record:
5
+ | {
6
+ occurred_at: string;
7
+ source_occurred_at?: string | undefined;
8
+ source_started_at?: string | undefined;
9
+ source_finished_at?: string | undefined;
10
+ }
11
+ | undefined,
12
+ ): {
13
+ source_started_at: string | null;
14
+ source_finished_at: string | null;
15
+ source_duration_ms: number | null;
16
+ capture_lag_ms: number | null;
17
+ } {
18
+ const sourceStartedAt = record?.source_started_at ?? null;
19
+ const sourceFinishedAt = record?.source_finished_at ?? record?.source_occurred_at ?? null;
20
+ return {
21
+ source_started_at: sourceStartedAt,
22
+ source_finished_at: sourceFinishedAt,
23
+ source_duration_ms:
24
+ sourceStartedAt === null || sourceFinishedAt === null
25
+ ? null
26
+ : Math.max(0, Date.parse(sourceFinishedAt) - Date.parse(sourceStartedAt)),
27
+ capture_lag_ms:
28
+ sourceFinishedAt === null || record === undefined
29
+ ? null
30
+ : Math.max(0, Date.parse(record.occurred_at) - Date.parse(sourceFinishedAt)),
31
+ };
32
+ }
33
+
34
+ type SourceTimingRecord = {
35
+ occurred_at: string;
36
+ activity_kind?: string | undefined;
37
+ source_occurred_at?: string | null | undefined;
38
+ source_started_at?: string | undefined;
39
+ source_finished_at?: string | undefined;
40
+ };
41
+
42
+ /**
43
+ * Pricing or supersession records can remove a retrospective usage record from
44
+ * `effective_usage_records`. Select the most recently recorded exact source
45
+ * interval from both views instead of treating a later non-timing record as
46
+ * evidence that the earlier observation disappeared.
47
+ */
48
+ export function latestObservedSourceTiming(
49
+ runStartedAt: string,
50
+ _recordedFinishedAt: string | null,
51
+ effectiveRecords: readonly SourceTimingRecord[],
52
+ allRecords: readonly SourceTimingRecord[],
53
+ ) {
54
+ const startedAtMs = Date.parse(runStartedAt);
55
+ const atOrAfterRunStart = (value: string | null | undefined) => {
56
+ const timestamp = value === null || value === undefined ? Number.NaN : Date.parse(value);
57
+ return Number.isFinite(timestamp) && timestamp >= startedAtMs;
58
+ };
59
+ const candidates: SourceTimingRecord[] = [];
60
+ for (const record of [...effectiveRecords, ...allRecords]) {
61
+ const sourceStartedAt = record.source_started_at;
62
+ const sourceFinishedAt = record.source_finished_at;
63
+ if (
64
+ sourceStartedAt !== undefined &&
65
+ sourceFinishedAt !== undefined &&
66
+ atOrAfterRunStart(sourceStartedAt) &&
67
+ atOrAfterRunStart(sourceFinishedAt) &&
68
+ Date.parse(sourceFinishedAt) >= Date.parse(sourceStartedAt)
69
+ ) {
70
+ candidates.push({ ...record, source_finished_at: sourceFinishedAt });
71
+ continue;
72
+ }
73
+ // Exact retrospective reconciliation records report a source completion
74
+ // time. Their interval begins at the immutable Run start; never substitute
75
+ // a lifecycle end or an approximate timestamp.
76
+ if (
77
+ record.activity_kind === "retrospective_local_reconciliation" &&
78
+ typeof record.source_occurred_at === "string" &&
79
+ atOrAfterRunStart(record.source_occurred_at)
80
+ ) {
81
+ candidates.push({
82
+ ...record,
83
+ source_started_at: runStartedAt,
84
+ source_finished_at: record.source_occurred_at,
85
+ });
86
+ }
87
+ }
88
+ candidates.sort((left, right) => Date.parse(left.occurred_at) - Date.parse(right.occurred_at));
89
+ const selected = candidates.at(-1);
90
+ return selected === undefined
91
+ ? observedSourceTiming(undefined)
92
+ : observedSourceTiming({
93
+ occurred_at: selected.occurred_at,
94
+ source_occurred_at: selected.source_occurred_at ?? undefined,
95
+ source_started_at: selected.source_started_at,
96
+ source_finished_at: selected.source_finished_at,
97
+ });
98
+ }
99
+
100
+ export function createDescendantQueries(input: {
101
+ changes: readonly {
102
+ id: string;
103
+ source: { type: string; spec_id?: string | null; prd_id?: string };
104
+ }[];
105
+ tasks: readonly { id: string; change_id: string }[];
106
+ executions: readonly {
107
+ id: string;
108
+ origin: { type: string; spec_id?: string; prd_id?: string; conversation_id?: string };
109
+ dag: { nodes: Array<{ task_id: string }> };
110
+ }[];
111
+ prds: readonly { id: string; creation_run_id?: string | null }[];
112
+ specs: readonly { id: string; prd_id: string | null; creation_run_id?: string | null }[];
113
+ runs: readonly ScopedRun[];
114
+ }) {
115
+ function collect(specIds: ReadonlySet<string>, prdId: string | null) {
116
+ const creationRunIds = new Set(
117
+ [
118
+ ...(prdId === null
119
+ ? []
120
+ : input.prds.filter((prd) => prd.id === prdId).map((prd) => prd.creation_run_id)),
121
+ ...input.specs.filter((spec) => specIds.has(spec.id)).map((spec) => spec.creation_run_id),
122
+ ].filter((runId): runId is string => runId !== null && runId !== undefined),
123
+ );
124
+ const changeIds = new Set(
125
+ input.changes
126
+ .filter(
127
+ (change) =>
128
+ (prdId !== null && change.source.type === "prd" && change.source.prd_id === prdId) ||
129
+ ((change.source.type === "spec" || change.source.type === "prd") &&
130
+ change.source.spec_id !== null &&
131
+ change.source.spec_id !== undefined &&
132
+ specIds.has(change.source.spec_id)),
133
+ )
134
+ .map((change) => change.id),
135
+ );
136
+ const taskIds = new Set(
137
+ input.tasks.filter((task) => changeIds.has(task.change_id)).map((task) => task.id),
138
+ );
139
+ const executionIds = new Set(
140
+ input.executions
141
+ .filter(
142
+ (execution) =>
143
+ (prdId !== null &&
144
+ execution.origin.type === "prd" &&
145
+ execution.origin.prd_id === prdId) ||
146
+ (execution.origin.type === "spec" &&
147
+ execution.origin.spec_id !== undefined &&
148
+ specIds.has(execution.origin.spec_id)) ||
149
+ execution.dag.nodes.some((node) => taskIds.has(node.task_id)),
150
+ )
151
+ .map((execution) => execution.id),
152
+ );
153
+ const runs = input.runs.filter((run) => {
154
+ const directlyLinked =
155
+ (run.fold.run.spec_id !== null && specIds.has(run.fold.run.spec_id)) ||
156
+ (run.fold.run.task_id !== null && taskIds.has(run.fold.run.task_id)) ||
157
+ creationRunIds.has(run.fold.run.run_id);
158
+ if (prdId === null) return directlyLinked;
159
+ return (
160
+ directlyLinked ||
161
+ run.fold.run.prd_id === prdId ||
162
+ (run.fold.run.execution_id !== null && executionIds.has(run.fold.run.execution_id))
163
+ );
164
+ });
165
+ return { changeIds, taskIds, executionIds, runs };
166
+ }
167
+
168
+ return {
169
+ forSpec: (specId: string) => collect(new Set([specId]), null),
170
+ forPrd: (prdId: string) =>
171
+ collect(
172
+ new Set(input.specs.filter((spec) => spec.prd_id === prdId).map((spec) => spec.id)),
173
+ prdId,
174
+ ),
175
+ };
176
+ }
@@ -0,0 +1,140 @@
1
+ import {
2
+ effectiveRunV2Kind,
3
+ effectiveRunV2Purpose,
4
+ effectiveRunV2Role,
5
+ type RunV2Fold,
6
+ runV2RequiresFinalizer,
7
+ } from "@zaip-ai/decisions";
8
+ import type { OperationsProjection } from "../contracts.js";
9
+ import { latestObservedSourceTiming } from "./canonical-compat.js";
10
+ import type { ScopedRun } from "./internal.js";
11
+ import { usageProjection } from "./usage.js";
12
+
13
+ export function projectCanonicalRun(run: ScopedRun): OperationsProjection["runs"][number] {
14
+ const finishedAt = run.fold.finished?.occurred_at ?? null;
15
+ const runtime = run.fold.effective_usage_records.findLast((record) => record.runtime)?.runtime;
16
+ const observedRuntime = run.fold.effective_usage_records.at(-1);
17
+ const sourceTiming = latestObservedSourceTiming(
18
+ run.fold.run.occurred_at,
19
+ finishedAt,
20
+ run.fold.effective_usage_records,
21
+ run.fold.records,
22
+ );
23
+ return {
24
+ id: run.fold.run.run_id,
25
+ artifact_path: run.artifactPath,
26
+ status: run.fold.status,
27
+ phase: run.fold.records.findLast((record) => "phase" in record)?.phase ?? run.fold.run.phase,
28
+ entrypoint: run.fold.run.entrypoint,
29
+ work_type: run.fold.run.work_type,
30
+ run_role: effectiveRunV2Role(run.fold.run),
31
+ run_kind: effectiveRunV2Kind(run.fold.run),
32
+ run_purpose: effectiveRunV2Purpose(run.fold.run),
33
+ requires_finalizer: runV2RequiresFinalizer(run.fold.run),
34
+ parent_run_id: run.fold.run.parent_run_id,
35
+ client: run.fold.run.client,
36
+ agent: run.fold.run.agent,
37
+ agent_name: canonicalAgentName(run.fold.run.agent, run.fold.run.agent_name),
38
+ provider: observedRuntime?.provider ?? run.fold.run.provider,
39
+ model: run.fold.run.model,
40
+ reasoning_effort:
41
+ run.fold.run.reasoning_effort ??
42
+ run.fold.model_selection_records[0]?.requested.reasoning_effort ??
43
+ null,
44
+ ...effectiveConfiguration(run.fold),
45
+ ...callSummary(run.fold),
46
+ service_tier: runtime?.service_tier ?? null,
47
+ conversation_id: run.fold.run.conversation_id,
48
+ execution_id: run.fold.run.execution_id,
49
+ task_id: run.fold.run.task_id,
50
+ spec_id: run.fold.run.spec_id,
51
+ prd_id: run.fold.run.prd_id,
52
+ change_id: run.fold.run.change_id,
53
+ started_at: run.fold.run.occurred_at,
54
+ finished_at: finishedAt,
55
+ duration_ms: effectiveOperationsDurationMs(sourceTiming.source_duration_ms),
56
+ ...sourceTiming,
57
+ pricing_segments: run.fold.effective_usage_records.map((record) => ({
58
+ phase: record.phase,
59
+ provider: record.provider,
60
+ model: record.model,
61
+ service_tier: record.runtime?.service_tier ?? runtime?.service_tier ?? null,
62
+ input_tokens: record.tokens.input,
63
+ cached_input_tokens: record.tokens.cached_input,
64
+ output_tokens: record.tokens.output,
65
+ reasoning_tokens: record.tokens.reasoning,
66
+ total_tokens: record.tokens.total,
67
+ recorded_usd: record.cost.usd,
68
+ recorded_brl: record.cost.brl,
69
+ recorded_fx_rate: record.cost.fx_rate ?? null,
70
+ })),
71
+ usage: usageProjection([run]),
72
+ };
73
+ }
74
+
75
+ function canonicalAgentName(agent: string, agentName: string | null | undefined): string {
76
+ if (agent === "codex") return "codex";
77
+ const value = agentName ?? agent;
78
+ return value.startsWith("agent-") ? `zaip-agent-${value.slice("agent-".length)}` : value;
79
+ }
80
+
81
+ function effectiveConfiguration(fold: RunV2Fold): {
82
+ effective_model: string | null;
83
+ effective_reasoning_effort: string | null;
84
+ effective_config_mixed: boolean;
85
+ } {
86
+ const models = new Set(
87
+ [
88
+ ...fold.provider_invocation_records.map((record) => record.effective.model),
89
+ ...fold.effective_usage_records.map((record) => record.model),
90
+ ].filter((value): value is string => value !== null),
91
+ );
92
+ const efforts = new Set(
93
+ [
94
+ ...fold.provider_invocation_records.map((record) => record.effective.reasoning_effort),
95
+ ...fold.effective_usage_records.map((record) => record.runtime?.reasoning_effort ?? null),
96
+ ].filter((value): value is string => value !== null),
97
+ );
98
+ return {
99
+ effective_model: models.size === 1 ? ([...models][0] ?? null) : null,
100
+ effective_reasoning_effort: efforts.size === 1 ? ([...efforts][0] ?? null) : null,
101
+ effective_config_mixed: models.size > 1 || efforts.size > 1,
102
+ };
103
+ }
104
+
105
+ function callSummary(fold: RunV2Fold): {
106
+ call_count: number | null;
107
+ terminal_call_count: number | null;
108
+ failed_call_count: number | null;
109
+ cancelled_call_count: number | null;
110
+ } {
111
+ const ids = new Set([
112
+ ...fold.model_selection_records.map((record) => record.invocation_id),
113
+ ...fold.provider_invocation_records.map((record) => record.invocation_id),
114
+ ]);
115
+ if (ids.size === 0) {
116
+ return {
117
+ call_count: null,
118
+ terminal_call_count: null,
119
+ failed_call_count: null,
120
+ cancelled_call_count: null,
121
+ };
122
+ }
123
+ return {
124
+ call_count: ids.size,
125
+ terminal_call_count: fold.provider_invocation_records.length,
126
+ failed_call_count: fold.provider_invocation_records.filter(
127
+ (record) => record.status === "failed",
128
+ ).length,
129
+ cancelled_call_count: fold.provider_invocation_records.filter(
130
+ (record) => record.status === "cancelled",
131
+ ).length,
132
+ };
133
+ }
134
+
135
+ export function effectiveOperationsDurationMs(
136
+ sourceDurationMs: number | null,
137
+ _lifecycleDurationMs?: number | null,
138
+ ): number | null {
139
+ return sourceDurationMs !== null && sourceDurationMs > 0 ? sourceDurationMs : null;
140
+ }
@@ -0,0 +1,137 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { executionRelationshipCounts } from "./execution-relationship-counts.js";
3
+
4
+ describe("executionRelationshipCounts", () => {
5
+ it("counts linked agent calls, Tasks, SPECs and PRDs with zero for missing links", () => {
6
+ const counts = executionRelationshipCounts(
7
+ {
8
+ id: "EXEC-1",
9
+ origin: { type: "task", task_id: "TASK-1" },
10
+ dag: {
11
+ nodes: [
12
+ { task_id: "TASK-1", change_id: "CHG-1", depends_on: [] },
13
+ { task_id: "TASK-2", change_id: "CHG-2", depends_on: [] },
14
+ ],
15
+ topological_order: ["TASK-1", "TASK-2"],
16
+ },
17
+ },
18
+ {
19
+ runs: [
20
+ {
21
+ agent: "agent-orchestrator",
22
+ call_count: 2,
23
+ duration_ms: 60_000,
24
+ execution_id: "EXEC-1",
25
+ parent_run_id: null,
26
+ run_purpose: "orchestration",
27
+ status: "completed",
28
+ task_id: "TASK-1",
29
+ },
30
+ {
31
+ agent: "agent-finalizer",
32
+ call_count: 1,
33
+ duration_ms: 30_000,
34
+ execution_id: null,
35
+ parent_run_id: "RUN-PARENT",
36
+ run_purpose: "finalization",
37
+ status: "completed",
38
+ task_id: "TASK-2",
39
+ },
40
+ {
41
+ agent: "agent-builder",
42
+ call_count: null,
43
+ duration_ms: 20_000,
44
+ execution_id: "EXEC-OTHER",
45
+ parent_run_id: null,
46
+ run_purpose: "execution",
47
+ status: "completed",
48
+ task_id: "TASK-OTHER",
49
+ },
50
+ ],
51
+ tasks: [
52
+ { id: "TASK-1", change_id: "CHG-1" },
53
+ { id: "TASK-2", change_id: "CHG-2" },
54
+ ],
55
+ changes: [
56
+ { id: "CHG-1", source: { type: "task" } },
57
+ { id: "CHG-2", source: { type: "spec", spec_id: "SPEC-1" } },
58
+ ],
59
+ specs: [{ id: "SPEC-1", prd_id: "PRD-1" }],
60
+ },
61
+ );
62
+
63
+ expect(counts).toEqual({
64
+ agent_call_count: 2,
65
+ duration_ms: 60_000,
66
+ finalizer_run_count: 1,
67
+ finalized_task_count: 1,
68
+ llm_call_count: 3,
69
+ llm_call_count_complete: true,
70
+ orchestrator_run_count: 1,
71
+ prd_count: 1,
72
+ spec_count: 1,
73
+ subagent_run_count: 1,
74
+ task_count: 2,
75
+ });
76
+ });
77
+
78
+ it("keeps every count at zero when an Execution has no linked work", () => {
79
+ expect(
80
+ executionRelationshipCounts(
81
+ {
82
+ id: "EXEC-EMPTY",
83
+ origin: { type: "task", task_id: "TASK-MISSING" },
84
+ dag: { nodes: [], topological_order: [] },
85
+ },
86
+ { runs: [], tasks: [], changes: [], specs: [] },
87
+ ),
88
+ ).toEqual({
89
+ agent_call_count: 0,
90
+ duration_ms: null,
91
+ finalizer_run_count: 0,
92
+ finalized_task_count: 0,
93
+ llm_call_count: 0,
94
+ llm_call_count_complete: true,
95
+ orchestrator_run_count: 0,
96
+ prd_count: 0,
97
+ spec_count: 0,
98
+ subagent_run_count: 0,
99
+ task_count: 0,
100
+ });
101
+ });
102
+
103
+ it("uses the canonical root Run interval when analytical duration is unavailable", () => {
104
+ const counts = executionRelationshipCounts(
105
+ {
106
+ id: "EXEC-LIFECYCLE",
107
+ origin: { type: "task", task_id: "TASK-1" },
108
+ dag: {
109
+ nodes: [{ task_id: "TASK-1", change_id: "CHG-1", depends_on: [] }],
110
+ topological_order: ["TASK-1"],
111
+ },
112
+ },
113
+ {
114
+ runs: [
115
+ {
116
+ agent: "agent-orchestrator",
117
+ call_count: 1,
118
+ duration_ms: null,
119
+ execution_id: "EXEC-LIFECYCLE",
120
+ finished_at: "2026-07-28T10:11:00.000Z",
121
+ parent_run_id: null,
122
+ run_purpose: "orchestration",
123
+ source_duration_ms: null,
124
+ started_at: "2026-07-28T10:00:00.000Z",
125
+ status: "completed",
126
+ task_id: "TASK-1",
127
+ },
128
+ ],
129
+ tasks: [{ id: "TASK-1", change_id: "CHG-1" }],
130
+ changes: [{ id: "CHG-1", source: { type: "task" } }],
131
+ specs: [],
132
+ },
133
+ );
134
+
135
+ expect(counts.duration_ms).toBe(11 * 60_000);
136
+ });
137
+ });
@@ -0,0 +1,121 @@
1
+ import type { ExecutionProjection, RunProjection } from "../contracts.js";
2
+
3
+ export interface ExecutionRelationshipCounts {
4
+ agent_call_count: number;
5
+ orchestrator_run_count: number;
6
+ subagent_run_count: number;
7
+ finalizer_run_count: number;
8
+ finalized_task_count: number;
9
+ llm_call_count: number;
10
+ llm_call_count_complete: boolean;
11
+ task_count: number;
12
+ spec_count: number;
13
+ prd_count: number;
14
+ duration_ms: number | null;
15
+ }
16
+
17
+ export function executionRelationshipCounts(
18
+ execution: {
19
+ id: string;
20
+ origin: ExecutionProjection["origin"];
21
+ dag: ExecutionProjection["dag"];
22
+ },
23
+ input: {
24
+ runs: readonly (Pick<
25
+ RunProjection,
26
+ | "agent"
27
+ | "call_count"
28
+ | "duration_ms"
29
+ | "execution_id"
30
+ | "parent_run_id"
31
+ | "run_purpose"
32
+ | "status"
33
+ | "task_id"
34
+ > &
35
+ Partial<Pick<RunProjection, "finished_at" | "source_duration_ms" | "started_at">>)[];
36
+ tasks: readonly { id: string; change_id: string }[];
37
+ changes: readonly {
38
+ id: string;
39
+ source: { type: string; spec_id?: string | null; prd_id?: string };
40
+ }[];
41
+ specs: readonly { id: string; prd_id?: string | null; parent_id?: string | null }[];
42
+ },
43
+ ): ExecutionRelationshipCounts {
44
+ const taskIds = new Set(execution.dag.nodes.map((node) => node.task_id));
45
+ const changesById = new Map(input.changes.map((change) => [change.id, change] as const));
46
+ const specsById = new Map(input.specs.map((spec) => [spec.id, spec] as const));
47
+ const specIds = new Set<string>();
48
+ const prdIds = new Set<string>();
49
+ const includeSpec = (specId: string) => {
50
+ specIds.add(specId);
51
+ const spec = specsById.get(specId);
52
+ const prdId = spec?.prd_id ?? spec?.parent_id ?? null;
53
+ if (prdId !== null) prdIds.add(prdId);
54
+ };
55
+
56
+ if (execution.origin.type === "spec") includeSpec(execution.origin.spec_id);
57
+ if (execution.origin.type === "prd") prdIds.add(execution.origin.prd_id);
58
+
59
+ for (const task of input.tasks) {
60
+ if (!taskIds.has(task.id)) continue;
61
+ const source = changesById.get(task.change_id)?.source;
62
+ if (!source) continue;
63
+ if ((source.type === "spec" || source.type === "prd") && source.spec_id) {
64
+ includeSpec(source.spec_id);
65
+ }
66
+ if (source.type === "prd" && source.prd_id) prdIds.add(source.prd_id);
67
+ }
68
+
69
+ const relatedRuns = input.runs.filter(
70
+ (run) =>
71
+ run.execution_id === execution.id || (run.task_id !== null && taskIds.has(run.task_id)),
72
+ );
73
+ const knownCalls = relatedRuns.flatMap((run) =>
74
+ run.call_count === null ? [] : [run.call_count],
75
+ );
76
+ const finalizerRuns = relatedRuns.filter(
77
+ (run) =>
78
+ run.run_purpose === "finalization" ||
79
+ run.agent === "agent-finalizer" ||
80
+ run.agent === "agent-task-finalizer",
81
+ );
82
+ const finalizedTaskIds = new Set(
83
+ finalizerRuns.flatMap((run) =>
84
+ run.status === "completed" && run.task_id !== null ? [run.task_id] : [],
85
+ ),
86
+ );
87
+ return {
88
+ agent_call_count: relatedRuns.length,
89
+ orchestrator_run_count: relatedRuns.filter((run) => run.parent_run_id === null).length,
90
+ subagent_run_count: relatedRuns.filter((run) => run.parent_run_id !== null).length,
91
+ finalizer_run_count: finalizerRuns.length,
92
+ finalized_task_count: finalizedTaskIds.size,
93
+ llm_call_count: knownCalls.reduce((sum, count) => sum + count, 0),
94
+ llm_call_count_complete: knownCalls.length === relatedRuns.length,
95
+ task_count: taskIds.size,
96
+ spec_count: specIds.size,
97
+ prd_count: prdIds.size,
98
+ // Execution elapsed time is wall time from root Runs. Sub-Run durations are
99
+ // agent effort and can overlap, so summing them inflates elapsed time.
100
+ duration_ms: sumOperationalDurations(relatedRuns.filter((run) => run.parent_run_id === null)),
101
+ };
102
+ }
103
+
104
+ function sumOperationalDurations(
105
+ runs: readonly (Pick<RunProjection, "duration_ms"> &
106
+ Partial<Pick<RunProjection, "finished_at" | "source_duration_ms" | "started_at">>)[],
107
+ ): number | null {
108
+ const durations = runs.flatMap((run) => {
109
+ if (typeof run.source_duration_ms === "number" && run.source_duration_ms > 0) {
110
+ return [run.source_duration_ms];
111
+ }
112
+ if (typeof run.duration_ms === "number" && run.duration_ms > 0) return [run.duration_ms];
113
+ if (run.finished_at == null || run.started_at == null) return [];
114
+ const started = Date.parse(run.started_at);
115
+ const finished = Date.parse(run.finished_at);
116
+ return Number.isFinite(started) && Number.isFinite(finished) && finished >= started
117
+ ? [finished - started]
118
+ : [];
119
+ });
120
+ return durations.length === 0 ? null : durations.reduce((sum, duration) => sum + duration, 0);
121
+ }
@@ -0,0 +1,33 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { normalizeFilter } from "./filter.js";
3
+
4
+ describe("operations time filter", () => {
5
+ it("normalizes valid ISO timestamps", () => {
6
+ expect(
7
+ normalizeFilter({
8
+ from: "2026-07-13T01:00:00-03:00",
9
+ to: "2026-07-13T02:00:00-03:00",
10
+ }),
11
+ ).toEqual({
12
+ from: "2026-07-13T04:00:00.000Z",
13
+ to: "2026-07-13T05:00:00.000Z",
14
+ });
15
+ });
16
+
17
+ it("treats a date-only to bound as the end of that UTC day", () => {
18
+ expect(normalizeFilter({ from: "2026-07-27", to: "2026-07-27" })).toEqual({
19
+ from: "2026-07-27T00:00:00.000Z",
20
+ to: "2026-07-27T23:59:59.999Z",
21
+ });
22
+ });
23
+
24
+ it("rejects invalid and reversed windows", () => {
25
+ expect(() => normalizeFilter({ from: "not-a-date" })).toThrow("from must be an ISO");
26
+ expect(() =>
27
+ normalizeFilter({
28
+ from: "2026-07-13T05:00:00.000Z",
29
+ to: "2026-07-13T04:00:00.000Z",
30
+ }),
31
+ ).toThrow("from must not be after to");
32
+ });
33
+ });
@@ -0,0 +1,17 @@
1
+ import type { ProjectionTimeFilter } from "../contracts.js";
2
+
3
+ export function normalizeFilter(filter: Partial<ProjectionTimeFilter>): ProjectionTimeFilter {
4
+ const from = normalizeTimestamp(filter.from ?? null, "from");
5
+ const to = normalizeTimestamp(filter.to ?? null, "to");
6
+ if (from !== null && to !== null && from > to) throw new Error("from must not be after to");
7
+ return { from, to };
8
+ }
9
+
10
+ function normalizeTimestamp(value: string | null, name: string): string | null {
11
+ if (value === null || value.length === 0) return null;
12
+ const timestamp =
13
+ name === "to" && /^\d{4}-\d{2}-\d{2}$/.test(value) ? `${value}T23:59:59.999Z` : value;
14
+ const time = Date.parse(timestamp);
15
+ if (Number.isNaN(time)) throw new Error(`${name} must be an ISO timestamp`);
16
+ return new Date(time).toISOString();
17
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./build-operations-projection.js";
2
+ export * from "./read-task-detail.js";
@@ -0,0 +1,8 @@
1
+ import type { RunCostInputV2 } from "@zaip-ai/costs";
2
+ import type { RunV2Fold } from "@zaip-ai/decisions";
3
+
4
+ export interface ScopedRun {
5
+ fold: RunV2Fold;
6
+ cost: RunCostInputV2;
7
+ artifactPath: string;
8
+ }