agentera 3.0.0-dev.5 → 3.0.0-dev.6

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 (247) hide show
  1. package/README.md +4 -3
  2. package/bundle/references/adapters/opencode.md +1 -1
  3. package/bundle/references/adapters/package-registry.yaml +0 -1
  4. package/bundle/references/adapters/package-surface-characterization.md +1 -2
  5. package/bundle/references/analysis/startup-measurement-contract.yaml +11 -11
  6. package/bundle/references/cli/audience-namespace-cli-migration.yaml +40 -26
  7. package/bundle/references/cli/bundle-skill-vocabulary.yaml +1 -29
  8. package/bundle/references/cli/coexistence-probe.yaml +9 -0
  9. package/bundle/references/cli/single-name-protocol.yaml +42 -0
  10. package/bundle/references/cli/update-channels.yaml +1 -0
  11. package/bundle/references/cli/upgrade-repair-wording.md +31 -0
  12. package/bundle/references/cli/v3-handoff-manifest.schema.yaml +98 -0
  13. package/bundle/references/cli/vocabulary.md +12 -10
  14. package/bundle/references/meta/documentation-inventory.md +9 -3
  15. package/bundle/skills/agentera/SKILL.md +14 -14
  16. package/dist/analytics/extractCorpus/cli.js +101 -0
  17. package/dist/analytics/extractCorpus/cli.js.map +1 -0
  18. package/dist/analytics/extractCorpus/copilotSessions.js +231 -0
  19. package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -0
  20. package/dist/analytics/extractCorpus/core.js +357 -0
  21. package/dist/analytics/extractCorpus/core.js.map +1 -0
  22. package/dist/analytics/extractCorpus/corpus.js +132 -0
  23. package/dist/analytics/extractCorpus/corpus.js.map +1 -0
  24. package/dist/analytics/extractCorpus/cursorSessions.js +420 -0
  25. package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -0
  26. package/dist/analytics/extractCorpus/filesystemSources.js +122 -0
  27. package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -0
  28. package/dist/analytics/extractCorpus/index.js +9 -0
  29. package/dist/analytics/extractCorpus/index.js.map +1 -0
  30. package/dist/analytics/extractCorpus/jsonlSessions.js +185 -0
  31. package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -0
  32. package/dist/analytics/extractCorpus/sqliteSessions.js +275 -0
  33. package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -0
  34. package/dist/analytics/extractCorpus.js +2 -1790
  35. package/dist/analytics/extractCorpus.js.map +1 -1
  36. package/dist/analytics/usageStats.js +1 -1
  37. package/dist/analytics/usageStats.js.map +1 -1
  38. package/dist/cli/capabilityContext/benchmark.js +557 -0
  39. package/dist/cli/capabilityContext/benchmark.js.map +1 -0
  40. package/dist/cli/capabilityContext/bespoke.js +25 -0
  41. package/dist/cli/capabilityContext/bespoke.js.map +1 -0
  42. package/dist/cli/capabilityContext/closeout.js +230 -0
  43. package/dist/cli/capabilityContext/closeout.js.map +1 -0
  44. package/dist/cli/capabilityContext/contract.js +186 -0
  45. package/dist/cli/capabilityContext/contract.js.map +1 -0
  46. package/dist/cli/capabilityContext/evidence.js +446 -0
  47. package/dist/cli/capabilityContext/evidence.js.map +1 -0
  48. package/dist/cli/capabilityContext/index.js +4 -0
  49. package/dist/cli/capabilityContext/index.js.map +1 -0
  50. package/dist/cli/capabilityContext/orchestration.js +107 -0
  51. package/dist/cli/capabilityContext/orchestration.js.map +1 -0
  52. package/dist/cli/capabilityContext/planState.js +271 -0
  53. package/dist/cli/capabilityContext/planState.js.map +1 -0
  54. package/dist/cli/capabilityContext/progress.js +96 -0
  55. package/dist/cli/capabilityContext/progress.js.map +1 -0
  56. package/dist/cli/capabilityContext/realisera.js +174 -0
  57. package/dist/cli/capabilityContext/realisera.js.map +1 -0
  58. package/dist/cli/capabilityContext/shared.js +94 -0
  59. package/dist/cli/capabilityContext/shared.js.map +1 -0
  60. package/dist/cli/capabilityContext/slim.js +106 -0
  61. package/dist/cli/capabilityContext/slim.js.map +1 -0
  62. package/dist/cli/capabilityContext/startup.js +208 -0
  63. package/dist/cli/capabilityContext/startup.js.map +1 -0
  64. package/dist/cli/capabilityContext/types.js +43 -0
  65. package/dist/cli/capabilityContext/types.js.map +1 -0
  66. package/dist/cli/capabilityContext.js +1 -2486
  67. package/dist/cli/capabilityContext.js.map +1 -1
  68. package/dist/cli/commands/backfill.js +84 -0
  69. package/dist/cli/commands/backfill.js.map +1 -0
  70. package/dist/cli/commands/compact.js +1 -1
  71. package/dist/cli/commands/compact.js.map +1 -1
  72. package/dist/cli/commands/doctor.js +24 -7
  73. package/dist/cli/commands/doctor.js.map +1 -1
  74. package/dist/cli/commands/lint.js +4 -36
  75. package/dist/cli/commands/lint.js.map +1 -1
  76. package/dist/cli/commands/query.js +1 -1
  77. package/dist/cli/commands/query.js.map +1 -1
  78. package/dist/cli/commands/report.js +11 -2
  79. package/dist/cli/commands/report.js.map +1 -1
  80. package/dist/cli/commands/schema.js +1 -2
  81. package/dist/cli/commands/schema.js.map +1 -1
  82. package/dist/cli/commands/state/decisions.js +397 -0
  83. package/dist/cli/commands/state/decisions.js.map +1 -0
  84. package/dist/cli/commands/state/docs.js +93 -0
  85. package/dist/cli/commands/state/docs.js.map +1 -0
  86. package/dist/cli/commands/state/experiments.js +67 -0
  87. package/dist/cli/commands/state/experiments.js.map +1 -0
  88. package/dist/cli/commands/state/health.js +114 -0
  89. package/dist/cli/commands/state/health.js.map +1 -0
  90. package/dist/cli/commands/state/index.js +51 -0
  91. package/dist/cli/commands/state/index.js.map +1 -0
  92. package/dist/cli/commands/state/objective.js +68 -0
  93. package/dist/cli/commands/state/objective.js.map +1 -0
  94. package/dist/cli/commands/state/plan.js +172 -0
  95. package/dist/cli/commands/state/plan.js.map +1 -0
  96. package/dist/cli/commands/state/progress.js +47 -0
  97. package/dist/cli/commands/state/progress.js.map +1 -0
  98. package/dist/cli/commands/state/shared.js +15 -0
  99. package/dist/cli/commands/state/shared.js.map +1 -0
  100. package/dist/cli/commands/state/todo.js +121 -0
  101. package/dist/cli/commands/state/todo.js.map +1 -0
  102. package/dist/cli/commands/state.js +7 -7
  103. package/dist/cli/commands/state.js.map +1 -1
  104. package/dist/cli/commands/validate.js +32 -18
  105. package/dist/cli/commands/validate.js.map +1 -1
  106. package/dist/cli/dispatch/check.js +328 -0
  107. package/dist/cli/dispatch/check.js.map +1 -0
  108. package/dist/cli/dispatch/index.js +177 -0
  109. package/dist/cli/dispatch/index.js.map +1 -0
  110. package/dist/cli/dispatch/lifecycle.js +492 -0
  111. package/dist/cli/dispatch/lifecycle.js.map +1 -0
  112. package/dist/cli/dispatch/prime.js +100 -0
  113. package/dist/cli/dispatch/prime.js.map +1 -0
  114. package/dist/cli/dispatch/shared.js +64 -0
  115. package/dist/cli/dispatch/shared.js.map +1 -0
  116. package/dist/cli/dispatch/state.js +149 -0
  117. package/dist/cli/dispatch/state.js.map +1 -0
  118. package/dist/cli/dispatch.js +1 -1293
  119. package/dist/cli/dispatch.js.map +1 -1
  120. package/dist/cli/help.js +0 -2
  121. package/dist/cli/help.js.map +1 -1
  122. package/dist/cli/orientation.js +1 -1
  123. package/dist/cli/orientation.js.map +1 -1
  124. package/dist/core/git.js +43 -0
  125. package/dist/core/git.js.map +1 -0
  126. package/dist/hooks/common.js +8 -23
  127. package/dist/hooks/common.js.map +1 -1
  128. package/dist/hooks/compaction/apply.js +244 -0
  129. package/dist/hooks/compaction/apply.js.map +1 -0
  130. package/dist/hooks/compaction/dryRun.js +181 -0
  131. package/dist/hooks/compaction/dryRun.js.map +1 -0
  132. package/dist/hooks/compaction/index.js +23 -0
  133. package/dist/hooks/compaction/index.js.map +1 -0
  134. package/dist/hooks/compaction/parse.js +129 -0
  135. package/dist/hooks/compaction/parse.js.map +1 -0
  136. package/dist/hooks/compaction/retention.js +197 -0
  137. package/dist/hooks/compaction/retention.js.map +1 -0
  138. package/dist/hooks/compaction/status.js +243 -0
  139. package/dist/hooks/compaction/status.js.map +1 -0
  140. package/dist/hooks/compaction/types.js +6 -0
  141. package/dist/hooks/compaction/types.js.map +1 -0
  142. package/dist/hooks/compaction.js +20 -20
  143. package/dist/hooks/compaction.js.map +1 -1
  144. package/dist/hooks/cursorPreToolUse.js +1 -1
  145. package/dist/hooks/cursorPreToolUse.js.map +1 -1
  146. package/dist/hooks/sessionStart.js +4 -4
  147. package/dist/hooks/sessionStart.js.map +1 -1
  148. package/dist/hooks/sessionStop.js +3 -12
  149. package/dist/hooks/sessionStop.js.map +1 -1
  150. package/dist/hooks/validateArtifact/agentFacing.js +10 -0
  151. package/dist/hooks/validateArtifact/agentFacing.js.map +1 -0
  152. package/dist/hooks/validateArtifact/index.js +149 -0
  153. package/dist/hooks/validateArtifact/index.js.map +1 -0
  154. package/dist/hooks/validateArtifact/markdown.js +95 -0
  155. package/dist/hooks/validateArtifact/markdown.js.map +1 -0
  156. package/dist/hooks/validateArtifact/runtime.js +83 -0
  157. package/dist/hooks/validateArtifact/runtime.js.map +1 -0
  158. package/dist/hooks/validateArtifact/schema.js +455 -0
  159. package/dist/hooks/validateArtifact/schema.js.map +1 -0
  160. package/dist/hooks/validateArtifact/traversal.js +105 -0
  161. package/dist/hooks/validateArtifact/traversal.js.map +1 -0
  162. package/dist/hooks/validateArtifact/violations.js +105 -0
  163. package/dist/hooks/validateArtifact/violations.js.map +1 -0
  164. package/dist/hooks/validateArtifact.js +29 -40
  165. package/dist/hooks/validateArtifact.js.map +1 -1
  166. package/dist/migrate/v2HandoffManifest.js +333 -0
  167. package/dist/migrate/v2HandoffManifest.js.map +1 -0
  168. package/dist/registries/artifactProtocolIds.js +77 -0
  169. package/dist/registries/artifactProtocolIds.js.map +1 -0
  170. package/dist/release/releaseMetadata.js +235 -0
  171. package/dist/release/releaseMetadata.js.map +1 -0
  172. package/dist/setup/codex/agents.js +96 -0
  173. package/dist/setup/codex/agents.js.map +1 -0
  174. package/dist/setup/codex/cli.js +161 -0
  175. package/dist/setup/codex/cli.js.map +1 -0
  176. package/dist/setup/codex/configToml.js +644 -0
  177. package/dist/setup/codex/configToml.js.map +1 -0
  178. package/dist/setup/codex/constants.js +29 -0
  179. package/dist/setup/codex/constants.js.map +1 -0
  180. package/dist/setup/codex/installRoot.js +64 -0
  181. package/dist/setup/codex/installRoot.js.map +1 -0
  182. package/dist/setup/codex/state.js +270 -0
  183. package/dist/setup/codex/state.js.map +1 -0
  184. package/dist/setup/codex.js +11 -1196
  185. package/dist/setup/codex.js.map +1 -1
  186. package/dist/setup/doctor/core.js +300 -0
  187. package/dist/setup/doctor/core.js.map +1 -0
  188. package/dist/setup/doctor/diagnostics.js +247 -0
  189. package/dist/setup/doctor/diagnostics.js.map +1 -0
  190. package/dist/setup/doctor/opencode.js +281 -0
  191. package/dist/setup/doctor/opencode.js.map +1 -0
  192. package/dist/setup/doctor/report.js +474 -0
  193. package/dist/setup/doctor/report.js.map +1 -0
  194. package/dist/setup/doctor.js +9 -1296
  195. package/dist/setup/doctor.js.map +1 -1
  196. package/dist/setup/opencode.js +13 -0
  197. package/dist/setup/opencode.js.map +1 -0
  198. package/dist/setup/smokeChecks.js +1 -1
  199. package/dist/setup/smokeChecks.js.map +1 -1
  200. package/dist/state/progressCommit.js +289 -0
  201. package/dist/state/progressCommit.js.map +1 -0
  202. package/dist/state/startupAnalysis/benchmark.js +367 -0
  203. package/dist/state/startupAnalysis/benchmark.js.map +1 -0
  204. package/dist/state/startupAnalysis/contract.js +122 -0
  205. package/dist/state/startupAnalysis/contract.js.map +1 -0
  206. package/dist/state/startupAnalysis/helpers.js +332 -0
  207. package/dist/state/startupAnalysis/helpers.js.map +1 -0
  208. package/dist/state/startupAnalysis/index.js +7 -0
  209. package/dist/state/startupAnalysis/index.js.map +1 -0
  210. package/dist/state/startupAnalysis/metrics.js +334 -0
  211. package/dist/state/startupAnalysis/metrics.js.map +1 -0
  212. package/dist/state/startupAnalysis/records.js +195 -0
  213. package/dist/state/startupAnalysis/records.js.map +1 -0
  214. package/dist/state/startupAnalysis/report.js +123 -0
  215. package/dist/state/startupAnalysis/report.js.map +1 -0
  216. package/dist/state/startupAnalysis/threshold.js +500 -0
  217. package/dist/state/startupAnalysis/threshold.js.map +1 -0
  218. package/dist/state/startupAnalysis.js +2 -1952
  219. package/dist/state/startupAnalysis.js.map +1 -1
  220. package/dist/upgrade/coexistenceProbe.js +83 -0
  221. package/dist/upgrade/coexistenceProbe.js.map +1 -0
  222. package/dist/upgrade/doctor.js +41 -2
  223. package/dist/upgrade/doctor.js.map +1 -1
  224. package/dist/upgrade/migrateArtifactsV2ToV3.js +5 -83
  225. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
  226. package/dist/upgrade/nextMajorDoctor.js +16 -1
  227. package/dist/upgrade/nextMajorDoctor.js.map +1 -1
  228. package/dist/upgrade/projectIntegration.js +3 -1
  229. package/dist/upgrade/projectIntegration.js.map +1 -1
  230. package/dist/upgrade/runtimeMigration.js +13 -2
  231. package/dist/upgrade/runtimeMigration.js.map +1 -1
  232. package/dist/upgrade/v3CapabilitySurface.js +15 -0
  233. package/dist/upgrade/v3CapabilitySurface.js.map +1 -0
  234. package/dist/upgrade/versionResolution.js +8 -0
  235. package/dist/upgrade/versionResolution.js.map +1 -1
  236. package/dist/validate/appHomeContract.js +3 -3
  237. package/dist/validate/appHomeContract.js.map +1 -1
  238. package/dist/validate/selfAudit.js +62 -20
  239. package/dist/validate/selfAudit.js.map +1 -1
  240. package/dist/validate/vocabularyAuthority.js +298 -0
  241. package/dist/validate/vocabularyAuthority.js.map +1 -0
  242. package/package.json +3 -3
  243. package/bundle/references/v1-section-mapping.md +0 -47
  244. package/bundle/skills/hej/.claude-plugin/plugin.json +0 -6
  245. package/bundle/skills/hej/SKILL.md +0 -69
  246. package/bundle/skills/hej/agents/hej.toml +0 -11
  247. package/bundle/skills/hej/agents/openai.yaml +0 -8
@@ -0,0 +1,557 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import os from "node:os";
4
+ import { sourceProvenance, uniqueList } from "./shared.js";
5
+ export const BENCHMARK_CONTEXT_CMD = "agentera prime --context optimera --format json";
6
+ export const BENCHMARK_LATEST_REPORT_LABEL = "startup_benchmark_latest_report";
7
+ export const BENCHMARK_HISTORY_LABEL = "startup_benchmark_history";
8
+ export const BENCHMARK_CONTEXT_SOURCE_LABELS = [BENCHMARK_LATEST_REPORT_LABEL, BENCHMARK_HISTORY_LABEL];
9
+ export const BENCHMARK_TOKEN_NULL_REASONS = [
10
+ "previous_row_missing", "previous_missing_token_estimates", "estimator_version_mismatch",
11
+ "runtime_scope_mismatch", "benchmark_mode_mismatch", "contract_version_mismatch",
12
+ ];
13
+ export const BENCHMARK_RECOMMENDATION_ACTIONS = new Set([
14
+ "plan_cli_startup_envelope", "targeted_capability_guidance_fixes", "close_without_implementation",
15
+ ]);
16
+ export const BENCHMARK_CAVEATED_RUNTIME_STATUSES = new Set(["degraded", "missing", "skipped", "locked", "unreadable"]);
17
+ export const BENCHMARK_FORBIDDEN_OUTPUTS = [
18
+ "raw_transcripts", "raw_corpus_files", "raw_intermediates", "raw_runtime_store_paths", "raw_session_ids",
19
+ "private_salts", "generated_salted_hashes", "raw_benchmark_report_bodies", "full_local_benchmark_paths",
20
+ ];
21
+ export const BENCHMARK_SAFE_LABEL_RE = /^[A-Za-z0-9][A-Za-z0-9 .:_-]{0,79}$/;
22
+ export const BENCHMARK_SAFE_SCALAR_RE = /^[A-Za-z0-9][A-Za-z0-9 .:_+@-]{0,119}$/;
23
+ export const HEX16_RE = /^[0-9a-fA-F]{16,}$/;
24
+ export function agenteraDataHome(env = process.env) {
25
+ const override = env.AGENTERA_HOME;
26
+ if (override)
27
+ return override.startsWith("~") ? path.join(os.homedir(), override.slice(1)) : override;
28
+ if (process.platform === "darwin")
29
+ return path.join(os.homedir(), "Library", "Application Support", "agentera");
30
+ if (process.platform === "win32")
31
+ return path.join(env.APPDATA ?? path.join(os.homedir(), "AppData", "Roaming"), "agentera");
32
+ return path.join(env.XDG_DATA_HOME ?? path.join(os.homedir(), ".local", "share"), "agentera");
33
+ }
34
+ export function startupBenchmarkDir() {
35
+ return path.join(agenteraDataHome(), "benchmarks", "startup-state");
36
+ }
37
+ export function safeBenchmarkNumber(value) {
38
+ if (typeof value === "boolean")
39
+ return null;
40
+ if (typeof value === "number")
41
+ return value;
42
+ return null;
43
+ }
44
+ export function safeBenchmarkLabel(value) {
45
+ if (typeof value !== "string")
46
+ return null;
47
+ const label = value.trim();
48
+ if (!label || label.includes("/") || label.includes("\\"))
49
+ return null;
50
+ if (HEX16_RE.test(label))
51
+ return null;
52
+ if (!BENCHMARK_SAFE_LABEL_RE.test(label))
53
+ return null;
54
+ return label;
55
+ }
56
+ export function safeBenchmarkScalar(value, field, allowed = null) {
57
+ if (value === null || value === undefined)
58
+ return [null, []];
59
+ if (typeof value !== "string")
60
+ return [null, [`${field} was omitted because it is not a bounded string value.`]];
61
+ const text = value.trim();
62
+ if (allowed !== null && !allowed.has(text))
63
+ return [null, [`${field} was omitted because it is not a supported bounded value.`]];
64
+ if (!text || text.includes("/") || text.includes("\\") || HEX16_RE.test(text))
65
+ return [null, [`${field} was omitted at the benchmark privacy boundary.`]];
66
+ if (!BENCHMARK_SAFE_SCALAR_RE.test(text))
67
+ return [null, [`${field} was omitted because it is outside the bounded scalar contract.`]];
68
+ return [text, []];
69
+ }
70
+ export function safeBenchmarkLabelCounts(value, family) {
71
+ if (!value || typeof value !== "object" || Array.isArray(value))
72
+ return [{}, []];
73
+ const counts = {};
74
+ let dropped = 0;
75
+ for (const [key, rawCount] of Object.entries(value)) {
76
+ const label = safeBenchmarkLabel(key);
77
+ const count = safeBenchmarkNumber(rawCount);
78
+ if (label === null || count === null) {
79
+ dropped += 1;
80
+ continue;
81
+ }
82
+ counts[label] = count;
83
+ }
84
+ const caveats = [];
85
+ if (dropped)
86
+ caveats.push(`${family} omitted ${dropped} unsafe label(s) at the benchmark privacy boundary.`);
87
+ const sorted = {};
88
+ for (const k of Object.keys(counts).sort())
89
+ sorted[k] = counts[k];
90
+ return [sorted, caveats];
91
+ }
92
+ export function readBenchmarkJson(p, label) {
93
+ let text;
94
+ try {
95
+ text = fs.readFileSync(p, "utf8");
96
+ }
97
+ catch (exc) {
98
+ if (exc.code === "ENOENT")
99
+ return ["missing", null, [`${label} is missing from retained startup benchmark evidence.`]];
100
+ return ["unreadable", null, [`${label} could not be read by the CLI.`]];
101
+ }
102
+ if (!text.trim())
103
+ return ["empty", null, [`${label} is empty.`]];
104
+ let data;
105
+ try {
106
+ data = JSON.parse(text);
107
+ }
108
+ catch {
109
+ return ["malformed", null, [`${label} is malformed JSON.`]];
110
+ }
111
+ if (!data || typeof data !== "object" || Array.isArray(data) || Object.keys(data).length === 0) {
112
+ return ["empty", null, [`${label} did not contain a non-empty JSON object.`]];
113
+ }
114
+ return ["available", data, []];
115
+ }
116
+ export function readBenchmarkHistory(p) {
117
+ let text;
118
+ try {
119
+ text = fs.readFileSync(p, "utf8");
120
+ }
121
+ catch (exc) {
122
+ if (exc.code === "ENOENT")
123
+ return ["missing", [], [`${BENCHMARK_HISTORY_LABEL} is missing from retained startup benchmark evidence.`]];
124
+ return ["unreadable", [], [`${BENCHMARK_HISTORY_LABEL} could not be read by the CLI.`]];
125
+ }
126
+ const lines = text.split(/\r\n|\r|\n/).filter((line) => line.trim());
127
+ if (lines.length === 0)
128
+ return ["empty", [], ["Startup benchmark aggregate history exists but has no rows."]];
129
+ const rows = [];
130
+ let malformed = 0;
131
+ for (const line of lines) {
132
+ let row;
133
+ try {
134
+ row = JSON.parse(line);
135
+ }
136
+ catch {
137
+ malformed += 1;
138
+ continue;
139
+ }
140
+ if (row && typeof row === "object" && !Array.isArray(row))
141
+ rows.push(row);
142
+ else
143
+ malformed += 1;
144
+ }
145
+ if (malformed)
146
+ return ["malformed", rows, [`Startup benchmark aggregate history has ${malformed} malformed row(s).`]];
147
+ if (rows.length === 0)
148
+ return ["empty", [], ["Startup benchmark aggregate history has no usable rows."]];
149
+ return ["available", rows, []];
150
+ }
151
+ export function latestBenchmarkSummary(status, report, caveats) {
152
+ const source = sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "latest_report");
153
+ if (status !== "available" || report === null) {
154
+ return {
155
+ status, source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
156
+ non_empty_evidence_present: false, contract_version: null, generated_at: null, benchmark_mode: null,
157
+ benchmark_window: {}, total_records: null, total_state_sequences: null, caveats,
158
+ };
159
+ }
160
+ const sc = [...caveats];
161
+ const scalar = (key) => {
162
+ const [v, c] = safeBenchmarkScalar(report[key], `latest_report.${key}`);
163
+ sc.push(...c);
164
+ return v;
165
+ };
166
+ const contractVersion = scalar("contract_version");
167
+ const generatedAt = scalar("generated_at");
168
+ const benchmarkMode = scalar("benchmark_mode");
169
+ const previousWatermark = scalar("benchmark_previous_watermark_at");
170
+ const windowStarted = scalar("benchmark_window_started_after");
171
+ const watermarkAt = scalar("benchmark_watermark_at");
172
+ const totalStateSequences = safeBenchmarkNumber(report.total_state_sequences);
173
+ if (totalStateSequences === null)
174
+ sc.push("Latest startup benchmark report is missing total_state_sequences.");
175
+ return {
176
+ status: "available", source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
177
+ non_empty_evidence_present: true, contract_version: contractVersion, generated_at: generatedAt,
178
+ benchmark_mode: benchmarkMode,
179
+ benchmark_window: { previous_watermark_at: previousWatermark, window_started_after: windowStarted, watermark_at: watermarkAt },
180
+ total_records: safeBenchmarkNumber(report.total_records), total_state_sequences: totalStateSequences, caveats: sc,
181
+ };
182
+ }
183
+ export function historyBenchmarkSummary(status, rows, caveats) {
184
+ const latest = rows.length > 0 ? rows[rows.length - 1] : null;
185
+ let latestSummary = null;
186
+ const sc = [...caveats];
187
+ if (latest) {
188
+ const runtimeScope = Array.isArray(latest.runtime_scope) ? latest.runtime_scope : [];
189
+ const safeScope = runtimeScope.map((v) => safeBenchmarkLabel(v)).filter((l) => l !== null);
190
+ if (safeScope.length !== runtimeScope.length)
191
+ sc.push("Startup benchmark history omitted unsafe runtime-scope label(s).");
192
+ const scalar = (key, allowed = null) => {
193
+ const [v, c] = safeBenchmarkScalar(latest[key], `history_summary.latest_row.${key}`, allowed);
194
+ sc.push(...c);
195
+ return v;
196
+ };
197
+ const generatedAt = scalar("generated_at");
198
+ const agenteraVersion = scalar("agentera_version");
199
+ const benchmarkMode = scalar("benchmark_mode");
200
+ const recommendationAction = scalar("startup_recommendation_action", BENCHMARK_RECOMMENDATION_ACTIONS);
201
+ latestSummary = {
202
+ generated_at: generatedAt, agentera_version: agenteraVersion, runtime_scope: safeScope,
203
+ benchmark_mode: benchmarkMode, total_state_sequences: safeBenchmarkNumber(latest.total_state_sequences),
204
+ raw_after_cli_rate: safeBenchmarkNumber(latest.raw_after_cli_rate),
205
+ redundant_raw_access_rate: safeBenchmarkNumber(latest.redundant_raw_access_rate),
206
+ startup_recommendation_action: recommendationAction,
207
+ };
208
+ }
209
+ return {
210
+ status, source_label: BENCHMARK_HISTORY_LABEL,
211
+ source_provenance: sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "history_summary"),
212
+ non_empty_evidence_present: rows.length > 0, row_count: rows.length, latest_row: latestSummary, caveats: sc,
213
+ };
214
+ }
215
+ export function runtimeBenchmarkCoverage(reportStatus, report) {
216
+ const source = sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "runtime_coverage");
217
+ const miss = (caveat) => ({
218
+ status: "missing", source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
219
+ non_empty_evidence_present: false, items: [], status_counts: {}, caveats: [caveat],
220
+ });
221
+ if (reportStatus !== "available" || report === null)
222
+ return miss("Runtime coverage is unavailable without a valid latest startup benchmark report.");
223
+ const rawItems = report.runtime_coverage;
224
+ if (!Array.isArray(rawItems))
225
+ return miss("Latest startup benchmark report has no runtime_coverage list.");
226
+ const items = [];
227
+ let caveats = [];
228
+ const statusCounts = {};
229
+ for (const raw of rawItems.slice(0, 12)) {
230
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
231
+ caveats.push("Runtime coverage omitted a non-object item.");
232
+ continue;
233
+ }
234
+ const runtime = safeBenchmarkLabel(raw.runtime);
235
+ let status = safeBenchmarkLabel(raw.status);
236
+ const reason = safeBenchmarkLabel(raw.reason);
237
+ if (runtime === null) {
238
+ caveats.push("Runtime coverage omitted an unsafe runtime label.");
239
+ continue;
240
+ }
241
+ status = status || "unknown";
242
+ statusCounts[status] = (statusCounts[status] ?? 0) + 1;
243
+ const item = { runtime, status };
244
+ if (reason)
245
+ item.reason = reason;
246
+ for (const key of ["record_count", "candidate_count", "error_count"]) {
247
+ const number = safeBenchmarkNumber(raw[key]);
248
+ if (number !== null)
249
+ item[key] = number;
250
+ }
251
+ items.push(item);
252
+ }
253
+ if (rawItems.length > items.length)
254
+ caveats.push("Runtime coverage summary is bounded and may omit invalid or excess rows.");
255
+ const caveatedStatuses = [...new Set(items.map((i) => String(i.status)).filter((s) => BENCHMARK_CAVEATED_RUNTIME_STATUSES.has(s)))].sort();
256
+ let statusValue;
257
+ if (caveatedStatuses.length > 0) {
258
+ statusValue = "degraded";
259
+ caveats.push("One or more runtime stores are missing, skipped, locked, unreadable, or degraded; " +
260
+ "treat this as benchmark evidence caveat, not successful product behavior.");
261
+ }
262
+ else if (items.some((i) => i.status === "sparse")) {
263
+ statusValue = "sparse";
264
+ caveats.push("One or more runtime stores are sparse; benchmark coverage is caveated.");
265
+ }
266
+ else if (items.length > 0) {
267
+ statusValue = "available";
268
+ }
269
+ else {
270
+ statusValue = "missing";
271
+ caveats.push("Runtime coverage has no usable bounded rows.");
272
+ }
273
+ const sortedCounts = {};
274
+ for (const k of Object.keys(statusCounts).sort())
275
+ sortedCounts[k] = statusCounts[k];
276
+ return {
277
+ status: statusValue, source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
278
+ non_empty_evidence_present: items.length > 0, items, status_counts: sortedCounts, caveats: uniqueList(caveats),
279
+ };
280
+ }
281
+ export function stateAccessBenchmarkMetrics(reportStatus, report) {
282
+ const source = sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "state_access_metrics");
283
+ if (reportStatus !== "available" || report === null) {
284
+ return {
285
+ status: "missing", source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
286
+ non_empty_evidence_present: false,
287
+ caveats: ["State-access metrics are unavailable without a valid latest startup benchmark report."],
288
+ };
289
+ }
290
+ const caveats = [];
291
+ const [cliCounts, c1] = safeBenchmarkLabelCounts(report.cli_state_command_counts, "cli_state_command_counts");
292
+ const [rawCounts, c2] = safeBenchmarkLabelCounts(report.raw_artifact_access_after_cli_counts, "raw_artifact_access_after_cli_counts");
293
+ const [redundantCounts, c3] = safeBenchmarkLabelCounts(report.redundant_raw_artifact_access_counts, "redundant_raw_artifact_access_counts");
294
+ const [capabilityCounts, c4] = safeBenchmarkLabelCounts(report.per_capability_state_counts, "per_capability_state_counts");
295
+ caveats.push(...c1, ...c2, ...c3, ...c4);
296
+ const required = {
297
+ total_state_sequences: safeBenchmarkNumber(report.total_state_sequences),
298
+ state_sequences_with_raw_after_cli: safeBenchmarkNumber(report.state_sequences_with_raw_after_cli),
299
+ state_sequences_with_redundant_raw_access: safeBenchmarkNumber(report.state_sequences_with_redundant_raw_access),
300
+ raw_after_cli_sequence_rate: safeBenchmarkNumber(report.raw_after_cli_sequence_rate),
301
+ redundant_raw_sequence_rate: safeBenchmarkNumber(report.redundant_raw_sequence_rate),
302
+ };
303
+ const missing = Object.entries(required).filter(([, v]) => v === null).map(([k]) => k);
304
+ if (missing.length > 0)
305
+ caveats.push(`Latest startup benchmark report is missing state-access metric fields: ${missing.join(", ")}.`);
306
+ if (required.total_state_sequences === 0)
307
+ caveats.push("Startup benchmark observed zero state-gathering sequences; optimization conclusions are weak.");
308
+ return {
309
+ status: missing.length > 0 ? "incomplete" : "available",
310
+ source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
311
+ non_empty_evidence_present: missing.length === 0,
312
+ ...required,
313
+ total_cli_state_calls: safeBenchmarkNumber(report.total_cli_state_calls),
314
+ total_raw_artifact_access_after_cli: safeBenchmarkNumber(report.total_raw_artifact_access_after_cli),
315
+ total_redundant_raw_artifact_accesses: safeBenchmarkNumber(report.total_redundant_raw_artifact_accesses),
316
+ cli_state_command_counts: cliCounts,
317
+ raw_artifact_access_after_cli_counts: rawCounts,
318
+ redundant_raw_artifact_access_counts: redundantCounts,
319
+ per_capability_state_counts: capabilityCounts,
320
+ caveats: uniqueList(caveats),
321
+ };
322
+ }
323
+ export function tokenBenchmarkImpact(reportStatus, report) {
324
+ const source = sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "token_impact");
325
+ if (reportStatus !== "available" || report === null) {
326
+ return {
327
+ status: "missing", source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
328
+ non_empty_evidence_present: false,
329
+ caveats: ["Token-impact estimates are unavailable without a valid latest startup benchmark report."],
330
+ };
331
+ }
332
+ const [rawByArtifact, rawCaveats] = safeBenchmarkLabelCounts(report.estimated_raw_after_cli_tokens_by_artifact, "estimated_raw_after_cli_tokens_by_artifact");
333
+ const [redundantByArtifact, redundantCaveats] = safeBenchmarkLabelCounts(report.estimated_redundant_raw_tokens_by_artifact, "estimated_redundant_raw_tokens_by_artifact");
334
+ const [estimatorVersion, estimatorCaveats] = safeBenchmarkScalar(report.token_estimator_version, "token_impact.token_estimator_version");
335
+ const required = {
336
+ token_estimator_version: estimatorVersion,
337
+ estimated_raw_after_cli_tokens: safeBenchmarkNumber(report.estimated_raw_after_cli_tokens),
338
+ estimated_redundant_raw_tokens: safeBenchmarkNumber(report.estimated_redundant_raw_tokens),
339
+ };
340
+ const missing = Object.entries(required).filter(([, v]) => v === null || v === undefined || v === "").map(([k]) => k);
341
+ const caveats = [...rawCaveats, ...redundantCaveats, ...estimatorCaveats];
342
+ if (missing.length > 0)
343
+ caveats.push(`Latest startup benchmark report is missing token-impact fields: ${missing.join(", ")}.`);
344
+ return {
345
+ status: missing.length > 0 ? "missing" : "available",
346
+ source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
347
+ non_empty_evidence_present: missing.length === 0,
348
+ ...required,
349
+ estimated_raw_after_cli_tokens_by_artifact: rawByArtifact,
350
+ estimated_redundant_raw_tokens_by_artifact: redundantByArtifact,
351
+ caveats: uniqueList(caveats),
352
+ };
353
+ }
354
+ export function benchmarkComparison(reportStatus, report) {
355
+ const source = sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "comparison");
356
+ if (reportStatus !== "available" || report === null) {
357
+ return {
358
+ status: "missing", source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
359
+ estimated_tokens_saved_vs_previous: null, null_reason: null, allowed_null_reasons: BENCHMARK_TOKEN_NULL_REASONS,
360
+ caveats: ["Benchmark comparison is unavailable without a valid latest startup benchmark report."],
361
+ };
362
+ }
363
+ const saved = report.estimated_tokens_saved_vs_previous;
364
+ const reason = report.estimated_tokens_saved_vs_previous_null_reason;
365
+ let status;
366
+ let caveats;
367
+ if (safeBenchmarkNumber(saved) !== null) {
368
+ status = "comparable";
369
+ caveats = [];
370
+ }
371
+ else if (BENCHMARK_TOKEN_NULL_REASONS.includes(reason)) {
372
+ status = "not_comparable";
373
+ caveats = [`Benchmark comparison is not comparable: ${reason}.`];
374
+ }
375
+ else {
376
+ status = "missing";
377
+ caveats = ["Benchmark comparison status is missing from latest startup benchmark report."];
378
+ }
379
+ return {
380
+ status, source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
381
+ estimated_tokens_saved_vs_previous: safeBenchmarkNumber(saved),
382
+ null_reason: BENCHMARK_TOKEN_NULL_REASONS.includes(reason) ? reason : null,
383
+ allowed_null_reasons: BENCHMARK_TOKEN_NULL_REASONS, caveats,
384
+ };
385
+ }
386
+ export function benchmarkRecommendation(reportStatus, report) {
387
+ const source = sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "recommendation");
388
+ const miss = (caveat) => ({
389
+ status: "missing", source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
390
+ action: null, measured_trigger: null, rationale: null, rationale_present: false,
391
+ rationale_boundary: "not_emitted_from_retained_report", implementation_recommended: false, caveats: [caveat],
392
+ });
393
+ if (reportStatus !== "available" || report === null)
394
+ return miss("Startup benchmark recommendation is unavailable without a valid latest report.");
395
+ const recommendation = report.startup_recommendation;
396
+ if (!recommendation || typeof recommendation !== "object" || Array.isArray(recommendation)) {
397
+ return miss("Latest startup benchmark report has no startup_recommendation object.");
398
+ }
399
+ const rec = recommendation;
400
+ const caveats = [];
401
+ let action = rec.action;
402
+ if (!BENCHMARK_RECOMMENDATION_ACTIONS.has(action)) {
403
+ action = "omitted_by_privacy_boundary";
404
+ caveats.push("Startup benchmark recommendation action was omitted because it is not a supported bounded value.");
405
+ }
406
+ let trigger = rec.measured_trigger;
407
+ if (typeof trigger === "string" && safeBenchmarkLabel(trigger) === null) {
408
+ trigger = "omitted_by_privacy_boundary";
409
+ caveats.push("Startup benchmark recommendation trigger was omitted at the privacy boundary.");
410
+ }
411
+ else if (typeof trigger !== "string") {
412
+ trigger = null;
413
+ }
414
+ const rationalePresent = typeof rec.rationale === "string" && rec.rationale.trim().length > 0;
415
+ if (rationalePresent)
416
+ caveats.push("Startup benchmark recommendation rationale is present but not emitted from retained benchmark JSON.");
417
+ return {
418
+ status: "available", source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
419
+ action, measured_trigger: trigger, rationale: null, rationale_present: rationalePresent,
420
+ rationale_boundary: "not_emitted_from_retained_report",
421
+ implementation_recommended: Boolean(report.implementation_recommended), caveats,
422
+ };
423
+ }
424
+ export function benchmarkManualRefresh(complete, latestReport, stateMetrics) {
425
+ const caveats = ["The CLI did not run `mage bench:startupState`; benchmark refresh is manual-only by design."];
426
+ let status;
427
+ if (["missing", "empty", "malformed", "unreadable"].includes(latestReport.status)) {
428
+ status = "requires_manual_run";
429
+ caveats.push("Retained startup benchmark evidence is absent or invalid; run the manual benchmark before using it for optimization decisions.");
430
+ }
431
+ else if (stateMetrics.total_state_sequences === 0) {
432
+ status = "requires_manual_run";
433
+ caveats.push("Retained startup benchmark evidence has zero state-gathering sequences; refresh or gather better evidence before optimizing from it.");
434
+ }
435
+ else if (complete) {
436
+ status = "available";
437
+ }
438
+ else {
439
+ status = "requires_manual_run";
440
+ }
441
+ return { status, command: "mage bench:startupState", execution_status: "not_run_by_design", auto_run: false, caveats: uniqueList(caveats) };
442
+ }
443
+ export function benchmarkPrivacyBoundary() {
444
+ return {
445
+ status: "enforced",
446
+ source_provenance: sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "privacy_boundary"),
447
+ user_local_benchmark_reads: "cli_internal_summary_only",
448
+ normal_agent_file_reads: "last_resort_diagnostics_only",
449
+ raw_paths_emitted: false, raw_report_bodies_emitted: false, forbidden_outputs: BENCHMARK_FORBIDDEN_OUTPUTS,
450
+ allowed_outputs: [
451
+ "canonical source labels", "canonical runtime labels", "canonical artifact labels",
452
+ "bounded counts and rates", "token estimate aggregates", "comparison null reasons", "manual refresh command",
453
+ ],
454
+ };
455
+ }
456
+ export function optimeraBenchmarkContext(capability) {
457
+ if (capability !== "optimera")
458
+ return null;
459
+ const benchmarkDir = startupBenchmarkDir();
460
+ const [latestStatus, latestData, latestCaveats] = readBenchmarkJson(path.join(benchmarkDir, "latest-report.json"), BENCHMARK_LATEST_REPORT_LABEL);
461
+ const [historyStatus, historyRows, historyCaveats] = readBenchmarkHistory(path.join(benchmarkDir, "runs.jsonl"));
462
+ const latestReport = latestBenchmarkSummary(latestStatus, latestData, latestCaveats);
463
+ const historySummary = historyBenchmarkSummary(historyStatus, historyRows, historyCaveats);
464
+ const runtimeCoverage = runtimeBenchmarkCoverage(latestStatus, latestData);
465
+ const stateMetrics = stateAccessBenchmarkMetrics(latestStatus, latestData);
466
+ const tokenImpact = tokenBenchmarkImpact(latestStatus, latestData);
467
+ const comparison = benchmarkComparison(latestStatus, latestData);
468
+ const recommendation = benchmarkRecommendation(latestStatus, latestData);
469
+ const privacyBoundary = benchmarkPrivacyBoundary();
470
+ const requiredState = {
471
+ latest_report: latestReport.status === "available" && Boolean(latestReport.non_empty_evidence_present),
472
+ history_summary: ["available", "empty"].includes(historySummary.status),
473
+ runtime_coverage: runtimeCoverage.status !== "missing",
474
+ state_access_metrics: stateMetrics.status === "available",
475
+ token_impact_status: ["available", "missing"].includes(tokenImpact.status),
476
+ recommendation_status: ["available", "missing"].includes(recommendation.status),
477
+ source_contract: true,
478
+ };
479
+ const missingRequired = Object.entries(requiredState).filter(([, present]) => !present).map(([k]) => k);
480
+ const complete = missingRequired.length === 0;
481
+ const manualRefresh = benchmarkManualRefresh(complete, latestReport, stateMetrics);
482
+ const benchmarkSourceCaveats = [...latestCaveats, ...historyCaveats];
483
+ const retainedOutputs = [
484
+ { source_label: BENCHMARK_LATEST_REPORT_LABEL, filename: "latest-report.json", status: latestStatus },
485
+ { source_label: BENCHMARK_HISTORY_LABEL, filename: "runs.jsonl", status: historyStatus },
486
+ { source_label: "startup_benchmark_latest_markdown", filename: "latest-report.md", status: "not_read_by_context" },
487
+ ];
488
+ const caveats = uniqueList([
489
+ ...benchmarkSourceCaveats,
490
+ ...(latestReport.caveats ?? []),
491
+ ...(historySummary.caveats ?? []),
492
+ ...(runtimeCoverage.caveats ?? []),
493
+ ...(stateMetrics.caveats ?? []),
494
+ ...(tokenImpact.caveats ?? []),
495
+ ...(comparison.caveats ?? []),
496
+ ...(recommendation.caveats ?? []),
497
+ ...(manualRefresh.caveats ?? []),
498
+ ]);
499
+ const fallbackCommands = ["agentera docs --format json", "agentera query --list-artifacts --format json"];
500
+ return {
501
+ capability: "optimera",
502
+ benchmark_source: {
503
+ status: latestStatus === "available" && ["available", "empty"].includes(historyStatus) ? "available" : "incomplete",
504
+ source_provenance: sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "benchmark_source"),
505
+ retained_outputs: retainedOutputs,
506
+ non_empty_evidence_present: Boolean(latestReport.non_empty_evidence_present) || Boolean(historySummary.non_empty_evidence_present),
507
+ normal_read_policy: "Agents consume this CLI summary first; direct retained benchmark file reads are last-resort diagnostics.",
508
+ caveats: benchmarkSourceCaveats,
509
+ },
510
+ latest_report: latestReport,
511
+ history_summary: historySummary,
512
+ runtime_coverage: runtimeCoverage,
513
+ state_access_metrics: stateMetrics,
514
+ token_impact: tokenImpact,
515
+ comparison,
516
+ recommendation,
517
+ manual_refresh: manualRefresh,
518
+ privacy_boundary: privacyBoundary,
519
+ state_family_caveats: caveats,
520
+ fallback_commands: fallbackCommands,
521
+ source_contract: {
522
+ complete_for_benchmark_context: complete,
523
+ caveated: caveats.length > 0,
524
+ raw_artifact_reads_required: false,
525
+ raw_artifact_read_policy: "Use this benchmark_context from `agentera prime --context optimera --format json` first. " +
526
+ "If incomplete, follow fallback_commands and manual_refresh before any last-resort direct latest-report.json, " +
527
+ "latest-report.md, or runs.jsonl diagnostic read.",
528
+ benchmark_state_families: [
529
+ "latest_report", "history_summary", "runtime_coverage", "state_access_metrics", "token_impact",
530
+ "comparison", "recommendation", "manual_refresh", "privacy_boundary",
531
+ ],
532
+ required_benchmark_state: requiredState,
533
+ missing_required_benchmark_state: missingRequired,
534
+ source_labels: BENCHMARK_CONTEXT_SOURCE_LABELS,
535
+ fallback_commands: fallbackCommands,
536
+ manual_refresh_status: manualRefresh.status,
537
+ privacy_boundary: { raw_paths_emitted: false, raw_report_bodies_emitted: false, forbidden_outputs: BENCHMARK_FORBIDDEN_OUTPUTS },
538
+ caveats,
539
+ owns: [
540
+ "retained startup benchmark source status",
541
+ "latest report summary",
542
+ "aggregate history summary",
543
+ "runtime coverage caveats",
544
+ "state-access rates and counts",
545
+ "token-impact estimates",
546
+ "comparison null reasons",
547
+ "startup recommendation action",
548
+ "manual refresh guidance",
549
+ "privacy boundary",
550
+ "raw-read-last-resort policy",
551
+ "truthful completeness metadata",
552
+ ],
553
+ deferred: ["2.3.12 Realisera execution-context state"],
554
+ },
555
+ };
556
+ }
557
+ //# sourceMappingURL=benchmark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../../src/cli/capabilityContext/benchmark.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { orchestrationContext } from "./orchestration.js";
2
+ import { dokumenteraCloseoutContext } from "./closeout.js";
3
+ import { inspekteraEvidenceContext } from "./evidence.js";
4
+ import { optimeraBenchmarkContext } from "./benchmark.js";
5
+ import { realiseraExecutionContext } from "./realisera.js";
6
+ import { slimOrchestrationContext, slimEvidenceContext, slimCloseoutContext } from "./slim.js";
7
+ export function slimBespokeContext(name, value) {
8
+ if (name === "orchestration_context")
9
+ return slimOrchestrationContext(value);
10
+ if (name === "evidence_context")
11
+ return slimEvidenceContext(value);
12
+ if (name === "closeout_context")
13
+ return slimCloseoutContext(value);
14
+ return value;
15
+ }
16
+ export function bespokeCapabilityContexts(capabilityName, state) {
17
+ return {
18
+ orchestration_context: orchestrationContext(capabilityName, state.plan, state.progress, state.health, state.todo_items, state.docs, state.profile_dict, state.next_action),
19
+ closeout_context: dokumenteraCloseoutContext(capabilityName, state.schemas, state.plan, state.progress, state.todo_items, state.docs, state.profile_dict, state.bundle),
20
+ evidence_context: inspekteraEvidenceContext(capabilityName, state.schemas, state.plan, state.progress, state.health, state.todo_items, state.docs, state.profile_dict, state.bundle),
21
+ benchmark_context: optimeraBenchmarkContext(capabilityName),
22
+ execution_context: realiseraExecutionContext(capabilityName, state.schemas, state.plan, state.progress, state.health, state.todo_items, state.docs, state.profile_dict, state.bundle),
23
+ };
24
+ }
25
+ //# sourceMappingURL=bespoke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bespoke.js","sourceRoot":"","sources":["../../../src/cli/capabilityContext/bespoke.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAE/F,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,KAAW;IAC1D,IAAI,IAAI,KAAK,uBAAuB;QAAE,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC7E,IAAI,IAAI,KAAK,kBAAkB;QAAE,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACnE,IAAI,IAAI,KAAK,kBAAkB;QAAE,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,cAA6B,EAAE,KAAW;IAClF,OAAO;QACL,qBAAqB,EAAE,oBAAoB,CACzC,cAAc,EACd,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,WAAW,CAClB;QACD,gBAAgB,EAAE,0BAA0B,CAC1C,cAAc,EACd,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,MAAM,CACb;QACD,gBAAgB,EAAE,yBAAyB,CACzC,cAAc,EACd,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,MAAM,CACb;QACD,iBAAiB,EAAE,wBAAwB,CAAC,cAAc,CAAC;QAC3D,iBAAiB,EAAE,yBAAyB,CAC1C,cAAc,EACd,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,MAAM,CACb;KACF,CAAC;AACJ,CAAC"}