agentera 3.0.0-dev.25 → 3.0.0-dev.27

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 (495) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +29 -23
  3. package/bundle/CHANGELOG.md +18 -25
  4. package/bundle/README.md +13 -34
  5. package/bundle/UPGRADE.md +71 -165
  6. package/bundle/references/adapters/package-manifest-interface-model.yaml +40 -241
  7. package/bundle/references/adapters/package-registry.yaml +0 -145
  8. package/bundle/references/adapters/package-surface-characterization.md +22 -42
  9. package/bundle/references/adapters/runtime-lifecycle-adapters.yaml +5 -219
  10. package/bundle/references/adapters/runtime-lifecycle-authority.yaml +2 -29
  11. package/bundle/references/adapters/runtime-lifecycle-operation-contract.yaml +1 -1
  12. package/bundle/references/analysis/analytics-boundary-proportional-2026-07-20.yaml +74 -0
  13. package/bundle/references/analysis/benchmark.md +11 -0
  14. package/bundle/references/analysis/evidence/analytics-boundary-proportional-2026-07-20/source-focused-1.json.gz +0 -0
  15. package/bundle/references/analysis/evidence/analytics-boundary-proportional-2026-07-20/source-focused-2.json.gz +0 -0
  16. package/bundle/references/analysis/evidence/analytics-boundary-proportional-2026-07-20/source-focused-3.json.gz +0 -0
  17. package/bundle/references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-1.json.gz +0 -0
  18. package/bundle/references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-2.json.gz +0 -0
  19. package/bundle/references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-3.json.gz +0 -0
  20. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/precommit-cli-route.log.gz +0 -0
  21. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/precommit-cli.log.gz +0 -0
  22. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/precommit-documentation.log.gz +0 -0
  23. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/recompute.mjs +98 -0
  24. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/source-1.json.gz +0 -0
  25. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/source-2.json.gz +0 -0
  26. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/source-3.json.gz +0 -0
  27. package/bundle/references/analysis/migration-pagination-proportional-2026-07-20.yaml +64 -0
  28. package/bundle/references/analysis/verification-baseline-2026-07-20.yaml +313 -0
  29. package/bundle/references/analysis/verification-final-proof-2026-07-21.yaml +340 -0
  30. package/bundle/references/analysis/verification-policy.yaml +142 -0
  31. package/bundle/references/analysis/worker-policy-2026-07-21.yaml +207 -0
  32. package/bundle/references/artifacts/state-storage-authority.yaml +48 -448
  33. package/bundle/references/cli/agent-ready-state-contract.yaml +9 -9
  34. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +3 -4
  35. package/bundle/references/cli/bundle-skill-vocabulary.yaml +9 -18
  36. package/bundle/references/cli/capability-tool-classification.yaml +2 -2
  37. package/bundle/references/cli/prime-consumer-compatibility.yaml +86 -112
  38. package/bundle/references/cli/routing-execution-vocabulary.yaml +4 -22
  39. package/bundle/references/cli/upgrade-repair-wording.md +8 -28
  40. package/bundle/references/cli/v3-handoff-manifest.schema.yaml +2 -3
  41. package/bundle/references/cli/vocabulary.md +18 -23
  42. package/bundle/references/meta/documentation-inventory.md +3 -1
  43. package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +3 -2
  44. package/bundle/skills/agentera/capabilities/orchestrate/schemas/exit.yaml +1 -1
  45. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +3 -11
  46. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +23 -5
  47. package/dist/analytics/extractCorpus/cli.js.map +1 -1
  48. package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -1
  49. package/dist/analytics/extractCorpus/core.js.map +1 -1
  50. package/dist/analytics/extractCorpus/corpus.js.map +1 -1
  51. package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -1
  52. package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -1
  53. package/dist/analytics/extractCorpus/evidenceTiers.js.map +1 -1
  54. package/dist/analytics/extractCorpus/extractCorpusParity.js +1 -1
  55. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -1
  56. package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -1
  57. package/dist/analytics/extractCorpus/index.js.map +1 -1
  58. package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -1
  59. package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -1
  60. package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -1
  61. package/dist/analytics/extractCorpus/tierReader.js.map +1 -1
  62. package/dist/analytics/extractCorpus.js.map +1 -1
  63. package/dist/analytics/profileSignals.js.map +1 -1
  64. package/dist/analytics/usageStats.js.map +1 -1
  65. package/dist/bin/agentera.js.map +1 -1
  66. package/dist/capabilities/audit/instructions.js.map +1 -1
  67. package/dist/capabilities/build/instructions.js.map +1 -1
  68. package/dist/capabilities/design/instructions.js.map +1 -1
  69. package/dist/capabilities/discuss/instructions.js.map +1 -1
  70. package/dist/capabilities/document/instructions.js.map +1 -1
  71. package/dist/capabilities/index.js.map +1 -1
  72. package/dist/capabilities/optimize/instructions.js.map +1 -1
  73. package/dist/capabilities/orchestrate/instructions.js +1 -1
  74. package/dist/capabilities/orchestrate/instructions.js.map +1 -1
  75. package/dist/capabilities/plan/instructions.js.map +1 -1
  76. package/dist/capabilities/profile/instructions.js.map +1 -1
  77. package/dist/capabilities/research/instructions.js.map +1 -1
  78. package/dist/capabilities/status/instructions.js.map +1 -1
  79. package/dist/capabilities/status/startupInstructions.js.map +1 -1
  80. package/dist/capabilities/vision/instructions.js.map +1 -1
  81. package/dist/cli/appContext.js.map +1 -1
  82. package/dist/cli/argvalidate.js.map +1 -1
  83. package/dist/cli/capabilityContext/benchmark.js.map +1 -1
  84. package/dist/cli/capabilityContext/bespoke.js +8 -2
  85. package/dist/cli/capabilityContext/bespoke.js.map +1 -1
  86. package/dist/cli/capabilityContext/build.js.map +1 -1
  87. package/dist/cli/capabilityContext/closeout.js +3 -3
  88. package/dist/cli/capabilityContext/closeout.js.map +1 -1
  89. package/dist/cli/capabilityContext/contract.js.map +1 -1
  90. package/dist/cli/capabilityContext/evidence.js +52 -40
  91. package/dist/cli/capabilityContext/evidence.js.map +1 -1
  92. package/dist/cli/capabilityContext/index.js.map +1 -1
  93. package/dist/cli/capabilityContext/orchestration.js +15 -5
  94. package/dist/cli/capabilityContext/orchestration.js.map +1 -1
  95. package/dist/cli/capabilityContext/planState.js +1 -1
  96. package/dist/cli/capabilityContext/planState.js.map +1 -1
  97. package/dist/cli/capabilityContext/progress.js.map +1 -1
  98. package/dist/cli/capabilityContext/shared.js.map +1 -1
  99. package/dist/cli/capabilityContext/slim.js +16 -3
  100. package/dist/cli/capabilityContext/slim.js.map +1 -1
  101. package/dist/cli/capabilityContext/startup.js +4 -1
  102. package/dist/cli/capabilityContext/startup.js.map +1 -1
  103. package/dist/cli/capabilityContext/types.js.map +1 -1
  104. package/dist/cli/capabilityContext.js.map +1 -1
  105. package/dist/cli/commands/appHome.js.map +1 -1
  106. package/dist/cli/commands/capability.js.map +1 -1
  107. package/dist/cli/commands/compact.js.map +1 -1
  108. package/dist/cli/commands/doctor.js +6 -64
  109. package/dist/cli/commands/doctor.js.map +1 -1
  110. package/dist/cli/commands/durability.js +12 -48
  111. package/dist/cli/commands/durability.js.map +1 -1
  112. package/dist/cli/commands/entityMigrate.js.map +1 -1
  113. package/dist/cli/commands/lint.js.map +1 -1
  114. package/dist/cli/commands/prime/briefOrientation.js +25 -24
  115. package/dist/cli/commands/prime/briefOrientation.js.map +1 -1
  116. package/dist/cli/commands/prime/bundleStatus.js +8 -2
  117. package/dist/cli/commands/prime/bundleStatus.js.map +1 -1
  118. package/dist/cli/commands/prime/collectEntityOrientation.js +76 -24
  119. package/dist/cli/commands/prime/collectEntityOrientation.js.map +1 -1
  120. package/dist/cli/commands/prime/collectOrientationState.js +34 -53
  121. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
  122. package/dist/cli/commands/prime/orientationOutput.js +9 -14
  123. package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
  124. package/dist/cli/commands/prime/types.js.map +1 -1
  125. package/dist/cli/commands/prime/v1Migration.js.map +1 -1
  126. package/dist/cli/commands/prime.js +43 -25
  127. package/dist/cli/commands/prime.js.map +1 -1
  128. package/dist/cli/commands/query.js +17 -49
  129. package/dist/cli/commands/query.js.map +1 -1
  130. package/dist/cli/commands/report.js.map +1 -1
  131. package/dist/cli/commands/schema.js +19 -78
  132. package/dist/cli/commands/schema.js.map +1 -1
  133. package/dist/cli/commands/state/decisions.js +11 -57
  134. package/dist/cli/commands/state/decisions.js.map +1 -1
  135. package/dist/cli/commands/state/docs.js +56 -120
  136. package/dist/cli/commands/state/docs.js.map +1 -1
  137. package/dist/cli/commands/state/experimentRecords.js +22 -121
  138. package/dist/cli/commands/state/experimentRecords.js.map +1 -1
  139. package/dist/cli/commands/state/experiments.js +9 -75
  140. package/dist/cli/commands/state/experiments.js.map +1 -1
  141. package/dist/cli/commands/state/get.js +62 -143
  142. package/dist/cli/commands/state/get.js.map +1 -1
  143. package/dist/cli/commands/state/health.js +9 -123
  144. package/dist/cli/commands/state/health.js.map +1 -1
  145. package/dist/cli/commands/state/index.js +2 -2
  146. package/dist/cli/commands/state/index.js.map +1 -1
  147. package/dist/cli/commands/state/list.js +20 -36
  148. package/dist/cli/commands/state/list.js.map +1 -1
  149. package/dist/cli/commands/state/objective.js +19 -86
  150. package/dist/cli/commands/state/objective.js.map +1 -1
  151. package/dist/cli/commands/state/plan.js +9 -388
  152. package/dist/cli/commands/state/plan.js.map +1 -1
  153. package/dist/cli/commands/state/planTasks.js +58 -93
  154. package/dist/cli/commands/state/planTasks.js.map +1 -1
  155. package/dist/cli/commands/state/plans.js +13 -40
  156. package/dist/cli/commands/state/plans.js.map +1 -1
  157. package/dist/cli/commands/state/progress.js +10 -55
  158. package/dist/cli/commands/state/progress.js.map +1 -1
  159. package/dist/cli/commands/state/shared.js.map +1 -1
  160. package/dist/cli/commands/state/todo.js +24 -133
  161. package/dist/cli/commands/state/todo.js.map +1 -1
  162. package/dist/cli/commands/state/write.js +13 -35
  163. package/dist/cli/commands/state/write.js.map +1 -1
  164. package/dist/cli/commands/upgrade.js +48 -18
  165. package/dist/cli/commands/upgrade.js.map +1 -1
  166. package/dist/cli/commands/upgradeVerify.js +21 -15
  167. package/dist/cli/commands/upgradeVerify.js.map +1 -1
  168. package/dist/cli/commands/validate.js +1 -9
  169. package/dist/cli/commands/validate.js.map +1 -1
  170. package/dist/cli/commands/verify.js.map +1 -1
  171. package/dist/cli/contracts/bundleStatus.js.map +1 -1
  172. package/dist/cli/contracts/orientationState.js.map +1 -1
  173. package/dist/cli/dispatch/argvParser.js.map +1 -1
  174. package/dist/cli/dispatch/check.js +5 -12
  175. package/dist/cli/dispatch/check.js.map +1 -1
  176. package/dist/cli/dispatch/commands.js.map +1 -1
  177. package/dist/cli/dispatch/index.js +30 -29
  178. package/dist/cli/dispatch/index.js.map +1 -1
  179. package/dist/cli/dispatch/lifecycle.js +23 -40
  180. package/dist/cli/dispatch/lifecycle.js.map +1 -1
  181. package/dist/cli/dispatch/prime.js.map +1 -1
  182. package/dist/cli/dispatch/shared.js.map +1 -1
  183. package/dist/cli/dispatch/state.js.map +1 -1
  184. package/dist/cli/dispatch.js.map +1 -1
  185. package/dist/cli/errors.js.map +1 -1
  186. package/dist/cli/help.js +20 -100
  187. package/dist/cli/help.js.map +1 -1
  188. package/dist/cli/migrationRequired.js +22 -19
  189. package/dist/cli/migrationRequired.js.map +1 -1
  190. package/dist/cli/orientation/attention.js +1 -97
  191. package/dist/cli/orientation/attention.js.map +1 -1
  192. package/dist/cli/orientation/corpusCoverage.js.map +1 -1
  193. package/dist/cli/orientation.js +18 -4
  194. package/dist/cli/orientation.js.map +1 -1
  195. package/dist/cli/planArtifacts.js.map +1 -1
  196. package/dist/cli/planEvidence.js.map +1 -1
  197. package/dist/cli/planLifecycleState.js.map +1 -1
  198. package/dist/cli/planTaskIndex.js +12 -0
  199. package/dist/cli/planTaskIndex.js.map +1 -0
  200. package/dist/cli/prime-blob.js +1 -1
  201. package/dist/cli/prime-blob.js.map +1 -1
  202. package/dist/cli/startupCompletenessContract.js.map +1 -1
  203. package/dist/cli/stateQuery.js +1 -2
  204. package/dist/cli/stateQuery.js.map +1 -1
  205. package/dist/cli/structured.js.map +1 -1
  206. package/dist/cli/todoMarkdown.js.map +1 -1
  207. package/dist/cli/todoSeverity.js.map +1 -1
  208. package/dist/core/atomicWriter.js.map +1 -1
  209. package/dist/core/difflib.js.map +1 -1
  210. package/dist/core/envPaths.js.map +1 -1
  211. package/dist/core/jsonValue.js.map +1 -1
  212. package/dist/core/paths.js.map +1 -1
  213. package/dist/core/pyjson.js.map +1 -1
  214. package/dist/core/skillIdentity.js +24 -0
  215. package/dist/core/skillIdentity.js.map +1 -0
  216. package/dist/core/sourceRoot.js.map +1 -1
  217. package/dist/core/text.js.map +1 -1
  218. package/dist/core/toml.js.map +1 -1
  219. package/dist/core/yaml.js.map +1 -1
  220. package/dist/eval/evalSkills.js.map +1 -1
  221. package/dist/eval/semanticEval.js.map +1 -1
  222. package/dist/eval/semanticFixtures.js.map +1 -1
  223. package/dist/hooks/common.js +1 -1
  224. package/dist/hooks/common.js.map +1 -1
  225. package/dist/hooks/compaction/apply.js.map +1 -1
  226. package/dist/hooks/compaction/dryRun.js.map +1 -1
  227. package/dist/hooks/compaction/index.js.map +1 -1
  228. package/dist/hooks/compaction/parse.js.map +1 -1
  229. package/dist/hooks/compaction/retention.js.map +1 -1
  230. package/dist/hooks/compaction/status.js +2 -1
  231. package/dist/hooks/compaction/status.js.map +1 -1
  232. package/dist/hooks/compaction/types.js.map +1 -1
  233. package/dist/hooks/cursorPreToolUse.js.map +1 -1
  234. package/dist/hooks/cursorSessionStart.js +4 -25
  235. package/dist/hooks/cursorSessionStart.js.map +1 -1
  236. package/dist/hooks/projectHookInput.js +26 -0
  237. package/dist/hooks/projectHookInput.js.map +1 -0
  238. package/dist/hooks/sessionStart.js +23 -239
  239. package/dist/hooks/sessionStart.js.map +1 -1
  240. package/dist/hooks/sessionStop.js +4 -12
  241. package/dist/hooks/sessionStop.js.map +1 -1
  242. package/dist/hooks/validateArtifact/agentFacing.js.map +1 -1
  243. package/dist/hooks/validateArtifact/index.js.map +1 -1
  244. package/dist/hooks/validateArtifact/markdown.js.map +1 -1
  245. package/dist/hooks/validateArtifact/runtime.js.map +1 -1
  246. package/dist/hooks/validateArtifact/schema.js.map +1 -1
  247. package/dist/hooks/validateArtifact/traversal.js +1 -1
  248. package/dist/hooks/validateArtifact/traversal.js.map +1 -1
  249. package/dist/hooks/validateArtifact/violations.js.map +1 -1
  250. package/dist/migrate/v2HandoffManifest.js.map +1 -1
  251. package/dist/registries/artifactProtocolIds.js.map +1 -1
  252. package/dist/registries/artifactRegistry.js +2 -1
  253. package/dist/registries/artifactRegistry.js.map +1 -1
  254. package/dist/registries/capabilityContract.js.map +1 -1
  255. package/dist/registries/evaluatorHandoffContract.js.map +1 -1
  256. package/dist/registries/evidenceTierContract.js.map +1 -1
  257. package/dist/registries/packageRegistry.js +57 -231
  258. package/dist/registries/packageRegistry.js.map +1 -1
  259. package/dist/registries/triggerLoader.js.map +1 -1
  260. package/dist/registries/verbosityBudgetContract.js.map +1 -1
  261. package/dist/release/releaseMetadata.js +1 -13
  262. package/dist/release/releaseMetadata.js.map +1 -1
  263. package/dist/runtime/lifecycleAdapterContract.js +4 -4
  264. package/dist/runtime/lifecycleAdapterContract.js.map +1 -1
  265. package/dist/runtime/lifecycleAdapters.js +14 -2
  266. package/dist/runtime/lifecycleAdapters.js.map +1 -1
  267. package/dist/runtime/lifecycleAuthority.js +5 -43
  268. package/dist/runtime/lifecycleAuthority.js.map +1 -1
  269. package/dist/runtime/lifecycleOperationContract.js +3 -2
  270. package/dist/runtime/lifecycleOperationContract.js.map +1 -1
  271. package/dist/runtime/lifecycleOperations.js.map +1 -1
  272. package/dist/runtime/lifecycleOwnershipJournal.js.map +1 -1
  273. package/dist/runtime/lifecyclePublication.js +21 -0
  274. package/dist/runtime/lifecyclePublication.js.map +1 -1
  275. package/dist/runtime/lifecycleSnapshot.js.map +1 -1
  276. package/dist/runtime/retiredRuntimeCleanup.js.map +1 -1
  277. package/dist/setup/codex/agents.js.map +1 -1
  278. package/dist/setup/codex/cli.js.map +1 -1
  279. package/dist/setup/codex/configToml.js.map +1 -1
  280. package/dist/setup/codex/constants.js.map +1 -1
  281. package/dist/setup/codex/installRoot.js.map +1 -1
  282. package/dist/setup/codex/state.js.map +1 -1
  283. package/dist/setup/codex.js.map +1 -1
  284. package/dist/setup/opencode.js +20 -12
  285. package/dist/setup/opencode.js.map +1 -1
  286. package/dist/setup/opencodeConstants.js.map +1 -1
  287. package/dist/setup/sharedSkill.js +46 -0
  288. package/dist/setup/sharedSkill.js.map +1 -0
  289. package/dist/setup/smokeChecks.js +16 -43
  290. package/dist/setup/smokeChecks.js.map +1 -1
  291. package/dist/state/archiveDiscovery.js.map +1 -1
  292. package/dist/state/archivePublication.js.map +1 -1
  293. package/dist/state/archiveRecovery.js.map +1 -1
  294. package/dist/state/archiveReplay.js.map +1 -1
  295. package/dist/state/decisionEntities.js +7 -4
  296. package/dist/state/decisionEntities.js.map +1 -1
  297. package/dist/state/decisionLegacyValidation.js.map +1 -1
  298. package/dist/state/decisionOverlay.js.map +1 -1
  299. package/dist/state/decisionRevision.js.map +1 -1
  300. package/dist/state/decisionRevisionPublication.js.map +1 -1
  301. package/dist/state/directRetrieval.js.map +1 -1
  302. package/dist/state/durability.js +4 -240
  303. package/dist/state/durability.js.map +1 -1
  304. package/dist/state/entityCutover.js +90 -186
  305. package/dist/state/entityCutover.js.map +1 -1
  306. package/dist/state/entityCutoverGit.js.map +1 -1
  307. package/dist/state/entityMigrationPreview.js +3 -3
  308. package/dist/state/entityMigrationPreview.js.map +1 -1
  309. package/dist/state/entityPublicationContext.js.map +1 -1
  310. package/dist/state/entityStorage.js +49 -10
  311. package/dist/state/entityStorage.js.map +1 -1
  312. package/dist/state/experimentArchive.js.map +1 -1
  313. package/dist/state/experimentIdentity.js.map +1 -1
  314. package/dist/state/experimentRetrieval.js.map +1 -1
  315. package/dist/state/healthEntities.js +7 -4
  316. package/dist/state/healthEntities.js.map +1 -1
  317. package/dist/state/healthEntityValidation.js.map +1 -1
  318. package/dist/state/healthRepair.js.map +1 -1
  319. package/dist/state/installRoot.js.map +1 -1
  320. package/dist/state/legacyEntityCutoverEvidence.js.map +1 -1
  321. package/dist/state/legacyIdentity.js.map +1 -1
  322. package/dist/state/listAccounting.js.map +1 -1
  323. package/dist/state/listClassification.js.map +1 -1
  324. package/dist/state/listRetrieval.js.map +1 -1
  325. package/dist/state/objectiveExperimentEntities.js +7 -5
  326. package/dist/state/objectiveExperimentEntities.js.map +1 -1
  327. package/dist/state/planEntities.js +60 -12
  328. package/dist/state/planEntities.js.map +1 -1
  329. package/dist/state/planIdentity.js.map +1 -1
  330. package/dist/state/planRetrieval.js.map +1 -1
  331. package/dist/state/planTaskRetrieval.js.map +1 -1
  332. package/dist/state/progressEntities.js +4 -2
  333. package/dist/state/progressEntities.js.map +1 -1
  334. package/dist/state/projectRoot.js.map +1 -1
  335. package/dist/state/projectionPolicy.js.map +1 -1
  336. package/dist/state/retrievalAuthority.js.map +1 -1
  337. package/dist/state/safeProjectFile.js.map +1 -1
  338. package/dist/state/startupAnalysis/benchmark.js.map +1 -1
  339. package/dist/state/startupAnalysis/contract.js.map +1 -1
  340. package/dist/state/startupAnalysis/helpers.js.map +1 -1
  341. package/dist/state/startupAnalysis/index.js.map +1 -1
  342. package/dist/state/startupAnalysis/metrics.js.map +1 -1
  343. package/dist/state/startupAnalysis/records.js.map +1 -1
  344. package/dist/state/startupAnalysis/report.js.map +1 -1
  345. package/dist/state/startupAnalysis/threshold.js.map +1 -1
  346. package/dist/state/startupAnalysis.js.map +1 -1
  347. package/dist/state/startupProjection.js +5 -3
  348. package/dist/state/startupProjection.js.map +1 -1
  349. package/dist/state/stateMode.js +7 -0
  350. package/dist/state/stateMode.js.map +1 -1
  351. package/dist/state/todoDocsEntities.js +6 -4
  352. package/dist/state/todoDocsEntities.js.map +1 -1
  353. package/dist/state/todoDocsEntityValidation.js.map +1 -1
  354. package/dist/state/write/assign.js.map +1 -1
  355. package/dist/state/write/candidateMutation.js.map +1 -1
  356. package/dist/state/write/errors.js.map +1 -1
  357. package/dist/state/write/experimentPublication.js.map +1 -1
  358. package/dist/state/write/explain.js +10 -12
  359. package/dist/state/write/explain.js.map +1 -1
  360. package/dist/state/write/fields.js.map +1 -1
  361. package/dist/state/write/helpers.js.map +1 -1
  362. package/dist/state/write/index.js.map +1 -1
  363. package/dist/state/write/input.js.map +1 -1
  364. package/dist/state/write/lock.js.map +1 -1
  365. package/dist/state/write/mutation.js.map +1 -1
  366. package/dist/state/write/operations.js +6 -0
  367. package/dist/state/write/operations.js.map +1 -1
  368. package/dist/state/write/planEvaluation.js +19 -5
  369. package/dist/state/write/planEvaluation.js.map +1 -1
  370. package/dist/state/write/planPublication.js +7 -0
  371. package/dist/state/write/planPublication.js.map +1 -1
  372. package/dist/state/write/serialize.js.map +1 -1
  373. package/dist/state/write/transaction.js +23 -532
  374. package/dist/state/write/transaction.js.map +1 -1
  375. package/dist/state/write/validate.js.map +1 -1
  376. package/dist/upgrade/appContentRefresh.js +54 -44
  377. package/dist/upgrade/appContentRefresh.js.map +1 -1
  378. package/dist/upgrade/appModel.js.map +1 -1
  379. package/dist/upgrade/atomicWriter.js.map +1 -1
  380. package/dist/upgrade/bundleEvidence.js.map +1 -1
  381. package/dist/upgrade/channels.js.map +1 -1
  382. package/dist/upgrade/coexistenceProbe.js.map +1 -1
  383. package/dist/upgrade/compatibility.js.map +1 -1
  384. package/dist/upgrade/doctor.js +5 -1
  385. package/dist/upgrade/doctor.js.map +1 -1
  386. package/dist/upgrade/doctorClassifier.js.map +1 -1
  387. package/dist/upgrade/installedHooksRetirement.js +46 -39
  388. package/dist/upgrade/installedHooksRetirement.js.map +1 -1
  389. package/dist/upgrade/legacyAgentCleanup.js +132 -32
  390. package/dist/upgrade/legacyAgentCleanup.js.map +1 -1
  391. package/dist/upgrade/lifecycleUpgrade.js +65 -378
  392. package/dist/upgrade/lifecycleUpgrade.js.map +1 -1
  393. package/dist/upgrade/migrateArtifactsV2ToV3.js +151 -52
  394. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
  395. package/dist/upgrade/migrationPublication.js +123 -0
  396. package/dist/upgrade/migrationPublication.js.map +1 -0
  397. package/dist/upgrade/nextMajorDoctor.js.map +1 -1
  398. package/dist/upgrade/npxPlatformStatus.js.map +1 -1
  399. package/dist/upgrade/projectIntegration.js +46 -113
  400. package/dist/upgrade/projectIntegration.js.map +1 -1
  401. package/dist/upgrade/projectIntegrationDecision.js +6 -96
  402. package/dist/upgrade/projectIntegrationDecision.js.map +1 -1
  403. package/dist/upgrade/runtimeMigration.js +222 -402
  404. package/dist/upgrade/runtimeMigration.js.map +1 -1
  405. package/dist/upgrade/upgradeCommands.js +5 -4
  406. package/dist/upgrade/upgradeCommands.js.map +1 -1
  407. package/dist/upgrade/upgradeLock.js +73 -41
  408. package/dist/upgrade/upgradeLock.js.map +1 -1
  409. package/dist/upgrade/upgradeOrchestrator.js +91 -158
  410. package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
  411. package/dist/upgrade/v3CapabilitySurface.js +2 -2
  412. package/dist/upgrade/v3CapabilitySurface.js.map +1 -1
  413. package/dist/upgrade/versionResolution.js.map +1 -1
  414. package/dist/validate/appHomeContract.js +0 -4
  415. package/dist/validate/appHomeContract.js.map +1 -1
  416. package/dist/validate/capability.js.map +1 -1
  417. package/dist/validate/crossCapability.js.map +1 -1
  418. package/dist/validate/selfAudit.js.map +1 -1
  419. package/dist/validate/vocabularyAuthority.js.map +1 -1
  420. package/package.json +23 -8
  421. package/bundle/.codex-plugin/plugin.json +0 -92
  422. package/bundle/.cursor/agents/agentera.md +0 -7
  423. package/bundle/.cursor/hooks.json +0 -32
  424. package/bundle/.cursor-plugin/plugin.json +0 -34
  425. package/bundle/.github/hooks/postToolUse.json +0 -9
  426. package/bundle/.github/hooks/preToolUse.json +0 -8
  427. package/bundle/.github/hooks/sessionEnd.json +0 -8
  428. package/bundle/.github/hooks/sessionStart.json +0 -8
  429. package/bundle/.github/plugin/plugin.json +0 -7
  430. package/bundle/.opencode/agents/agentera.md +0 -12
  431. package/bundle/.opencode/commands/agentera.md +0 -5
  432. package/bundle/.opencode/package.json +0 -31
  433. package/bundle/.opencode/plugins/agentera.js +0 -820
  434. package/bundle/agents/openai.yaml +0 -87
  435. package/bundle/hooks/codex-hooks.json +0 -31
  436. package/bundle/hooks/codex-plugin-hooks.json +0 -31
  437. package/bundle/plugin.json +0 -13
  438. package/bundle/references/adapters/cursor.md +0 -224
  439. package/bundle/references/adapters/opencode.md +0 -529
  440. package/bundle/references/adapters/runtime-adapter-characterization.md +0 -44
  441. package/bundle/references/adapters/runtime-adapter-interface-model.yaml +0 -200
  442. package/bundle/references/adapters/runtime-adapter-registry.yaml +0 -387
  443. package/bundle/references/adapters/runtime-feature-parity.md +0 -129
  444. package/dist/cli/commands/backfill.js +0 -231
  445. package/dist/cli/commands/backfill.js.map +0 -1
  446. package/dist/cli/commands/migrate.js +0 -681
  447. package/dist/cli/commands/migrate.js.map +0 -1
  448. package/dist/registries/runtimeAdapterRegistry.js +0 -324
  449. package/dist/registries/runtimeAdapterRegistry.js.map +0 -1
  450. package/dist/setup/copilot.js +0 -227
  451. package/dist/setup/copilot.js.map +0 -1
  452. package/dist/setup/cursor.js +0 -129
  453. package/dist/setup/cursor.js.map +0 -1
  454. package/dist/setup/cursorSurfaces.js +0 -67
  455. package/dist/setup/cursorSurfaces.js.map +0 -1
  456. package/dist/setup/doctor/core.js +0 -296
  457. package/dist/setup/doctor/core.js.map +0 -1
  458. package/dist/setup/doctor/diagnostics.js +0 -201
  459. package/dist/setup/doctor/diagnostics.js.map +0 -1
  460. package/dist/setup/doctor/opencode.js +0 -301
  461. package/dist/setup/doctor/opencode.js.map +0 -1
  462. package/dist/setup/doctor/report.js +0 -425
  463. package/dist/setup/doctor/report.js.map +0 -1
  464. package/dist/setup/doctor.js +0 -10
  465. package/dist/setup/doctor.js.map +0 -1
  466. package/dist/state/gitBackfill.js +0 -561
  467. package/dist/state/gitBackfill.js.map +0 -1
  468. package/dist/state/gitBackfillAuthority.js +0 -141
  469. package/dist/state/gitBackfillAuthority.js.map +0 -1
  470. package/dist/state/gitBackfillHistory.js +0 -278
  471. package/dist/state/gitBackfillHistory.js.map +0 -1
  472. package/dist/state/gitBackfillOutput.js +0 -209
  473. package/dist/state/gitBackfillOutput.js.map +0 -1
  474. package/dist/state/legacyMigration.js +0 -516
  475. package/dist/state/legacyMigration.js.map +0 -1
  476. package/dist/state/legacyMigrationParser.js +0 -489
  477. package/dist/state/legacyMigrationParser.js.map +0 -1
  478. package/dist/state/migrationAuthority.js +0 -413
  479. package/dist/state/migrationAuthority.js.map +0 -1
  480. package/dist/state/migrationEnrichment.js +0 -35
  481. package/dist/state/migrationEnrichment.js.map +0 -1
  482. package/dist/state/projectionRecovery.js +0 -458
  483. package/dist/state/projectionRecovery.js.map +0 -1
  484. package/dist/upgrade/migrateArtifactsV1ToV2.js +0 -568
  485. package/dist/upgrade/migrateArtifactsV1ToV2.js.map +0 -1
  486. package/dist/validate/lifecycleAdapters/legacyPythonParity.js +0 -93
  487. package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +0 -1
  488. package/dist/validate/lifecycleAdapters/lifecycleMain.js +0 -154
  489. package/dist/validate/lifecycleAdapters/lifecycleMain.js.map +0 -1
  490. package/dist/validate/lifecycleAdapters/nodeFormChecks.js +0 -481
  491. package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +0 -1
  492. package/dist/validate/lifecycleAdapters/shared.js +0 -198
  493. package/dist/validate/lifecycleAdapters/shared.js.map +0 -1
  494. package/dist/validate/lifecycleAdapters.js +0 -10
  495. package/dist/validate/lifecycleAdapters.js.map +0 -1
@@ -1,129 +0,0 @@
1
- # Runtime feature parity
2
-
3
- Release-relevant behavior is governed by
4
- `runtime-lifecycle-authority.yaml` and `runtime-lifecycle-adapters.yaml`.
5
- Active runtime IDs are exactly `opencode`, `codex`, `cursor`, and `copilot`.
6
-
7
- `cursor-agent` is an inactive compatibility alias and Cursor CLI source-product
8
- name beneath the single `cursor` identity. It is never an active runtime ID.
9
- Claude Code is a retired migration and consent-gated historical-import source,
10
- not a supported runtime.
11
-
12
- ## Lifecycle identity and support floor
13
-
14
- | Runtime | Required surface | Conditional surface | Canonical skill |
15
- | --- | --- | --- | --- |
16
- | OpenCode | host | — | `~/.agents/skills/agentera` |
17
- | Codex | CLI | — | `~/.agents/skills/agentera` |
18
- | Cursor | Agent CLI | IDE | `~/.agents/skills/agentera` |
19
- | GitHub Copilot | CLI | — | `~/.agents/skills/agentera` |
20
-
21
- The support floor requires the canonical skill, complete diagnosis, and
22
- resolved mandatory evidence. Unknown or missing mandatory evidence and denied
23
- trust block release. A known false installation or enablement state is
24
- diagnosed as degraded. An unobserved conditional Cursor IDE is
25
- `not_applicable` and does not block CLI support.
26
-
27
- `prime` projects a bounded summary from this lifecycle snapshot. `doctor`
28
- projects detailed evidence and exact actions from the same snapshot. The
29
- `status` projection and project-integration recommendation consume that same
30
- snapshot, so runtime identities, counts, blockers, and next actions do not
31
- drift between surfaces.
32
-
33
- ## Common adapter contract
34
-
35
- Every active runtime reports the same eight categories:
36
-
37
- | Category | Meaning |
38
- | --- | --- |
39
- | skills | Canonical and additional skill discovery locations |
40
- | plugins | Agentera plugin package or host plugin state |
41
- | hooks | Session and tool lifecycle wiring |
42
- | agents | Runtime-native Agentera descriptors |
43
- | configuration | User or project configuration evidence |
44
- | enablement | Whether the host has enabled the integration |
45
- | trust | Observed trust state; never inferred or approved |
46
- | native actions | Exact user-owned host/package-manager steps |
47
-
48
- Each runtime/surface/category claim declares capability, evidence, and
49
- remediation. Unsupported or unverified host behavior cannot satisfy a mandatory
50
- support floor.
51
-
52
- ## Host behavior
53
-
54
- | Runtime | Skill/package source | Hook and validation behavior | Agent behavior |
55
- | --- | --- | --- | --- |
56
- | OpenCode | Portable skill plus `.opencode/plugins/agentera.js` | Conditional hard gate for reconstructable write/edit candidates; sparse or unreconstructed patches remain advisory | Single Agentera descriptor in `.opencode/agents/agentera.md` |
57
- | Codex | `.codex-plugin/plugin.json`, shared skill, and marketplace entry | Plugin and copied-hook sources validate `apply_patch` paths before/after use; final patch content is not reconstructed | Capability TOML descriptors under `skills/agentera/agents/` |
58
- | Cursor | One identity spanning Agent CLI and optional IDE plugin | IDE hooks provide session context and conditional hard-gate validation for reconstructable Write/Edit candidates | One IDE Agentera descriptor; CLI uses the Cursor-owned binary surface |
59
- | GitHub Copilot | Root and repository plugin manifests | `sessionStart`, `sessionEnd`, `preToolUse`, and `postToolUse`; reconstructable candidates are denied before mutation | Host-managed dispatch; no Agentera-specific Copilot agent descriptor |
60
-
61
- The validated hard-gate claims retain their exact scope:
62
-
63
- - OpenCode: Conditional hard gate for reconstructable write and edit candidates. Sparse payloads and apply_patch patchText without reconstructed full content are allowed.
64
- - GitHub Copilot: Conditional hard gate via preToolUse. Malformed, sparse, or non-reconstructable toolArgs are allowed.
65
- - Cursor: Conditional hard gate for reconstructable Write and Edit candidates via preToolUse; verified after live preToolUse Write smoke (2026-05-24). Malformed, sparse, or non-reconstructable tool_input payloads are allowed.
66
-
67
- Agentera never upgrades a runtime binary, runs a native marketplace/package
68
- manager, authenticates, enables a plugin, or approves trust. Those operations
69
- are emitted as `action_required`.
70
-
71
- ## Lifecycle repair
72
-
73
- On the v3 development channel, a dry-run without `--runtime` previews all
74
- active runtimes. Applying without a selector remains the existing app-only
75
- operation; runtime apply requires an explicit selector and `--yes`:
76
-
77
- ```bash
78
- agentera upgrade --dry-run --channel development
79
- agentera upgrade --runtime all --dry-run
80
- agentera upgrade --runtime all --yes
81
- ```
82
-
83
- Preview is side-effect free. Apply is limited to declared Agentera-owned
84
- resources with matching ownership-journal evidence. Secure automatic
85
- publication currently requires Linux `/proc/self/fd`; other platforms receive
86
- the same plan as explicit actions.
87
-
88
- Outcomes are `applied`, `noop`, `failed`, `blocked_unowned`,
89
- `skipped_dependency`, and `action_required`. Independent operations continue
90
- after a local failure, and retries re-observe state so completed work becomes
91
- `noop`.
92
-
93
- ## Corpus sources
94
-
95
- | Runtime identity | Source product | Default analytics |
96
- | --- | --- | --- |
97
- | Codex | Codex session JSONL | included |
98
- | OpenCode | OpenCode SQLite store | included |
99
- | Cursor | Cursor IDE JSONL | included |
100
- | Cursor | Cursor Agent CLI SQLite source (`cursor-agent`) | included as Cursor gap-fill |
101
- | GitHub Copilot | Copilot session SQLite store | included |
102
- | none | Claude Code JSONL | excluded; requires `--import-source claude` |
103
-
104
- Claude imports use `historical_import` provenance and `active_runtime: false`.
105
- They never add Claude to runtime inventories, readiness, or default analytics.
106
-
107
- ## Package release surface
108
-
109
- The npm bundle contains the shared skill and contract data plus every declared
110
- runtime source:
111
-
112
- - OpenCode package, plugin, command, and agent files;
113
- - Codex plugin manifest, plugin hooks, copied-hook fallback, and capability agents;
114
- - Cursor plugin manifest, IDE hooks, and agent descriptor;
115
- - GitHub Copilot root/repository manifests and lifecycle hook files.
116
-
117
- `.claude-plugin/marketplace.json` is retired and must not be packaged.
118
-
119
- ## Validation boundary
120
-
121
- `agentera check validate lifecycle-adapters` validates:
122
-
123
- - lifecycle authority and exact four-runtime identity parity;
124
- - all eight categories and every declared runtime surface;
125
- - package-manifest coverage for all active runtimes;
126
- - npm-bundle coverage for every lifecycle source and runtime manifest;
127
- - 3.0.0 suite mirrors and the development package core;
128
- - runtime-specific hook and documentation claims;
129
- - absence of retired Claude package manifests.
@@ -1,231 +0,0 @@
1
- import { emitInvalidInput } from "../errors.js";
2
- import { emitStructured } from "../structured.js";
3
- import { resolvePath } from "../../core/paths.js";
4
- import { resolveSourceRoot } from "../../core/sourceRoot.js";
5
- import { StateRetrievalFailure, } from "../../state/directRetrieval.js";
6
- import { numberedArchiveArtifacts } from "../../state/archiveDiscovery.js";
7
- import { stateGitBackfillContract } from "../../state/gitBackfillAuthority.js";
8
- import { applyGitBackfill, inspectGitBackfill, previewGitBackfill, } from "../../state/gitBackfill.js";
9
- import { renderGitBackfillText } from "../../state/gitBackfillOutput.js";
10
- import { applyProjectionRecovery, previewProjectionRecovery } from "../../state/projectionRecovery.js";
11
- const BACKFILL_SYNTAX = "agentera state backfill [--recover-projections] [--recovery-digest SHA256] [--project PATH] [--artifact ARTIFACT] [--number N] [--commit HASH] [--path PATH] [--limit N] [--dry-run|--apply --force] --format {text,json,yaml}";
12
- const BACKFILL_DRY_RUN_EXAMPLE = "agentera state backfill --project PATH --artifact progress --number 1 --dry-run --format json";
13
- const BACKFILL_APPLY_EXAMPLE = "agentera state backfill --project PATH --artifact progress --number 1 --apply --force --format json";
14
- export function requestedBackfillFormat(argv) {
15
- for (let index = 0; index < argv.length; index += 1) {
16
- if (argv[index] === "--format") {
17
- const value = argv[index + 1];
18
- if (value === "json" || value === "yaml")
19
- return value;
20
- }
21
- if (argv[index].startsWith("--format=")) {
22
- const value = argv[index].slice("--format=".length);
23
- if (value === "json" || value === "yaml")
24
- return value;
25
- }
26
- }
27
- return "text";
28
- }
29
- function failure(message, format, syntax = BACKFILL_SYNTAX, validValues, example = BACKFILL_DRY_RUN_EXAMPLE) {
30
- return {
31
- format,
32
- body: {
33
- class: "invalid_request",
34
- message,
35
- syntax,
36
- example,
37
- ...(validValues ? { valid_values: validValues } : {}),
38
- },
39
- };
40
- }
41
- function authorityFailure(error) {
42
- const body = {
43
- schemaVersion: "agentera.stateFailure.v1",
44
- status: "fail",
45
- error: {
46
- class: "unsupported_state",
47
- message: `Git backfill authority could not be loaded: ${error.message}`,
48
- syntax: BACKFILL_SYNTAX,
49
- example: BACKFILL_DRY_RUN_EXAMPLE,
50
- recovery: "Repair references/artifacts/state-storage-authority.yaml and retry; no state was changed.",
51
- details: { authority: "references/artifacts/state-storage-authority.yaml" },
52
- },
53
- };
54
- return new StateRetrievalFailure(body, 1);
55
- }
56
- function emitAuthorityFailure(failure, format, io) {
57
- const out = io.out ?? ((text) => process.stdout.write(text));
58
- const err = io.err ?? ((text) => process.stderr.write(text));
59
- if (format === "json" || format === "yaml")
60
- emitStructured(failure.body, format, out);
61
- else
62
- err(`Error: ${failure.body.error.message}\nSyntax: ${failure.body.error.syntax}\nRecovery: ${failure.body.error.recovery}\n`);
63
- return failure.exitCode;
64
- }
65
- export function parseBackfillArgs(argv) {
66
- const args = { project: null, artifact: null, format: "text" };
67
- const valueFlags = ["--project", "--artifact", "--number", "--limit", "--commit", "--path", "--recovery-digest", "--format"];
68
- for (let index = 0; index < argv.length; index += 1) {
69
- const token = argv[index];
70
- const flag = valueFlags.find((candidate) => token === candidate || token.startsWith(`${candidate}=`));
71
- if (flag) {
72
- const inline = token.startsWith(`${flag}=`);
73
- const parsed = inline ? token.slice(flag.length + 1) : argv[++index];
74
- if (parsed === undefined || parsed === "")
75
- return { error: `argument ${flag}: expected a value` };
76
- if (flag === "--project")
77
- args.project = parsed;
78
- else if (flag === "--artifact")
79
- args.artifact = parsed;
80
- else if (flag === "--commit")
81
- args.commit = parsed;
82
- else if (flag === "--path")
83
- args.path = parsed;
84
- else if (flag === "--recovery-digest")
85
- args.recoveryDigest = parsed;
86
- else if (flag === "--format") {
87
- if (parsed !== "text" && parsed !== "json" && parsed !== "yaml") {
88
- return { error: `argument --format: invalid choice: '${parsed}'` };
89
- }
90
- args.format = parsed;
91
- }
92
- else {
93
- if (!/^[1-9][0-9]*$/.test(parsed))
94
- return { error: `argument ${flag}: invalid int value: '${parsed}'` };
95
- const number = Number(parsed);
96
- if (!Number.isSafeInteger(number))
97
- return { error: `argument ${flag}: invalid int value: '${parsed}'` };
98
- if (flag === "--number")
99
- args.number = number;
100
- else
101
- args.limit = number;
102
- }
103
- }
104
- else if (token === "--dry-run")
105
- args.dryRun = true;
106
- else if (token === "--apply")
107
- args.apply = true;
108
- else if (token === "--force")
109
- args.force = true;
110
- else if (token === "--recover-projections")
111
- args.recoverProjections = true;
112
- else
113
- return { error: `unrecognized arguments: ${token}` };
114
- }
115
- return args;
116
- }
117
- function validateBackfillArgs(args, sourceRoot) {
118
- const contract = stateGitBackfillContract(sourceRoot);
119
- const artifacts = numberedArchiveArtifacts(sourceRoot);
120
- if (args.recoverProjections) {
121
- if (args.artifact || args.number !== undefined || args.commit || args.path || args.limit !== undefined)
122
- return "--recover-projections is a whole-batch operation and cannot be combined with entry selectors";
123
- if (args.apply && !args.force)
124
- return "--apply requires explicit --force intent";
125
- if (args.force && !args.apply)
126
- return "--force requires --apply";
127
- if (args.apply && !args.project)
128
- return "--apply requires explicit --project PATH";
129
- if (args.apply && args.dryRun)
130
- return "--apply and --dry-run are mutually exclusive";
131
- if (args.recoveryDigest && (!args.apply || !/^[a-f0-9]{64}$/.test(args.recoveryDigest)))
132
- return "--recovery-digest must be a lowercase SHA-256 supplied with --apply";
133
- return null;
134
- }
135
- if (args.recoveryDigest)
136
- return "--recovery-digest is only valid with --recover-projections --apply";
137
- if (args.artifact && !artifacts.includes(args.artifact)) {
138
- return `unsupported artifact '${args.artifact}'`;
139
- }
140
- if (args.number !== undefined && !args.artifact)
141
- return "argument --number requires --artifact";
142
- if (args.commit && (!args.artifact || args.number === undefined)) {
143
- return "argument --commit requires --artifact and --number";
144
- }
145
- if (args.path && (!args.artifact || args.number === undefined)) {
146
- return "argument --path requires --artifact and --number";
147
- }
148
- if (args.limit !== undefined && (args.limit < 1 || args.limit > contract.maximumLimit)) {
149
- return `argument --limit must be between 1 and ${contract.maximumLimit}`;
150
- }
151
- if (args.apply && args.dryRun)
152
- return "--apply and --dry-run are mutually exclusive";
153
- if (args.apply && !args.force)
154
- return "--apply requires explicit --force intent";
155
- if (args.force && !args.apply)
156
- return "--force requires --apply";
157
- if (args.apply && contract.applyRequires.includes("--project PATH") && !args.project) {
158
- return "--apply requires explicit --project PATH";
159
- }
160
- if (args.apply && (!args.artifact || args.number === undefined)) {
161
- return "--apply requires exactly one --artifact and --number selector";
162
- }
163
- return null;
164
- }
165
- export function runBackfill(argv, io, sourceRootOverride) {
166
- const format = requestedBackfillFormat(argv);
167
- const sourceRoot = sourceRootOverride ?? resolveSourceRoot();
168
- let contract;
169
- try {
170
- contract = stateGitBackfillContract(sourceRoot);
171
- }
172
- catch (error) {
173
- return emitAuthorityFailure(authorityFailure(error), format, io);
174
- }
175
- const parsed = parseBackfillArgs(argv);
176
- if ("error" in parsed) {
177
- const invalid = failure(parsed.error, format === "yaml" ? "text" : format, contract.command);
178
- return emitInvalidInput(io, invalid);
179
- }
180
- let validation;
181
- try {
182
- validation = validateBackfillArgs(parsed, sourceRoot);
183
- }
184
- catch (error) {
185
- return emitAuthorityFailure(authorityFailure(error), format, io);
186
- }
187
- if (validation) {
188
- const invalid = failure(validation, format === "yaml" ? "text" : format, contract.command, numberedArchiveArtifacts(sourceRoot), parsed.apply ? BACKFILL_APPLY_EXAMPLE : undefined);
189
- return emitInvalidInput(io, invalid);
190
- }
191
- const mode = parsed.apply ? "apply" : parsed.dryRun ? "preview" : "inventory";
192
- if (parsed.recoverProjections) {
193
- try {
194
- const project = resolvePath(parsed.project ?? process.cwd());
195
- const response = parsed.apply ? applyProjectionRecovery(project, sourceRoot, parsed.recoveryDigest) : previewProjectionRecovery(project, sourceRoot);
196
- const out = io.out ?? ((text) => process.stdout.write(text));
197
- if (format === "json" || format === "yaml")
198
- emitStructured(response, format, out);
199
- else
200
- out(`${response.status}: selected=${response.counts.selected} ready=${response.counts.ready} refused=${response.counts.refused} applied=${response.counts.applied}\n`);
201
- return response.status === "blocked" ? 1 : 0;
202
- }
203
- catch (error) {
204
- return emitInvalidInput(io, failure(error.message, format === "yaml" ? "text" : format));
205
- }
206
- }
207
- let response;
208
- try {
209
- const project = resolvePath(parsed.project ?? process.cwd());
210
- const options = { sourceRoot };
211
- if (mode === "apply")
212
- response = applyGitBackfill(project, parsed, options);
213
- else if (mode === "preview")
214
- response = previewGitBackfill(project, parsed, options);
215
- else
216
- response = inspectGitBackfill(project, parsed, options);
217
- }
218
- catch (error) {
219
- if (error instanceof StateRetrievalFailure)
220
- return emitAuthorityFailure(error, format, io);
221
- const invalid = failure(error.message, format === "yaml" ? "text" : format, contract.command, undefined, parsed.apply ? BACKFILL_APPLY_EXAMPLE : undefined);
222
- return emitInvalidInput(io, invalid);
223
- }
224
- const out = io.out ?? ((text) => process.stdout.write(text));
225
- if (format === "json" || format === "yaml")
226
- emitStructured(response, format, out);
227
- else
228
- renderGitBackfillText(response, out);
229
- return mode === "apply" && response.status !== "complete" ? 1 : 0;
230
- }
231
- //# sourceMappingURL=backfill.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backfill.js","sourceRoot":"","sources":["../../../src/cli/commands/backfill.ts"],"names":[],"mappings":"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"}