agentera 3.0.0-dev.0 → 3.0.0-dev.10

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 (522) hide show
  1. package/README.md +40 -6
  2. package/bundle/.agentera-npx-bundle.json +1 -1
  3. package/bundle/extract-corpus-parity.json +23 -0
  4. package/bundle/references/adapters/cursor.md +10 -9
  5. package/bundle/references/adapters/opencode.md +26 -26
  6. package/bundle/references/adapters/package-registry.yaml +0 -1
  7. package/bundle/references/adapters/package-surface-characterization.md +1 -2
  8. package/bundle/references/adapters/runtime-adapter-characterization.md +1 -1
  9. package/bundle/references/adapters/runtime-adapter-registry.yaml +16 -10
  10. package/bundle/references/adapters/runtime-feature-parity.md +2 -2
  11. package/bundle/references/analysis/benchmark.md +1 -1
  12. package/bundle/references/analysis/startup-measurement-contract.yaml +18 -18
  13. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +4 -3
  14. package/bundle/references/cli/agent-ready-state-contract.yaml +26 -23
  15. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +16 -8
  16. package/bundle/references/cli/audience-namespace-cli-migration.yaml +40 -26
  17. package/bundle/references/cli/bundle-skill-vocabulary.yaml +2 -30
  18. package/bundle/references/cli/capability-instruction-contract.yaml +98 -57
  19. package/bundle/references/cli/capability-instruction-structure.md +144 -0
  20. package/bundle/references/cli/capability-tool-classification.yaml +12 -12
  21. package/bundle/references/cli/coexistence-probe.yaml +13 -0
  22. package/bundle/references/cli/parity-expected-actual-template.md +30 -0
  23. package/bundle/references/cli/routing-execution-vocabulary.yaml +12 -12
  24. package/bundle/references/cli/routing-model.md +94 -0
  25. package/bundle/references/cli/single-name-protocol.yaml +42 -0
  26. package/bundle/references/cli/trigger-schema-enrichment.md +136 -0
  27. package/bundle/references/cli/update-channels.yaml +68 -5
  28. package/bundle/references/cli/upgrade-repair-wording.md +45 -0
  29. package/bundle/references/cli/v3-handoff-manifest.schema.yaml +98 -0
  30. package/bundle/references/cli/vocabulary-index.yaml +20 -15
  31. package/bundle/references/cli/vocabulary.md +346 -326
  32. package/bundle/references/meta/documentation-inventory.md +9 -3
  33. package/bundle/registry.json +14 -14
  34. package/bundle/skills/agentera/.claude-plugin/plugin.json +13 -13
  35. package/bundle/skills/agentera/SKILL.md +99 -413
  36. package/bundle/skills/agentera/agents/audit.toml +6 -0
  37. package/bundle/skills/agentera/agents/build.toml +6 -0
  38. package/bundle/skills/agentera/agents/design.toml +6 -0
  39. package/bundle/skills/agentera/agents/discuss.toml +6 -0
  40. package/bundle/skills/agentera/agents/document.toml +6 -0
  41. package/bundle/skills/agentera/agents/optimize.toml +6 -0
  42. package/bundle/skills/agentera/agents/orchestrate.toml +6 -0
  43. package/bundle/skills/agentera/agents/plan.toml +6 -0
  44. package/bundle/skills/agentera/agents/profile.toml +6 -0
  45. package/bundle/skills/agentera/agents/research.toml +6 -0
  46. package/bundle/skills/agentera/agents/status.toml +6 -0
  47. package/bundle/skills/agentera/agents/vision.toml +6 -0
  48. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/artifacts.yaml +10 -10
  49. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/triggers.yaml +15 -6
  50. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/validation.yaml +9 -9
  51. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/artifacts.yaml +11 -11
  52. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/triggers.yaml +13 -3
  53. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/validation.yaml +7 -7
  54. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/artifacts.yaml +6 -6
  55. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/triggers.yaml +15 -3
  56. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/validation.yaml +5 -5
  57. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/artifacts.yaml +6 -6
  58. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/triggers.yaml +11 -3
  59. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/validation.yaml +4 -4
  60. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/artifacts.yaml +10 -10
  61. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/triggers.yaml +14 -3
  62. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/validation.yaml +8 -8
  63. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/artifacts.yaml +8 -8
  64. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/triggers.yaml +11 -3
  65. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/validation.yaml +7 -7
  66. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/artifacts.yaml +10 -10
  67. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/triggers.yaml +16 -3
  68. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/validation.yaml +36 -23
  69. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/artifacts.yaml +8 -8
  70. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/exit.yaml +2 -2
  71. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/triggers.yaml +15 -3
  72. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/validation.yaml +3 -3
  73. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/artifacts.yaml +2 -2
  74. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/exit.yaml +2 -1
  75. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/triggers.yaml +7 -3
  76. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/validation.yaml +2 -2
  77. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/artifacts.yaml +5 -5
  78. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/triggers.yaml +9 -3
  79. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/validation.yaml +2 -2
  80. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/artifacts.yaml +14 -11
  81. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/triggers.yaml +12 -8
  82. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/validation.yaml +5 -5
  83. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/artifacts.yaml +8 -8
  84. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/triggers.yaml +17 -3
  85. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/validation.yaml +14 -16
  86. package/bundle/skills/agentera/capability_schema_contract.yaml +201 -38
  87. package/bundle/skills/agentera/protocol.yaml +29 -29
  88. package/bundle/skills/agentera/references/contract.md +329 -320
  89. package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +4 -4
  90. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +10 -10
  91. package/bundle/skills/agentera/schemas/artifacts/design.yaml +4 -4
  92. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +8 -7
  93. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +5 -5
  94. package/bundle/skills/agentera/schemas/artifacts/health.yaml +5 -5
  95. package/bundle/skills/agentera/schemas/artifacts/objective.yaml +4 -4
  96. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +5 -5
  97. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +20 -41
  98. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +43 -24
  99. package/bundle/skills/agentera/schemas/artifacts/vision.yaml +3 -3
  100. package/dist/analytics/extractCorpus/cli.js +149 -0
  101. package/dist/analytics/extractCorpus/cli.js.map +1 -0
  102. package/dist/analytics/extractCorpus/copilotSessions.js +273 -0
  103. package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -0
  104. package/dist/analytics/extractCorpus/core.js +364 -0
  105. package/dist/analytics/extractCorpus/core.js.map +1 -0
  106. package/dist/analytics/extractCorpus/corpus.js +145 -0
  107. package/dist/analytics/extractCorpus/corpus.js.map +1 -0
  108. package/dist/analytics/extractCorpus/coverageAudit.js +261 -0
  109. package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -0
  110. package/dist/analytics/extractCorpus/cursorSessions.js +423 -0
  111. package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -0
  112. package/dist/analytics/extractCorpus/extractCorpusParity.js +105 -0
  113. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -0
  114. package/dist/analytics/extractCorpus/filesystemSources.js +122 -0
  115. package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -0
  116. package/dist/analytics/extractCorpus/index.js +12 -0
  117. package/dist/analytics/extractCorpus/index.js.map +1 -0
  118. package/dist/analytics/extractCorpus/jsonlSessions.js +185 -0
  119. package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -0
  120. package/dist/analytics/extractCorpus/sqliteCaps.js +44 -0
  121. package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -0
  122. package/dist/analytics/extractCorpus/sqliteSessions.js +368 -0
  123. package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -0
  124. package/dist/analytics/extractCorpus.js +2 -1790
  125. package/dist/analytics/extractCorpus.js.map +1 -1
  126. package/dist/analytics/usageStats.js +42 -20
  127. package/dist/analytics/usageStats.js.map +1 -1
  128. package/dist/capabilities/audit/instructions.js +6 -0
  129. package/dist/capabilities/audit/instructions.js.map +1 -0
  130. package/dist/capabilities/build/instructions.js +6 -0
  131. package/dist/capabilities/build/instructions.js.map +1 -0
  132. package/dist/capabilities/design/instructions.js +5 -0
  133. package/dist/capabilities/design/instructions.js.map +1 -0
  134. package/dist/capabilities/discuss/instructions.js +6 -0
  135. package/dist/capabilities/discuss/instructions.js.map +1 -0
  136. package/dist/capabilities/document/instructions.js +6 -0
  137. package/dist/capabilities/document/instructions.js.map +1 -0
  138. package/dist/capabilities/index.js +38 -0
  139. package/dist/capabilities/index.js.map +1 -0
  140. package/dist/capabilities/optimize/instructions.js +6 -0
  141. package/dist/capabilities/optimize/instructions.js.map +1 -0
  142. package/dist/capabilities/orchestrate/instructions.js +6 -0
  143. package/dist/capabilities/orchestrate/instructions.js.map +1 -0
  144. package/dist/capabilities/plan/instructions.js +6 -0
  145. package/dist/capabilities/plan/instructions.js.map +1 -0
  146. package/dist/capabilities/profile/instructions.js +6 -0
  147. package/dist/capabilities/profile/instructions.js.map +1 -0
  148. package/dist/capabilities/research/instructions.js +6 -0
  149. package/dist/capabilities/research/instructions.js.map +1 -0
  150. package/dist/capabilities/status/instructions.js +5 -0
  151. package/dist/capabilities/status/instructions.js.map +1 -0
  152. package/dist/capabilities/vision/instructions.js +9 -0
  153. package/dist/capabilities/vision/instructions.js.map +1 -0
  154. package/dist/cli/appContext.js +16 -17
  155. package/dist/cli/appContext.js.map +1 -1
  156. package/dist/cli/capabilityContext/benchmark.js +564 -0
  157. package/dist/cli/capabilityContext/benchmark.js.map +1 -0
  158. package/dist/cli/capabilityContext/bespoke.js +36 -0
  159. package/dist/cli/capabilityContext/bespoke.js.map +1 -0
  160. package/dist/cli/capabilityContext/build.js +177 -0
  161. package/dist/cli/capabilityContext/build.js.map +1 -0
  162. package/dist/cli/capabilityContext/closeout.js +230 -0
  163. package/dist/cli/capabilityContext/closeout.js.map +1 -0
  164. package/dist/cli/capabilityContext/contract.js +188 -0
  165. package/dist/cli/capabilityContext/contract.js.map +1 -0
  166. package/dist/cli/capabilityContext/evidence.js +456 -0
  167. package/dist/cli/capabilityContext/evidence.js.map +1 -0
  168. package/dist/cli/capabilityContext/index.js +4 -0
  169. package/dist/cli/capabilityContext/index.js.map +1 -0
  170. package/dist/cli/capabilityContext/orchestration.js +107 -0
  171. package/dist/cli/capabilityContext/orchestration.js.map +1 -0
  172. package/dist/cli/capabilityContext/planState.js +271 -0
  173. package/dist/cli/capabilityContext/planState.js.map +1 -0
  174. package/dist/cli/capabilityContext/progress.js +103 -0
  175. package/dist/cli/capabilityContext/progress.js.map +1 -0
  176. package/dist/cli/capabilityContext/shared.js +94 -0
  177. package/dist/cli/capabilityContext/shared.js.map +1 -0
  178. package/dist/cli/capabilityContext/slim.js +108 -0
  179. package/dist/cli/capabilityContext/slim.js.map +1 -0
  180. package/dist/cli/capabilityContext/startup.js +213 -0
  181. package/dist/cli/capabilityContext/startup.js.map +1 -0
  182. package/dist/cli/capabilityContext/types.js +40 -0
  183. package/dist/cli/capabilityContext/types.js.map +1 -0
  184. package/dist/cli/capabilityContext.js +1 -2420
  185. package/dist/cli/capabilityContext.js.map +1 -1
  186. package/dist/cli/commands/appHome.js +23 -0
  187. package/dist/cli/commands/appHome.js.map +1 -0
  188. package/dist/cli/commands/capability.js +3 -10
  189. package/dist/cli/commands/capability.js.map +1 -1
  190. package/dist/cli/commands/compact.js +1 -1
  191. package/dist/cli/commands/compact.js.map +1 -1
  192. package/dist/cli/commands/doctor.js +53 -95
  193. package/dist/cli/commands/doctor.js.map +1 -1
  194. package/dist/cli/commands/lint.js +4 -36
  195. package/dist/cli/commands/lint.js.map +1 -1
  196. package/dist/cli/commands/prime/bundleStatus.js +185 -0
  197. package/dist/cli/commands/prime/bundleStatus.js.map +1 -0
  198. package/dist/cli/commands/prime/collectOrientationState.js +156 -0
  199. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -0
  200. package/dist/cli/commands/prime/orientationOutput.js +210 -0
  201. package/dist/cli/commands/prime/orientationOutput.js.map +1 -0
  202. package/dist/cli/commands/prime/types.js +2 -0
  203. package/dist/cli/commands/prime/types.js.map +1 -0
  204. package/dist/cli/commands/prime/v1Migration.js +39 -0
  205. package/dist/cli/commands/prime/v1Migration.js.map +1 -0
  206. package/dist/cli/commands/prime.js +11 -487
  207. package/dist/cli/commands/prime.js.map +1 -1
  208. package/dist/cli/commands/query.js +5 -2
  209. package/dist/cli/commands/query.js.map +1 -1
  210. package/dist/cli/commands/report.js +32 -11
  211. package/dist/cli/commands/report.js.map +1 -1
  212. package/dist/cli/commands/schema.js +26 -22
  213. package/dist/cli/commands/schema.js.map +1 -1
  214. package/dist/cli/commands/state/decisions.js +403 -0
  215. package/dist/cli/commands/state/decisions.js.map +1 -0
  216. package/dist/cli/commands/state/docs.js +97 -0
  217. package/dist/cli/commands/state/docs.js.map +1 -0
  218. package/dist/cli/commands/state/experiments.js +68 -0
  219. package/dist/cli/commands/state/experiments.js.map +1 -0
  220. package/dist/cli/commands/state/health.js +116 -0
  221. package/dist/cli/commands/state/health.js.map +1 -0
  222. package/dist/cli/commands/state/index.js +51 -0
  223. package/dist/cli/commands/state/index.js.map +1 -0
  224. package/dist/cli/commands/state/objective.js +69 -0
  225. package/dist/cli/commands/state/objective.js.map +1 -0
  226. package/dist/cli/commands/state/plan.js +173 -0
  227. package/dist/cli/commands/state/plan.js.map +1 -0
  228. package/dist/cli/commands/state/progress.js +47 -0
  229. package/dist/cli/commands/state/progress.js.map +1 -0
  230. package/dist/cli/commands/state/shared.js +15 -0
  231. package/dist/cli/commands/state/shared.js.map +1 -0
  232. package/dist/cli/commands/state/todo.js +121 -0
  233. package/dist/cli/commands/state/todo.js.map +1 -0
  234. package/dist/cli/commands/upgrade.js +63 -2
  235. package/dist/cli/commands/upgrade.js.map +1 -1
  236. package/dist/cli/commands/upgradeVerify.js +81 -0
  237. package/dist/cli/commands/upgradeVerify.js.map +1 -0
  238. package/dist/cli/commands/validate.js +56 -96
  239. package/dist/cli/commands/validate.js.map +1 -1
  240. package/dist/cli/commands/verify.js +7 -1
  241. package/dist/cli/commands/verify.js.map +1 -1
  242. package/dist/cli/contracts/bundleStatus.js +2 -0
  243. package/dist/cli/contracts/bundleStatus.js.map +1 -0
  244. package/dist/cli/contracts/orientationState.js +2 -0
  245. package/dist/cli/contracts/orientationState.js.map +1 -0
  246. package/dist/cli/dispatch/argvParser.js +33 -0
  247. package/dist/cli/dispatch/argvParser.js.map +1 -0
  248. package/dist/cli/dispatch/check.js +328 -0
  249. package/dist/cli/dispatch/check.js.map +1 -0
  250. package/dist/cli/dispatch/commands.js +27 -0
  251. package/dist/cli/dispatch/commands.js.map +1 -0
  252. package/dist/cli/dispatch/index.js +182 -0
  253. package/dist/cli/dispatch/index.js.map +1 -0
  254. package/dist/cli/dispatch/lifecycle.js +603 -0
  255. package/dist/cli/dispatch/lifecycle.js.map +1 -0
  256. package/dist/cli/dispatch/prime.js +104 -0
  257. package/dist/cli/dispatch/prime.js.map +1 -0
  258. package/dist/cli/dispatch/shared.js +64 -0
  259. package/dist/cli/dispatch/shared.js.map +1 -0
  260. package/dist/cli/dispatch/state.js +144 -0
  261. package/dist/cli/dispatch/state.js.map +1 -0
  262. package/dist/cli/dispatch.js +1 -961
  263. package/dist/cli/dispatch.js.map +1 -1
  264. package/dist/cli/errors.js +53 -0
  265. package/dist/cli/errors.js.map +1 -0
  266. package/dist/cli/help.js +236 -0
  267. package/dist/cli/help.js.map +1 -0
  268. package/dist/cli/orientation/attention.js +65 -0
  269. package/dist/cli/orientation/attention.js.map +1 -0
  270. package/dist/cli/orientation/corpusCoverage.js +71 -0
  271. package/dist/cli/orientation/corpusCoverage.js.map +1 -0
  272. package/dist/cli/orientation.js +138 -84
  273. package/dist/cli/orientation.js.map +1 -1
  274. package/dist/cli/prime-blob.js +1 -1
  275. package/dist/cli/startupCompletenessContract.js +56 -0
  276. package/dist/cli/startupCompletenessContract.js.map +1 -0
  277. package/dist/cli/stateQuery.js +16 -2
  278. package/dist/cli/stateQuery.js.map +1 -1
  279. package/dist/cli/todoMarkdown.js +33 -0
  280. package/dist/cli/todoMarkdown.js.map +1 -0
  281. package/dist/cli/todoSeverity.js +19 -0
  282. package/dist/cli/todoSeverity.js.map +1 -0
  283. package/dist/core/envPaths.js +21 -0
  284. package/dist/core/envPaths.js.map +1 -0
  285. package/dist/core/jsonValue.js +6 -0
  286. package/dist/core/jsonValue.js.map +1 -0
  287. package/dist/core/pyjson.js +67 -2
  288. package/dist/core/pyjson.js.map +1 -1
  289. package/dist/eval/evalSkills.js +17 -12
  290. package/dist/eval/evalSkills.js.map +1 -1
  291. package/dist/eval/semanticEval.js +43 -19
  292. package/dist/eval/semanticEval.js.map +1 -1
  293. package/dist/eval/semanticFixtures.js +16 -4
  294. package/dist/eval/semanticFixtures.js.map +1 -1
  295. package/dist/hooks/common.js +8 -25
  296. package/dist/hooks/common.js.map +1 -1
  297. package/dist/hooks/compaction/apply.js +269 -0
  298. package/dist/hooks/compaction/apply.js.map +1 -0
  299. package/dist/hooks/compaction/dryRun.js +183 -0
  300. package/dist/hooks/compaction/dryRun.js.map +1 -0
  301. package/dist/hooks/compaction/index.js +23 -0
  302. package/dist/hooks/compaction/index.js.map +1 -0
  303. package/dist/hooks/compaction/parse.js +258 -0
  304. package/dist/hooks/compaction/parse.js.map +1 -0
  305. package/dist/hooks/compaction/retention.js +199 -0
  306. package/dist/hooks/compaction/retention.js.map +1 -0
  307. package/dist/hooks/compaction/status.js +241 -0
  308. package/dist/hooks/compaction/status.js.map +1 -0
  309. package/dist/hooks/compaction/types.js +6 -0
  310. package/dist/hooks/compaction/types.js.map +1 -0
  311. package/dist/hooks/cursorPreToolUse.js +1 -1
  312. package/dist/hooks/cursorPreToolUse.js.map +1 -1
  313. package/dist/hooks/cursorSessionStart.js +10 -2
  314. package/dist/hooks/cursorSessionStart.js.map +1 -1
  315. package/dist/hooks/sessionStart.js +18 -11
  316. package/dist/hooks/sessionStart.js.map +1 -1
  317. package/dist/hooks/sessionStop.js +6 -12
  318. package/dist/hooks/sessionStop.js.map +1 -1
  319. package/dist/hooks/validateArtifact/agentFacing.js +10 -0
  320. package/dist/hooks/validateArtifact/agentFacing.js.map +1 -0
  321. package/dist/hooks/validateArtifact/index.js +151 -0
  322. package/dist/hooks/validateArtifact/index.js.map +1 -0
  323. package/dist/hooks/validateArtifact/markdown.js +146 -0
  324. package/dist/hooks/validateArtifact/markdown.js.map +1 -0
  325. package/dist/hooks/validateArtifact/runtime.js +86 -0
  326. package/dist/hooks/validateArtifact/runtime.js.map +1 -0
  327. package/dist/hooks/validateArtifact/schema.js +459 -0
  328. package/dist/hooks/validateArtifact/schema.js.map +1 -0
  329. package/dist/hooks/validateArtifact/traversal.js +106 -0
  330. package/dist/hooks/validateArtifact/traversal.js.map +1 -0
  331. package/dist/hooks/validateArtifact/violations.js +105 -0
  332. package/dist/hooks/validateArtifact/violations.js.map +1 -0
  333. package/dist/migrate/v2HandoffManifest.js +451 -0
  334. package/dist/migrate/v2HandoffManifest.js.map +1 -0
  335. package/dist/registries/artifactProtocolIds.js +77 -0
  336. package/dist/registries/artifactProtocolIds.js.map +1 -0
  337. package/dist/registries/artifactRegistry.js +23 -9
  338. package/dist/registries/artifactRegistry.js.map +1 -1
  339. package/dist/registries/capabilityContract.js +156 -12
  340. package/dist/registries/capabilityContract.js.map +1 -1
  341. package/dist/registries/evaluatorHandoffContract.js +171 -0
  342. package/dist/registries/evaluatorHandoffContract.js.map +1 -0
  343. package/dist/registries/packageRegistry.js +4 -3
  344. package/dist/registries/packageRegistry.js.map +1 -1
  345. package/dist/registries/runtimeAdapterRegistry.js +5 -4
  346. package/dist/registries/runtimeAdapterRegistry.js.map +1 -1
  347. package/dist/registries/triggerLoader.js +211 -0
  348. package/dist/registries/triggerLoader.js.map +1 -0
  349. package/dist/release/releaseMetadata.js +235 -0
  350. package/dist/release/releaseMetadata.js.map +1 -0
  351. package/dist/setup/codex/agents.js +96 -0
  352. package/dist/setup/codex/agents.js.map +1 -0
  353. package/dist/setup/codex/cli.js +161 -0
  354. package/dist/setup/codex/cli.js.map +1 -0
  355. package/dist/setup/codex/configToml.js +639 -0
  356. package/dist/setup/codex/configToml.js.map +1 -0
  357. package/dist/setup/codex/constants.js +29 -0
  358. package/dist/setup/codex/constants.js.map +1 -0
  359. package/dist/setup/codex/installRoot.js +64 -0
  360. package/dist/setup/codex/installRoot.js.map +1 -0
  361. package/dist/setup/codex/state.js +270 -0
  362. package/dist/setup/codex/state.js.map +1 -0
  363. package/dist/setup/codex.js +11 -1051
  364. package/dist/setup/codex.js.map +1 -1
  365. package/dist/setup/cursor.js +6 -4
  366. package/dist/setup/cursor.js.map +1 -1
  367. package/dist/setup/cursorSurfaces.js +67 -0
  368. package/dist/setup/cursorSurfaces.js.map +1 -0
  369. package/dist/setup/doctor/core.js +296 -0
  370. package/dist/setup/doctor/core.js.map +1 -0
  371. package/dist/setup/doctor/diagnostics.js +240 -0
  372. package/dist/setup/doctor/diagnostics.js.map +1 -0
  373. package/dist/setup/doctor/opencode.js +301 -0
  374. package/dist/setup/doctor/opencode.js.map +1 -0
  375. package/dist/setup/doctor/report.js +425 -0
  376. package/dist/setup/doctor/report.js.map +1 -0
  377. package/dist/setup/doctor.js +9 -1268
  378. package/dist/setup/doctor.js.map +1 -1
  379. package/dist/setup/opencode.js +13 -0
  380. package/dist/setup/opencode.js.map +1 -0
  381. package/dist/setup/opencodeConstants.js +2 -0
  382. package/dist/setup/opencodeConstants.js.map +1 -0
  383. package/dist/setup/smokeChecks.js +111 -0
  384. package/dist/setup/smokeChecks.js.map +1 -0
  385. package/dist/state/installRoot.js +64 -24
  386. package/dist/state/installRoot.js.map +1 -1
  387. package/dist/state/startupAnalysis/benchmark.js +371 -0
  388. package/dist/state/startupAnalysis/benchmark.js.map +1 -0
  389. package/dist/state/startupAnalysis/contract.js +126 -0
  390. package/dist/state/startupAnalysis/contract.js.map +1 -0
  391. package/dist/state/startupAnalysis/helpers.js +287 -0
  392. package/dist/state/startupAnalysis/helpers.js.map +1 -0
  393. package/dist/state/startupAnalysis/index.js +7 -0
  394. package/dist/state/startupAnalysis/index.js.map +1 -0
  395. package/dist/state/startupAnalysis/metrics.js +341 -0
  396. package/dist/state/startupAnalysis/metrics.js.map +1 -0
  397. package/dist/state/startupAnalysis/records.js +199 -0
  398. package/dist/state/startupAnalysis/records.js.map +1 -0
  399. package/dist/state/startupAnalysis/report.js +112 -0
  400. package/dist/state/startupAnalysis/report.js.map +1 -0
  401. package/dist/state/startupAnalysis/threshold.js +500 -0
  402. package/dist/state/startupAnalysis/threshold.js.map +1 -0
  403. package/dist/state/startupAnalysis.js +2 -1952
  404. package/dist/state/startupAnalysis.js.map +1 -1
  405. package/dist/upgrade/appContentRefresh.js +367 -0
  406. package/dist/upgrade/appContentRefresh.js.map +1 -0
  407. package/dist/upgrade/appModel.js +11 -6
  408. package/dist/upgrade/appModel.js.map +1 -1
  409. package/dist/upgrade/atomicWriter.js +23 -0
  410. package/dist/upgrade/atomicWriter.js.map +1 -0
  411. package/dist/upgrade/bundleEvidence.js +34 -0
  412. package/dist/upgrade/bundleEvidence.js.map +1 -0
  413. package/dist/upgrade/channels.js +48 -15
  414. package/dist/upgrade/channels.js.map +1 -1
  415. package/dist/upgrade/coexistenceProbe.js +105 -0
  416. package/dist/upgrade/coexistenceProbe.js.map +1 -0
  417. package/dist/upgrade/compatibility.js +26 -24
  418. package/dist/upgrade/compatibility.js.map +1 -1
  419. package/dist/upgrade/doctor.js +194 -191
  420. package/dist/upgrade/doctor.js.map +1 -1
  421. package/dist/upgrade/doctorClassifier.js +188 -0
  422. package/dist/upgrade/doctorClassifier.js.map +1 -0
  423. package/dist/upgrade/installedHooksRetirement.js +190 -0
  424. package/dist/upgrade/installedHooksRetirement.js.map +1 -0
  425. package/dist/upgrade/legacyAgentCleanup.js +183 -0
  426. package/dist/upgrade/legacyAgentCleanup.js.map +1 -0
  427. package/dist/upgrade/migrateArtifactsV1ToV2.js +568 -0
  428. package/dist/upgrade/migrateArtifactsV1ToV2.js.map +1 -0
  429. package/dist/upgrade/migrateArtifactsV2ToV3.js +118 -229
  430. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
  431. package/dist/upgrade/nextMajorDoctor.js +156 -0
  432. package/dist/upgrade/nextMajorDoctor.js.map +1 -0
  433. package/dist/upgrade/npxPlatformStatus.js +23 -0
  434. package/dist/upgrade/npxPlatformStatus.js.map +1 -0
  435. package/dist/upgrade/projectIntegration.js +233 -0
  436. package/dist/upgrade/projectIntegration.js.map +1 -0
  437. package/dist/upgrade/projectIntegrationDecision.js +42 -0
  438. package/dist/upgrade/projectIntegrationDecision.js.map +1 -0
  439. package/dist/upgrade/runtimeMigration.js +744 -0
  440. package/dist/upgrade/runtimeMigration.js.map +1 -0
  441. package/dist/upgrade/upgradeCommands.js +6 -6
  442. package/dist/upgrade/upgradeCommands.js.map +1 -1
  443. package/dist/upgrade/upgradeLock.js +54 -0
  444. package/dist/upgrade/upgradeLock.js.map +1 -0
  445. package/dist/upgrade/upgradeOrchestrator.js +59 -57
  446. package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
  447. package/dist/upgrade/upgradeSnapshot.js +93 -0
  448. package/dist/upgrade/upgradeSnapshot.js.map +1 -0
  449. package/dist/upgrade/v3CapabilitySurface.js +15 -0
  450. package/dist/upgrade/v3CapabilitySurface.js.map +1 -0
  451. package/dist/upgrade/versionResolution.js +187 -0
  452. package/dist/upgrade/versionResolution.js.map +1 -0
  453. package/dist/validate/appHomeContract.js +4 -4
  454. package/dist/validate/appHomeContract.js.map +1 -1
  455. package/dist/validate/capability.js +135 -14
  456. package/dist/validate/capability.js.map +1 -1
  457. package/dist/validate/crossCapability.js +1 -1
  458. package/dist/validate/crossCapability.js.map +1 -1
  459. package/dist/validate/lifecycleAdapters/legacyPythonParity.js +93 -0
  460. package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +1 -0
  461. package/dist/validate/lifecycleAdapters/nodeFormChecks.js +488 -0
  462. package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +1 -0
  463. package/dist/validate/lifecycleAdapters/shared.js +198 -0
  464. package/dist/validate/lifecycleAdapters/shared.js.map +1 -0
  465. package/dist/validate/lifecycleAdapters.js +13 -723
  466. package/dist/validate/lifecycleAdapters.js.map +1 -1
  467. package/dist/validate/selfAudit.js +62 -20
  468. package/dist/validate/selfAudit.js.map +1 -1
  469. package/dist/validate/vocabularyAuthority.js +303 -0
  470. package/dist/validate/vocabularyAuthority.js.map +1 -0
  471. package/package.json +29 -26
  472. package/bundle/references/v1-section-mapping.md +0 -47
  473. package/bundle/skills/agentera/agents/dokumentera.toml +0 -6
  474. package/bundle/skills/agentera/agents/hej.toml +0 -6
  475. package/bundle/skills/agentera/agents/inspektera.toml +0 -6
  476. package/bundle/skills/agentera/agents/inspirera.toml +0 -6
  477. package/bundle/skills/agentera/agents/optimera.toml +0 -6
  478. package/bundle/skills/agentera/agents/orkestrera.toml +0 -6
  479. package/bundle/skills/agentera/agents/planera.toml +0 -6
  480. package/bundle/skills/agentera/agents/profilera.toml +0 -6
  481. package/bundle/skills/agentera/agents/realisera.toml +0 -6
  482. package/bundle/skills/agentera/agents/resonera.toml +0 -6
  483. package/bundle/skills/agentera/agents/visionera.toml +0 -6
  484. package/bundle/skills/agentera/agents/visualisera.toml +0 -6
  485. package/bundle/skills/agentera/capabilities/dokumentera/instructions.md +0 -428
  486. package/bundle/skills/agentera/capabilities/hej/instructions.md +0 -331
  487. package/bundle/skills/agentera/capabilities/inspektera/instructions.md +0 -514
  488. package/bundle/skills/agentera/capabilities/inspirera/instructions.md +0 -280
  489. package/bundle/skills/agentera/capabilities/optimera/instructions.md +0 -437
  490. package/bundle/skills/agentera/capabilities/orkestrera/instructions.md +0 -433
  491. package/bundle/skills/agentera/capabilities/planera/instructions.md +0 -368
  492. package/bundle/skills/agentera/capabilities/profilera/instructions.md +0 -419
  493. package/bundle/skills/agentera/capabilities/realisera/instructions.md +0 -403
  494. package/bundle/skills/agentera/capabilities/resonera/instructions.md +0 -329
  495. package/bundle/skills/agentera/capabilities/visionera/instructions.md +0 -309
  496. package/bundle/skills/agentera/capabilities/visualisera/instructions.md +0 -400
  497. package/bundle/skills/hej/.claude-plugin/plugin.json +0 -6
  498. package/bundle/skills/hej/SKILL.md +0 -69
  499. package/bundle/skills/hej/agents/hej.toml +0 -11
  500. package/bundle/skills/hej/agents/openai.yaml +0 -8
  501. package/dist/cli/commands/backfill.js +0 -84
  502. package/dist/cli/commands/backfill.js.map +0 -1
  503. package/dist/cli/commands/state.js +0 -1012
  504. package/dist/cli/commands/state.js.map +0 -1
  505. package/dist/core/git.js +0 -43
  506. package/dist/core/git.js.map +0 -1
  507. package/dist/hooks/compaction.js +0 -935
  508. package/dist/hooks/compaction.js.map +0 -1
  509. package/dist/hooks/validateArtifact.js +0 -933
  510. package/dist/hooks/validateArtifact.js.map +0 -1
  511. package/dist/state/progressCommit.js +0 -289
  512. package/dist/state/progressCommit.js.map +0 -1
  513. /package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/exit.yaml +0 -0
  514. /package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/exit.yaml +0 -0
  515. /package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/exit.yaml +0 -0
  516. /package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/exit.yaml +0 -0
  517. /package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/exit.yaml +0 -0
  518. /package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/exit.yaml +0 -0
  519. /package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/exit.yaml +0 -0
  520. /package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/exit.yaml +0 -0
  521. /package/bundle/skills/agentera/capabilities/{hej → status}/schemas/exit.yaml +0 -0
  522. /package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/exit.yaml +0 -0
@@ -3,12 +3,19 @@ import path from "node:path";
3
3
  import { isFile, pathExists, resolvePath } from "../core/paths.js";
4
4
  import { BUNDLE_MARKER } from "../state/installRoot.js";
5
5
  import { doctorRoots } from "./appModel.js";
6
- import { AGENTERA_USER_STATE_NAMES, ROOT_USER_STATE_DIR_NAMES, ROOT_USER_STATE_FILE_NAMES, } from "./doctor.js";
6
+ import { AGENTERA_USER_STATE_NAMES, } from "./doctor.js";
7
+ import { acquireUpgradeLock, releaseUpgradeLock, } from "./upgradeLock.js";
8
+ import { removeUpgradeSnapshot, snapshotManagedApp, } from "./upgradeSnapshot.js";
9
+ import { applyV1ArtifactsPhase, planV1ArtifactsPhase, } from "./migrateArtifactsV1ToV2.js";
10
+ import { appHomeHasUnrecognizedEntriesWithPreflight, handoffCatalogMessage, resolveMigrationUserStatePreflight, } from "../migrate/v2HandoffManifest.js";
11
+ import { applyAppContentRefreshItems, planAppContentRefreshItems, } from "./appContentRefresh.js";
12
+ import { applyLegacyAgentCleanupItems, planLegacyAgentCleanupItems, planLegacyCapabilityAgentCleanupItems, } from "./legacyAgentCleanup.js";
13
+ import { applyRuntimeMigrationItems, planRuntimeMigrationItems, resolveNpxHookCommands, rewireRuntimeText, } from "./runtimeMigration.js";
7
14
  /**
8
15
  * v2→v3 migration phases: artifacts (noop for YAML), runtime rewire, cleanup.
9
- * v1 Markdown→YAML migration stays separate (prime.ts V1_ARTIFACT_PAIRS).
16
+ * v1 Markdown→YAML migration uses detectV1ArtifactPairs (shared with prime).
10
17
  */
11
- export const MIGRATION_STATUSES = ["pending", "applied", "noop", "blocked", "failed", "skipped"];
18
+ export const MIGRATION_STATUSES = ["pending", "applied", "noop", "blocked", "failed"];
12
19
  export const V1_ARTIFACT_PAIRS = [
13
20
  [".agentera/PROGRESS.md", ".agentera/progress.yaml"],
14
21
  [".agentera/PLAN.md", ".agentera/plan.yaml"],
@@ -17,23 +24,15 @@ export const V1_ARTIFACT_PAIRS = [
17
24
  [".agentera/DOCS.md", ".agentera/docs.yaml"],
18
25
  ["VISION.md", ".agentera/vision.yaml"],
19
26
  ];
20
- export const NPX_CLI_ENTRYPOINT = "npx -y agentera";
27
+ /** Default development-channel npm entrypoint for tests and legacy imports. */
28
+ export const NPX_CLI_ENTRYPOINT = "npx -y agentera@next";
21
29
  export const NPX_HOOK_VALIDATE = `${NPX_CLI_ENTRYPOINT} hook validate-artifact`;
22
30
  export const NPX_HOOK_CURSOR_SESSION_START = `${NPX_CLI_ENTRYPOINT} hook cursor-session-start`;
23
31
  export const NPX_HOOK_CURSOR_SESSION_STOP = `${NPX_CLI_ENTRYPOINT} hook session-stop`;
24
32
  export const NPX_HOOK_CURSOR_PRE_TOOL = `${NPX_CLI_ENTRYPOINT} hook cursor-pre-tool-use`;
25
- const PYTHON_MANAGED_PATTERNS = [
26
- /hooks\/validate_artifact\.py/,
27
- /\buv run\b/,
28
- /\buvx\b/,
29
- /scripts\/agentera/,
30
- /\/app\/scripts\/agentera/,
31
- /cursor_session_start\.py/,
32
- /cursor_pre_tool_use\.py/,
33
- /cursor_session_stop\.py/,
34
- ];
33
+ export { rewireRuntimeText, resolveNpxHookCommands };
35
34
  function emptySummary() {
36
- return { pending: 0, applied: 0, noop: 0, blocked: 0, failed: 0, skipped: 0 };
35
+ return { pending: 0, applied: 0, noop: 0, blocked: 0, failed: 0 };
37
36
  }
38
37
  export function summarizePhase(name, items, message = "") {
39
38
  const summary = emptySummary();
@@ -53,9 +52,6 @@ export function summarizePhase(name, items, message = "") {
53
52
  else if (summary.applied > 0) {
54
53
  status = "applied";
55
54
  }
56
- else if (summary.skipped > 0 && summary.noop === 0 && summary.applied === 0) {
57
- status = "skipped";
58
- }
59
55
  else {
60
56
  status = "noop";
61
57
  }
@@ -103,13 +99,7 @@ export function planArtifactsPhase(project) {
103
99
  }
104
100
  const v1Pairs = detectV1ArtifactPairs(root);
105
101
  if (v1Pairs.length > 0) {
106
- const items = v1Pairs.map((source) => ({
107
- status: "blocked",
108
- action: "validate",
109
- source,
110
- message: "v1 Markdown artifacts require separate v1→v2 migration; v2→v3 preserves existing YAML only",
111
- }));
112
- return summarizePhase("artifacts", items);
102
+ return planV1ArtifactsPhase(root);
113
103
  }
114
104
  const yamlArtifacts = listV2YamlArtifacts(root);
115
105
  if (yamlArtifacts.length === 0) {
@@ -123,155 +113,43 @@ export function planArtifactsPhase(project) {
123
113
  }));
124
114
  return summarizePhase("artifacts", items);
125
115
  }
126
- export function applyArtifactsPhase(phase, _project) {
127
- phase.status = summarizePhase("artifacts", phase.items, phase.message).status;
128
- }
129
- function textUsesPythonManagedEntrypoint(text) {
130
- if (/AGENTERA_HOME\s*=/.test(text)) {
131
- return true;
132
- }
133
- return PYTHON_MANAGED_PATTERNS.some((pattern) => pattern.test(text));
134
- }
135
- function rewireRuntimeText(text, runtime) {
136
- let next = text;
137
- next = next.replace(/uv run\s+"?\$\{AGENTERA_HOME\}\/hooks\/validate_artifact\.py"?/g, NPX_HOOK_VALIDATE);
138
- next = next.replace(/uv run\s+"?\$\{PLUGIN_ROOT\}\/hooks\/validate_artifact\.py"?/g, NPX_HOOK_VALIDATE);
139
- next = next.replace(/["']?[^"'\n]*hooks\/validate_artifact\.py[^"'\n]*["']?/g, `"${NPX_HOOK_VALIDATE}"`);
140
- next = next.replace(/["']?[^"'\n]*cursor_session_start\.py[^"'\n]*["']?/g, `"${NPX_HOOK_CURSOR_SESSION_START}"`);
141
- next = next.replace(/["']?[^"'\n]*cursor_pre_tool_use\.py[^"'\n]*["']?/g, `"${NPX_HOOK_CURSOR_PRE_TOOL}"`);
142
- next = next.replace(/["']?[^"'\n]*cursor_session_stop\.py[^"'\n]*["']?/g, `"${NPX_HOOK_CURSOR_SESSION_STOP}"`);
143
- next = next.replace(/["']?[^"'\n]*\/app\/scripts\/agentera[^"'\n]*["']?/g, `"${NPX_CLI_ENTRYPOINT}"`);
144
- next = next.replace(/["']?[^"'\n]*scripts\/agentera[^"'\n]*["']?/g, `"${NPX_CLI_ENTRYPOINT}"`);
145
- if (runtime === "codex") {
146
- next = next.replace(/AGENTERA_HOME\s*=\s*"[^"]*"/g, "");
147
- next = next.replace(/AGENTERA_HOME\s*=\s*'[^']*'/g, "");
148
- next = next.replace(/set\s*=\s*\{\s*,/g, "set = {");
149
- next = next.replace(/,\s*,/g, ",");
150
- next = next.replace(/,\s*\}/g, " }");
151
- next = next.replace(/set\s*=\s*\{\s*\}/g, "set = { }");
116
+ export function applyArtifactsPhase(phase, project, force = false) {
117
+ const root = resolvePath(project);
118
+ const hasV1Migration = phase.items.some((item) => item.action === "migrate");
119
+ if (hasV1Migration) {
120
+ applyV1ArtifactsPhase(phase, root, force);
121
+ return;
152
122
  }
153
- return next;
154
- }
155
- function runtimeTargets(home, project) {
156
- const targets = [];
157
- const add = (runtime, p) => {
158
- if (isFile(p)) {
159
- targets.push({ runtime, path: p });
160
- }
161
- };
162
- add("codex", path.join(home, ".codex", "hooks", "codex-hooks.json"));
163
- add("codex", path.join(home, ".codex", "config.toml"));
164
- add("cursor", path.join(project, ".cursor", "hooks.json"));
165
- add("cursor", path.join(home, ".cursor", "hooks.json"));
166
- return targets;
123
+ phase.status = summarizePhase("artifacts", phase.items, phase.message).status;
167
124
  }
168
125
  export function planRuntimeRewirePhase(ctx) {
169
- const home = resolvePath(ctx.home);
170
- const project = resolvePath(ctx.project);
171
- const items = [];
172
- for (const target of runtimeTargets(home, project)) {
173
- const text = fs.readFileSync(target.path, "utf8");
174
- if (!textUsesPythonManagedEntrypoint(text)) {
175
- if (text.includes(NPX_CLI_ENTRYPOINT)) {
176
- items.push({
177
- status: "noop",
178
- action: "rewire-runtime",
179
- runtime: target.runtime,
180
- source: target.path,
181
- message: "runtime config already references npm self-contained entrypoint",
182
- });
183
- }
184
- continue;
185
- }
186
- const newText = rewireRuntimeText(text, target.runtime);
187
- const status = newText === text ? "blocked" : "pending";
188
- items.push({
189
- status,
190
- action: "rewire-runtime",
191
- runtime: target.runtime,
192
- source: target.path,
193
- target: target.path,
194
- newText,
195
- message: status === "pending"
196
- ? "will rewire runtime config from Python managed app-home to npm self-contained entrypoint"
197
- : "runtime config uses Python managed paths but could not be rewritten safely",
198
- });
199
- }
126
+ const items = planRuntimeMigrationItems(ctx);
200
127
  return summarizePhase("runtime", items, items.length === 0 ? "no runtime configs with Python managed app-home references found" : "");
201
128
  }
202
- export function applyRuntimeRewirePhase(phase) {
203
- for (const item of phase.items) {
204
- if (item.status !== "pending" || !item.target || item.newText === undefined) {
205
- continue;
206
- }
207
- try {
208
- fs.writeFileSync(item.target, item.newText, "utf8");
209
- item.status = "applied";
210
- item.message = "runtime config rewired to npm self-contained entrypoint";
211
- }
212
- catch (exc) {
213
- item.status = "failed";
214
- item.message = `runtime rewire failed: ${exc.message}`;
215
- }
129
+ export function applyRuntimeRewirePhase(phase, ctx) {
130
+ if (ctx) {
131
+ applyRuntimeMigrationItems(phase.items, ctx);
132
+ }
133
+ else {
134
+ applyRuntimeMigrationItems(phase.items, {
135
+ appHome: "",
136
+ project: "",
137
+ home: "",
138
+ });
216
139
  }
217
140
  const updated = summarizePhase("runtime", phase.items, phase.message);
218
141
  phase.status = updated.status;
219
142
  phase.summary = updated.summary;
220
143
  }
221
- function agenteraUserStateDirIsRecognized(dir) {
222
- if (!pathExists(dir) || !fs.statSync(dir).isDirectory()) {
223
- return false;
224
- }
225
- for (const entry of fs.readdirSync(dir)) {
226
- const full = path.join(dir, entry);
227
- const st = fs.statSync(full);
228
- if (AGENTERA_USER_STATE_NAMES.has(entry) && st.isFile()) {
229
- continue;
230
- }
231
- if (entry === "optimera" && st.isDirectory()) {
232
- continue;
233
- }
234
- return false;
235
- }
236
- return true;
237
- }
238
- function isPreservedUserStateEntry(appHome, entry) {
239
- const full = path.join(appHome, entry);
240
- if (!pathExists(full)) {
241
- return false;
242
- }
243
- const st = fs.statSync(full);
244
- if (ROOT_USER_STATE_FILE_NAMES.has(entry) && st.isFile()) {
245
- return true;
246
- }
247
- if (ROOT_USER_STATE_DIR_NAMES.has(entry) && st.isDirectory()) {
144
+ /** Whether `app/` under app-home still carries a managed bundle worth removing during v2→v3 cleanup. */
145
+ export function hasManagedBundleEvidence(managedAppRoot) {
146
+ // v3 npm-managed installs write BUNDLE_MARKER at pack/refresh time.
147
+ if (isFile(path.join(managedAppRoot, BUNDLE_MARKER))) {
248
148
  return true;
249
149
  }
250
- if (entry === ".agentera" && agenteraUserStateDirIsRecognized(full)) {
251
- return true;
252
- }
253
- return false;
254
- }
255
- function listPreservedUserStatePaths(appHome) {
256
- const preserved = [];
257
- for (const entry of listPreservedUserState(appHome)) {
258
- const full = path.join(appHome, entry);
259
- preserved.push(full);
260
- if (entry === ".agentera" && pathExists(full) && fs.statSync(full).isDirectory()) {
261
- for (const name of AGENTERA_USER_STATE_NAMES) {
262
- const nested = path.join(full, name);
263
- if (isFile(nested)) {
264
- preserved.push(nested);
265
- }
266
- }
267
- }
268
- }
269
- return preserved.sort();
270
- }
271
- function hasManagedBundleEvidence(managedAppRoot) {
272
- return (isFile(path.join(managedAppRoot, BUNDLE_MARKER)) ||
273
- (isFile(path.join(managedAppRoot, "scripts", "agentera")) &&
274
- isFile(path.join(managedAppRoot, "skills", "agentera", "SKILL.md"))));
150
+ // Legacy v2 Python-managed installs lacked the marker but always shipped this pair.
151
+ return (isFile(path.join(managedAppRoot, "scripts", "agentera")) &&
152
+ isFile(path.join(managedAppRoot, "skills", "agentera", "SKILL.md")));
275
153
  }
276
154
  function listManagedBundlePreview(managedAppRoot, limit = 20) {
277
155
  if (!pathExists(managedAppRoot)) {
@@ -297,68 +175,55 @@ function listManagedBundlePreview(managedAppRoot, limit = 20) {
297
175
  walk(managedAppRoot, "");
298
176
  return out;
299
177
  }
300
- function appHomeHasUnrecognizedEntries(appHome) {
301
- if (!pathExists(appHome)) {
302
- return [];
303
- }
304
- const unknown = [];
305
- for (const entry of fs.readdirSync(appHome)) {
306
- if (entry === "app") {
307
- continue;
308
- }
309
- if (!isPreservedUserStateEntry(appHome, entry)) {
310
- unknown.push(entry);
311
- }
312
- }
313
- return unknown;
314
- }
315
178
  export function planCleanupPhase(ctx) {
316
179
  const appHome = resolvePath(ctx.appHome);
317
180
  const roots = doctorRoots(appHome);
318
181
  const managedAppRoot = roots.managedAppRoot;
319
- const preserved = listPreservedUserStatePaths(appHome);
320
- const unknown = appHomeHasUnrecognizedEntries(appHome);
182
+ const preflight = resolveMigrationUserStatePreflight(appHome, {
183
+ home: ctx.home,
184
+ env: ctx.env,
185
+ });
186
+ const preserved = preflight.preservedAbsolutePaths;
187
+ const unknown = appHomeHasUnrecognizedEntriesWithPreflight(appHome, preflight);
188
+ const items = [
189
+ ...preflight.handoffCatalog.map((entry) => ({
190
+ status: "noop",
191
+ action: "catalog-handoff",
192
+ source: entry.root,
193
+ preserved: entry.entries,
194
+ message: handoffCatalogMessage(entry),
195
+ })),
196
+ ...planAppContentRefreshItems(ctx),
197
+ ...planLegacyAgentCleanupItems(ctx),
198
+ ...planLegacyCapabilityAgentCleanupItems(ctx),
199
+ ];
321
200
  if (unknown.length > 0 && !ctx.force) {
322
- return summarizePhase("cleanup", [
323
- {
324
- status: "blocked",
325
- action: "remove-managed-app-home",
326
- source: appHome,
327
- preserved,
328
- message: "app home contains unrecognized entries outside preserved user state; cleanup blocked without --force",
329
- },
330
- ]);
331
- }
332
- if (!hasManagedBundleEvidence(managedAppRoot)) {
333
- return summarizePhase("cleanup", [], "no managed Python app-home bundle to remove");
334
- }
335
- const removedPreview = listManagedBundlePreview(managedAppRoot);
336
- return summarizePhase("cleanup", [
337
- {
338
- status: "pending",
201
+ items.push({
202
+ status: "blocked",
339
203
  action: "remove-managed-app-home",
340
- source: managedAppRoot,
341
- target: appHome,
204
+ source: appHome,
342
205
  preserved,
343
- removedPreview,
344
- message: "will remove managed Python app-home bundle under app/ while preserving user state at app-home root",
345
- },
346
- ]);
347
- }
348
- function listPreservedUserState(appHome) {
349
- if (!pathExists(appHome)) {
350
- return [];
206
+ message: `app home has unrecognized entries (not preserved user state or managed app content): ${unknown.join(", ")}; cleanup blocked without --force`,
207
+ });
208
+ return summarizePhase("cleanup", items);
351
209
  }
352
- const preserved = [];
353
- for (const entry of fs.readdirSync(appHome)) {
354
- if (entry === "app") {
355
- continue;
356
- }
357
- if (isPreservedUserStateEntry(appHome, entry)) {
358
- preserved.push(entry);
210
+ if (!hasManagedBundleEvidence(managedAppRoot)) {
211
+ if (items.length === 0) {
212
+ return summarizePhase("cleanup", [], "no managed Python app-home bundle to remove");
359
213
  }
214
+ return summarizePhase("cleanup", items);
360
215
  }
361
- return preserved.sort();
216
+ const removedPreview = listManagedBundlePreview(managedAppRoot);
217
+ items.push({
218
+ status: "pending",
219
+ action: "remove-managed-app-home",
220
+ source: managedAppRoot,
221
+ target: appHome,
222
+ preserved,
223
+ removedPreview,
224
+ message: "will remove managed Python app-home bundle under app/ while preserving user state at app-home root",
225
+ });
226
+ return summarizePhase("cleanup", items);
362
227
  }
363
228
  function removeDirectoryRecursive(dir) {
364
229
  if (!pathExists(dir)) {
@@ -366,12 +231,24 @@ function removeDirectoryRecursive(dir) {
366
231
  }
367
232
  fs.rmSync(dir, { recursive: true, force: true });
368
233
  }
369
- export function applyCleanupPhase(phase) {
234
+ export function applyCleanupPhase(phase, ctx) {
235
+ if (ctx) {
236
+ applyAppContentRefreshItems(phase.items, ctx);
237
+ }
238
+ applyLegacyAgentCleanupItems(phase.items);
239
+ const snapshots = [];
370
240
  for (const item of phase.items) {
371
- if (item.status !== "pending" || !item.source) {
241
+ if (item.status !== "pending" || item.action !== "remove-managed-app-home" || !item.source) {
372
242
  continue;
373
243
  }
244
+ const appHome = ctx?.appHome ?? item.target ?? "";
374
245
  try {
246
+ if (appHome) {
247
+ const snapshotDir = snapshotManagedApp(item.source, appHome);
248
+ if (snapshotDir) {
249
+ snapshots.push({ appHome, dir: snapshotDir });
250
+ }
251
+ }
375
252
  removeDirectoryRecursive(item.source);
376
253
  item.status = "applied";
377
254
  item.message = "managed Python app-home bundle removed; user state preserved";
@@ -381,6 +258,12 @@ export function applyCleanupPhase(phase) {
381
258
  item.message = `cleanup failed: ${exc.message}`;
382
259
  }
383
260
  }
261
+ const cleanupFailed = phase.items.some((item) => item.action === "remove-managed-app-home" && item.status === "failed");
262
+ if (!cleanupFailed) {
263
+ for (const snap of snapshots) {
264
+ removeUpgradeSnapshot(snap.appHome, snap.dir);
265
+ }
266
+ }
384
267
  const updated = summarizePhase("cleanup", phase.items, phase.message);
385
268
  phase.status = updated.status;
386
269
  phase.summary = updated.summary;
@@ -393,20 +276,26 @@ export function dryRunMigration(ctx) {
393
276
  };
394
277
  }
395
278
  export function applyMigrationPhases(ctx, preview, only = ["artifacts", "runtime", "cleanup"]) {
396
- const result = {
397
- artifacts: { ...preview.artifacts, items: preview.artifacts.items.map((item) => ({ ...item })) },
398
- runtime: { ...preview.runtime, items: preview.runtime.items.map((item) => ({ ...item })) },
399
- cleanup: { ...preview.cleanup, items: preview.cleanup.items.map((item) => ({ ...item })) },
400
- };
401
- if (only.includes("artifacts")) {
402
- applyArtifactsPhase(result.artifacts, ctx.project);
403
- }
404
- if (only.includes("runtime")) {
405
- applyRuntimeRewirePhase(result.runtime);
279
+ acquireUpgradeLock(ctx.appHome);
280
+ try {
281
+ const result = {
282
+ artifacts: { ...preview.artifacts, items: preview.artifacts.items.map((item) => ({ ...item })) },
283
+ runtime: { ...preview.runtime, items: preview.runtime.items.map((item) => ({ ...item })) },
284
+ cleanup: { ...preview.cleanup, items: preview.cleanup.items.map((item) => ({ ...item })) },
285
+ };
286
+ if (only.includes("artifacts")) {
287
+ applyArtifactsPhase(result.artifacts, ctx.project, ctx.force);
288
+ }
289
+ if (only.includes("runtime")) {
290
+ applyRuntimeRewirePhase(result.runtime, ctx);
291
+ }
292
+ if (only.includes("cleanup")) {
293
+ applyCleanupPhase(result.cleanup, ctx);
294
+ }
295
+ return result;
406
296
  }
407
- if (only.includes("cleanup")) {
408
- applyCleanupPhase(result.cleanup);
297
+ finally {
298
+ releaseUpgradeLock(ctx.appHome);
409
299
  }
410
- return result;
411
300
  }
412
301
  //# sourceMappingURL=migrateArtifactsV2ToV3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrateArtifactsV2ToV3.js","sourceRoot":"","sources":["../../src/upgrade/migrateArtifactsV2ToV3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrateArtifactsV2ToV3.js","sourceRoot":"","sources":["../../src/upgrade/migrateArtifactsV2ToV3.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,156 @@
1
+ import { cliDistributionMajor } from "./compatibility.js";
2
+ import { loadUpdateChannelsAuthority, resolveSelectedChannel, } from "./channels.js";
3
+ import { resolveRunningVersion } from "./versionResolution.js";
4
+ /**
5
+ * Head-of-output "next major" doctor section.
6
+ * Authority: references/cli/update-channels.yaml (channels.<channel>.next_major)
7
+ */
8
+ export const NEXT_MAJOR_SECTION_HEADER = "Next major";
9
+ export const NEXT_MAJOR_LINE_CAP = 6;
10
+ /** v1 installs predate the channel authority; hardcoded stable-line successor mapping. */
11
+ export const V1_NEXT_MAJOR_FALLBACK = {
12
+ concept: "forward_successor_line",
13
+ currentVersion: "1.x",
14
+ currentChannel: "stable",
15
+ channel: "stable",
16
+ version: "2.x",
17
+ announced: true,
18
+ npmOnlyAdvisory: "",
19
+ guideUrl: "https://github.com/jgabor/agentera/blob/main/UPGRADE.md#recommended-upgrade-v1--v2-stable-channel",
20
+ previewCommand: "npx -y agentera@latest upgrade --dry-run",
21
+ irreversibleAdvisory: "Forward migration upgrades artifact format from Markdown to YAML; review the preview before applying.",
22
+ };
23
+ function parseNextMajorBlock(raw) {
24
+ if (raw === null || raw === undefined) {
25
+ return null;
26
+ }
27
+ if (typeof raw !== "object" || Array.isArray(raw)) {
28
+ return null;
29
+ }
30
+ const block = raw;
31
+ const channel = String(block.channel ?? "").trim().toLowerCase();
32
+ if (channel !== "stable" && channel !== "development") {
33
+ return null;
34
+ }
35
+ const version = String(block.version ?? "").trim();
36
+ if (!version) {
37
+ return null;
38
+ }
39
+ const guideUrl = String(block.guide_url ?? "").trim();
40
+ const previewCommand = String(block.preview_command ?? "").trim();
41
+ const irreversibleAdvisory = String(block.irreversible_advisory ?? "").trim();
42
+ if (!guideUrl || !previewCommand || !irreversibleAdvisory) {
43
+ return null;
44
+ }
45
+ return {
46
+ concept: String(block.concept ?? "forward_successor_line").trim(),
47
+ channel: channel,
48
+ version,
49
+ announced: block.announced !== false,
50
+ npmOnlyAdvisory: String(block.npm_only_advisory ?? "").trim(),
51
+ guideUrl,
52
+ previewCommand,
53
+ irreversibleAdvisory,
54
+ };
55
+ }
56
+ let testSuccessorAnnouncedOverride = null;
57
+ /** Reset injectable successor announcement gate (tests). */
58
+ export function setSuccessorAnnouncedOverrideForTests(value) {
59
+ testSuccessorAnnouncedOverride = value;
60
+ }
61
+ /**
62
+ * True when the resolved channel's successor metadata exists and is announced
63
+ * for doctor/prime. Defaults to the stable channel so legacy callers that
64
+ * omit the argument behave identically to pre-fix behavior.
65
+ */
66
+ export function isStableSuccessorAnnounced(sourceRoot, channel = "stable") {
67
+ if (testSuccessorAnnouncedOverride !== null) {
68
+ return testSuccessorAnnouncedOverride;
69
+ }
70
+ const block = loadChannelNextMajor(sourceRoot, channel);
71
+ return block?.announced === true;
72
+ }
73
+ export function loadChannelNextMajor(sourceRoot, channel) {
74
+ const authority = loadUpdateChannelsAuthority(sourceRoot);
75
+ const channels = authority.channels;
76
+ const entry = channels?.[channel];
77
+ if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
78
+ return null;
79
+ }
80
+ return parseNextMajorBlock(entry.next_major);
81
+ }
82
+ export function formatNextMajorDoctorLines(args) {
83
+ const nextLine = args.block.npmOnlyAdvisory
84
+ ? `Next: ${args.block.version} (${args.block.channel} channel). ${args.block.npmOnlyAdvisory}`
85
+ : `Next: ${args.block.version} (${args.block.channel} channel)`;
86
+ return [
87
+ NEXT_MAJOR_SECTION_HEADER,
88
+ `Current: ${args.currentVersion} (${args.currentChannel} channel)`,
89
+ nextLine,
90
+ `Guide: ${args.block.guideUrl}`,
91
+ `Preview: ${args.block.previewCommand}`,
92
+ args.block.irreversibleAdvisory,
93
+ ];
94
+ }
95
+ function installTrackSkipsSuccessorBlock(install, sourceRoot) {
96
+ if (install?.kind === "v3_self_contained_npm") {
97
+ return true;
98
+ }
99
+ if (install?.kind === "source_checkout" && cliDistributionMajor(sourceRoot) >= 3) {
100
+ return true;
101
+ }
102
+ return false;
103
+ }
104
+ export function resolveNextMajorDoctorLines(ctx) {
105
+ const env = ctx.env ?? process.env;
106
+ const home = ctx.home;
107
+ const sourceRoot = ctx.sourceRoot;
108
+ const install = ctx.install ?? null;
109
+ if (installTrackSkipsSuccessorBlock(install, sourceRoot)) {
110
+ return null;
111
+ }
112
+ const selected = resolveSelectedChannel({
113
+ channel: ctx.channel ?? null,
114
+ env,
115
+ home,
116
+ sourceRoot,
117
+ });
118
+ const currentChannel = selected.channel;
119
+ const successorChannel = install?.kind === "v2_managed_app_home" ? "stable" : currentChannel;
120
+ const displayChannel = install?.kind === "v2_managed_app_home" ? "stable" : currentChannel;
121
+ const runningDistributionMajor = ctx.runningDistributionMajor ??
122
+ (install?.kind === "v2_managed_app_home" ? 2 : cliDistributionMajor(sourceRoot));
123
+ if (runningDistributionMajor === 1) {
124
+ const block = V1_NEXT_MAJOR_FALLBACK;
125
+ return formatNextMajorDoctorLines({
126
+ currentVersion: block.currentVersion,
127
+ currentChannel: block.currentChannel,
128
+ block,
129
+ });
130
+ }
131
+ const authorityBlock = loadChannelNextMajor(sourceRoot, successorChannel);
132
+ if (!authorityBlock || !authorityBlock.announced) {
133
+ return null;
134
+ }
135
+ const runningVersion = ctx.runningVersion ??
136
+ (install
137
+ ? resolveRunningVersion({
138
+ appHome: install.appHome,
139
+ sourceRoot,
140
+ install,
141
+ })
142
+ : null) ??
143
+ `${runningDistributionMajor}.x`;
144
+ return formatNextMajorDoctorLines({
145
+ currentVersion: runningVersion,
146
+ currentChannel: displayChannel,
147
+ block: authorityBlock,
148
+ });
149
+ }
150
+ export function prependNextMajorDoctorSection(text, sectionLines) {
151
+ if (!sectionLines || sectionLines.length === 0) {
152
+ return text;
153
+ }
154
+ return `${sectionLines.join("\n")}\n\n${text}`;
155
+ }
156
+ //# sourceMappingURL=nextMajorDoctor.js.map