agentera 3.0.0-dev.6 → 3.0.0-dev.69

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