agentera 0.0.0 → 3.0.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/README.md +6 -45
  2. package/bundle/.agentera-npx-bundle.json +4 -0
  3. package/bundle/references/adapters/cursor.md +213 -0
  4. package/bundle/references/adapters/opencode.md +530 -0
  5. package/bundle/references/adapters/package-manifest-interface-model.yaml +337 -0
  6. package/bundle/references/adapters/package-registry.yaml +247 -0
  7. package/bundle/references/adapters/package-surface-characterization.md +48 -0
  8. package/bundle/references/adapters/runtime-adapter-characterization.md +79 -0
  9. package/bundle/references/adapters/runtime-adapter-interface-model.yaml +200 -0
  10. package/bundle/references/adapters/runtime-adapter-registry.yaml +548 -0
  11. package/bundle/references/adapters/runtime-feature-parity.md +189 -0
  12. package/bundle/references/analysis/benchmark.md +267 -0
  13. package/bundle/references/analysis/startup-measurement-contract.yaml +424 -0
  14. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +288 -0
  15. package/bundle/references/cli/agent-ready-state-contract.yaml +950 -0
  16. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +233 -0
  17. package/bundle/references/cli/audience-namespace-cli-migration.yaml +355 -0
  18. package/bundle/references/cli/bundle-skill-vocabulary.yaml +278 -0
  19. package/bundle/references/cli/capability-instruction-contract.yaml +123 -0
  20. package/bundle/references/cli/capability-tool-classification.yaml +53 -0
  21. package/bundle/references/cli/routing-execution-vocabulary.yaml +281 -0
  22. package/bundle/references/cli/update-channels.yaml +120 -0
  23. package/bundle/references/cli/vocabulary-index.yaml +160 -0
  24. package/bundle/references/cli/vocabulary.md +562 -0
  25. package/bundle/references/meta/documentation-inventory.md +43 -0
  26. package/bundle/references/v1-section-mapping.md +47 -0
  27. package/bundle/registry.json +39 -0
  28. package/bundle/skills/agentera/.claude-plugin/plugin.json +27 -0
  29. package/bundle/skills/agentera/SKILL.md +470 -0
  30. package/bundle/skills/agentera/agents/dokumentera.toml +6 -0
  31. package/bundle/skills/agentera/agents/hej.toml +6 -0
  32. package/bundle/skills/agentera/agents/inspektera.toml +6 -0
  33. package/bundle/skills/agentera/agents/inspirera.toml +6 -0
  34. package/bundle/skills/agentera/agents/optimera.toml +6 -0
  35. package/bundle/skills/agentera/agents/orkestrera.toml +6 -0
  36. package/bundle/skills/agentera/agents/planera.toml +6 -0
  37. package/bundle/skills/agentera/agents/profilera.toml +6 -0
  38. package/bundle/skills/agentera/agents/realisera.toml +6 -0
  39. package/bundle/skills/agentera/agents/resonera.toml +6 -0
  40. package/bundle/skills/agentera/agents/visionera.toml +6 -0
  41. package/bundle/skills/agentera/agents/visualisera.toml +6 -0
  42. package/bundle/skills/agentera/capabilities/dokumentera/instructions.md +428 -0
  43. package/bundle/skills/agentera/capabilities/dokumentera/schemas/artifacts.yaml +73 -0
  44. package/bundle/skills/agentera/capabilities/dokumentera/schemas/exit.yaml +35 -0
  45. package/bundle/skills/agentera/capabilities/dokumentera/schemas/triggers.yaml +35 -0
  46. package/bundle/skills/agentera/capabilities/dokumentera/schemas/validation.yaml +139 -0
  47. package/bundle/skills/agentera/capabilities/hej/instructions.md +331 -0
  48. package/bundle/skills/agentera/capabilities/hej/schemas/artifacts.yaml +69 -0
  49. package/bundle/skills/agentera/capabilities/hej/schemas/exit.yaml +32 -0
  50. package/bundle/skills/agentera/capabilities/hej/schemas/triggers.yaml +58 -0
  51. package/bundle/skills/agentera/capabilities/hej/schemas/validation.yaml +55 -0
  52. package/bundle/skills/agentera/capabilities/inspektera/instructions.md +514 -0
  53. package/bundle/skills/agentera/capabilities/inspektera/schemas/artifacts.yaml +76 -0
  54. package/bundle/skills/agentera/capabilities/inspektera/schemas/exit.yaml +36 -0
  55. package/bundle/skills/agentera/capabilities/inspektera/schemas/triggers.yaml +38 -0
  56. package/bundle/skills/agentera/capabilities/inspektera/schemas/validation.yaml +113 -0
  57. package/bundle/skills/agentera/capabilities/inspirera/instructions.md +280 -0
  58. package/bundle/skills/agentera/capabilities/inspirera/schemas/artifacts.yaml +24 -0
  59. package/bundle/skills/agentera/capabilities/inspirera/schemas/exit.yaml +33 -0
  60. package/bundle/skills/agentera/capabilities/inspirera/schemas/triggers.yaml +34 -0
  61. package/bundle/skills/agentera/capabilities/inspirera/schemas/validation.yaml +58 -0
  62. package/bundle/skills/agentera/capabilities/optimera/instructions.md +437 -0
  63. package/bundle/skills/agentera/capabilities/optimera/schemas/artifacts.yaml +69 -0
  64. package/bundle/skills/agentera/capabilities/optimera/schemas/exit.yaml +35 -0
  65. package/bundle/skills/agentera/capabilities/optimera/schemas/triggers.yaml +39 -0
  66. package/bundle/skills/agentera/capabilities/optimera/schemas/validation.yaml +91 -0
  67. package/bundle/skills/agentera/capabilities/orkestrera/instructions.md +433 -0
  68. package/bundle/skills/agentera/capabilities/orkestrera/schemas/artifacts.yaml +64 -0
  69. package/bundle/skills/agentera/capabilities/orkestrera/schemas/exit.yaml +34 -0
  70. package/bundle/skills/agentera/capabilities/orkestrera/schemas/triggers.yaml +42 -0
  71. package/bundle/skills/agentera/capabilities/orkestrera/schemas/validation.yaml +107 -0
  72. package/bundle/skills/agentera/capabilities/planera/instructions.md +368 -0
  73. package/bundle/skills/agentera/capabilities/planera/schemas/artifacts.yaml +62 -0
  74. package/bundle/skills/agentera/capabilities/planera/schemas/exit.yaml +33 -0
  75. package/bundle/skills/agentera/capabilities/planera/schemas/triggers.yaml +34 -0
  76. package/bundle/skills/agentera/capabilities/planera/schemas/validation.yaml +61 -0
  77. package/bundle/skills/agentera/capabilities/profilera/instructions.md +419 -0
  78. package/bundle/skills/agentera/capabilities/profilera/schemas/artifacts.yaml +18 -0
  79. package/bundle/skills/agentera/capabilities/profilera/schemas/exit.yaml +34 -0
  80. package/bundle/skills/agentera/capabilities/profilera/schemas/triggers.yaml +45 -0
  81. package/bundle/skills/agentera/capabilities/profilera/schemas/validation.yaml +57 -0
  82. package/bundle/skills/agentera/capabilities/realisera/instructions.md +403 -0
  83. package/bundle/skills/agentera/capabilities/realisera/schemas/artifacts.yaml +80 -0
  84. package/bundle/skills/agentera/capabilities/realisera/schemas/exit.yaml +35 -0
  85. package/bundle/skills/agentera/capabilities/realisera/schemas/triggers.yaml +39 -0
  86. package/bundle/skills/agentera/capabilities/realisera/schemas/validation.yaml +110 -0
  87. package/bundle/skills/agentera/capabilities/resonera/instructions.md +329 -0
  88. package/bundle/skills/agentera/capabilities/resonera/schemas/artifacts.yaml +47 -0
  89. package/bundle/skills/agentera/capabilities/resonera/schemas/exit.yaml +35 -0
  90. package/bundle/skills/agentera/capabilities/resonera/schemas/triggers.yaml +46 -0
  91. package/bundle/skills/agentera/capabilities/resonera/schemas/validation.yaml +77 -0
  92. package/bundle/skills/agentera/capabilities/visionera/instructions.md +309 -0
  93. package/bundle/skills/agentera/capabilities/visionera/schemas/artifacts.yaml +57 -0
  94. package/bundle/skills/agentera/capabilities/visionera/schemas/exit.yaml +35 -0
  95. package/bundle/skills/agentera/capabilities/visionera/schemas/triggers.yaml +41 -0
  96. package/bundle/skills/agentera/capabilities/visionera/schemas/validation.yaml +74 -0
  97. package/bundle/skills/agentera/capabilities/visualisera/instructions.md +400 -0
  98. package/bundle/skills/agentera/capabilities/visualisera/schemas/artifacts.yaml +44 -0
  99. package/bundle/skills/agentera/capabilities/visualisera/schemas/exit.yaml +34 -0
  100. package/bundle/skills/agentera/capabilities/visualisera/schemas/triggers.yaml +33 -0
  101. package/bundle/skills/agentera/capabilities/visualisera/schemas/validation.yaml +80 -0
  102. package/bundle/skills/agentera/capability_schema_contract.yaml +385 -0
  103. package/bundle/skills/agentera/protocol.yaml +463 -0
  104. package/bundle/skills/agentera/references/contract.md +1039 -0
  105. package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +60 -0
  106. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +461 -0
  107. package/bundle/skills/agentera/schemas/artifacts/design.yaml +55 -0
  108. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +402 -0
  109. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +373 -0
  110. package/bundle/skills/agentera/schemas/artifacts/health.yaml +484 -0
  111. package/bundle/skills/agentera/schemas/artifacts/objective.yaml +399 -0
  112. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +342 -0
  113. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +325 -0
  114. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +110 -0
  115. package/bundle/skills/agentera/schemas/artifacts/vision.yaml +262 -0
  116. package/bundle/skills/hej/.claude-plugin/plugin.json +6 -0
  117. package/bundle/skills/hej/SKILL.md +69 -0
  118. package/bundle/skills/hej/agents/hej.toml +11 -0
  119. package/bundle/skills/hej/agents/openai.yaml +8 -0
  120. package/dist/analytics/extractCorpus.js +1791 -0
  121. package/dist/analytics/extractCorpus.js.map +1 -0
  122. package/dist/analytics/usageStats.js +487 -0
  123. package/dist/analytics/usageStats.js.map +1 -0
  124. package/dist/bin/agentera.js +4 -0
  125. package/dist/bin/agentera.js.map +1 -0
  126. package/dist/cli/appContext.js +226 -0
  127. package/dist/cli/appContext.js.map +1 -0
  128. package/dist/cli/argvalidate.js +41 -0
  129. package/dist/cli/argvalidate.js.map +1 -0
  130. package/dist/cli/capabilityContext.js +2421 -0
  131. package/dist/cli/capabilityContext.js.map +1 -0
  132. package/dist/cli/commands/backfill.js +84 -0
  133. package/dist/cli/commands/backfill.js.map +1 -0
  134. package/dist/cli/commands/capability.js +44 -0
  135. package/dist/cli/commands/capability.js.map +1 -0
  136. package/dist/cli/commands/compact.js +148 -0
  137. package/dist/cli/commands/compact.js.map +1 -0
  138. package/dist/cli/commands/doctor.js +180 -0
  139. package/dist/cli/commands/doctor.js.map +1 -0
  140. package/dist/cli/commands/lint.js +179 -0
  141. package/dist/cli/commands/lint.js.map +1 -0
  142. package/dist/cli/commands/prime.js +545 -0
  143. package/dist/cli/commands/prime.js.map +1 -0
  144. package/dist/cli/commands/query.js +346 -0
  145. package/dist/cli/commands/query.js.map +1 -0
  146. package/dist/cli/commands/report.js +210 -0
  147. package/dist/cli/commands/report.js.map +1 -0
  148. package/dist/cli/commands/schema.js +306 -0
  149. package/dist/cli/commands/schema.js.map +1 -0
  150. package/dist/cli/commands/state.js +1012 -0
  151. package/dist/cli/commands/state.js.map +1 -0
  152. package/dist/cli/commands/upgrade.js +49 -0
  153. package/dist/cli/commands/upgrade.js.map +1 -0
  154. package/dist/cli/commands/validate.js +519 -0
  155. package/dist/cli/commands/validate.js.map +1 -0
  156. package/dist/cli/commands/verify.js +204 -0
  157. package/dist/cli/commands/verify.js.map +1 -0
  158. package/dist/cli/dispatch.js +962 -0
  159. package/dist/cli/dispatch.js.map +1 -0
  160. package/dist/cli/orientation.js +595 -0
  161. package/dist/cli/orientation.js.map +1 -0
  162. package/dist/cli/prime-blob.js +3 -0
  163. package/dist/cli/prime-blob.js.map +1 -0
  164. package/dist/cli/stateQuery.js +292 -0
  165. package/dist/cli/stateQuery.js.map +1 -0
  166. package/dist/cli/structured.js +18 -0
  167. package/dist/cli/structured.js.map +1 -0
  168. package/dist/core/difflib.js +274 -0
  169. package/dist/core/difflib.js.map +1 -0
  170. package/dist/core/git.js +43 -0
  171. package/dist/core/git.js.map +1 -0
  172. package/dist/core/paths.js +50 -0
  173. package/dist/core/paths.js.map +1 -0
  174. package/dist/core/pyjson.js +101 -0
  175. package/dist/core/pyjson.js.map +1 -0
  176. package/dist/core/sourceRoot.js +72 -0
  177. package/dist/core/sourceRoot.js.map +1 -0
  178. package/dist/core/toml.js +11 -0
  179. package/dist/core/toml.js.map +1 -0
  180. package/dist/core/yaml.js +25 -0
  181. package/dist/core/yaml.js.map +1 -0
  182. package/dist/eval/evalSkills.js +258 -0
  183. package/dist/eval/evalSkills.js.map +1 -0
  184. package/dist/eval/semanticEval.js +148 -0
  185. package/dist/eval/semanticEval.js.map +1 -0
  186. package/dist/eval/semanticFixtures.js +227 -0
  187. package/dist/eval/semanticFixtures.js.map +1 -0
  188. package/dist/hooks/common.js +160 -0
  189. package/dist/hooks/common.js.map +1 -0
  190. package/dist/hooks/compaction.js +935 -0
  191. package/dist/hooks/compaction.js.map +1 -0
  192. package/dist/hooks/cursorPreToolUse.js +19 -0
  193. package/dist/hooks/cursorPreToolUse.js.map +1 -0
  194. package/dist/hooks/cursorSessionStart.js +71 -0
  195. package/dist/hooks/cursorSessionStart.js.map +1 -0
  196. package/dist/hooks/sessionStart.js +209 -0
  197. package/dist/hooks/sessionStart.js.map +1 -0
  198. package/dist/hooks/sessionStop.js +212 -0
  199. package/dist/hooks/sessionStop.js.map +1 -0
  200. package/dist/hooks/validateArtifact.js +933 -0
  201. package/dist/hooks/validateArtifact.js.map +1 -0
  202. package/dist/registries/artifactRegistry.js +206 -0
  203. package/dist/registries/artifactRegistry.js.map +1 -0
  204. package/dist/registries/capabilityContract.js +310 -0
  205. package/dist/registries/capabilityContract.js.map +1 -0
  206. package/dist/registries/packageRegistry.js +641 -0
  207. package/dist/registries/packageRegistry.js.map +1 -0
  208. package/dist/registries/runtimeAdapterRegistry.js +315 -0
  209. package/dist/registries/runtimeAdapterRegistry.js.map +1 -0
  210. package/dist/setup/codex.js +1052 -0
  211. package/dist/setup/codex.js.map +1 -0
  212. package/dist/setup/copilot.js +227 -0
  213. package/dist/setup/copilot.js.map +1 -0
  214. package/dist/setup/cursor.js +127 -0
  215. package/dist/setup/cursor.js.map +1 -0
  216. package/dist/setup/doctor.js +1269 -0
  217. package/dist/setup/doctor.js.map +1 -0
  218. package/dist/state/installRoot.js +279 -0
  219. package/dist/state/installRoot.js.map +1 -0
  220. package/dist/state/progressCommit.js +289 -0
  221. package/dist/state/progressCommit.js.map +1 -0
  222. package/dist/state/startupAnalysis.js +1953 -0
  223. package/dist/state/startupAnalysis.js.map +1 -0
  224. package/dist/upgrade/appModel.js +189 -0
  225. package/dist/upgrade/appModel.js.map +1 -0
  226. package/dist/upgrade/channels.js +197 -0
  227. package/dist/upgrade/channels.js.map +1 -0
  228. package/dist/upgrade/compatibility.js +197 -0
  229. package/dist/upgrade/compatibility.js.map +1 -0
  230. package/dist/upgrade/doctor.js +368 -0
  231. package/dist/upgrade/doctor.js.map +1 -0
  232. package/dist/upgrade/migrateArtifactsV2ToV3.js +412 -0
  233. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -0
  234. package/dist/upgrade/upgradeCommands.js +40 -0
  235. package/dist/upgrade/upgradeCommands.js.map +1 -0
  236. package/dist/upgrade/upgradeOrchestrator.js +280 -0
  237. package/dist/upgrade/upgradeOrchestrator.js.map +1 -0
  238. package/dist/validate/appHomeContract.js +150 -0
  239. package/dist/validate/appHomeContract.js.map +1 -0
  240. package/dist/validate/capability.js +412 -0
  241. package/dist/validate/capability.js.map +1 -0
  242. package/dist/validate/crossCapability.js +145 -0
  243. package/dist/validate/crossCapability.js.map +1 -0
  244. package/dist/validate/lifecycleAdapters.js +772 -0
  245. package/dist/validate/lifecycleAdapters.js.map +1 -0
  246. package/dist/validate/selfAudit.js +107 -0
  247. package/dist/validate/selfAudit.js.map +1 -0
  248. package/package.json +28 -8
  249. package/LICENSE +0 -201
  250. package/bin/agentera.mjs +0 -50
  251. package/lib/exec.mjs +0 -116
  252. package/lib/resolve.mjs +0 -129
@@ -0,0 +1,306 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { parseYaml } from "../../core/yaml.js";
4
+ import { activeAppModel, discoverSchemasDir, loadSchemas, } from "../appContext.js";
5
+ import { emitStructured } from "../structured.js";
6
+ import { appModelPayload, REQUIRED_SPARSE_CONTEXT_FIELDS, ROUTINE_STRUCTURED_FIELDS, surfaceMissingMessage, } from "../stateQuery.js";
7
+ import { artifactLocationContract } from "./query.js";
8
+ const CAPABILITY_NAMES = [
9
+ "hej", "visionera", "resonera", "inspirera", "planera", "realisera",
10
+ "optimera", "inspektera", "dokumentera", "profilera", "visualisera", "orkestrera",
11
+ ];
12
+ const ROUTINE_STATE_COMMANDS = [
13
+ "hej", "plan", "progress", "health", "todo", "decisions", "docs", "objective", "experiments",
14
+ ];
15
+ const DOCTOR_SIGNAL_KINDS = [
16
+ "missing_bundle", "invalid_install_root", "unmanaged_install_root", "invalid_bundle",
17
+ "missing_marker", "version_mismatch", "cli_probe_unavailable", "cli_probe_failed", "missing_command",
18
+ ];
19
+ const HEJ_STRUCTURED_FIELDS = [
20
+ "command", "status", "app_home", "bundle", "mode", "profile", "v1_migration", "health",
21
+ "issues", "plan", "docs", "progress", "objective", "state_presence", "attention",
22
+ "decision_attention", "next_action", "orchestration_context", "closeout_context",
23
+ "evidence_context", "benchmark_context", "execution_context", "source", "source_contract",
24
+ ];
25
+ const COMMAND_DESCRIPTIONS = {
26
+ prime: "Composite orientation briefing and capability startup context.",
27
+ hej: "Deprecated alias for prime.",
28
+ schema: "Runtime CLI/schema introspection.",
29
+ plan: "Deprecated alias for state plan. Active plan summary.",
30
+ progress: "Deprecated alias for state progress. Recent cycle summary.",
31
+ health: "Deprecated alias for state health. Latest project artifact health audit.",
32
+ todo: "Deprecated alias for state todo. TODO summary.",
33
+ decisions: "Deprecated alias for state decisions. Decision log.",
34
+ docs: "Deprecated alias for state docs. Documentation contract summary.",
35
+ objective: "Deprecated alias for state objective. Active optimera objective summary.",
36
+ experiments: "Deprecated alias for state experiments. Active optimera experiments summary.",
37
+ query: "Deprecated alias for state query. Advanced custom artifact query.",
38
+ lint: "Deprecated alias for check lint. Run pre-write artifact prose self-audit.",
39
+ gate: "Deprecated alias for check compact. Run check-only repository gates.",
40
+ compact: "Deprecated alias for check compact. Check or fix artifact compaction budgets.",
41
+ upgrade: "Preview or apply phased upgrade: v1→v2 (legacy Python), v2→v3 (explicit --target-major 3 opt-in on 3.x CLI).",
42
+ doctor: "Check Agentera CLI, app, and runtime status.",
43
+ describe: "Deprecated alias for schema.",
44
+ };
45
+ const COMMAND_FILTERS_SCHEMA = {
46
+ prime: [],
47
+ hej: [],
48
+ schema: ["format"],
49
+ describe: ["format"],
50
+ };
51
+ function availableStructuredFields(command) {
52
+ if (command === "prime")
53
+ return [...HEJ_STRUCTURED_FIELDS, "capability_context"];
54
+ if (command === "hej")
55
+ return HEJ_STRUCTURED_FIELDS;
56
+ if (CAPABILITY_NAMES.includes(command))
57
+ return ["command", "status", "capability", "routing"];
58
+ return ROUTINE_STRUCTURED_FIELDS;
59
+ }
60
+ // COMMAND_FILTERS for the routine/state/lint/gate/compact/doctor/upgrade commands.
61
+ const COMMAND_FILTERS_ALL = {
62
+ hej: [],
63
+ plan: ["status"],
64
+ progress: ["topic", "status", "limit"],
65
+ health: ["dimension"],
66
+ todo: ["severity", "status"],
67
+ decisions: ["topic"],
68
+ docs: ["topic", "status"],
69
+ objective: ["status"],
70
+ experiments: ["topic", "status", "limit"],
71
+ query: ["list_artifacts", "topic", "severity", "dimension", "status", "limit"],
72
+ lint: ["artifact", "file", "text", "strict", "format"],
73
+ gate: ["project", "format"],
74
+ compact: ["project", "mode", "format"],
75
+ doctor: ["install_root", "home", "project", "expected_version", "expect_command"],
76
+ upgrade: ["project", "install_root", "home", "runtime", "only", "dry_run", "yes", "force", "update_packages", "channel", "target_major"],
77
+ describe: ["format"],
78
+ schema: ["format"],
79
+ };
80
+ function contractPath() {
81
+ const sourceRoot = path.resolve(discoverSchemasDir(), "..", "..", "..", "..");
82
+ return path.join(sourceRoot, "references", "cli", "agent-ready-state-contract.yaml");
83
+ }
84
+ function loadDecision45Contract() {
85
+ const p = contractPath();
86
+ let isFile = false;
87
+ try {
88
+ isFile = fs.statSync(p).isFile();
89
+ }
90
+ catch {
91
+ isFile = false;
92
+ }
93
+ if (!isFile)
94
+ return [null, "Decision 45 CLI contract is missing"];
95
+ try {
96
+ return [parseYaml(fs.readFileSync(p, "utf8")), null];
97
+ }
98
+ catch (exc) {
99
+ return [null, `Decision 45 CLI contract could not be read: ${exc.message}`];
100
+ }
101
+ }
102
+ function schemaFieldDescription(entry) {
103
+ return {
104
+ id: entry.id ?? null,
105
+ field: entry.field ?? null,
106
+ type: entry.type ?? "unknown",
107
+ required: "required" in entry ? entry.required : "unknown",
108
+ format: entry.format ?? null,
109
+ validation: entry.validation ?? [],
110
+ };
111
+ }
112
+ const FIELD_SKIP = new Set([
113
+ "meta", "GROUP_PREFIXES", "BUDGET", "COMPACTION", "VALIDATION", "ARCHIVE", "CONVENTION", "CONVENTIONS",
114
+ ]);
115
+ function describeSchemaFields(schema) {
116
+ const fields = [];
117
+ for (const [groupKey, groupVal] of Object.entries(schema)) {
118
+ if (FIELD_SKIP.has(groupKey) || !groupVal || typeof groupVal !== "object" || Array.isArray(groupVal))
119
+ continue;
120
+ for (const entry of Object.values(groupVal)) {
121
+ if (entry && typeof entry === "object" && !Array.isArray(entry) && "field" in entry) {
122
+ const field = schemaFieldDescription(entry);
123
+ field.group = groupKey;
124
+ fields.push(field);
125
+ }
126
+ }
127
+ }
128
+ return fields;
129
+ }
130
+ function commandDescription(name, kind, fields = null) {
131
+ let outputFormats = ["text", "json", "yaml"];
132
+ if (name === "lint")
133
+ outputFormats = ["text", "json"];
134
+ else if (name === "compact" || name === "gate")
135
+ outputFormats = ["text", "json"];
136
+ else if (name === "doctor")
137
+ outputFormats = ["text", "json"];
138
+ else if (name === "upgrade")
139
+ outputFormats = ["text", "json"];
140
+ else if (name === "describe" || name === "schema")
141
+ outputFormats = ["json", "yaml"];
142
+ else if (name === "prime")
143
+ outputFormats = ["text", "json", "yaml"];
144
+ return {
145
+ name,
146
+ kind,
147
+ description: COMMAND_DESCRIPTIONS[name] ?? "unknown",
148
+ filters: COMMAND_FILTERS_ALL[name] ?? [],
149
+ output_formats: outputFormats,
150
+ structured_fields: fields ?? [],
151
+ };
152
+ }
153
+ function describeCommands() {
154
+ const commands = [
155
+ commandDescription("prime", "orientation", availableStructuredFields("prime")),
156
+ commandDescription("hej", "deprecated_alias", availableStructuredFields("hej")),
157
+ ];
158
+ for (const name of CAPABILITY_NAMES) {
159
+ if (name === "hej")
160
+ continue;
161
+ commands.push(commandDescription(name, "capability_routing", availableStructuredFields(name)));
162
+ }
163
+ for (const name of ROUTINE_STATE_COMMANDS) {
164
+ commands.push(commandDescription(name, "routine_state", availableStructuredFields(name)));
165
+ }
166
+ commands.push(commandDescription("query", "advanced_artifact_query"), commandDescription("lint", "artifact_lint", ["command", "status", "artifact", "checks", "summary"]), commandDescription("gate", "repo_gate", ["command", "status", "project", "summary", "operations"]), commandDescription("compact", "artifact_compaction", ["command", "status", "project", "summary", "operations"]), commandDescription("schema", "runtime_introspection"), commandDescription("describe", "deprecated_alias"), commandDescription("upgrade", "upgrade"), commandDescription("doctor", "self_check"));
167
+ return commands;
168
+ }
169
+ function contractSection(contract, key, gaps) {
170
+ if (contract && typeof contract === "object" && !Array.isArray(contract) && key in contract) {
171
+ return contract[key];
172
+ }
173
+ gaps.push({ scope: key, status: "unknown", message: `Decision 45 contract section '${key}' is unavailable` });
174
+ return null;
175
+ }
176
+ function describeArtifactSchemas(schemasDir, schemas, model, artifactLocations) {
177
+ const gaps = [];
178
+ let isDir = false;
179
+ try {
180
+ isDir = fs.statSync(schemasDir).isDirectory();
181
+ }
182
+ catch {
183
+ isDir = false;
184
+ }
185
+ if (!isDir) {
186
+ gaps.push({
187
+ scope: "artifact_schemas",
188
+ status: "missing",
189
+ message: surfaceMissingMessage("artifact schema directory", schemasDir, model),
190
+ });
191
+ return [[], gaps];
192
+ }
193
+ const artifacts = [];
194
+ for (const name of Object.keys(schemas).sort()) {
195
+ const info = schemas[name];
196
+ const schema = info.schema && typeof info.schema === "object" ? info.schema : {};
197
+ const meta = (schema.meta ?? {});
198
+ const schemaFile = path.join(schemasDir, `${name}.yaml`);
199
+ const location = artifactLocations ? artifactLocations[name] ?? null : null;
200
+ const hasMeta = meta && Object.keys(meta).length > 0;
201
+ artifacts.push({
202
+ name,
203
+ status: hasMeta ? "discovered" : "unknown_metadata",
204
+ schema_file: fileExists(schemaFile) ? schemaFile : null,
205
+ path: info.path || "unknown",
206
+ location,
207
+ artifact_type: meta.artifact_type ?? "unknown",
208
+ format: meta.format ?? "unknown",
209
+ producer: meta.producer ?? "unknown",
210
+ consumers: meta.consumers ?? "unknown",
211
+ fields: describeSchemaFields(schema),
212
+ });
213
+ if (!hasMeta) {
214
+ gaps.push({ scope: `artifact_schemas.${name}`, status: "unknown", message: "schema metadata is absent or unreadable" });
215
+ }
216
+ }
217
+ return [artifacts, gaps];
218
+ }
219
+ function fileExists(p) {
220
+ try {
221
+ return fs.statSync(p).isFile();
222
+ }
223
+ catch {
224
+ return false;
225
+ }
226
+ }
227
+ function dirExists(p) {
228
+ try {
229
+ return fs.statSync(p).isDirectory();
230
+ }
231
+ catch {
232
+ return false;
233
+ }
234
+ }
235
+ export function buildSchemaPayload(command = "schema") {
236
+ const [contract, contractError] = loadDecision45Contract();
237
+ const appModel = activeAppModel();
238
+ const schemasDir = discoverSchemasDir(appModel);
239
+ const schemas = loadSchemas(schemasDir);
240
+ const gaps = [];
241
+ if (contractError)
242
+ gaps.push({ scope: "contract", status: "missing", message: contractError });
243
+ const artifactLocationsPayload = artifactLocationContract(schemasDir, schemas);
244
+ const artifactLocations = {};
245
+ for (const entry of artifactLocationsPayload.artifacts)
246
+ artifactLocations[entry.name] = entry;
247
+ const [artifactSchemas, schemaGaps] = describeArtifactSchemas(schemasDir, schemas, appModel, artifactLocations);
248
+ gaps.push(...schemaGaps);
249
+ const slashAliases = contractSection(contract, "slash_route_aliases", gaps);
250
+ const doctorContract = contractSection(contract, "doctor", gaps);
251
+ const structuredOutput = contractSection(contract, "structured_output", gaps);
252
+ const fieldSelection = contractSection(contract, "field_selection", gaps);
253
+ const isDict = (v) => v && typeof v === "object" && !Array.isArray(v);
254
+ const cp = contractPath();
255
+ return {
256
+ schemaVersion: "agentera.schema.v1",
257
+ command,
258
+ status: gaps.length > 0 ? "incomplete" : "ok",
259
+ source: {
260
+ contract: cp,
261
+ contract_exists: fileExists(cp),
262
+ schemas_dir: schemasDir,
263
+ schemas_dir_exists: dirExists(schemasDir),
264
+ schema_count: artifactSchemas.length,
265
+ app_model: appModelPayload(appModel),
266
+ },
267
+ commands: describeCommands(),
268
+ routine_state_commands: ROUTINE_STATE_COMMANDS,
269
+ structured_output: {
270
+ formats: isDict(structuredOutput) ? structuredOutput.formats ?? ["json", "yaml"] : "unknown",
271
+ fields_by_command: {
272
+ routine_state_commands: ROUTINE_STRUCTURED_FIELDS,
273
+ hej: HEJ_STRUCTURED_FIELDS,
274
+ },
275
+ },
276
+ field_selection: {
277
+ syntax: isDict(fieldSelection) ? fieldSelection.syntax ?? "--fields FIELD[,FIELD...]" : "unknown",
278
+ retained_context: REQUIRED_SPARSE_CONTEXT_FIELDS,
279
+ applies_to: isDict(fieldSelection) ? fieldSelection.applies_to ?? ROUTINE_STATE_COMMANDS : "unknown",
280
+ },
281
+ slash_route_aliases: {
282
+ status: isDict(slashAliases) ? slashAliases.status ?? "unknown" : "unknown",
283
+ aliases: isDict(slashAliases) ? slashAliases.aliases ?? {} : {},
284
+ cli_commands_added: true,
285
+ note: "Decision 43 slash-route aliases map to direct capability-name routing guidance commands in Agentera 3.0.",
286
+ },
287
+ artifact_schemas: artifactSchemas,
288
+ artifact_locations: artifactLocationsPayload,
289
+ doctor: {
290
+ command: "doctor",
291
+ removed_command: isDict(doctorContract) ? doctorContract.removed_command ?? "unknown" : "unknown",
292
+ compatibility_alias: isDict(doctorContract) ? doctorContract.compatibility_alias ?? "unknown" : "unknown",
293
+ self_check_categories: isDict(doctorContract) ? doctorContract.owns ?? "unknown" : "unknown",
294
+ excludes: isDict(doctorContract) ? doctorContract.excludes ?? "unknown" : "unknown",
295
+ adjacent_surfaces: isDict(doctorContract) ? doctorContract.adjacent_surfaces ?? "unknown" : "unknown",
296
+ signal_kinds: DOCTOR_SIGNAL_KINDS,
297
+ },
298
+ gaps,
299
+ };
300
+ }
301
+ export function cmdSchema(args, io) {
302
+ const out = io.out ?? ((t) => process.stdout.write(t));
303
+ emitStructured(buildSchemaPayload("schema"), args.format ?? "json", out);
304
+ return 0;
305
+ }
306
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/cli/commands/schema.ts"],"names":[],"mappings":"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"}