agentera 3.0.0-dev.8 → 3.0.0-dev.80

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 (724) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +252 -22
  3. package/bundle/.agentera-build-source.json +8 -0
  4. package/bundle/CHANGELOG.md +1387 -0
  5. package/bundle/DESIGN.md +229 -0
  6. package/bundle/LICENSE +201 -0
  7. package/bundle/README.md +143 -0
  8. package/bundle/UPGRADE.md +271 -0
  9. package/bundle/extract-corpus-parity.json +2 -4
  10. package/bundle/fixtures/routing/hybrid-corpus.yaml +154 -0
  11. package/bundle/references/adapters/package-publication.json +484 -0
  12. package/bundle/references/adapters/package-registry.yaml +443 -188
  13. package/bundle/references/adapters/package-surface-characterization.md +68 -34
  14. package/bundle/references/adapters/product-v1-reset.yaml +101 -0
  15. package/bundle/references/adapters/runtime-lifecycle-adapters.yaml +74 -0
  16. package/bundle/references/adapters/runtime-lifecycle-authority.yaml +62 -0
  17. package/bundle/references/adapters/runtime-lifecycle-operation-contract.yaml +84 -0
  18. package/bundle/references/adapters/runtime-retired-resources.yaml +333 -0
  19. package/bundle/references/analysis/evidence-tier-authority.yaml +559 -0
  20. package/bundle/references/analysis/personal-glossary-evaluation-authority.yaml +175 -0
  21. package/bundle/references/analysis/personal-glossary-evaluation-corpus.yaml +291 -0
  22. package/bundle/references/analysis/personal-glossary-holdout.yaml +192 -0
  23. package/bundle/references/analysis/verification-policy.yaml +261 -0
  24. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +17 -8
  25. package/bundle/references/artifacts/glossary-entry-contract.yaml +2906 -0
  26. package/bundle/references/artifacts/state-storage-authority.yaml +3065 -0
  27. package/bundle/references/artifacts/verbosity-budget-authority.yaml +42 -0
  28. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +3 -4
  29. package/bundle/references/cli/capability-instruction-contract.yaml +11 -14
  30. package/bundle/references/cli/hybrid-route-contract.yaml +438 -0
  31. package/bundle/references/cli/routing-model.md +152 -93
  32. package/bundle/references/cli/trigger-schema-enrichment.md +57 -46
  33. package/bundle/references/cli/update-channels.yaml +7 -5
  34. package/bundle/references/cli/vocabulary-index.yaml +7 -9
  35. package/bundle/references/cli/vocabulary.md +54 -97
  36. package/bundle/references/meta/retained-reference-authority.yaml +171 -0
  37. package/bundle/skills/agentera/SKILL.md +183 -63
  38. package/bundle/skills/agentera/capabilities/audit/schemas/artifacts.yaml +27 -19
  39. package/bundle/skills/agentera/capabilities/audit/schemas/exit.yaml +2 -2
  40. package/bundle/skills/agentera/capabilities/audit/schemas/triggers.yaml +13 -35
  41. package/bundle/skills/agentera/capabilities/audit/schemas/validation.yaml +30 -11
  42. package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +44 -21
  43. package/bundle/skills/agentera/capabilities/build/schemas/exit.yaml +8 -6
  44. package/bundle/skills/agentera/capabilities/build/schemas/triggers.yaml +14 -36
  45. package/bundle/skills/agentera/capabilities/build/schemas/validation.yaml +95 -21
  46. package/bundle/skills/agentera/capabilities/design/schemas/artifacts.yaml +6 -6
  47. package/bundle/skills/agentera/capabilities/design/schemas/exit.yaml +5 -5
  48. package/bundle/skills/agentera/capabilities/design/schemas/triggers.yaml +5 -34
  49. package/bundle/skills/agentera/capabilities/design/schemas/validation.yaml +2 -2
  50. package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +17 -13
  51. package/bundle/skills/agentera/capabilities/discuss/schemas/exit.yaml +2 -2
  52. package/bundle/skills/agentera/capabilities/discuss/schemas/triggers.yaml +6 -40
  53. package/bundle/skills/agentera/capabilities/discuss/schemas/validation.yaml +72 -5
  54. package/bundle/skills/agentera/capabilities/document/schemas/artifacts.yaml +24 -17
  55. package/bundle/skills/agentera/capabilities/document/schemas/triggers.yaml +5 -35
  56. package/bundle/skills/agentera/capabilities/document/schemas/validation.yaml +13 -13
  57. package/bundle/skills/agentera/capabilities/optimize/schemas/artifacts.yaml +10 -10
  58. package/bundle/skills/agentera/capabilities/optimize/schemas/exit.yaml +2 -2
  59. package/bundle/skills/agentera/capabilities/optimize/schemas/triggers.yaml +4 -35
  60. package/bundle/skills/agentera/capabilities/optimize/schemas/validation.yaml +3 -3
  61. package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +34 -22
  62. package/bundle/skills/agentera/capabilities/orchestrate/schemas/exit.yaml +9 -7
  63. package/bundle/skills/agentera/capabilities/orchestrate/schemas/triggers.yaml +5 -37
  64. package/bundle/skills/agentera/capabilities/orchestrate/schemas/validation.yaml +38 -37
  65. package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +20 -16
  66. package/bundle/skills/agentera/capabilities/plan/schemas/triggers.yaml +8 -31
  67. package/bundle/skills/agentera/capabilities/plan/schemas/validation.yaml +66 -6
  68. package/bundle/skills/agentera/capabilities/profile/schemas/artifacts.yaml +13 -4
  69. package/bundle/skills/agentera/capabilities/profile/schemas/exit.yaml +8 -5
  70. package/bundle/skills/agentera/capabilities/profile/schemas/triggers.yaml +8 -37
  71. package/bundle/skills/agentera/capabilities/profile/schemas/validation.yaml +67 -3
  72. package/bundle/skills/agentera/capabilities/research/schemas/artifacts.yaml +6 -6
  73. package/bundle/skills/agentera/capabilities/research/schemas/triggers.yaml +5 -29
  74. package/bundle/skills/agentera/capabilities/status/schemas/artifacts.yaml +13 -12
  75. package/bundle/skills/agentera/capabilities/status/schemas/triggers.yaml +7 -49
  76. package/bundle/skills/agentera/capabilities/vision/schemas/artifacts.yaml +8 -8
  77. package/bundle/skills/agentera/capabilities/vision/schemas/exit.yaml +7 -6
  78. package/bundle/skills/agentera/capabilities/vision/schemas/triggers.yaml +7 -39
  79. package/bundle/skills/agentera/capabilities/vision/schemas/validation.yaml +14 -16
  80. package/bundle/skills/agentera/capability_schema_contract.yaml +32 -32
  81. package/bundle/skills/agentera/protocol.yaml +4 -4
  82. package/bundle/skills/agentera/route-phrases.yaml +81 -0
  83. package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +1 -0
  84. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +29 -30
  85. package/bundle/skills/agentera/schemas/artifacts/design.yaml +1 -0
  86. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +7 -43
  87. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +140 -34
  88. package/bundle/skills/agentera/schemas/artifacts/glossary.yaml +87 -0
  89. package/bundle/skills/agentera/schemas/artifacts/health.yaml +53 -51
  90. package/bundle/skills/agentera/schemas/artifacts/objective.yaml +18 -35
  91. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +453 -55
  92. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +128 -39
  93. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +305 -7
  94. package/bundle/skills/agentera/schemas/artifacts/vision.yaml +0 -19
  95. package/dist/.agentera-build-source.json +8 -0
  96. package/dist/analytics/extractCorpus/cli.js +52 -11
  97. package/dist/analytics/extractCorpus/copilotSessions.js +19 -8
  98. package/dist/analytics/extractCorpus/core.js +262 -14
  99. package/dist/analytics/extractCorpus/corpus.js +57 -18
  100. package/dist/analytics/extractCorpus/coverageAudit.js +44 -45
  101. package/dist/analytics/extractCorpus/cursorSessions.js +28 -8
  102. package/dist/analytics/extractCorpus/evidenceTiers.js +709 -0
  103. package/dist/analytics/extractCorpus/extractCorpusParity.js +4 -4
  104. package/dist/analytics/extractCorpus/filesystemSources.js +5 -5
  105. package/dist/analytics/extractCorpus/index.js +4 -2
  106. package/dist/analytics/extractCorpus/jsonlSessions.js +76 -8
  107. package/dist/analytics/extractCorpus/sqliteCaps.js +0 -1
  108. package/dist/analytics/extractCorpus/sqliteSessions.js +12 -4
  109. package/dist/analytics/extractCorpus/tierReader.js +108 -0
  110. package/dist/analytics/extractCorpus.js +0 -1
  111. package/dist/analytics/glossaryAdviceResolution.js +166 -0
  112. package/dist/analytics/glossaryInputAcquisition.js +319 -0
  113. package/dist/analytics/personalGlossaryAdmission.js +113 -0
  114. package/dist/analytics/personalGlossaryCandidateProjection.js +788 -0
  115. package/dist/analytics/personalGlossaryCandidateProjectionExcerpts.js +144 -0
  116. package/dist/analytics/personalGlossaryCandidateProjectionModel.js +1 -0
  117. package/dist/analytics/personalGlossaryCandidateReadView.js +23 -0
  118. package/dist/analytics/personalGlossaryCurrentGeneration.js +25 -0
  119. package/dist/analytics/personalGlossaryDecision.js +203 -0
  120. package/dist/analytics/personalGlossaryExplicit.js +788 -0
  121. package/dist/analytics/personalGlossaryExplicitMining.js +285 -0
  122. package/dist/analytics/personalGlossaryExplicitScope.js +41 -0
  123. package/dist/analytics/personalGlossaryExplicitSegments.js +418 -0
  124. package/dist/analytics/personalGlossaryExplicitTypes.js +26 -0
  125. package/dist/analytics/personalGlossaryLexicalClassifier.js +175 -0
  126. package/dist/analytics/personalGlossaryProfile.js +229 -0
  127. package/dist/analytics/personalGlossaryRecurrence.js +618 -0
  128. package/dist/analytics/personalGlossaryRefreshProjection.js +351 -0
  129. package/dist/analytics/personalGlossaryReviewRecordStorage.js +428 -0
  130. package/dist/analytics/personalGlossaryReviewRecords.js +332 -0
  131. package/dist/analytics/profileSignals.js +211 -0
  132. package/dist/analytics/usageStats.js +150 -23
  133. package/dist/audit/terminologyDrift.js +281 -0
  134. package/dist/bin/agentera.js +3 -2
  135. package/dist/capabilities/audit/instructions.js +16 -6
  136. package/dist/capabilities/build/instructions.js +59 -6
  137. package/dist/capabilities/design/instructions.js +3 -4
  138. package/dist/capabilities/discuss/instructions.js +29 -6
  139. package/dist/capabilities/document/instructions.js +11 -6
  140. package/dist/capabilities/index.js +20 -14
  141. package/dist/capabilities/optimize/instructions.js +14 -6
  142. package/dist/capabilities/orchestrate/instructions.js +42 -6
  143. package/dist/capabilities/plan/instructions.js +30 -3
  144. package/dist/capabilities/profile/instructions.js +104 -5
  145. package/dist/capabilities/research/instructions.js +4 -5
  146. package/dist/capabilities/status/instructions.js +15 -6
  147. package/dist/capabilities/status/startupInstructions.js +34 -0
  148. package/dist/capabilities/vision/instructions.js +3 -5
  149. package/dist/cli/appContext.js +14 -7
  150. package/dist/cli/argvalidate.js +0 -1
  151. package/dist/cli/capabilityContext/benchmark.js +5 -4
  152. package/dist/cli/capabilityContext/bespoke.js +14 -6
  153. package/dist/cli/capabilityContext/build.js +116 -42
  154. package/dist/cli/capabilityContext/closeout.js +30 -27
  155. package/dist/cli/capabilityContext/contract.js +18 -27
  156. package/dist/cli/capabilityContext/evidence.js +84 -77
  157. package/dist/cli/capabilityContext/index.js +0 -1
  158. package/dist/cli/capabilityContext/orchestration.js +42 -18
  159. package/dist/cli/capabilityContext/planState.js +89 -96
  160. package/dist/cli/capabilityContext/progress.js +52 -12
  161. package/dist/cli/capabilityContext/projectVerification.js +409 -0
  162. package/dist/cli/capabilityContext/shared.js +9 -20
  163. package/dist/cli/capabilityContext/slim.js +52 -8
  164. package/dist/cli/capabilityContext/startup.js +51 -114
  165. package/dist/cli/capabilityContext/startupAggregation.js +68 -0
  166. package/dist/cli/capabilityContext/types.js +26 -10
  167. package/dist/cli/capabilityContext.js +0 -1
  168. package/dist/cli/commands/appHome.js +0 -1
  169. package/dist/cli/commands/capability.js +2 -2
  170. package/dist/cli/commands/compact.js +163 -13
  171. package/dist/cli/commands/doctor.js +118 -11
  172. package/dist/cli/commands/durability.js +81 -0
  173. package/dist/cli/commands/glossaryAdvice.js +138 -0
  174. package/dist/cli/commands/lint.js +22 -8
  175. package/dist/cli/commands/personalGlossaryCandidateReads.js +755 -0
  176. package/dist/cli/commands/personalGlossaryDecision.js +349 -0
  177. package/dist/cli/commands/personalGlossaryPublish.js +484 -0
  178. package/dist/cli/commands/personalGlossaryReviewRecordReads.js +209 -0
  179. package/dist/cli/commands/personalGlossaryReviewRecords.js +623 -0
  180. package/dist/cli/commands/prime/briefOrientation.js +845 -0
  181. package/dist/cli/commands/prime/buildExecutionRequest.js +165 -0
  182. package/dist/cli/commands/prime/bundleStatus.js +54 -4
  183. package/dist/cli/commands/prime/collectEntityOrientation.js +338 -0
  184. package/dist/cli/commands/prime/collectOrientationState.js +124 -68
  185. package/dist/cli/commands/prime/orientationOutput.js +271 -59
  186. package/dist/cli/commands/prime/types.js +0 -1
  187. package/dist/cli/commands/prime.js +89 -11
  188. package/dist/cli/commands/profileGrounding.js +55 -0
  189. package/dist/cli/commands/query.js +74 -52
  190. package/dist/cli/commands/report.js +187 -27
  191. package/dist/cli/commands/route.js +142 -0
  192. package/dist/cli/commands/schema.js +436 -138
  193. package/dist/cli/commands/state/decisions.js +40 -56
  194. package/dist/cli/commands/state/docs.js +58 -85
  195. package/dist/cli/commands/state/experimentRecords.js +151 -0
  196. package/dist/cli/commands/state/experiments.js +11 -65
  197. package/dist/cli/commands/state/get.js +129 -0
  198. package/dist/cli/commands/state/health.js +11 -113
  199. package/dist/cli/commands/state/index.js +6 -41
  200. package/dist/cli/commands/state/list.js +194 -0
  201. package/dist/cli/commands/state/objective.js +21 -65
  202. package/dist/cli/commands/state/plan.js +11 -170
  203. package/dist/cli/commands/state/planTasks.js +154 -0
  204. package/dist/cli/commands/state/plans.js +154 -0
  205. package/dist/cli/commands/state/progress.js +11 -45
  206. package/dist/cli/commands/state/shared.js +0 -1
  207. package/dist/cli/commands/state/todo.js +28 -107
  208. package/dist/cli/commands/state/write.js +459 -0
  209. package/dist/cli/commands/upgrade.js +176 -5
  210. package/dist/cli/commands/upgradeVerify.js +118 -0
  211. package/dist/cli/commands/validate.js +235 -136
  212. package/dist/cli/commands/verify.js +73 -16
  213. package/dist/cli/contracts/bundleStatus.js +0 -1
  214. package/dist/cli/contracts/orientationState.js +0 -1
  215. package/dist/cli/dispatch/argvParser.js +0 -1
  216. package/dist/cli/dispatch/check.js +84 -40
  217. package/dist/cli/dispatch/commands.js +3 -3
  218. package/dist/cli/dispatch/index.js +84 -52
  219. package/dist/cli/dispatch/lifecycle.js +182 -62
  220. package/dist/cli/dispatch/prime.js +37 -2
  221. package/dist/cli/dispatch/projections.js +17 -0
  222. package/dist/cli/dispatch/shared.js +1 -2
  223. package/dist/cli/dispatch/state.js +62 -66
  224. package/dist/cli/dispatch.js +0 -1
  225. package/dist/cli/errors.js +16 -17
  226. package/dist/cli/help.js +419 -41
  227. package/dist/cli/migrationRequired.js +125 -0
  228. package/dist/cli/orientation/attention.js +19 -22
  229. package/dist/cli/orientation/corpusCoverage.js +32 -1
  230. package/dist/cli/orientation.js +346 -129
  231. package/dist/cli/planArtifacts.js +350 -0
  232. package/dist/cli/planEvidence.js +157 -0
  233. package/dist/cli/planLifecycleState.js +36 -0
  234. package/dist/cli/planTaskIndex.js +11 -0
  235. package/dist/cli/preCutoverCommand.js +32 -0
  236. package/dist/cli/prime-blob.js +71 -3
  237. package/dist/cli/productV1Eol.js +55 -0
  238. package/dist/cli/profileAcquisition.js +167 -0
  239. package/dist/cli/startupCompletenessContract.js +11 -9
  240. package/dist/cli/stateQuery.js +47 -12
  241. package/dist/cli/structured.js +0 -1
  242. package/dist/cli/todoMarkdown.js +25 -12
  243. package/dist/cli/todoReadinessSelection.js +192 -0
  244. package/dist/cli/todoSeverity.js +0 -1
  245. package/dist/core/atomicWriter.js +23 -0
  246. package/dist/core/developmentChannel.js +1 -0
  247. package/dist/core/developmentInvocation.js +377 -0
  248. package/dist/core/difflib.js +0 -1
  249. package/dist/core/envPaths.js +0 -1
  250. package/dist/core/jsonValue.js +0 -1
  251. package/dist/core/paths.js +0 -1
  252. package/dist/core/pyjson.js +0 -1
  253. package/dist/core/shell.js +4 -0
  254. package/dist/core/skillIdentity.js +23 -0
  255. package/dist/core/sourceRoot.js +9 -12
  256. package/dist/core/text.js +10 -0
  257. package/dist/core/toml.js +0 -1
  258. package/dist/core/yaml.js +61 -2
  259. package/dist/eval/evalSkills.js +13 -14
  260. package/dist/eval/glossaryEvaluation.js +751 -0
  261. package/dist/eval/glossaryEvaluationProcess.js +29 -0
  262. package/dist/eval/glossaryEvaluationRunner.js +571 -0
  263. package/dist/eval/glossaryEvaluationSuccessReport.js +297 -0
  264. package/dist/eval/hybridRouteEvaluation.js +155 -0
  265. package/dist/eval/semanticEval.js +0 -1
  266. package/dist/eval/semanticFixtures.js +0 -1
  267. package/dist/hooks/common.js +3 -56
  268. package/dist/hooks/compaction/apply.js +224 -47
  269. package/dist/hooks/compaction/dryRun.js +2 -1
  270. package/dist/hooks/compaction/index.js +5 -6
  271. package/dist/hooks/compaction/parse.js +73 -6
  272. package/dist/hooks/compaction/retention.js +28 -25
  273. package/dist/hooks/compaction/status.js +145 -26
  274. package/dist/hooks/compaction/types.js +0 -1
  275. package/dist/hooks/validateArtifact/agentFacing.js +0 -1
  276. package/dist/hooks/validateArtifact/index.js +6 -65
  277. package/dist/hooks/validateArtifact/markdown.js +9 -10
  278. package/dist/hooks/validateArtifact/schema.js +96 -9
  279. package/dist/hooks/validateArtifact/traversal.js +12 -11
  280. package/dist/hooks/validateArtifact/violations.js +5 -3
  281. package/dist/migrate/v2HandoffManifest.js +8 -3
  282. package/dist/registries/activationContract.js +2 -0
  283. package/dist/registries/activationTuples.js +145 -0
  284. package/dist/registries/artifactProtocolIds.js +2 -1
  285. package/dist/registries/artifactRegistry.js +207 -60
  286. package/dist/registries/artifactSchemaProjection.js +45 -0
  287. package/dist/registries/capabilityContract.js +5 -21
  288. package/dist/registries/evaluatorHandoffContract.js +0 -1
  289. package/dist/registries/evidenceTierContract.js +375 -0
  290. package/dist/registries/explicitSegmentGrammarContract.js +619 -0
  291. package/dist/registries/glossaryAdviceContract.js +79 -0
  292. package/dist/registries/glossaryCandidateContractPaths.js +6 -0
  293. package/dist/registries/glossaryCandidateContracts.js +820 -0
  294. package/dist/registries/glossaryCandidateDecisionAuthority.js +119 -0
  295. package/dist/registries/glossaryCandidateDecisionContract.js +62 -0
  296. package/dist/registries/glossaryCandidateProjectionAuthority.js +345 -0
  297. package/dist/registries/glossaryCandidateProjectionContract.js +108 -0
  298. package/dist/registries/glossaryCaveatContract.js +67 -0
  299. package/dist/registries/glossaryConsumerContractValidation.js +787 -0
  300. package/dist/registries/glossaryEntryContract.js +759 -0
  301. package/dist/registries/glossaryEntryTemporal.js +12 -0
  302. package/dist/registries/glossaryMiningAuthority.js +764 -0
  303. package/dist/registries/glossaryProfileFullContract.js +24 -0
  304. package/dist/registries/glossaryReviewRecordsAuthority.js +426 -0
  305. package/dist/registries/glossaryReviewRecordsContract.js +129 -0
  306. package/dist/registries/glossaryTermIdentity.js +139 -0
  307. package/dist/registries/glossaryTermOccurrence.js +20 -0
  308. package/dist/registries/hybridRoute.js +274 -0
  309. package/dist/registries/hybridRouteReceipt.js +221 -0
  310. package/dist/registries/packagePublication.js +273 -0
  311. package/dist/registries/packageRegistry.js +184 -209
  312. package/dist/registries/personalGlossaryContracts.js +1 -0
  313. package/dist/registries/todoReadinessContract.js +448 -0
  314. package/dist/registries/triggerLoader.js +7 -44
  315. package/dist/registries/verbosityBudgetContract.js +205 -0
  316. package/dist/release/releaseMetadata.js +168 -11
  317. package/dist/runtime/lifecycleAdapterContract.js +457 -0
  318. package/dist/runtime/lifecycleAdapters.js +777 -0
  319. package/dist/runtime/lifecycleAuthority.js +453 -0
  320. package/dist/runtime/lifecycleOperationContract.js +123 -0
  321. package/dist/runtime/lifecycleOperations.js +634 -0
  322. package/dist/runtime/lifecycleOwnershipJournal.js +622 -0
  323. package/dist/runtime/lifecyclePublication.js +415 -0
  324. package/dist/runtime/lifecycleSnapshot.js +438 -0
  325. package/dist/runtime/nativeResourceCleanup.js +503 -0
  326. package/dist/setup/opencode.js +20 -13
  327. package/dist/setup/opencodeConstants.js +1 -0
  328. package/dist/setup/sharedSkill.js +45 -0
  329. package/dist/setup/smokeChecks.js +14 -75
  330. package/dist/state/archiveDiscovery.js +580 -0
  331. package/dist/state/archivePublication.js +225 -0
  332. package/dist/state/archiveRecovery.js +237 -0
  333. package/dist/state/archiveReplay.js +53 -0
  334. package/dist/state/canonicalMigrationRecord.js +36 -0
  335. package/dist/state/changelog.js +221 -0
  336. package/dist/state/decisionEntities.js +367 -0
  337. package/dist/state/decisionLegacyValidation.js +215 -0
  338. package/dist/state/decisionMigrationProvenance.js +199 -0
  339. package/dist/state/decisionOverlay.js +254 -0
  340. package/dist/state/decisionRevision.js +256 -0
  341. package/dist/state/decisionRevisionMigration.js +89 -0
  342. package/dist/state/directRetrieval.js +323 -0
  343. package/dist/state/durability.js +324 -0
  344. package/dist/state/entityCutover.js +459 -0
  345. package/dist/state/entityCutoverGit.js +127 -0
  346. package/dist/state/entityGlossaryAuthority.js +13 -0
  347. package/dist/state/entityListProjection.js +187 -0
  348. package/dist/state/entityListRuntimeRegistry.js +85 -0
  349. package/dist/state/entityMigrationCausality.js +97 -0
  350. package/dist/state/entityMigrationIdentity.js +5 -0
  351. package/dist/state/entityMigrationPreview.js +840 -0
  352. package/dist/state/entityMigrationTodo.js +133 -0
  353. package/dist/state/entityPublicationContext.js +859 -0
  354. package/dist/state/entityRetrievalHelp.js +506 -0
  355. package/dist/state/entityStorage.js +899 -0
  356. package/dist/state/exactReplacementRecovery.js +18 -0
  357. package/dist/state/experimentArchive.js +63 -0
  358. package/dist/state/experimentIdentity.js +202 -0
  359. package/dist/state/healthEntities.js +262 -0
  360. package/dist/state/healthEntityValidation.js +18 -0
  361. package/dist/state/healthRepair.js +69 -0
  362. package/dist/state/installRoot.js +15 -7
  363. package/dist/state/legacyEntityCutoverEvidence.js +65 -0
  364. package/dist/state/legacyIdentity.js +47 -0
  365. package/dist/state/legacySummaryRecord.js +6 -0
  366. package/dist/state/listAccounting.js +54 -0
  367. package/dist/state/listClassification.js +17 -0
  368. package/dist/state/listCursor.js +42 -0
  369. package/dist/state/listRetrieval.js +781 -0
  370. package/dist/state/migrationSourceBinding.js +30 -0
  371. package/dist/state/objectiveExperimentEntities.js +322 -0
  372. package/dist/state/planEntities.js +1027 -0
  373. package/dist/state/planIdentity.js +47 -0
  374. package/dist/state/planLineageValidation.js +52 -0
  375. package/dist/state/planReplacementTransaction.js +475 -0
  376. package/dist/state/planRetrieval.js +313 -0
  377. package/dist/state/planTaskRetrieval.js +294 -0
  378. package/dist/state/progressEntities.js +512 -0
  379. package/dist/state/progressGlossaryCaveat.js +168 -0
  380. package/dist/state/progressPublicationOrder.js +19 -0
  381. package/dist/state/progressWritePolicy.js +33 -0
  382. package/dist/state/projectRoot.js +62 -0
  383. package/dist/state/projectionPolicy.js +190 -0
  384. package/dist/state/retrievalAuthority.js +156 -0
  385. package/dist/state/safeProjectFile.js +155 -0
  386. package/dist/state/startupAnalysis/benchmark.js +70 -9
  387. package/dist/state/startupAnalysis/contract.js +44 -10
  388. package/dist/state/startupAnalysis/helpers.js +1 -2
  389. package/dist/state/startupAnalysis/index.js +0 -1
  390. package/dist/state/startupAnalysis/metrics.js +0 -1
  391. package/dist/state/startupAnalysis/records.js +0 -1
  392. package/dist/state/startupAnalysis/report.js +0 -1
  393. package/dist/state/startupAnalysis/threshold.js +13 -1
  394. package/dist/state/startupAnalysis.js +0 -1
  395. package/dist/state/startupProjection.js +499 -0
  396. package/dist/state/stateMode.js +222 -0
  397. package/dist/state/stateStorageAuthority.js +47 -0
  398. package/dist/state/summaryEntityRead.js +25 -0
  399. package/dist/state/summaryMigrationProvenance.js +66 -0
  400. package/dist/state/summarySourceRowAuthority.js +36 -0
  401. package/dist/state/todoActivationSafety.js +58 -0
  402. package/dist/state/todoCreateBatch.js +69 -0
  403. package/dist/state/todoDocsEntities.js +1339 -0
  404. package/dist/state/todoDocsEntityValidation.js +158 -0
  405. package/dist/state/todoMarkdownProjection.js +63 -0
  406. package/dist/state/todoReconciliationActivation.js +182 -0
  407. package/dist/state/todoReconciliationInspection.js +184 -0
  408. package/dist/state/todoReconciliationRepair.js +320 -0
  409. package/dist/state/todoReconciliationTransaction.js +628 -0
  410. package/dist/state/todoSeverityHeadings.js +71 -0
  411. package/dist/state/todoTransitionBatch.js +65 -0
  412. package/dist/state/todoUpdateBatch.js +50 -0
  413. package/dist/state/write/assign.js +20 -0
  414. package/dist/state/write/candidateMutation.js +269 -0
  415. package/dist/state/write/errors.js +11 -0
  416. package/dist/state/write/experimentPublication.js +192 -0
  417. package/dist/state/write/explain.js +380 -0
  418. package/dist/state/write/fields.js +61 -0
  419. package/dist/state/write/glossaryPublication.js +263 -0
  420. package/dist/state/write/grammar.js +285 -0
  421. package/dist/state/write/helpers.js +29 -0
  422. package/dist/state/write/index.js +12 -0
  423. package/dist/state/write/input.js +391 -0
  424. package/dist/state/write/lock.js +837 -0
  425. package/dist/state/write/mutation.js +234 -0
  426. package/dist/state/write/operations.js +170 -0
  427. package/dist/state/write/planEvaluation.js +128 -0
  428. package/dist/state/write/planPublication.js +179 -0
  429. package/dist/state/write/runtimeOperations.js +146 -0
  430. package/dist/state/write/serialize.js +1 -0
  431. package/dist/state/write/transaction.js +57 -0
  432. package/dist/state/write/validate.js +7 -0
  433. package/dist/upgrade/appContentRefresh.js +77 -36
  434. package/dist/upgrade/appModel.js +0 -1
  435. package/dist/upgrade/atomicWriter.js +1 -0
  436. package/dist/upgrade/bundleEvidence.js +0 -1
  437. package/dist/upgrade/channels.js +6 -9
  438. package/dist/upgrade/compatibility.js +43 -17
  439. package/dist/upgrade/doctor.js +55 -32
  440. package/dist/upgrade/doctorClassifier.js +11 -1
  441. package/dist/upgrade/installedHooksRetirement.js +46 -40
  442. package/dist/upgrade/legacyAgentCleanup.js +133 -34
  443. package/dist/upgrade/lifecycleUpgrade.js +113 -0
  444. package/dist/upgrade/migrateArtifactsV2ToV3.js +325 -82
  445. package/dist/upgrade/migrationPublication.js +122 -0
  446. package/dist/upgrade/nextMajorDoctor.js +0 -22
  447. package/dist/upgrade/npxPlatformStatus.js +2 -2
  448. package/dist/upgrade/productV1Reset.js +515 -0
  449. package/dist/upgrade/productV1ResetAuthority.js +139 -0
  450. package/dist/upgrade/projectIntegration.js +126 -134
  451. package/dist/upgrade/projectIntegrationDecision.js +21 -13
  452. package/dist/upgrade/retiredResourceDiagnostics.js +117 -0
  453. package/dist/upgrade/runtimeMigration.js +210 -430
  454. package/dist/upgrade/upgradeCommands.js +14 -1
  455. package/dist/upgrade/upgradeLock.js +85 -0
  456. package/dist/upgrade/upgradeOrchestrator.js +253 -48
  457. package/dist/upgrade/v3CapabilitySurface.js +2 -3
  458. package/dist/upgrade/versionResolution.js +0 -1
  459. package/dist/validate/activationArtifactEvidence.js +866 -0
  460. package/dist/validate/activationArtifactEvidenceTypes.js +12 -0
  461. package/dist/validate/activationConjunction.js +816 -0
  462. package/dist/validate/activationEvidenceManifest.js +610 -0
  463. package/dist/validate/activationPackageSemantics.js +29 -0
  464. package/dist/validate/appHomeContract.js +1 -7
  465. package/dist/validate/bootstrapAuthority.js +44 -0
  466. package/dist/validate/capability.js +11 -3
  467. package/dist/validate/crossCapability.js +14 -9
  468. package/dist/validate/glossaryVariantGuard.js +96 -0
  469. package/dist/validate/retainedReferenceAuthority.js +879 -0
  470. package/dist/validate/selfAudit.js +39 -45
  471. package/dist/validate/vocabularyAuthority.js +8 -8
  472. package/package.json +39 -13
  473. package/bundle/references/adapters/cursor.md +0 -214
  474. package/bundle/references/adapters/opencode.md +0 -530
  475. package/bundle/references/adapters/package-manifest-interface-model.yaml +0 -337
  476. package/bundle/references/adapters/runtime-adapter-characterization.md +0 -79
  477. package/bundle/references/adapters/runtime-adapter-interface-model.yaml +0 -200
  478. package/bundle/references/adapters/runtime-adapter-registry.yaml +0 -554
  479. package/bundle/references/adapters/runtime-feature-parity.md +0 -189
  480. package/bundle/references/analysis/benchmark.md +0 -267
  481. package/bundle/references/analysis/startup-measurement-contract.yaml +0 -424
  482. package/bundle/references/cli/agent-ready-state-contract.yaml +0 -953
  483. package/bundle/references/cli/audience-namespace-cli-migration.yaml +0 -369
  484. package/bundle/references/cli/bundle-skill-vocabulary.yaml +0 -250
  485. package/bundle/references/cli/capability-tool-classification.yaml +0 -53
  486. package/bundle/references/cli/coexistence-probe.yaml +0 -13
  487. package/bundle/references/cli/parity-expected-actual-template.md +0 -30
  488. package/bundle/references/cli/routing-execution-vocabulary.yaml +0 -281
  489. package/bundle/references/cli/single-name-protocol.yaml +0 -42
  490. package/bundle/references/cli/upgrade-repair-wording.md +0 -45
  491. package/bundle/references/cli/v3-handoff-manifest.schema.yaml +0 -98
  492. package/bundle/references/meta/documentation-inventory.md +0 -49
  493. package/bundle/skills/agentera/.claude-plugin/plugin.json +0 -27
  494. package/bundle/skills/agentera/agents/audit.toml +0 -6
  495. package/bundle/skills/agentera/agents/build.toml +0 -6
  496. package/bundle/skills/agentera/agents/design.toml +0 -6
  497. package/bundle/skills/agentera/agents/discuss.toml +0 -6
  498. package/bundle/skills/agentera/agents/document.toml +0 -6
  499. package/bundle/skills/agentera/agents/optimize.toml +0 -6
  500. package/bundle/skills/agentera/agents/orchestrate.toml +0 -6
  501. package/bundle/skills/agentera/agents/plan.toml +0 -6
  502. package/bundle/skills/agentera/agents/profile.toml +0 -6
  503. package/bundle/skills/agentera/agents/research.toml +0 -6
  504. package/bundle/skills/agentera/agents/status.toml +0 -6
  505. package/bundle/skills/agentera/agents/vision.toml +0 -6
  506. package/bundle/skills/agentera/references/contract.md +0 -1048
  507. package/dist/analytics/extractCorpus/cli.js.map +0 -1
  508. package/dist/analytics/extractCorpus/copilotSessions.js.map +0 -1
  509. package/dist/analytics/extractCorpus/core.js.map +0 -1
  510. package/dist/analytics/extractCorpus/corpus.js.map +0 -1
  511. package/dist/analytics/extractCorpus/coverageAudit.js.map +0 -1
  512. package/dist/analytics/extractCorpus/cursorSessions.js.map +0 -1
  513. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +0 -1
  514. package/dist/analytics/extractCorpus/filesystemSources.js.map +0 -1
  515. package/dist/analytics/extractCorpus/index.js.map +0 -1
  516. package/dist/analytics/extractCorpus/jsonlSessions.js.map +0 -1
  517. package/dist/analytics/extractCorpus/sqliteCaps.js.map +0 -1
  518. package/dist/analytics/extractCorpus/sqliteSessions.js.map +0 -1
  519. package/dist/analytics/extractCorpus.js.map +0 -1
  520. package/dist/analytics/usageStats.js.map +0 -1
  521. package/dist/bin/agentera.js.map +0 -1
  522. package/dist/capabilities/audit/instructions.js.map +0 -1
  523. package/dist/capabilities/build/instructions.js.map +0 -1
  524. package/dist/capabilities/design/instructions.js.map +0 -1
  525. package/dist/capabilities/discuss/instructions.js.map +0 -1
  526. package/dist/capabilities/document/instructions.js.map +0 -1
  527. package/dist/capabilities/index.js.map +0 -1
  528. package/dist/capabilities/optimize/instructions.js.map +0 -1
  529. package/dist/capabilities/orchestrate/instructions.js.map +0 -1
  530. package/dist/capabilities/plan/instructions.js.map +0 -1
  531. package/dist/capabilities/profile/instructions.js.map +0 -1
  532. package/dist/capabilities/research/instructions.js.map +0 -1
  533. package/dist/capabilities/status/instructions.js.map +0 -1
  534. package/dist/capabilities/vision/instructions.js.map +0 -1
  535. package/dist/cli/appContext.js.map +0 -1
  536. package/dist/cli/argvalidate.js.map +0 -1
  537. package/dist/cli/capabilityContext/benchmark.js.map +0 -1
  538. package/dist/cli/capabilityContext/bespoke.js.map +0 -1
  539. package/dist/cli/capabilityContext/build.js.map +0 -1
  540. package/dist/cli/capabilityContext/closeout.js.map +0 -1
  541. package/dist/cli/capabilityContext/contract.js.map +0 -1
  542. package/dist/cli/capabilityContext/evidence.js.map +0 -1
  543. package/dist/cli/capabilityContext/index.js.map +0 -1
  544. package/dist/cli/capabilityContext/orchestration.js.map +0 -1
  545. package/dist/cli/capabilityContext/planState.js.map +0 -1
  546. package/dist/cli/capabilityContext/progress.js.map +0 -1
  547. package/dist/cli/capabilityContext/shared.js.map +0 -1
  548. package/dist/cli/capabilityContext/slim.js.map +0 -1
  549. package/dist/cli/capabilityContext/startup.js.map +0 -1
  550. package/dist/cli/capabilityContext/types.js.map +0 -1
  551. package/dist/cli/capabilityContext.js.map +0 -1
  552. package/dist/cli/commands/appHome.js.map +0 -1
  553. package/dist/cli/commands/capability.js.map +0 -1
  554. package/dist/cli/commands/compact.js.map +0 -1
  555. package/dist/cli/commands/doctor.js.map +0 -1
  556. package/dist/cli/commands/lint.js.map +0 -1
  557. package/dist/cli/commands/prime/bundleStatus.js.map +0 -1
  558. package/dist/cli/commands/prime/collectOrientationState.js.map +0 -1
  559. package/dist/cli/commands/prime/orientationOutput.js.map +0 -1
  560. package/dist/cli/commands/prime/types.js.map +0 -1
  561. package/dist/cli/commands/prime/v1Migration.js +0 -39
  562. package/dist/cli/commands/prime/v1Migration.js.map +0 -1
  563. package/dist/cli/commands/prime.js.map +0 -1
  564. package/dist/cli/commands/query.js.map +0 -1
  565. package/dist/cli/commands/report.js.map +0 -1
  566. package/dist/cli/commands/schema.js.map +0 -1
  567. package/dist/cli/commands/state/decisions.js.map +0 -1
  568. package/dist/cli/commands/state/docs.js.map +0 -1
  569. package/dist/cli/commands/state/experiments.js.map +0 -1
  570. package/dist/cli/commands/state/health.js.map +0 -1
  571. package/dist/cli/commands/state/index.js.map +0 -1
  572. package/dist/cli/commands/state/objective.js.map +0 -1
  573. package/dist/cli/commands/state/plan.js.map +0 -1
  574. package/dist/cli/commands/state/progress.js.map +0 -1
  575. package/dist/cli/commands/state/shared.js.map +0 -1
  576. package/dist/cli/commands/state/todo.js.map +0 -1
  577. package/dist/cli/commands/upgrade.js.map +0 -1
  578. package/dist/cli/commands/validate.js.map +0 -1
  579. package/dist/cli/commands/verify.js.map +0 -1
  580. package/dist/cli/contracts/bundleStatus.js.map +0 -1
  581. package/dist/cli/contracts/orientationState.js.map +0 -1
  582. package/dist/cli/dispatch/argvParser.js.map +0 -1
  583. package/dist/cli/dispatch/check.js.map +0 -1
  584. package/dist/cli/dispatch/commands.js.map +0 -1
  585. package/dist/cli/dispatch/index.js.map +0 -1
  586. package/dist/cli/dispatch/lifecycle.js.map +0 -1
  587. package/dist/cli/dispatch/prime.js.map +0 -1
  588. package/dist/cli/dispatch/shared.js.map +0 -1
  589. package/dist/cli/dispatch/state.js.map +0 -1
  590. package/dist/cli/dispatch.js.map +0 -1
  591. package/dist/cli/errors.js.map +0 -1
  592. package/dist/cli/help.js.map +0 -1
  593. package/dist/cli/orientation/attention.js.map +0 -1
  594. package/dist/cli/orientation/corpusCoverage.js.map +0 -1
  595. package/dist/cli/orientation.js.map +0 -1
  596. package/dist/cli/prime-blob.js.map +0 -1
  597. package/dist/cli/startupCompletenessContract.js.map +0 -1
  598. package/dist/cli/stateQuery.js.map +0 -1
  599. package/dist/cli/structured.js.map +0 -1
  600. package/dist/cli/todoMarkdown.js.map +0 -1
  601. package/dist/cli/todoSeverity.js.map +0 -1
  602. package/dist/core/difflib.js.map +0 -1
  603. package/dist/core/envPaths.js.map +0 -1
  604. package/dist/core/jsonValue.js.map +0 -1
  605. package/dist/core/paths.js.map +0 -1
  606. package/dist/core/pyjson.js.map +0 -1
  607. package/dist/core/sourceRoot.js.map +0 -1
  608. package/dist/core/toml.js.map +0 -1
  609. package/dist/core/yaml.js.map +0 -1
  610. package/dist/eval/evalSkills.js.map +0 -1
  611. package/dist/eval/semanticEval.js.map +0 -1
  612. package/dist/eval/semanticFixtures.js.map +0 -1
  613. package/dist/hooks/common.js.map +0 -1
  614. package/dist/hooks/compaction/apply.js.map +0 -1
  615. package/dist/hooks/compaction/dryRun.js.map +0 -1
  616. package/dist/hooks/compaction/index.js.map +0 -1
  617. package/dist/hooks/compaction/parse.js.map +0 -1
  618. package/dist/hooks/compaction/retention.js.map +0 -1
  619. package/dist/hooks/compaction/status.js.map +0 -1
  620. package/dist/hooks/compaction/types.js.map +0 -1
  621. package/dist/hooks/cursorPreToolUse.js +0 -19
  622. package/dist/hooks/cursorPreToolUse.js.map +0 -1
  623. package/dist/hooks/cursorSessionStart.js +0 -79
  624. package/dist/hooks/cursorSessionStart.js.map +0 -1
  625. package/dist/hooks/sessionStart.js +0 -216
  626. package/dist/hooks/sessionStart.js.map +0 -1
  627. package/dist/hooks/sessionStop.js +0 -206
  628. package/dist/hooks/sessionStop.js.map +0 -1
  629. package/dist/hooks/validateArtifact/agentFacing.js.map +0 -1
  630. package/dist/hooks/validateArtifact/index.js.map +0 -1
  631. package/dist/hooks/validateArtifact/markdown.js.map +0 -1
  632. package/dist/hooks/validateArtifact/runtime.js +0 -86
  633. package/dist/hooks/validateArtifact/runtime.js.map +0 -1
  634. package/dist/hooks/validateArtifact/schema.js.map +0 -1
  635. package/dist/hooks/validateArtifact/traversal.js.map +0 -1
  636. package/dist/hooks/validateArtifact/violations.js.map +0 -1
  637. package/dist/migrate/v2HandoffManifest.js.map +0 -1
  638. package/dist/registries/artifactProtocolIds.js.map +0 -1
  639. package/dist/registries/artifactRegistry.js.map +0 -1
  640. package/dist/registries/capabilityContract.js.map +0 -1
  641. package/dist/registries/evaluatorHandoffContract.js.map +0 -1
  642. package/dist/registries/packageRegistry.js.map +0 -1
  643. package/dist/registries/runtimeAdapterRegistry.js +0 -316
  644. package/dist/registries/runtimeAdapterRegistry.js.map +0 -1
  645. package/dist/registries/triggerLoader.js.map +0 -1
  646. package/dist/release/releaseMetadata.js.map +0 -1
  647. package/dist/setup/codex/agents.js +0 -96
  648. package/dist/setup/codex/agents.js.map +0 -1
  649. package/dist/setup/codex/cli.js +0 -161
  650. package/dist/setup/codex/cli.js.map +0 -1
  651. package/dist/setup/codex/configToml.js +0 -639
  652. package/dist/setup/codex/configToml.js.map +0 -1
  653. package/dist/setup/codex/constants.js +0 -29
  654. package/dist/setup/codex/constants.js.map +0 -1
  655. package/dist/setup/codex/installRoot.js +0 -64
  656. package/dist/setup/codex/installRoot.js.map +0 -1
  657. package/dist/setup/codex/state.js +0 -270
  658. package/dist/setup/codex/state.js.map +0 -1
  659. package/dist/setup/codex.js +0 -12
  660. package/dist/setup/codex.js.map +0 -1
  661. package/dist/setup/copilot.js +0 -227
  662. package/dist/setup/copilot.js.map +0 -1
  663. package/dist/setup/cursor.js +0 -129
  664. package/dist/setup/cursor.js.map +0 -1
  665. package/dist/setup/cursorSurfaces.js +0 -67
  666. package/dist/setup/cursorSurfaces.js.map +0 -1
  667. package/dist/setup/doctor/core.js +0 -300
  668. package/dist/setup/doctor/core.js.map +0 -1
  669. package/dist/setup/doctor/diagnostics.js +0 -240
  670. package/dist/setup/doctor/diagnostics.js.map +0 -1
  671. package/dist/setup/doctor/opencode.js +0 -313
  672. package/dist/setup/doctor/opencode.js.map +0 -1
  673. package/dist/setup/doctor/report.js +0 -425
  674. package/dist/setup/doctor/report.js.map +0 -1
  675. package/dist/setup/doctor.js +0 -10
  676. package/dist/setup/doctor.js.map +0 -1
  677. package/dist/setup/opencode.js.map +0 -1
  678. package/dist/setup/smokeChecks.js.map +0 -1
  679. package/dist/state/installRoot.js.map +0 -1
  680. package/dist/state/startupAnalysis/benchmark.js.map +0 -1
  681. package/dist/state/startupAnalysis/contract.js.map +0 -1
  682. package/dist/state/startupAnalysis/helpers.js.map +0 -1
  683. package/dist/state/startupAnalysis/index.js.map +0 -1
  684. package/dist/state/startupAnalysis/metrics.js.map +0 -1
  685. package/dist/state/startupAnalysis/records.js.map +0 -1
  686. package/dist/state/startupAnalysis/report.js.map +0 -1
  687. package/dist/state/startupAnalysis/threshold.js.map +0 -1
  688. package/dist/state/startupAnalysis.js.map +0 -1
  689. package/dist/upgrade/appContentRefresh.js.map +0 -1
  690. package/dist/upgrade/appModel.js.map +0 -1
  691. package/dist/upgrade/bundleEvidence.js.map +0 -1
  692. package/dist/upgrade/channels.js.map +0 -1
  693. package/dist/upgrade/coexistenceProbe.js +0 -107
  694. package/dist/upgrade/coexistenceProbe.js.map +0 -1
  695. package/dist/upgrade/compatibility.js.map +0 -1
  696. package/dist/upgrade/doctor.js.map +0 -1
  697. package/dist/upgrade/doctorClassifier.js.map +0 -1
  698. package/dist/upgrade/installedHooksRetirement.js.map +0 -1
  699. package/dist/upgrade/legacyAgentCleanup.js.map +0 -1
  700. package/dist/upgrade/migrateArtifactsV1ToV2.js +0 -570
  701. package/dist/upgrade/migrateArtifactsV1ToV2.js.map +0 -1
  702. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +0 -1
  703. package/dist/upgrade/nextMajorDoctor.js.map +0 -1
  704. package/dist/upgrade/npxPlatformStatus.js.map +0 -1
  705. package/dist/upgrade/projectIntegration.js.map +0 -1
  706. package/dist/upgrade/projectIntegrationDecision.js.map +0 -1
  707. package/dist/upgrade/runtimeMigration.js.map +0 -1
  708. package/dist/upgrade/upgradeCommands.js.map +0 -1
  709. package/dist/upgrade/upgradeOrchestrator.js.map +0 -1
  710. package/dist/upgrade/v3CapabilitySurface.js.map +0 -1
  711. package/dist/upgrade/versionResolution.js.map +0 -1
  712. package/dist/validate/appHomeContract.js.map +0 -1
  713. package/dist/validate/capability.js.map +0 -1
  714. package/dist/validate/crossCapability.js.map +0 -1
  715. package/dist/validate/lifecycleAdapters/legacyPythonParity.js +0 -93
  716. package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +0 -1
  717. package/dist/validate/lifecycleAdapters/nodeFormChecks.js +0 -488
  718. package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +0 -1
  719. package/dist/validate/lifecycleAdapters/shared.js +0 -198
  720. package/dist/validate/lifecycleAdapters/shared.js.map +0 -1
  721. package/dist/validate/lifecycleAdapters.js +0 -62
  722. package/dist/validate/lifecycleAdapters.js.map +0 -1
  723. package/dist/validate/selfAudit.js.map +0 -1
  724. package/dist/validate/vocabularyAuthority.js.map +0 -1
@@ -1,4 +1,3 @@
1
- import fsForHooks from "node:fs";
2
1
  import fs from "node:fs";
3
2
  import path from "node:path";
4
3
  import { fileURLToPath } from "node:url";
@@ -8,29 +7,34 @@ import { cmdUpgrade } from "../commands/upgrade.js";
8
7
  import { cmdVerify } from "../commands/verify.js";
9
8
  import { cmdGate } from "../commands/compact.js";
10
9
  import { cmdReport } from "../commands/report.js";
11
- import { runSessionStart } from "../../hooks/sessionStart.js";
12
- import { runSessionStop } from "../../hooks/sessionStop.js";
13
- import { runCursorSessionStart } from "../../hooks/cursorSessionStart.js";
14
- import { runCursorPreToolUse } from "../../hooks/cursorPreToolUse.js";
15
- import { HookCliAdapter } from "../../hooks/validateArtifact/index.js";
10
+ import { runGlossaryAdviceCommand } from "../commands/glossaryAdvice.js";
11
+ import { runPersonalGlossaryPublishCommand } from "../commands/personalGlossaryPublish.js";
12
+ import { runPersonalGlossaryCandidateReadsCommand } from "../commands/personalGlossaryCandidateReads.js";
13
+ import { runPersonalGlossaryDecisionCommand } from "../commands/personalGlossaryDecision.js";
14
+ import { runPersonalGlossaryReviewRecordsCommand } from "../commands/personalGlossaryReviewRecords.js";
15
+ import { runProfileGroundingCommand } from "../commands/profileGrounding.js";
16
+ import { preCutoverCommand } from "../preCutoverCommand.js";
16
17
  import { usageMain } from "../../analytics/usageStats.js";
17
18
  import { validatePathValue } from "../argvalidate.js";
18
19
  import { printAppHomeHelp, printDoctorHelp, printUpgradeHelp, wantsHelp } from "../help.js";
19
20
  import { makeArgvValueReader } from "./argvParser.js";
20
21
  import { parseCompactArgs } from "./check.js";
21
- import { asEnvelopeFormat, classifyParseError, emitDeprecationAlias } from "./shared.js";
22
+ import { asEnvelopeFormat, classifyParseError, detectTopLevelFormat, emitDeprecationAlias } from "./shared.js";
22
23
  import { emitInvalidInput } from "../errors.js";
23
- function rejectUnsupportedUpgradeFlag(io, format, message) {
24
+ import { migrationProject } from "../migrationRequired.js";
25
+ import { fullEntityUpgradeCommand } from "../../upgrade/upgradeCommands.js";
26
+ import { nativeResourceCleanupIds, resolveNativeResourceCleanupId } from "../../runtime/nativeResourceCleanup.js";
27
+ function rejectUnsupportedUpgradeFlag(io, format, message, recovery) {
24
28
  return emitInvalidInput(io, {
25
29
  format: asEnvelopeFormat(format),
26
- body: { class: "unsupported_target", message },
30
+ body: { class: "unsupported_target", message, recovery },
27
31
  });
28
32
  }
29
33
  export function runGate(argv, io, prog) {
30
34
  const parsed = parseCompactArgs(argv);
31
35
  if ("error" in parsed) {
32
36
  return emitInvalidInput(io, {
33
- format: "text",
37
+ format: detectTopLevelFormat(argv),
34
38
  body: classifyParseError(parsed.error),
35
39
  });
36
40
  }
@@ -109,6 +113,7 @@ export function runDoctor(argv, io, prog) {
109
113
  project: null,
110
114
  expectedVersion: null,
111
115
  expectCommand: [],
116
+ retiredResource: null,
112
117
  smoke: false,
113
118
  allowLiveModel: false,
114
119
  format: "text",
@@ -131,6 +136,8 @@ export function runDoctor(argv, io, prog) {
131
136
  args.expectedVersion = v;
132
137
  else if ((v = value("--expect-command")) !== null)
133
138
  args.expectCommand.push(v);
139
+ else if ((v = value("--retired-resource")) !== null)
140
+ args.retiredResource = v;
134
141
  else if ((v = value("--format")) !== null) {
135
142
  if (v !== "text" && v !== "json") {
136
143
  return emitInvalidInput(io, {
@@ -171,50 +178,6 @@ export function runDoctor(argv, io, prog) {
171
178
  });
172
179
  }
173
180
  }
174
- export function readStdin() {
175
- try {
176
- return fsForHooks.readFileSync(0, "utf8");
177
- }
178
- catch {
179
- return "";
180
- }
181
- }
182
- export function runHook(name, argv, io) {
183
- const err = io.err ?? ((t) => process.stderr.write(t));
184
- const raw = io.stdin ? io.stdin() : readStdin();
185
- // Each hook owns its own stdout newline convention; do not wrap stdout here.
186
- switch (name) {
187
- case "session-start":
188
- return runSessionStart(raw);
189
- case "session-stop":
190
- return runSessionStop(raw);
191
- case "cursor-session-start":
192
- return runCursorSessionStart(raw);
193
- case "cursor-pre-tool-use":
194
- return runCursorPreToolUse(raw);
195
- case "validate-artifact": {
196
- const [rc, violations] = new HookCliAdapter().run(raw, null);
197
- for (const v of violations)
198
- err(`${v}\n`);
199
- return rc;
200
- }
201
- default:
202
- return emitInvalidInput(io, {
203
- format: "text",
204
- body: {
205
- class: "unsupported_target",
206
- message: `unknown hook '${name}'`,
207
- valid_values: [
208
- "session-start",
209
- "session-stop",
210
- "cursor-session-start",
211
- "cursor-pre-tool-use",
212
- "validate-artifact",
213
- ],
214
- },
215
- });
216
- }
217
- }
218
181
  export function runUsage(argv, io, prog) {
219
182
  const realOut = io.out ?? ((t) => process.stdout.write(t));
220
183
  const realErr = io.err ?? ((t) => process.stderr.write(t));
@@ -296,7 +259,12 @@ export function runUpgrade(argv, io, prog) {
296
259
  dryRun: false,
297
260
  only: [],
298
261
  force: false,
262
+ verify: false,
263
+ runtime: null,
264
+ legacyCleanup: null,
299
265
  format: "text",
266
+ productV1Reset: false,
267
+ authorization: null,
300
268
  };
301
269
  let jsonFlag = false;
302
270
  let i = 0;
@@ -317,10 +285,39 @@ export function runUpgrade(argv, io, prog) {
317
285
  else if ((v = value("--channel")) !== null)
318
286
  args.channel = v;
319
287
  else if ((v = value("--target-major")) !== null) {
320
- return rejectUnsupportedUpgradeFlag(io, args.format ?? "text", "--target-major was removed; use --channel with dry-run preview then --yes");
288
+ return rejectUnsupportedUpgradeFlag(io, args.format ?? "text", "--target-major was removed; use --channel with dry-run preview then --yes", fullEntityUpgradeCommand(migrationProject(argv)));
321
289
  }
322
290
  else if ((v = value("--runtime")) !== null) {
323
- return rejectUnsupportedUpgradeFlag(io, args.format ?? "text", "--runtime is not yet supported by the TypeScript upgrade command; use --only runtime for migration phases");
291
+ return emitInvalidInput(io, {
292
+ format: detectTopLevelFormat(argv),
293
+ body: {
294
+ class: "invalid_choice",
295
+ message: `argument --runtime ${v} is retired; Agentera now uses the shared skill at ` +
296
+ "~/.agents/skills/agentera plus the CLI. Remove --runtime and rerun the app/project upgrade. " +
297
+ "For explicit Agentera-owned native resource cleanup, use --legacy-cleanup RESOURCE_ID.",
298
+ },
299
+ });
300
+ }
301
+ else if ((v = value("--legacy-cleanup")) !== null) {
302
+ const validValues = nativeResourceCleanupIds();
303
+ const selectedResource = resolveNativeResourceCleanupId(v);
304
+ if (!selectedResource) {
305
+ return emitInvalidInput(io, {
306
+ format: asEnvelopeFormat(args.format),
307
+ body: {
308
+ class: "invalid_choice",
309
+ message: `argument --legacy-cleanup: invalid choice: '${v}' (choose from ${validValues.map((id) => `'${id}'`).join(", ")})`,
310
+ valid_values: validValues,
311
+ },
312
+ });
313
+ }
314
+ args.legacyCleanup = selectedResource.id;
315
+ }
316
+ else if (a === "--reset-product-v1") {
317
+ args.productV1Reset = true;
318
+ }
319
+ else if ((v = value("--authorization")) !== null) {
320
+ args.authorization = v;
324
321
  }
325
322
  else if ((v = value("--only")) !== null) {
326
323
  if (v !== "artifacts" && v !== "runtime" && v !== "cleanup") {
@@ -344,8 +341,13 @@ export function runUpgrade(argv, io, prog) {
344
341
  args.dryRun = true;
345
342
  else if (a === "--force")
346
343
  args.force = true;
344
+ else if (a === "--verify")
345
+ args.verify = true;
347
346
  else if (a === "--update-packages") {
348
- return rejectUnsupportedUpgradeFlag(io, args.format ?? "text", "--update-packages is not yet supported by the TypeScript upgrade command; external package refresh is deferred for the 3.x channel model");
347
+ return rejectUnsupportedUpgradeFlag(io, args.format ?? "text", "--update-packages is retired; Agentera does not manage host package installation or updates");
348
+ }
349
+ else if (["--restore", "--rollback", "--downgrade"].includes(a)) {
350
+ return rejectUnsupportedUpgradeFlag(io, args.format ?? "text", `${a} was removed; v2-to-v3 upgrade is one-way and apply must run as one full upgrade --yes`, fullEntityUpgradeCommand(migrationProject(argv)));
349
351
  }
350
352
  else if (a === "--json")
351
353
  jsonFlag = true;
@@ -371,6 +373,18 @@ export function runUpgrade(argv, io, prog) {
371
373
  }
372
374
  if (jsonFlag)
373
375
  args.format = "json";
376
+ if (args.productV1Reset) {
377
+ const incompatible = args.channel !== null || (args.only?.length ?? 0) > 0 || args.force || args.verify || args.legacyCleanup !== null;
378
+ if (incompatible || args.dryRun === args.yes || (args.yes && !args.authorization) || (!args.yes && args.authorization)) {
379
+ return emitInvalidInput(io, {
380
+ format: asEnvelopeFormat(args.format),
381
+ body: {
382
+ class: "invalid_request",
383
+ message: "product-v1 reset requires either --dry-run preview or --yes --authorization TOKEN apply, without other upgrade modes",
384
+ },
385
+ });
386
+ }
387
+ }
374
388
  try {
375
389
  return cmdUpgrade(args, io);
376
390
  }
@@ -429,7 +443,7 @@ export function runVerify(argv, io, prog) {
429
443
  args.dryRun = true;
430
444
  else if (a.startsWith("--")) {
431
445
  return emitInvalidInput(io, {
432
- format: asEnvelopeFormat(args.format),
446
+ format: detectTopLevelFormat(argv),
433
447
  body: { class: "unrecognized_argument", message: `unrecognized arguments: ${a}` },
434
448
  });
435
449
  }
@@ -451,13 +465,99 @@ export function runVerify(argv, io, prog) {
451
465
  }
452
466
  }
453
467
  export function runReport(argv, io, prog) {
468
+ if (argv[0] === "personal-glossary-decision") {
469
+ if (prog !== "agentera report") {
470
+ return emitInvalidInput(io, {
471
+ format: "json",
472
+ body: {
473
+ class: "unsupported_target",
474
+ message: "personal-glossary-decision has no stats alias",
475
+ valid_values: ["report personal-glossary-decision"],
476
+ recovery: `Run ${preCutoverCommand("report personal-glossary-decision --input - --format json")}; no bytes were changed.`,
477
+ },
478
+ });
479
+ }
480
+ return runPersonalGlossaryDecisionCommand(argv.slice(1), io);
481
+ }
482
+ if (argv[0] === "personal-glossary-candidates") {
483
+ if (prog !== "agentera report") {
484
+ return emitInvalidInput(io, {
485
+ format: "json",
486
+ body: {
487
+ class: "unsupported_target",
488
+ message: "personal-glossary-candidates has no stats alias",
489
+ valid_values: ["report personal-glossary-candidates"],
490
+ recovery: `Run ${preCutoverCommand("report personal-glossary-candidates list --limit 20 --format json")}; no projection bytes were changed.`,
491
+ },
492
+ });
493
+ }
494
+ return runPersonalGlossaryCandidateReadsCommand(argv.slice(1), io);
495
+ }
496
+ if (argv[0] === "personal-glossary-reviews") {
497
+ if (prog !== "agentera report") {
498
+ return emitInvalidInput(io, {
499
+ format: "json",
500
+ body: {
501
+ class: "unsupported_target",
502
+ message: "personal-glossary-reviews has no stats alias",
503
+ valid_values: ["report personal-glossary-reviews"],
504
+ recovery: `Run ${preCutoverCommand("report personal-glossary-reviews list --limit 20 --format json")}; no review metadata was changed.`,
505
+ },
506
+ });
507
+ }
508
+ return runPersonalGlossaryReviewRecordsCommand(argv.slice(1), io);
509
+ }
510
+ if (argv[0] === "glossary-advice") {
511
+ if (prog !== "agentera report") {
512
+ return emitInvalidInput(io, {
513
+ format: "json",
514
+ body: {
515
+ class: "unsupported_target",
516
+ message: "glossary-advice has no stats alias",
517
+ valid_values: ["report glossary-advice"],
518
+ recovery: `Run ${preCutoverCommand("report glossary-advice --input - --format json")}; no state was changed.`,
519
+ },
520
+ });
521
+ }
522
+ return runGlossaryAdviceCommand(argv.slice(1), io);
523
+ }
524
+ if (argv[0] === "profile-grounding") {
525
+ if (prog !== "agentera report") {
526
+ return emitInvalidInput(io, {
527
+ format: "json",
528
+ body: {
529
+ class: "unsupported_target",
530
+ message: "profile-grounding has no stats alias",
531
+ valid_values: ["report profile-grounding"],
532
+ recovery: `Run ${preCutoverCommand("report profile-grounding --format json")}; no profile bytes were changed.`,
533
+ },
534
+ });
535
+ }
536
+ return runProfileGroundingCommand(argv.slice(1), io);
537
+ }
538
+ if (argv[0] === "personal-glossary-publish") {
539
+ if (prog !== "agentera report") {
540
+ return emitInvalidInput(io, {
541
+ format: "json",
542
+ body: {
543
+ class: "unsupported_target",
544
+ message: "personal-glossary-publish has no stats alias",
545
+ valid_values: ["report personal-glossary-publish"],
546
+ recovery: `Run ${preCutoverCommand("report personal-glossary-publish --input - --format json")}; no profile bytes were changed.`,
547
+ },
548
+ });
549
+ }
550
+ return runPersonalGlossaryPublishCommand(argv.slice(1), io);
551
+ }
454
552
  const args = {
455
553
  action: null,
456
554
  format: "text",
457
555
  project: null,
556
+ sources: "active",
458
557
  dryRun: false,
459
558
  consent: null,
460
559
  projectRoot: [],
560
+ importSources: [],
461
561
  };
462
562
  const positionals = [];
463
563
  let i = 0;
@@ -471,6 +571,15 @@ export function runReport(argv, io, prog) {
471
571
  args.format = v;
472
572
  else if ((v = value("--project")) !== null)
473
573
  args.project = v;
574
+ else if ((v = value("--sources")) !== null) {
575
+ if (v !== "active" && v !== "all") {
576
+ return emitInvalidInput(io, {
577
+ format: asEnvelopeFormat(args.format),
578
+ body: { class: "invalid_choice", message: `argument --sources: invalid choice: '${v}' (choose from 'active', 'all')`, valid_values: ["active", "all"] },
579
+ });
580
+ }
581
+ args.sources = v;
582
+ }
474
583
  else if ((v = value("--consent")) !== null) {
475
584
  if (v !== "local-history") {
476
585
  return emitInvalidInput(io, {
@@ -492,6 +601,20 @@ export function runReport(argv, io, prog) {
492
601
  args.codexSessionsDir = v;
493
602
  else if ((v = value("--claude-projects-dir")) !== null)
494
603
  args.claudeProjectsDir = v;
604
+ else if ((v = value("--import-source")) !== null) {
605
+ if (v !== "claude") {
606
+ return emitInvalidInput(io, {
607
+ format: asEnvelopeFormat(args.format),
608
+ body: {
609
+ class: "invalid_choice",
610
+ message: `argument --import-source: invalid choice: '${v}' (choose from 'claude')`,
611
+ valid_values: ["claude"],
612
+ },
613
+ });
614
+ }
615
+ if (!args.importSources.includes(v))
616
+ args.importSources.push(v);
617
+ }
495
618
  else if ((v = value("--opencode-conversations-dir")) !== null)
496
619
  args.opencodeConversationsDir = v;
497
620
  else if ((v = value("--copilot-conversations-dir")) !== null)
@@ -502,8 +625,6 @@ export function runReport(argv, io, prog) {
502
625
  args.cursorChatsDir = v;
503
626
  else if (a === "--no-codex")
504
627
  args.noCodex = true;
505
- else if (a === "--no-claude")
506
- args.noClaude = true;
507
628
  else if (a === "--no-opencode")
508
629
  args.noOpencode = true;
509
630
  else if (a === "--no-copilot")
@@ -518,7 +639,7 @@ export function runReport(argv, io, prog) {
518
639
  args.dryRun = true;
519
640
  else if (a.startsWith("--")) {
520
641
  return emitInvalidInput(io, {
521
- format: asEnvelopeFormat(args.format),
642
+ format: detectTopLevelFormat(argv),
522
643
  body: { class: "unrecognized_argument", message: `unrecognized arguments: ${a}` },
523
644
  });
524
645
  }
@@ -594,4 +715,3 @@ export function runVersion(argv, io) {
594
715
  }
595
716
  return 0;
596
717
  }
597
- //# sourceMappingURL=lifecycle.js.map
@@ -3,6 +3,17 @@ import { cmdCapability } from "../commands/capability.js";
3
3
  import { makeArgvValueReader } from "./argvParser.js";
4
4
  import { asEnvelopeFormat } from "./shared.js";
5
5
  import { emitInvalidInput } from "../errors.js";
6
+ import { StateRetrievalFailure } from "../../state/directRetrieval.js";
7
+ import { emitStructured } from "../structured.js";
8
+ function emitStateFailure(error, format, io) {
9
+ const output = io.out ?? ((text) => process.stdout.write(text));
10
+ const diagnostic = io.err ?? ((text) => process.stderr.write(text));
11
+ if (format === "json" || format === "yaml")
12
+ emitStructured(error.body, format, output);
13
+ else
14
+ diagnostic(`Error: ${error.body.error.message}\nRecovery: ${error.body.error.recovery}\n`);
15
+ return error.exitCode;
16
+ }
6
17
  export function runCapability(command, argv, io, prog) {
7
18
  let format = "text";
8
19
  let i = 0;
@@ -45,6 +56,8 @@ export function runCapability(command, argv, io, prog) {
45
56
  return cmdCapability(command, { format }, io);
46
57
  }
47
58
  catch (exc) {
59
+ if (exc instanceof StateRetrievalFailure)
60
+ return emitStateFailure(exc, format, io);
48
61
  return emitInvalidInput(io, {
49
62
  format: asEnvelopeFormat(format),
50
63
  body: { class: "unsupported_target", message: exc.message },
@@ -52,7 +65,7 @@ export function runCapability(command, argv, io, prog) {
52
65
  }
53
66
  }
54
67
  export function runPrime(command, argv, io, prog) {
55
- const args = { command, guidance: false, context: null, dashboard: false, orientation: false, format: "text" };
68
+ const args = { command, guidance: false, context: null, dashboard: false, orientation: false, format: "text", input: null };
56
69
  let i = 0;
57
70
  const value = makeArgvValueReader(argv, () => i, (n) => {
58
71
  i = n;
@@ -68,6 +81,27 @@ export function runPrime(command, argv, io, prog) {
68
81
  args.orientation = true;
69
82
  else if ((v = value("--context")) !== null)
70
83
  args.context = v;
84
+ else if (a === "--input" && (!argv[i + 1] || argv[i + 1].startsWith("--"))) {
85
+ return emitInvalidInput(io, {
86
+ format: asEnvelopeFormat(args.format),
87
+ body: { class: "missing_argument", message: "--input requires a file path or -", syntax: "--input <file|->" },
88
+ });
89
+ }
90
+ else if ((v = value("--input")) !== null) {
91
+ if (v.length === 0) {
92
+ return emitInvalidInput(io, {
93
+ format: asEnvelopeFormat(args.format),
94
+ body: { class: "missing_argument", message: "--input requires a file path or -", syntax: "--input <file|->" },
95
+ });
96
+ }
97
+ if (args.input !== null) {
98
+ return emitInvalidInput(io, {
99
+ format: asEnvelopeFormat(args.format),
100
+ body: { class: "mutually_exclusive", message: "--input may only be supplied once" },
101
+ });
102
+ }
103
+ args.input = v;
104
+ }
71
105
  else if ((v = value("--format")) !== null) {
72
106
  if (v !== "text" && v !== "json" && v !== "yaml") {
73
107
  return emitInvalidInput(io, {
@@ -95,10 +129,11 @@ export function runPrime(command, argv, io, prog) {
95
129
  return cmdPrime(args, io);
96
130
  }
97
131
  catch (exc) {
132
+ if (exc instanceof StateRetrievalFailure)
133
+ return emitStateFailure(exc, args.format, io);
98
134
  return emitInvalidInput(io, {
99
135
  format: asEnvelopeFormat(args.format),
100
136
  body: { class: "unsupported_target", message: exc.message },
101
137
  });
102
138
  }
103
139
  }
104
- //# sourceMappingURL=prime.js.map
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Independent production projections of the accepted top-level command set.
3
+ * They intentionally do not import the dispatcher inventory: activation must
4
+ * detect drift in diagnostics, packaged schema, or public instructions.
5
+ */
6
+ export const DIAGNOSTIC_TOP_LEVEL_COMMANDS = Object.freeze([
7
+ "prime", "app-home", "doctor", "usage", "upgrade", "verify", "report", "stats", "schema", "lint", "check", "state", "query", "compact", "validate", "route",
8
+ "vision", "discuss", "research", "plan", "build", "optimize", "audit", "document", "profile", "design", "orchestrate",
9
+ ]);
10
+ export const SCHEMA_TOP_LEVEL_COMMANDS = Object.freeze([
11
+ "prime", "app-home", "doctor", "usage", "upgrade", "verify", "report", "stats", "schema", "lint", "check", "state", "query", "compact", "validate", "route",
12
+ "vision", "discuss", "research", "plan", "build", "optimize", "audit", "document", "profile", "design", "orchestrate",
13
+ ]);
14
+ export const HELP_TOP_LEVEL_COMMANDS = Object.freeze([
15
+ "prime", "app-home", "doctor", "usage", "upgrade", "verify", "report", "stats", "schema", "lint", "check", "state", "query", "compact", "validate", "route",
16
+ "vision", "discuss", "research", "plan", "build", "optimize", "audit", "document", "profile", "design", "orchestrate",
17
+ ]);
@@ -37,7 +37,7 @@ export function classifyParseError(raw) {
37
37
  }
38
38
  /** Coerce the loose `string` format field on parsed args to the literal union. */
39
39
  export function asEnvelopeFormat(format) {
40
- return format === "json" ? "json" : "text";
40
+ return format === "json" || format === "yaml" ? format : "text";
41
41
  }
42
42
  /**
43
43
  * Scan a top-level argv slice for `--format json` (or `--format=json`) so
@@ -61,4 +61,3 @@ export function detectTopLevelFormat(args) {
61
61
  }
62
62
  return "text";
63
63
  }
64
- //# sourceMappingURL=shared.js.map
@@ -1,75 +1,72 @@
1
- import { cmdState } from "../commands/state/index.js";
2
- import { COMMAND_FILTERS } from "../stateQuery.js";
3
1
  import { cmdQuery } from "../commands/query.js";
4
2
  import { makeArgvValueReader } from "./argvParser.js";
5
- import { asEnvelopeFormat, classifyParseError } from "./shared.js";
3
+ import { asEnvelopeFormat, classifyParseError, detectTopLevelFormat } from "./shared.js";
6
4
  import { emitInvalidInput } from "../errors.js";
7
- export function parseStateArgs(command, argv) {
8
- const args = {
9
- command,
10
- topic: null,
11
- status: null,
12
- dimension: null,
13
- severity: null,
14
- limit: 5,
15
- format: "text",
16
- fields: null,
5
+ import { runStateWrite } from "../commands/state/write.js";
6
+ import { runStateGet } from "../commands/state/get.js";
7
+ import { runStateList } from "../commands/state/list.js";
8
+ import { runPlanTasks } from "../commands/state/planTasks.js";
9
+ import { runPlans } from "../commands/state/plans.js";
10
+ import { runExperimentRecords } from "../commands/state/experimentRecords.js";
11
+ import { runtimeEntityFamilyForStateCommand } from "../../state/entityListRuntimeRegistry.js";
12
+ import { entityListFamily, entityListValidValues } from "../../state/entityRetrievalHelp.js";
13
+ import { emitStructured } from "../structured.js";
14
+ import { verbsForArtifact } from "../../state/write/operations.js";
15
+ function canonicalReadCorrection(familyKey, argv, io) {
16
+ const family = entityListFamily(familyKey);
17
+ const recoveryCommand = family.bareRecovery ?? family.example;
18
+ const format = argv.some((token, index) => token === "--format=yaml" || (token === "--format" && argv[index + 1] === "yaml"))
19
+ ? "yaml"
20
+ : detectTopLevelFormat(argv);
21
+ const body = {
22
+ schemaVersion: "agentera.stateFailure.v1",
23
+ status: "fail",
24
+ error: {
25
+ class: "invalid_request",
26
+ message: `bare state ${family.commandTokens.join(" ")} is not a canonical record-family read`,
27
+ syntax: `${family.syntax} | ${family.get}`,
28
+ valid_values: ["list", "get", ...entityListValidValues(family)],
29
+ example: recoveryCommand,
30
+ recovery: `Run \`${recoveryCommand}\`; no state was changed.`,
31
+ artifact: family.key,
32
+ },
17
33
  };
18
- const allowed = new Set([...(COMMAND_FILTERS[command] ?? []), "format", "fields"]);
19
- let i = 0;
20
- const value = makeArgvValueReader(argv, () => i, (n) => {
21
- i = n;
22
- });
23
- for (; i < argv.length; i++) {
24
- const a = argv[i];
25
- const named = (flag, key) => allowed.has(key) && (a === flag || a.startsWith(flag + "="));
26
- let v;
27
- if (named("--topic", "topic"))
28
- args.topic = value("--topic");
29
- else if (named("--status", "status"))
30
- args.status = value("--status");
31
- else if (named("--dimension", "dimension"))
32
- args.dimension = value("--dimension");
33
- else if (named("--severity", "severity"))
34
- args.severity = value("--severity");
35
- else if (named("--limit", "limit")) {
36
- v = value("--limit");
37
- const n = Number(v);
38
- if (!Number.isInteger(n))
39
- return { error: `argument --limit: invalid int value: '${v}'` };
40
- args.limit = n;
41
- }
42
- else if (a === "--format" || a.startsWith("--format=")) {
43
- v = value("--format");
44
- if (v !== "text" && v !== "json" && v !== "yaml") {
45
- return { error: `argument --format: invalid choice: '${v}' (choose from 'text', 'json', 'yaml')` };
46
- }
47
- args.format = v;
48
- }
49
- else if (a === "--fields" || a.startsWith("--fields="))
50
- args.fields = value("--fields");
51
- else
52
- return { error: `unrecognized arguments: ${a}` };
53
- }
54
- return args;
34
+ if (format === "json" || format === "yaml")
35
+ emitStructured(body, format, io.out ?? ((text) => process.stdout.write(text)));
36
+ else
37
+ (io.err ?? ((text) => process.stderr.write(text)))(`Error: ${body.error.message}\nSyntax: ${body.error.syntax}\nExample: ${body.error.example}\nRecovery: ${body.error.recovery}\n`);
38
+ return 2;
55
39
  }
56
40
  export function runState(command, argv, io, prog) {
57
- const parsed = parseStateArgs(command, argv);
58
- if ("error" in parsed) {
59
- return emitInvalidInput(io, {
60
- format: "text",
61
- body: classifyParseError(parsed.error),
62
- });
63
- }
64
- try {
65
- return cmdState(parsed, io);
41
+ const runtime = runtimeEntityFamilyForStateCommand(command, argv);
42
+ if (runtime) {
43
+ const offset = runtime.commandTokens.length - 1;
44
+ const familyArgv = argv.slice(offset);
45
+ const verb = familyArgv[0];
46
+ if (verb === "list" || verb === "get") {
47
+ if (runtime.parser === "generic")
48
+ return verb === "list" ? runStateList(command, familyArgv.slice(1), io) : runStateGet(command, familyArgv.slice(1), io);
49
+ if (runtime.parser === "plans")
50
+ return runPlans(familyArgv, io);
51
+ if (runtime.parser === "plan_tasks")
52
+ return runPlanTasks(familyArgv, io);
53
+ return runExperimentRecords(familyArgv, io);
54
+ }
55
+ const family = entityListFamily(runtime.key);
56
+ const writeVerb = verb !== undefined && verbsForArtifact(command).some((candidate) => candidate === verb);
57
+ if (writeVerb && runtime.commandTokens.length === 1)
58
+ return runStateWrite(command, argv, io);
59
+ if (family.bareRead === "alias")
60
+ return runStateList(command, familyArgv, io);
61
+ return canonicalReadCorrection(family.key, familyArgv, io);
66
62
  }
67
- catch (exc) {
68
- return emitInvalidInput(io, {
69
- format: asEnvelopeFormat(parsed.format),
70
- body: { class: "unsupported_target", message: exc.message },
71
- });
63
+ if (argv[0] && verbsForArtifact(command).some((candidate) => candidate === argv[0])) {
64
+ return runStateWrite(command, argv, io);
72
65
  }
66
+ return emitInvalidInput(io, {
67
+ format: detectTopLevelFormat(argv),
68
+ body: { class: "unsupported_target", message: `unsupported state artifact or operation '${command} ${argv[0] ?? ""}'`.trim() },
69
+ });
73
70
  }
74
71
  export function parseQueryArgs(argv) {
75
72
  const args = {
@@ -127,7 +124,7 @@ export function runQuery(argv, io, prog) {
127
124
  const parsed = parseQueryArgs(argv);
128
125
  if ("error" in parsed) {
129
126
  return emitInvalidInput(io, {
130
- format: "text",
127
+ format: detectTopLevelFormat(argv),
131
128
  body: classifyParseError(parsed.error),
132
129
  });
133
130
  }
@@ -141,4 +138,3 @@ export function runQuery(argv, io, prog) {
141
138
  });
142
139
  }
143
140
  }
144
- //# sourceMappingURL=state.js.map
@@ -1,2 +1 @@
1
1
  export { main } from "./dispatch/index.js";
2
- //# sourceMappingURL=dispatch.js.map