@zaip-ai/cli 3.8.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/README.md +5 -5
  2. package/dist/services/adapters.d.ts +1 -1
  3. package/dist/services/adapters.js +1 -1
  4. package/dist/services/agent-adapters.js +1 -1
  5. package/dist/services/agent-adapters.js.map +1 -1
  6. package/dist/services/backup-gitignore.d.ts +9 -0
  7. package/dist/services/backup-gitignore.d.ts.map +1 -0
  8. package/dist/services/backup-gitignore.js +66 -0
  9. package/dist/services/backup-gitignore.js.map +1 -0
  10. package/dist/services/backup-gitignore.test.d.ts +2 -0
  11. package/dist/services/backup-gitignore.test.d.ts.map +1 -0
  12. package/dist/services/backup-gitignore.test.js +27 -0
  13. package/dist/services/backup-gitignore.test.js.map +1 -0
  14. package/dist/services/codex-conversation-lifecycle-hook.d.ts.map +1 -1
  15. package/dist/services/codex-conversation-lifecycle-hook.js +15 -7
  16. package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -1
  17. package/dist/services/install-agents-template.d.ts.map +1 -1
  18. package/dist/services/install-agents-template.js +43 -127
  19. package/dist/services/install-agents-template.js.map +1 -1
  20. package/dist/services/install-template-policy.d.ts.map +1 -1
  21. package/dist/services/install-template-policy.js +2 -0
  22. package/dist/services/install-template-policy.js.map +1 -1
  23. package/dist/services/legacy-records-migration.d.ts +15 -0
  24. package/dist/services/legacy-records-migration.d.ts.map +1 -0
  25. package/dist/services/legacy-records-migration.js +109 -0
  26. package/dist/services/legacy-records-migration.js.map +1 -0
  27. package/dist/services/local-state-migration.d.ts +8 -1
  28. package/dist/services/local-state-migration.d.ts.map +1 -1
  29. package/dist/services/local-state-migration.js +67 -32
  30. package/dist/services/local-state-migration.js.map +1 -1
  31. package/dist/services/logger.d.ts.map +1 -1
  32. package/dist/services/logger.js +2 -0
  33. package/dist/services/logger.js.map +1 -1
  34. package/dist/services/project-model-migration.d.ts +3 -0
  35. package/dist/services/project-model-migration.d.ts.map +1 -0
  36. package/dist/services/project-model-migration.js +163 -0
  37. package/dist/services/project-model-migration.js.map +1 -0
  38. package/dist/services/project-model-migration.test.d.ts +2 -0
  39. package/dist/services/project-model-migration.test.d.ts.map +1 -0
  40. package/dist/services/project-model-migration.test.js +62 -0
  41. package/dist/services/project-model-migration.test.js.map +1 -0
  42. package/dist/services/template-manifest.d.ts.map +1 -1
  43. package/dist/services/template-manifest.js +2 -0
  44. package/dist/services/template-manifest.js.map +1 -1
  45. package/dist/services/transactional-files.d.ts +1 -0
  46. package/dist/services/transactional-files.d.ts.map +1 -1
  47. package/dist/services/transactional-files.js +3 -0
  48. package/dist/services/transactional-files.js.map +1 -1
  49. package/dist/types.d.ts +1 -0
  50. package/dist/types.d.ts.map +1 -1
  51. package/package.json +1 -1
  52. package/templates/.agents/README-ENG.md +88 -32
  53. package/templates/.agents/README.md +57 -30
  54. package/templates/.agents/config/agents/discovery.json +1 -1
  55. package/templates/.agents/config/clients/codex/agents/zaip-agent-orchestrator.toml +1 -1
  56. package/templates/.agents/config/project.yaml +21 -7
  57. package/templates/.agents/dashboard/.zaip-managed.json +184 -112
  58. package/templates/.agents/dashboard/apps/frontend/dist/assets/{CostCalculationGuidePage-D2PL4UOu.js → CostCalculationGuidePage-f4ZGJRg3.js} +1 -1
  59. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-CocoP9CA.js → DashboardHelpDialog-DlN5EMmD.js} +238 -124
  60. package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-D255_hNf.js → PricingSettingsDialog-v9zGRTlk.js} +1 -1
  61. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-BRdoeTWk.js +3 -0
  62. package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-BTFSLQ69.js → TraceabilityWorkspace-B_5u4Xnp.js} +1 -1
  63. package/templates/.agents/dashboard/apps/frontend/dist/assets/{cost-monitor-BsMfGfQi.css → cost-monitor-C2AFYBu_.css} +1 -1
  64. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-D7PrDZy9.js +68 -0
  65. package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-058lag33.js → dashboard-localization-CF7B1Hjn.js} +88 -32
  66. package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-DeFPiN32.js → icons-vendor-Cv3WBFIF.js} +1 -1
  67. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-C4rLXrz_.js +2 -0
  68. package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-BIWcbEAc.js → react-vendor-mHgsmxb6.js} +1 -1
  69. package/templates/.agents/dashboard/apps/frontend/dist/assets/{traceability-fZZL0ohD.js → traceability-B0CPyEVq.js} +1 -1
  70. package/templates/.agents/dashboard/apps/frontend/dist/index.html +6 -6
  71. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  72. package/templates/.agents/dashboard/apps/frontend/src/AppDashboardContent.tsx +11 -1
  73. package/templates/.agents/dashboard/apps/frontend/src/AppLoadingBoundary.tsx +3 -2
  74. package/templates/.agents/dashboard/apps/frontend/src/AppLoadingPanels.tsx +1 -1
  75. package/templates/.agents/dashboard/apps/frontend/src/AppOverlays.tsx +1 -1
  76. package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.tsx +9 -13
  77. package/templates/.agents/dashboard/apps/frontend/src/cost-monitor-population.test.tsx +4 -2
  78. package/templates/.agents/dashboard/apps/frontend/src/cost-period-refresh.test.ts +9 -5
  79. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api-settings.ts +3 -2
  80. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.test.ts +2 -2
  81. package/templates/.agents/dashboard/apps/frontend/src/dashboard-identity.test.ts +3 -3
  82. package/templates/.agents/dashboard/apps/frontend/src/dashboard-identity.ts +1 -1
  83. package/templates/.agents/dashboard/apps/frontend/src/dashboard-localization.test.ts +2 -1
  84. package/templates/.agents/dashboard/apps/frontend/src/operations-period-render.test.ts +40 -3
  85. package/templates/.agents/dashboard/apps/frontend/src/project-settings-model.ts +12 -1
  86. package/templates/.agents/dashboard/apps/frontend/src/project-settings.test.ts +19 -0
  87. package/templates/.agents/dashboard/apps/frontend/src/snapshot-coherence.test.ts +1 -1
  88. package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.test.ts +3 -1
  89. package/templates/.agents/dashboard/apps/frontend/src/use-dashboard-app-model.tsx +14 -23
  90. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  91. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.test.ts +3 -3
  92. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.tsx +2 -3
  93. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostDeveloperAttributionTable.tsx +2 -6
  94. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostGroupsTable.period-values.test.tsx +66 -0
  95. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostGroupsTable.tsx +29 -34
  96. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.embedded.test.ts +11 -0
  97. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.tsx +1 -13
  98. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostPeriodAverageCards.test.tsx +23 -0
  99. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostPeriodAverageCards.tsx +2 -1
  100. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTableDisplay.ts +6 -11
  101. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables-keeps-legacy-codex-identity-fields-blank.test.ts +6 -6
  102. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +10 -12
  103. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-group-page-totals.ts +23 -0
  104. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-group-period-values.tsx +34 -0
  105. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-embedded.css +0 -7
  106. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-formatters.ts +4 -9
  107. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-presentation.ts +2 -3
  108. package/templates/.agents/dashboard/modules/operations/package.json +1 -1
  109. package/templates/.agents/dashboard/modules/operations/src/react/DeveloperAttributionPanel.tsx +2 -12
  110. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.helpers.tsx +2 -2
  111. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.test.ts +1 -6
  112. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.tsx +34 -36
  113. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewCharts.tsx +12 -3
  114. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewTopPanel.tsx +12 -14
  115. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +4 -4
  116. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPageOverview.tsx +23 -4
  117. package/templates/.agents/dashboard/modules/operations/src/react/OverviewCostKpi.tsx +30 -2
  118. package/templates/.agents/dashboard/modules/operations/src/react/TaskDetailsDialog.tsx +2 -13
  119. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkBoard.priority.test.ts +8 -1
  120. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkBoard.tsx +8 -16
  121. package/templates/.agents/dashboard/modules/operations/src/react/WorkColumnState.tsx +34 -0
  122. package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.test.ts +1 -1
  123. package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.ts +1 -1
  124. package/templates/.agents/dashboard/modules/operations/src/react/operations-average-unmeasured.test.ts +10 -0
  125. package/templates/.agents/dashboard/modules/operations/src/react/operations-content-visibility.ts +3 -0
  126. package/templates/.agents/dashboard/modules/operations/src/react/operations-coverage-toast.test.ts +4 -3
  127. package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +12 -1
  128. package/templates/.agents/dashboard/modules/operations/src/react/operations-page-contract.ts +1 -0
  129. package/templates/.agents/dashboard/modules/operations/src/react/operations-skeleton.css +80 -0
  130. package/templates/.agents/dashboard/modules/operations/src/react/operations.css +2 -11
  131. package/templates/.agents/dashboard/modules/operations/src/react/overview-cost-card.test.tsx +36 -0
  132. package/templates/.agents/dashboard/modules/operations/src/react/overview-metric-format.test.ts +11 -0
  133. package/templates/.agents/dashboard/modules/operations/src/react/overview-metric-format.ts +28 -3
  134. package/templates/.agents/dashboard/modules/operations/src/react/overview-metric-stats.ts +44 -0
  135. package/templates/.agents/dashboard/modules/operations/src/react/work-card-label.ts +5 -0
  136. package/templates/.agents/dashboard/modules/operations/src/react/work-column-state.ts +11 -0
  137. package/templates/.agents/dashboard/modules/operations/src/react/work-item-filter.ts +13 -0
  138. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  139. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  140. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  141. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  142. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +157 -157
  143. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +153 -153
  144. package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
  145. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +159 -159
  146. package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.test.ts +31 -0
  147. package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.ts +74 -1
  148. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.ts +1 -1
  149. package/templates/.agents/dashboard/packages/local-runtime/src/server-identity.test.ts +1 -1
  150. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.test.ts +25 -3
  151. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.ts +51 -16
  152. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot.test.ts +1 -1
  153. package/templates/.agents/dashboard/packages/local-runtime/src/server-ui-security.ts +37 -0
  154. package/templates/.agents/dashboard/packages/local-runtime/src/server-workspace.ts +1 -1
  155. package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +11 -33
  156. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-rebuild.ts +12 -13
  157. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-source-fingerprint.test.ts +71 -1
  158. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-source-fingerprint.ts +141 -25
  159. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-worktree-sources.test.ts +60 -0
  160. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-rebuild-fingerprint-options.ts +13 -0
  161. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-launch-page.mjs +26 -2
  162. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-launch-page.test.mjs +5 -0
  163. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  164. package/templates/.agents/dashboard/packages/ui/src/DashboardHeader.test.mjs +5 -0
  165. package/templates/.agents/dashboard/packages/ui/src/DashboardHeader.tsx +4 -4
  166. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  167. package/templates/.agents/dashboard/tests/e2e/playwright.config.ts +4 -0
  168. package/templates/.agents/dashboard/tests/e2e/specs/dashboard-performance-matrix.spec.ts +4 -4
  169. package/templates/.agents/dashboard/tests/e2e/specs/dashboard.spec.ts +1 -1
  170. package/templates/.agents/dashboard/tests/e2e/specs/performance-work-row-identity.ts +6 -0
  171. package/templates/.agents/design/.zaip-managed.json +13 -9
  172. package/templates/.agents/design/apps/catalog/dist/assets/index-DkpQYoyC.js +72 -0
  173. package/templates/.agents/design/apps/catalog/dist/index.html +1 -1
  174. package/templates/.agents/design/apps/catalog/package.json +1 -1
  175. package/templates/.agents/design/apps/catalog/src/components/CostPopulationSpecimen.test.tsx +8 -4
  176. package/templates/.agents/design/apps/catalog/src/components/CostPopulationSpecimen.tsx +10 -3
  177. package/templates/.agents/design/apps/catalog/src/components/DashboardFiltersSpecimen.tsx +0 -15
  178. package/templates/.agents/design/apps/catalog/src/pages/ComponentsPage.tsx +3 -3
  179. package/templates/.agents/design/apps/catalog/src/stories/DashboardFilters.stories.tsx +0 -1
  180. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  181. package/templates/.agents/requirements/autonomous-assurance.md +1 -1
  182. package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
  183. package/templates/.agents/requirements/comparative-audit.md +1 -1
  184. package/templates/.agents/requirements/context-engine.md +1 -1
  185. package/templates/.agents/requirements/cost-observability.md +1 -1
  186. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  187. package/templates/.agents/requirements/data-export.md +1 -1
  188. package/templates/.agents/requirements/design-system.md +1 -1
  189. package/templates/.agents/requirements/execution-engine.md +1 -1
  190. package/templates/.agents/requirements/kanban-dashboard.md +1 -1
  191. package/templates/.agents/requirements/model-orchestration.md +1 -1
  192. package/templates/.agents/requirements/public-distribution.md +1 -1
  193. package/templates/.agents/requirements/software-architecture.md +1 -1
  194. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  195. package/templates/.agents/requirements/work-lifecycle.md +1 -1
  196. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  197. package/templates/.agents/rules/autonomy-decision.md +2 -2
  198. package/templates/.agents/rules/workflow.md +1 -1
  199. package/templates/.agents/runtime/VERSION +1 -1
  200. package/templates/.agents/runtime/bin/zaip.mjs +48 -39
  201. package/templates/.agents/runtime/checksums.sha256 +5 -5
  202. package/templates/.agents/runtime/manifest.json +1 -1
  203. package/templates/.agents/runtime/provenance.json +4 -4
  204. package/templates/.agents/runtime/sbom.cdx.json +1 -1
  205. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/SKILL.md +7 -7
  206. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-fence.mjs +32 -7
  207. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-fence.test.mjs +134 -1
  208. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-lease.mjs +57 -0
  209. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/scheduled-ready-queue-contract.test.mjs +9 -6
  210. package/templates/.agents/skills/zaip-skill-execution/SKILL.md +1 -1
  211. package/templates/.agents/skills/zaip-skill-execution/references/runtime-governance.md +2 -2
  212. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +18 -6
  213. package/templates/.agents/skills/zaip-skill-instalar-agendamento/SKILL.md +2 -2
  214. package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +6 -0
  215. package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +47 -5
  216. package/templates/.agents/zaip-aios/README.md +4 -4
  217. package/templates/.agents/zaip-aios/VERSION +1 -1
  218. package/templates/.agents/zaip-aios/guides/01-primeiros-passos.md +4 -3
  219. package/templates/.agents/zaip-aios/guides/03-tasks.md +5 -4
  220. package/templates/.agents/zaip-aios/guides/04-specs.md +4 -1
  221. package/templates/.agents/zaip-aios/guides/05-prds.md +7 -3
  222. package/templates/.agents/zaip-aios/guides/06-execucao.md +9 -4
  223. package/templates/.agents/zaip-aios/guides/09-agentes-e-squads.md +9 -5
  224. package/templates/.agents/zaip-aios/guides/11-observabilidade-e-custos.md +10 -2
  225. package/templates/.agents/zaip-aios/guides/12-instalacao-e-upgrade.md +10 -5
  226. package/templates/.agents/zaip-aios/guides/13-boas-praticas.md +12 -1
  227. package/templates/.agents/zaip-aios/guides/14-troubleshooting.md +3 -1
  228. package/templates/.agents/zaip-aios/guides/16-lifecycle-e-reconciliacao.md +12 -7
  229. package/templates/.agents/zaip-aios/guides/17-como-o-custo-e-calculado.md +1 -1
  230. package/templates/.agents/zaip-aios/guides/18-catalogo-de-agentes.md +4 -0
  231. package/templates/.agents/zaip-aios/guides/19-assurance-e-autonomia.md +19 -15
  232. package/templates/.agents/zaip-aios/guides/20-instalacao-detalhada.md +12 -8
  233. package/templates/.agents/zaip-aios/guides/21-telemetria-monitor-custos.md +4 -3
  234. package/templates/.agents/zaip-aios/guides/22-fluxos-e-roteamento.md +9 -7
  235. package/templates/.agents/zaip-aios/guides/23-orquestracao-de-modelos.md +38 -22
  236. package/templates/.agents/zaip-aios/guides/24-calculo-de-custos-openai.md +1 -1
  237. package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +14 -5
  238. package/templates/.agents/zaip-aios/guides/27-telemetria-git-native.md +6 -0
  239. package/templates/.agents/zaip-aios/guides/28-lifecycle-completo.md +129 -11
  240. package/templates/template-manifest.json +270 -186
  241. package/templates/tsconfig.base.json +22 -0
  242. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-0f_x2TzJ.js +0 -3
  243. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-zhY2JoLc.js +0 -68
  244. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-Dh95Yodm.js +0 -2
package/README.md CHANGED
@@ -49,9 +49,9 @@ managed upgrade. Start at `.agents/zaip-aios/INDEX.md`; the numbered guides are
49
49
  under `.agents/zaip-aios/guides`. Guide 23 explains model routing; guides 12, 20 and 26
50
50
  cover installation, upgrades and package qualification.
51
51
 
52
- The v3 sources include `autonomy-v1`. New templates use
53
- `autonomy: { version: 1, preset: balanced }` and `execution.runtime: managed`:
54
- PRDs/SPECs use managed dispatch, while standalone Tasks prefer direct execution.
52
+ The v4 candidate includes `autonomy-v1`. New templates use
53
+ `autonomy: { version: 1, preset: balanced }` and `execution.runtime: codex_native`:
54
+ Codex owns native Sub-Runs, including standalone Tasks, without a separate provider process.
55
55
  Legacy configurations without a runtime retain the manual schema default.
56
56
  Installing or saving a preset does not invoke a provider. Installation profiles
57
57
  are separate from autonomy and assurance.
@@ -59,7 +59,7 @@ are separate from autonomy and assurance.
59
59
  | Autonomy preset | Product executions per Task | Replans |
60
60
  | --- | --- | --- |
61
61
  | Essential (`essential`) | 4: 1 initial + 3 repairs | 1, Sol/high; never automatic Astra |
62
- | Balanced (`balanced`) | 10: 1 initial + 9 repairs | 3: Sol/high, Astra/high, Astra/high |
62
+ | Balanced (`balanced`) | 10: 1 initial + 9 repairs | 3: Sol/high, Sol/high, Astra/high |
63
63
  | Persistent (`persistent`, opt-in) | Unlimited | Unlimited |
64
64
 
65
65
  Configure the root `autonomy` block in `.agents/config/project.yaml` or save
@@ -71,7 +71,7 @@ criteria. Persistent may consume credits indefinitely until human cancellation.
71
71
  Standalone principals prefer direct work with the user's selected model/effort.
72
72
  When delegation is necessary, disclose that ZAIP may select different child
73
73
  models/efforts. Essential permits Astra only as the manually selected standalone
74
- principal. In other presets Astra/high may replan from the second plan and
74
+ principal. In other presets Astra/high may replan from the third plan and
75
75
  execute from the third repair block; it does not replace review or finalization.
76
76
 
77
77
  Deterministic quotas require the managed dispatch boundary. Native `spawn_agent`
@@ -1,5 +1,5 @@
1
1
  import { type PublicAgentCatalog } from "./agent-adapters.js";
2
- export declare const ADAPTERS_VERSION = "3.8.0";
2
+ export declare const ADAPTERS_VERSION = "4.0.0";
3
3
  export interface AdapterFile {
4
4
  path: string;
5
5
  content: string;
@@ -6,7 +6,7 @@ import { codexAgentConfig, parsePublicAgentCatalog, publicAgentAdapterFiles, } f
6
6
  import { formatAgentDiscovery, serializeAgentDiscovery } from "./agent-discovery.js";
7
7
  import { CODEX_GITHUB_DEPLOY_RULES, CODEX_SECURITY_RULES } from "./codex-rules.js";
8
8
  import { applyTransactionalChanges, assertSafeDestination } from "./transactional-files.js";
9
- export const ADAPTERS_VERSION = "3.8.0";
9
+ export const ADAPTERS_VERSION = "4.0.0";
10
10
  const ROOT_GUIDANCE = `# ZAIP-AIOS
11
11
 
12
12
  Read \`.agents/config/project.yaml\` first. Apply ZAIP only for literal boolean \`zaip.enabled: true\`, except framework maintenance or \`zaip enable\`. \`AGENTS.md\` is a bootstrap; canonical guidance lives in \`.agents/\`.
@@ -387,7 +387,7 @@ function specialistBoundaries(agent) {
387
387
  "Keep orchestrator and delegated Run telemetry distinct; preserve observed duration, tokens, and cost as unavailable when not captured.",
388
388
  "Coordinate bounded independent branches, then wait for terminal events; do not poll delegated agents or implement Task work directly.",
389
389
  "Load .agents/rules/specialist-routing.md before selecting commercial specialists; it defines the primary-output decision matrix and minimal-executor invariant.",
390
- "Load RULE-AUTONOMY-DECISION for a frozen autonomy-v1 Task: essential forbids automatic Astra, balanced uses Sol/high then two Astra/high replans (Astra executor eligible in the third block), persistent has no total cap. Legacy Tasks alone follow RULE-ASTRA-DIAGNOSTIC and its diagnostic-only quota. Never infer deterministic enforcement from this prompt: the host must reserve and validate the effective dispatch before calling a model.",
390
+ "Load RULE-AUTONOMY-DECISION for a frozen autonomy-v1 Task: essential forbids automatic Astra, balanced uses Sol/high, Sol/high, then Astra/high replans (Astra executor eligible in the third block), persistent has no total cap. Legacy Tasks alone follow RULE-ASTRA-DIAGNOSTIC and its diagnostic-only quota. Never infer deterministic enforcement from this prompt: the host must reserve and validate the effective dispatch before calling a model.",
391
391
  ];
392
392
  default:
393
393
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"agent-adapters.js","sourceRoot":"","sources":["../../src/services/agent-adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-adapters.js","sourceRoot":"","sources":["../../src/services/agent-adapters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare function planBackupIgnore(root: string): Promise<{
2
+ original: Buffer | null;
3
+ next: Buffer | null;
4
+ }>;
5
+ /** The rule must be committed before an upgrade can materialize a backup directory. */
6
+ export declare function ensureBackupIgnored(root: string, original: Buffer | null, planned: Buffer | null): Promise<void>;
7
+ export declare function trackedBackupWarning(root: string): Promise<string | null>;
8
+ export declare function assertBackupIgnored(root: string, backupPath: string): Promise<void>;
9
+ //# sourceMappingURL=backup-gitignore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup-gitignore.d.ts","sourceRoot":"","sources":["../../src/services/backup-gitignore.ts"],"names":[],"mappings":"AAUA,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAkB3D;AAED,uFAAuF;AACvF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAa/E;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAczF"}
@@ -0,0 +1,66 @@
1
+ import { execFile } from "node:child_process";
2
+ import { readFile } from "node:fs/promises";
3
+ import { basename } from "node:path";
4
+ import { promisify } from "node:util";
5
+ import { applyTransactionalWrites, assertSafeDestination } from "./transactional-files.js";
6
+ const execFileAsync = promisify(execFile);
7
+ const ignorePath = ".gitignore";
8
+ const backupRule = ".agents.backup-*/";
9
+ export async function planBackupIgnore(root) {
10
+ await assertSafeDestination(root, ignorePath);
11
+ const original = await readFile(`${root}/${ignorePath}`).catch((error) => {
12
+ if (error instanceof Error && "code" in error && error.code === "ENOENT")
13
+ return null;
14
+ throw error;
15
+ });
16
+ const text = original?.toString("utf8") ?? "";
17
+ if (text.split(/\r?\n/u).some((line) => [backupRule, `/${backupRule}`].includes(line.trimEnd())))
18
+ return { original, next: null };
19
+ const newline = text.includes("\r\n") ? "\r\n" : "\n";
20
+ const prefix = original?.length && !text.endsWith("\n") ? newline : "";
21
+ return {
22
+ original,
23
+ next: Buffer.concat([
24
+ original ?? Buffer.alloc(0),
25
+ Buffer.from(`${prefix}${backupRule}${newline}`),
26
+ ]),
27
+ };
28
+ }
29
+ /** The rule must be committed before an upgrade can materialize a backup directory. */
30
+ export async function ensureBackupIgnored(root, original, planned) {
31
+ if (planned === null)
32
+ return;
33
+ const current = await readFile(`${root}/${ignorePath}`).catch((error) => {
34
+ if (error instanceof Error && "code" in error && error.code === "ENOENT")
35
+ return null;
36
+ throw error;
37
+ });
38
+ if (current === null ? original !== null : original === null || !current.equals(original))
39
+ throw new Error(".gitignore changed while preparing the backup; retry init");
40
+ await applyTransactionalWrites(root, [{ path: ignorePath, content: planned }]);
41
+ }
42
+ export async function trackedBackupWarning(root) {
43
+ const { stdout } = await execFileAsync("git", ["ls-files", "-z", "--", ".agents.backup-*"], {
44
+ cwd: root,
45
+ encoding: "buffer",
46
+ maxBuffer: 8 * 1024 * 1024,
47
+ });
48
+ const tracked = stdout
49
+ .toString("utf8")
50
+ .split("\0")
51
+ .filter((path) => /^\.agents\.backup-[^/]+\//u.test(path));
52
+ return tracked.length === 0
53
+ ? null
54
+ : `${tracked.length} arquivo(s) em .agents.backup-* já estão versionados; a regra no .gitignore não os remove do índice. Revise e desindexe-os manualmente, se apropriado.`;
55
+ }
56
+ export async function assertBackupIgnored(root, backupPath) {
57
+ try {
58
+ await execFileAsync("git", ["check-ignore", "--quiet", "--no-index", "--", `${basename(backupPath)}/`], {
59
+ cwd: root,
60
+ });
61
+ }
62
+ catch {
63
+ throw new Error(`Backup ${basename(backupPath)} is not ignored by Git; review conflicting ignore rules before retrying init`);
64
+ }
65
+ }
66
+ //# sourceMappingURL=backup-gitignore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup-gitignore.js","sourceRoot":"","sources":["../../src/services/backup-gitignore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=backup-gitignore.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup-gitignore.test.d.ts","sourceRoot":"","sources":["../../src/services/backup-gitignore.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import { execFile } from "node:child_process";
2
+ import { mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
3
+ import { tmpdir } from "node:os";
4
+ import { join } from "node:path";
5
+ import { promisify } from "node:util";
6
+ import { afterEach, expect, it } from "vitest";
7
+ import { assertBackupIgnored, ensureBackupIgnored, planBackupIgnore } from "./backup-gitignore.js";
8
+ const exec = promisify(execFile);
9
+ const roots = [];
10
+ afterEach(async () => {
11
+ await Promise.all(roots.splice(0).map((root) => rm(root, { recursive: true, force: true })));
12
+ });
13
+ it("appends only the backup rule and recognizes it before creating the directory", async () => {
14
+ const root = await mkdtemp(join(tmpdir(), "zaip-ignore-"));
15
+ roots.push(root);
16
+ await exec("git", ["init", "-q", root]);
17
+ const existing = Buffer.from("# consumer\r\n!important.txt", "utf8");
18
+ await writeFile(join(root, ".gitignore"), existing);
19
+ const first = await planBackupIgnore(root);
20
+ await ensureBackupIgnored(root, first.original, first.next);
21
+ expect(await readFile(join(root, ".gitignore"), "utf8")).toBe("# consumer\r\n!important.txt\r\n.agents.backup-*/\r\n");
22
+ await assertBackupIgnored(root, join(root, ".agents.backup-new"));
23
+ expect((await planBackupIgnore(root)).next).toBeNull();
24
+ await writeFile(join(root, ".gitignore"), ".agents.backup-*/ \n");
25
+ expect((await planBackupIgnore(root)).next).toBeNull();
26
+ });
27
+ //# sourceMappingURL=backup-gitignore.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup-gitignore.test.js","sourceRoot":"","sources":["../../src/services/backup-gitignore.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEnG,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,KAAK,GAAa,EAAE,CAAC;AAC3B,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/F,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;IAC5F,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAC3D,uDAAuD,CACxD,CAAC;IACF,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAClE,MAAM,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IACvD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,wBAAwB,CAAC,CAAC;IACpE,MAAM,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AACzD,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex-conversation-lifecycle-hook.d.ts","sourceRoot":"","sources":["../../src/services/codex-conversation-lifecycle-hook.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,QAsM7C,CAAC"}
1
+ {"version":3,"file":"codex-conversation-lifecycle-hook.d.ts","sourceRoot":"","sources":["../../src/services/codex-conversation-lifecycle-hook.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,QA8M7C,CAAC"}
@@ -18,7 +18,7 @@ let receipt, receiptPath, lease;
18
18
  function reply(pending = false) {
19
19
  const result = { hookSpecificOutput: { hookEventName: "Stop" } };
20
20
  // One continuation at most. Persistent failures remain an explicit durable pending event.
21
- if (pending && event?.stop_hook_active !== true) Object.assign(result, { decision: "block", reason: receipt?.error === "owned_task_active" ? "ZAIP owned Task is still executing or verifying. Continue this turn, inspect every launched process by fresh PID/session status, collect terminal exit and output, and resume from any failure. Never claim a process is still running from stale state." : "ZAIP closure or telemetry is pending. Retry this exact turn using its durable Stop receipt; do not report Task completion before canonical closure." });
21
+ if (pending && event?.stop_hook_active !== true) Object.assign(result, { decision: "block", reason: receipt?.error === "owned_task_active" ? "ZAIP Task remains marked executing or verifying after Stop reconciliation; this does not prove a live worker. Inspect every launched process by fresh PID/session status, collect terminal exit and output, and either recover the lifecycle or report the concrete blocker. Never claim a process is still running from stale state." : receipt?.error === "owned_task_recoverable" ? "ZAIP Task " + receipt.recovery.task_id + " has a frozen recovery ledger. Observed attempts=" + receipt.recovery.progress.attempts + ", replans=" + (receipt.recovery.progress.total_replans ?? "unknown") + "; next ledger operation=" + receipt.recovery.operation + ". Evaluate the concrete blocker and perform only this authorized canonical operation in this turn. The hook did not dispatch an agent or prove the operation completed. Do not claim three replans without three observed ledger entries." : receipt?.error === "owned_task_unmetered" ? "ZAIP Task " + receipt.recovery.task_id + " is blocked without a frozen recovery ledger. The Stop hook cannot guarantee three replans or dispatch a model. Check the legacy policy and observed attempts, then report the concrete blocker and the missing enforcement honestly; never claim an unobserved replan." : "ZAIP closure or telemetry is pending. Retry this exact turn using its durable Stop receipt; do not report Task completion before canonical closure." });
22
22
  writeSync(1, JSON.stringify(result) + "\n");
23
23
  }
24
24
  async function save(path, value) {
@@ -172,12 +172,6 @@ try {
172
172
  const run = intake?.run?.run_id;
173
173
  if (typeof run !== "string" || (intake.task !== null && typeof intake.task?.id !== "string")) throw new Error("start_pending");
174
174
  receipt.run_id = run; await save(receiptPath, receipt);
175
- if (intake.task !== null && status === "completed" && event?.stop_hook_active !== true) {
176
- const shown = await call(cli, ["task", "show", intake.task.id], text(event.transcript_path));
177
- const taskStatus = parse(shown.out)?.task?.status;
178
- if (shown.code !== 0 || typeof taskStatus !== "string") throw new Error("task_state_pending");
179
- if (["executing", "verifying"].includes(taskStatus)) throw new Error("owned_task_active");
180
- }
181
175
  const result = await call(cli, ["subagent", "reconcile-stop", "--session", session, "--turn", turn], text(event.transcript_path));
182
176
  const outcome = parse(result.out);
183
177
  const terminalStates = ["completed", "blocked", "failed", "cancelled"];
@@ -185,6 +179,20 @@ try {
185
179
  ? outcome?.run?.id === run && terminalStates.includes(outcome.run.status) && typeof outcome.run.finished_at === "string"
186
180
  : outcome?.status === "closed" && outcome.parent_run_id === run && outcome.reconciliation?.tasks?.some(task => task.id === intake.task.id && terminalStates.includes(task.status));
187
181
  if (result.code !== 0 || !closed) throw new Error("closure_pending");
182
+ if (intake.task !== null && status === "completed") {
183
+ const shown = await call(cli, ["task", "recovery-status", intake.task.id], text(event.transcript_path));
184
+ const recovery = parse(shown.out);
185
+ if (shown.code !== 0 || recovery?.task_id !== intake.task.id || typeof recovery.task_status !== "string") throw new Error("task_state_pending");
186
+ if (["executing", "verifying"].includes(recovery.task_status)) throw new Error("owned_task_active");
187
+ if (["blocked", "failed"].includes(recovery.task_status) && recovery.policy === "legacy_or_unmigrated" && recovery.operation === null) {
188
+ receipt.recovery = { task_id: intake.task.id };
189
+ throw new Error("owned_task_unmetered");
190
+ }
191
+ if (["blocked", "failed"].includes(recovery.task_status) && ["attempt", "replan", "reconcile"].includes(recovery.operation) && recovery.policy === "frozen_autonomy_v1" && Number.isSafeInteger(recovery.progress?.attempts) && (recovery.progress?.total_replans === null || Number.isSafeInteger(recovery.progress?.total_replans))) {
192
+ receipt.recovery = { task_id: intake.task.id, operation: recovery.operation, progress: { attempts: recovery.progress.attempts, total_replans: recovery.progress.total_replans } };
193
+ throw new Error("owned_task_recoverable");
194
+ }
195
+ }
188
196
  if (intake.task !== null) {
189
197
  const usage = await call(cli, ["run", "usage", run, "--disable-codex-raw"], text(event.transcript_path));
190
198
  if (usage.code !== 0 || parse(usage.out) === null) throw new Error("telemetry_pending");
@@ -1 +1 @@
1
- {"version":3,"file":"codex-conversation-lifecycle-hook.js","sourceRoot":"","sources":["../../src/services/codex-conversation-lifecycle-hook.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsM1D,CAAC"}
1
+ {"version":3,"file":"codex-conversation-lifecycle-hook.js","sourceRoot":"","sources":["../../src/services/codex-conversation-lifecycle-hook.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8M1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"install-agents-template.d.ts","sourceRoot":"","sources":["../../src/services/install-agents-template.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAwD3D,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CA8O1F"}
1
+ {"version":3,"file":"install-agents-template.d.ts","sourceRoot":"","sources":["../../src/services/install-agents-template.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA0D3D,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAqR1F"}
@@ -1,16 +1,18 @@
1
1
  import { constants } from "node:fs";
2
2
  import { access, chmod, cp, lstat, mkdir, readdir, readFile, rmdir, writeFile, } from "node:fs/promises";
3
- import { basename, dirname, join, relative, resolve } from "node:path";
4
- import { parse as parseYaml } from "yaml";
3
+ import { basename, dirname, join, resolve } from "node:path";
5
4
  import { adapterFiles, isManagedAdapter } from "./adapters.js";
6
5
  import { parsePublicAgentCatalog, publicAgentAdapterFiles, } from "./agent-adapters.js";
7
6
  import { AGENT_CATALOG_PATH, isUnmodifiedLegacyCatalog } from "./agent-catalog-upgrade.js";
7
+ import { assertBackupIgnored, ensureBackupIgnored, planBackupIgnore, trackedBackupWarning, } from "./backup-gitignore.js";
8
8
  import { findProjectRoot } from "./find-project-root.js";
9
9
  import { reconcileGlobalCodexConfig } from "./global-codex-config.js";
10
10
  import { PROJECT_OVERVIEW_ARTIFACTS, retiredTemplatePaths } from "./install-template-policy.js";
11
- import { applyLegacyLocalStateMigration, planLegacyLocalStateMigration, } from "./local-state-migration.js";
11
+ import { hasV2Layout, planV2RecordsMigration, removeEmptyLegacyDataDirectories, } from "./legacy-records-migration.js";
12
+ import { applyLegacyLocalStateWithTemplateTransaction, planLegacyLocalStateMigration, } from "./local-state-migration.js";
13
+ import { migratePersistedProjectModels } from "./project-model-migration.js";
12
14
  import { loadTemplate, sha256, validateTemplatePath, } from "./template-manifest.js";
13
- import { applyTransactionalChanges, assertSafeDestination, } from "./transactional-files.js";
15
+ import { assertSafeDestination } from "./transactional-files.js";
14
16
  const FLAT_FRAMEWORK_RULES = new Set([
15
17
  ".agents/rules/core.md",
16
18
  ".agents/rules/workflow.md",
@@ -65,6 +67,7 @@ export async function installAgentsTemplate(options = {}) {
65
67
  const writes = [];
66
68
  const deletes = [];
67
69
  const currentFiles = new Map();
70
+ let projectModelMigration = false;
68
71
  const inspected = await mapWithConcurrency(rendered, 16, async (file) => {
69
72
  if (file.kind === "template")
70
73
  validateTemplatePath(file.path);
@@ -87,7 +90,15 @@ export async function installAgentsTemplate(options = {}) {
87
90
  // Project configuration belongs to the consumer after first install. Its selected
88
91
  // installer profile is deliberately persisted there and must survive upgrades.
89
92
  if (file.path === ".agents/config/project.yaml") {
90
- existing.push(file.path);
93
+ const source = new TextDecoder("utf-8", { fatal: true }).decode(current);
94
+ const migrated = migratePersistedProjectModels(source);
95
+ if (migrated === null)
96
+ existing.push(file.path);
97
+ else {
98
+ projectModelMigration = true;
99
+ overwritten.push(file.path);
100
+ writes.push({ path: file.path, content: migrated, kind: "template" });
101
+ }
91
102
  continue;
92
103
  }
93
104
  // Overview artifacts establish only that the consumer's project area exists. They are
@@ -173,11 +184,14 @@ export async function installAgentsTemplate(options = {}) {
173
184
  if (frameworkLockWrite >= 0) {
174
185
  writes.push(writes.splice(frameworkLockWrite, 1)[0]);
175
186
  }
176
- const backupPath = options.force && currentFiles.size > 0
187
+ const backupPath = (options.force && currentFiles.size > 0) || projectModelMigration
177
188
  ? await availableBackupPath(project.root, options.now)
178
189
  : null;
190
+ const warnings = project.gitRootFound && backupPath !== null
191
+ ? [await trackedBackupWarning(project.root)].filter((warning) => warning !== null)
192
+ : [];
179
193
  if (options.dryRun || ownershipConflicts.length > 0 || (conflicts.length > 0 && !options.force)) {
180
- return result(project, created, existing, conflicts, overwritten, backupPath, options.dryRun ?? false, false);
194
+ return result(project, created, existing, conflicts, overwritten, backupPath, options.dryRun ?? false, false, warnings);
181
195
  }
182
196
  if (options.force && backupPath !== null && options.yes !== true) {
183
197
  if (options.confirmForce === undefined) {
@@ -187,10 +201,16 @@ export async function installAgentsTemplate(options = {}) {
187
201
  if (!confirmed)
188
202
  throw new Error("Installation cancelled by user");
189
203
  }
190
- if (backupPath !== null)
204
+ if (backupPath !== null) {
205
+ const ignore = await planBackupIgnore(project.root);
206
+ if (ignore.original !== null && ignore.next !== null)
207
+ currentFiles.set(".gitignore", ignore.original);
208
+ await ensureBackupIgnored(project.root, ignore.original, ignore.next);
209
+ if (project.gitRootFound)
210
+ await assertBackupIgnored(project.root, backupPath);
191
211
  await createBackup(project.root, backupPath, currentFiles);
192
- await applyLegacyLocalStateMigration(localStateMigration);
193
- await applyTransactionalChanges(project.root, writes, deletes, options.failAfterWrites, legacyRecordsMigration.deletes.length > 0);
212
+ }
213
+ await applyLegacyLocalStateWithTemplateTransaction(localStateMigration, project.root, writes, deletes, options.failAfterWrites, legacyRecordsMigration.deletes.length > 0, warnings);
194
214
  await removeEmptyLegacyDataDirectories(project.root, hasV2Layout(currentLock ?? ""));
195
215
  // Empty retired directories would still be discovered as skills by validators.
196
216
  for (const path of [
@@ -199,8 +219,7 @@ export async function installAgentsTemplate(options = {}) {
199
219
  ".codex/skills/zaip-skill-github-npm-deploy",
200
220
  ".claude/skills/zaip-skill-github-npm-deploy",
201
221
  ]) {
202
- // Ancestors were checked with the retired file paths before the transaction.
203
- // rmdir is deliberately non-recursive, preserving any consumer-owned contents.
222
+ // Ancestors were checked earlier; non-recursive rmdir preserves consumer content.
204
223
  const info = await lstat(resolve(project.root, path)).catch((error) => {
205
224
  if (isNotFound(error))
206
225
  return null;
@@ -215,128 +234,24 @@ export async function installAgentsTemplate(options = {}) {
215
234
  throw error;
216
235
  });
217
236
  }
218
- await ensureUnixDashboardLaunchersExecutable(project.root);
237
+ if (process.platform !== "win32") {
238
+ for (const path of [
239
+ ".agents/dashboard/zaip-dashboard-linux.sh",
240
+ ".agents/dashboard/zaip-dashboard-mac.command",
241
+ ]) {
242
+ if (renderedPaths.has(path))
243
+ await chmod(resolve(project.root, path), 0o755);
244
+ }
245
+ }
219
246
  const globalCodexConfig = !(options.installGlobalCodexConfig ?? options.templateDirectory === undefined) ||
220
247
  agentCatalog === undefined
221
248
  ? undefined
222
249
  : await reconcileGlobalCodexConfig(options.codexHome, join(project.root, ".agents", "config", "agents", "catalog.yaml"));
223
250
  return {
224
- ...result(project, created, existing, conflicts, overwritten, backupPath, false, true),
251
+ ...result(project, created, existing, conflicts, overwritten, backupPath, false, true, warnings),
225
252
  ...(globalCodexConfig === undefined ? {} : { globalCodexConfig }),
226
253
  };
227
254
  }
228
- async function planV2RecordsMigration(root, frameworkLock) {
229
- if (frameworkLock === null || !hasV2Layout(frameworkLock))
230
- return { writes: [], deletes: [], created: [] };
231
- const legacyRoot = resolve(root, ".agents/data");
232
- const legacyInfo = await lstat(legacyRoot).catch((error) => isNotFound(error) ? null : Promise.reject(error));
233
- if (legacyInfo === null)
234
- return { writes: [], deletes: [], created: [] };
235
- if (legacyInfo.isSymbolicLink() || !legacyInfo.isDirectory())
236
- throw new Error("Legacy .agents/data must be a real directory before migration");
237
- const destinations = new Map();
238
- const writes = [];
239
- const deletes = [];
240
- const created = [];
241
- for (const source of await legacyDataFiles(legacyRoot, root)) {
242
- const relativeSource = relative(root, source).replaceAll("\\", "/");
243
- const content = await readFile(source);
244
- if (/^\.agents\/data\/(?:prds|specs|changes|tasks|executions|runs)\/\.gitkeep$/.test(relativeSource) &&
245
- content.byteLength === 0) {
246
- deletes.push({ path: relativeSource, expectedContent: content });
247
- continue;
248
- }
249
- const target = v3RecordPath(relativeSource);
250
- const previous = destinations.get(target.toLowerCase());
251
- if (previous !== undefined && !previous.equals(content))
252
- throw new Error(`Legacy V2 records collide at ${target}`);
253
- destinations.set(target.toLowerCase(), content);
254
- const current = await readFile(resolve(root, target)).catch((error) => isNotFound(error) ? null : Promise.reject(error));
255
- if (current !== null && !current.equals(content))
256
- throw new Error(`Legacy V2 record conflicts with active record: ${target}`);
257
- if (current === null && previous === undefined) {
258
- writes.push({ path: target, content, kind: "template" });
259
- created.push(target);
260
- }
261
- const archive = `.local/backups/zaip-layout-v2-to-v3/${relativeSource}`;
262
- const archived = await readFile(resolve(root, archive)).catch((error) => isNotFound(error) ? null : Promise.reject(error));
263
- if (archived !== null && !archived.equals(content))
264
- throw new Error(`Legacy V2 archive conflicts with source: ${archive}`);
265
- if (archived === null)
266
- writes.push({ path: archive, content, kind: "template" });
267
- deletes.push({ path: relativeSource, expectedContent: content });
268
- }
269
- return { writes, deletes, created };
270
- }
271
- function hasV2Layout(frameworkLock) {
272
- const parsed = parseYaml(frameworkLock);
273
- return (typeof parsed === "object" &&
274
- parsed !== null &&
275
- "layout" in parsed &&
276
- typeof parsed.layout === "object" &&
277
- parsed.layout !== null &&
278
- "version" in parsed.layout &&
279
- parsed.layout.version === 2);
280
- }
281
- async function legacyDataFiles(directory, root) {
282
- const files = [];
283
- for (const entry of await readdir(directory, { withFileTypes: true })) {
284
- const path = join(directory, entry.name);
285
- if (entry.isSymbolicLink())
286
- throw new Error(`Legacy .agents/data contains a symlink: ${relative(root, path)}`);
287
- if (entry.isDirectory())
288
- files.push(...(await legacyDataFiles(path, root)));
289
- else if (entry.isFile())
290
- files.push(path);
291
- else
292
- throw new Error(`Unsupported legacy .agents/data entry: ${relative(root, path)}`);
293
- }
294
- return files.sort();
295
- }
296
- function v3RecordPath(path) {
297
- const parts = path.split("/");
298
- if (parts.length < 7 ||
299
- parts[0] !== ".agents" ||
300
- parts[1] !== "data" ||
301
- !new Set(["prds", "specs", "changes", "tasks", "executions", "runs"]).has(parts[2] ?? "") ||
302
- !/^\d{4}$/.test(parts[3] ?? "") ||
303
- !/^\d{2}$/.test(parts[4] ?? "") ||
304
- !/^\d{2}$/.test(parts[5] ?? ""))
305
- throw new Error(`Unsupported legacy V2 record path: ${path}`);
306
- return [".agents", "records", parts[2], parts[3], parts[4], ...parts.slice(6)].join("/");
307
- }
308
- async function removeEmptyLegacyDataDirectories(root, migrated) {
309
- if (!migrated)
310
- return;
311
- await removeEmptyDirectory(resolve(root, ".agents/data"), root);
312
- }
313
- async function removeEmptyDirectory(directory, root) {
314
- const info = await lstat(directory).catch((error) => isNotFound(error) ? null : Promise.reject(error));
315
- if (info === null)
316
- return;
317
- if (info.isSymbolicLink() || !info.isDirectory())
318
- throw new Error(`Legacy data cleanup found unsafe path: ${relative(root, directory)}`);
319
- for (const entry of await readdir(directory, { withFileTypes: true })) {
320
- if (!entry.isDirectory())
321
- continue;
322
- await removeEmptyDirectory(join(directory, entry.name), root);
323
- }
324
- await rmdir(directory).catch((error) => {
325
- if (error instanceof Error && "code" in error && error.code === "ENOTEMPTY")
326
- return;
327
- throw error;
328
- });
329
- }
330
- async function ensureUnixDashboardLaunchersExecutable(root) {
331
- if (process.platform === "win32")
332
- return;
333
- for (const path of [
334
- ".agents/dashboard/zaip-dashboard-linux.sh",
335
- ".agents/dashboard/zaip-dashboard-mac.command",
336
- ]) {
337
- await chmod(resolve(root, path), 0o755);
338
- }
339
- }
340
255
  function templateAgentCatalog(files) {
341
256
  const source = files.find((file) => file.path === ".agents/config/agents/catalog.yaml")?.content;
342
257
  return typeof source === "string" ? parsePublicAgentCatalog(source) : undefined;
@@ -515,7 +430,7 @@ async function mapWithConcurrency(values, concurrency, callback) {
515
430
  function isNotFound(error) {
516
431
  return error instanceof Error && "code" in error && error.code === "ENOENT";
517
432
  }
518
- function result(project, created, existing, conflicts, overwritten, backupPath, dryRun, applied) {
433
+ function result(project, created, existing, conflicts, overwritten, backupPath, dryRun, applied, warnings = []) {
519
434
  return {
520
435
  ...project,
521
436
  created: [...created].sort(),
@@ -525,6 +440,7 @@ function result(project, created, existing, conflicts, overwritten, backupPath,
525
440
  backupPath,
526
441
  dryRun,
527
442
  applied,
443
+ warnings,
528
444
  };
529
445
  }
530
446
  //# sourceMappingURL=install-agents-template.js.map