agentic-engineering-harness 0.6.28 → 0.7.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 (113) hide show
  1. package/dist/agents/permissions.js +9 -6
  2. package/dist/agents/permissions.js.map +1 -1
  3. package/dist/cli.js +35 -14
  4. package/dist/cli.js.map +1 -1
  5. package/dist/context/compression/headroom.d.ts +6 -0
  6. package/dist/context/compression/headroom.js +61 -15
  7. package/dist/context/compression/headroom.js.map +1 -1
  8. package/dist/context/compression/types.d.ts +1 -0
  9. package/dist/context/envelope.js +1 -1
  10. package/dist/context/envelope.js.map +1 -1
  11. package/dist/context/gateway.d.ts +2 -1
  12. package/dist/context/gateway.js +77 -41
  13. package/dist/context/gateway.js.map +1 -1
  14. package/dist/context/policy.js +1 -1
  15. package/dist/context/policy.js.map +1 -1
  16. package/dist/context/preflight.js +10 -4
  17. package/dist/context/preflight.js.map +1 -1
  18. package/dist/context/repository/graphify.d.ts +1 -0
  19. package/dist/context/repository/graphify.js +4 -33
  20. package/dist/context/repository/graphify.js.map +1 -1
  21. package/dist/context/repository/serena.d.ts +1 -1
  22. package/dist/context/repository/serena.js +2 -1
  23. package/dist/context/repository/serena.js.map +1 -1
  24. package/dist/context/transport.d.ts +33 -0
  25. package/dist/context/transport.js +63 -0
  26. package/dist/context/transport.js.map +1 -0
  27. package/dist/context/types.d.ts +19 -1
  28. package/dist/context/types.js +1 -1
  29. package/dist/context/types.js.map +1 -1
  30. package/dist/core/config.js +6 -8
  31. package/dist/core/config.js.map +1 -1
  32. package/dist/core/doctor.js +6 -6
  33. package/dist/core/doctor.js.map +1 -1
  34. package/dist/core/init.js +2 -1
  35. package/dist/core/init.js.map +1 -1
  36. package/dist/core/run.js +37 -14
  37. package/dist/core/run.js.map +1 -1
  38. package/dist/core/types.d.ts +30 -0
  39. package/dist/core/verify.d.ts +2 -0
  40. package/dist/core/verify.js +3 -2
  41. package/dist/core/verify.js.map +1 -1
  42. package/dist/evals/fullStack.d.ts +20 -0
  43. package/dist/evals/fullStack.js +138 -0
  44. package/dist/evals/fullStack.js.map +1 -0
  45. package/dist/evidence/graph.js +24 -7
  46. package/dist/evidence/graph.js.map +1 -1
  47. package/dist/memory/candidates.d.ts +29 -0
  48. package/dist/memory/candidates.js +31 -0
  49. package/dist/memory/candidates.js.map +1 -0
  50. package/dist/paseo/launchSpec.js +4 -4
  51. package/dist/paseo/launchSpec.js.map +1 -1
  52. package/dist/provenance/generate.d.ts +34 -0
  53. package/dist/provenance/generate.js +209 -41
  54. package/dist/provenance/generate.js.map +1 -1
  55. package/dist/providers/engram.d.ts +27 -1
  56. package/dist/providers/engram.js +142 -6
  57. package/dist/providers/engram.js.map +1 -1
  58. package/dist/providers/graphify.d.ts +28 -1
  59. package/dist/providers/graphify.js +114 -16
  60. package/dist/providers/graphify.js.map +1 -1
  61. package/dist/providers/graphifyModel.d.ts +23 -0
  62. package/dist/providers/graphifyModel.js +101 -0
  63. package/dist/providers/graphifyModel.js.map +1 -0
  64. package/dist/providers/memory.d.ts +1 -0
  65. package/dist/providers/memory.js +2 -0
  66. package/dist/providers/memory.js.map +1 -0
  67. package/dist/providers/serenaMcp.d.ts +7 -0
  68. package/dist/providers/serenaMcp.js +77 -0
  69. package/dist/providers/serenaMcp.js.map +1 -0
  70. package/dist/providers/types.d.ts +8 -2
  71. package/dist/providers/versions.d.ts +10 -0
  72. package/dist/providers/versions.js +3 -0
  73. package/dist/providers/versions.js.map +1 -0
  74. package/dist/telemetry/events.d.ts +1 -0
  75. package/dist/telemetry/events.js +37 -21
  76. package/dist/telemetry/events.js.map +1 -1
  77. package/dist/telemetry/otlp.d.ts +7 -1
  78. package/dist/telemetry/otlp.js +20 -41
  79. package/dist/telemetry/otlp.js.map +1 -1
  80. package/dist/telemetry/tracing.d.ts +19 -0
  81. package/dist/telemetry/tracing.js +141 -0
  82. package/dist/telemetry/tracing.js.map +1 -0
  83. package/dist/toolchain/config.js +3 -2
  84. package/dist/toolchain/config.js.map +1 -1
  85. package/dist/validators/external.js +27 -5
  86. package/dist/validators/external.js.map +1 -1
  87. package/dist/validators/graphify.js +5 -73
  88. package/dist/validators/graphify.js.map +1 -1
  89. package/dist/validators/opa.d.ts +14 -1
  90. package/dist/validators/opa.js +6 -2
  91. package/dist/validators/opa.js.map +1 -1
  92. package/dist/validators/toolEvidence.d.ts +9 -0
  93. package/dist/validators/toolEvidence.js +137 -0
  94. package/dist/validators/toolEvidence.js.map +1 -0
  95. package/dist/workers/agentPrompt.d.ts +9 -0
  96. package/dist/workers/agentPrompt.js +121 -9
  97. package/dist/workers/agentPrompt.js.map +1 -1
  98. package/docs/ARCHITECTURE.md +6 -1
  99. package/docs/COMPONENT_MATURITY.md +47 -0
  100. package/docs/CONTEXT_EFFICIENCY.md +11 -2
  101. package/docs/MEMORY.md +9 -0
  102. package/docs/OBSERVABILITY.md +6 -1
  103. package/docs/OSS_STACK.md +8 -2
  104. package/docs/SECURITY.md +12 -0
  105. package/docs/component-maturity.json +34 -0
  106. package/package.json +7 -1
  107. package/policies/core/trust-boundary.rego +14 -4
  108. package/schemas/project.schema.json +1 -1
  109. package/schemas/validation-report.schema.json +2 -1
  110. package/scripts/headroom-bridge.py +88 -0
  111. package/templates/project.yaml +4 -0
  112. package/templates/provider-versions.json +10 -0
  113. package/templates/toolchain.yaml +21 -6
@@ -21,7 +21,8 @@ export class ContextBudgetGateway {
21
21
  constructor(root, config, options = {}) {
22
22
  this.root = root;
23
23
  this.config = config;
24
- this.compressor = options.compressor ?? new HeadroomCompressionProvider(config.context?.compression?.command ? { command: config.context.compression.command } : {});
24
+ const provider = config.context?.compression?.provider ?? "headroom";
25
+ this.compressor = options.compressor ?? (provider === "headroom" ? new HeadroomCompressionProvider(config.context?.compression?.command ? { command: config.context.compression.command } : {}) : undefined);
25
26
  this.persist = options.persist ?? true;
26
27
  this.telemetry = options.telemetry ?? true;
27
28
  }
@@ -34,69 +35,101 @@ export class ContextBudgetGateway {
34
35
  const candidates = [];
35
36
  for (const fragment of durable) {
36
37
  classifyFragment(fragment);
37
- const optimized = await this.optimizeFragment(fragment, request.operationId, policy.compression.minTokens);
38
+ const optimized = await this.optimizeFragment(fragment, request.operationId, policy.compression.minTokens, request.capabilities?.authorizedRetrieval !== false, policy.compression.reversible, policy.compression.required);
38
39
  candidates.push({ raw: fragment, optimized });
39
40
  }
40
41
  const enforced = policy.mode === "enforce";
41
42
  const delivered = enforced ? selectWithinBudget(candidates.map((candidate) => candidate.optimized), budget.maxTokens - budget.reserved.response) : durable.map(projectSource);
42
43
  const deliveredIds = new Set(delivered.map((fragment) => fragment.id));
43
44
  const discarded = durable.filter((fragment) => !deliveredIds.has(fragment.id));
44
- const envelope = buildContextEnvelope({ version: 1, operationId: request.operationId, logicalAgent: request.logicalAgent, phase: request.phase, budget: { maximum: budget.maxTokens, estimatedDelivered: delivered.reduce((sum, fragment) => sum + fragment.estimatedTokens, 0) }, fragments: delivered, retrieval: { available: delivered.length > 0, allowedFragmentIds: delivered.map((fragment) => fragment.id) } });
45
+ const retrievalAvailable = request.capabilities?.authorizedRetrieval !== false;
46
+ const envelope = buildContextEnvelope({ version: 1, operationId: request.operationId, logicalAgent: request.logicalAgent, phase: request.phase, budget: { maximum: budget.maxTokens, estimatedDelivered: delivered.reduce((sum, fragment) => sum + fragment.estimatedTokens, 0) }, fragments: delivered, retrieval: { available: retrievalAvailable, allowedFragmentIds: retrievalAvailable ? delivered.map((fragment) => fragment.id) : [] } });
45
47
  if (this.persist)
46
48
  await this.persistEnvelope(request.operationId, envelope);
47
49
  const rendered = renderContextEnvelope(envelope);
48
50
  const metrics = metricsFor(durable, candidates.map((candidate) => candidate.optimized), delivered, discarded);
49
- const retrieval = new ContextRetrievalGateway(authorizeRetrieval({ root: this.root, operationId: request.operationId, logicalAgent: request.logicalAgent, allowedFragmentIds: delivered.map((fragment) => fragment.id), fragments: durable }), policy.retrieval);
51
+ const retrieval = new ContextRetrievalGateway(authorizeRetrieval({ root: this.root, operationId: request.operationId, logicalAgent: request.logicalAgent, allowedFragmentIds: retrievalAvailable ? delivered.map((fragment) => fragment.id) : [], fragments: durable }), policy.retrieval);
50
52
  if (this.telemetry && this.config.telemetry?.enabled !== false)
51
53
  await this.emitTelemetry(request, metrics, envelope);
52
54
  return { envelope, rendered, metrics, retrieval: { root: this.root, operationId: request.operationId, logicalAgent: request.logicalAgent, allowedFragmentIds: [...envelope.retrieval.allowedFragmentIds] } };
53
55
  }
54
- async optimizeFragment(fragment, operationId, minCompressionTokens) {
56
+ async optimizeFragment(fragment, operationId, minCompressionTokens, authorizedRetrieval, reversibleRequired, compressionRequired) {
55
57
  const originalTokens = estimateTokens(fragment.content);
56
58
  if (isRequiredFragment(fragment))
57
59
  return projectSource(fragment);
58
60
  if (fragment.preservation === "DISCARDABLE")
59
61
  return { ...fragment, content: "", estimatedTokens: 0, originalTokens, projected: true };
60
- if (fragment.preservation === "RETRIEVABLE") {
62
+ if (fragment.preservation === "RETRIEVABLE" && authorizedRetrieval) {
61
63
  const content = `[Retrievable ${fragment.kind} '${fragment.id}' (${originalTokens} tokens); use aeh_context_retrieve for the authorized raw artifact.]`;
62
64
  return { ...fragment, content, estimatedTokens: estimateTokens(content), originalTokens, projected: true };
63
65
  }
66
+ // Direct Codex and hardened Podman do not necessarily expose the AEH MCP
67
+ // retrieval server. Deliver an equivalent bounded projection instead of
68
+ // advertising a tool the transport cannot call.
69
+ if (fragment.preservation === "RETRIEVABLE")
70
+ return genericProjection(fragment);
64
71
  let projected;
65
- switch (fragment.kind) {
66
- case "validation":
67
- projected = projectValidation(fragment);
68
- break;
69
- case "audit":
70
- projected = projectAudit(fragment);
71
- break;
72
- case "operation":
73
- projected = projectOperation(fragment);
74
- break;
75
- case "diff":
76
- projected = projectDiff(fragment);
77
- break;
78
- case "source":
79
- projected = projectSource(fragment);
80
- break;
81
- case "repository-map":
82
- projected = projectSource(fragment);
83
- break;
84
- case "tool-output":
85
- projected = genericProjection(fragment);
86
- break;
87
- case "memory":
88
- projected = genericProjection(fragment);
89
- break;
90
- case "instruction":
91
- case "normative":
92
- projected = projectSource(fragment);
93
- break;
94
- default: projected = projectSource(fragment);
95
- }
96
- if (canLossyCompress(fragment) && originalTokens >= minCompressionTokens) {
97
- const compression = await this.compressor.compress(this.root, { operationId, fragment, maxTokens: Math.max(1, Math.floor(originalTokens * 0.7)), sourceSha256: fragment.source?.sha256 ?? sha256(fragment.content) });
98
- if (compression.compressedTokens < projected.estimatedTokens)
99
- return { ...projected, content: compression.content, estimatedTokens: compression.compressedTokens, compressed: true, compression: { provider: compression.provider, providerVersion: compression.providerVersion, reversible: compression.reversible, handle: compression.handle } };
72
+ if (fragment.preservation === "COMPRESSIBLE")
73
+ projected = genericProjection(fragment);
74
+ else
75
+ switch (fragment.kind) {
76
+ case "validation":
77
+ projected = projectValidation(fragment);
78
+ break;
79
+ case "audit":
80
+ projected = projectAudit(fragment);
81
+ break;
82
+ case "operation":
83
+ projected = projectOperation(fragment);
84
+ break;
85
+ case "diff":
86
+ projected = projectDiff(fragment);
87
+ break;
88
+ case "source":
89
+ projected = projectSource(fragment);
90
+ break;
91
+ case "repository-map":
92
+ projected = projectSource(fragment);
93
+ break;
94
+ case "tool-output":
95
+ projected = genericProjection(fragment);
96
+ break;
97
+ case "memory":
98
+ projected = genericProjection(fragment);
99
+ break;
100
+ case "instruction":
101
+ case "execution-envelope":
102
+ case "agent-charter":
103
+ case "skill":
104
+ case "handoff":
105
+ case "delivery":
106
+ case "normative":
107
+ projected = projectSource(fragment);
108
+ break;
109
+ case "raw-evidence":
110
+ projected = genericProjection(fragment);
111
+ break;
112
+ default: projected = projectSource(fragment);
113
+ }
114
+ if (this.compressor && canLossyCompress(fragment) && originalTokens >= minCompressionTokens) {
115
+ if (reversibleRequired && !authorizedRetrieval) {
116
+ if (compressionRequired)
117
+ throw new Error(`CONTEXT_COMPRESSION_REVERSIBILITY_UNAVAILABLE: fragment '${fragment.id}' cannot be compressed without an authorized AEH recovery surface.`);
118
+ return projected;
119
+ }
120
+ try {
121
+ const sourceSha256 = fragment.source?.sha256 ?? sha256(fragment.content);
122
+ const compression = await this.compressor.compress(this.root, { operationId, fragment, maxTokens: Math.max(1, Math.floor(originalTokens * 0.7)), sourceSha256, reversible: reversibleRequired });
123
+ if (compression.compressedTokens < projected.estimatedTokens) {
124
+ const handle = reversibleRequired ? recoveryHandle(operationId, fragment.id, sourceSha256) : undefined;
125
+ return { ...projected, content: compression.content, estimatedTokens: compression.compressedTokens, compressed: true, compression: { provider: compression.provider, providerVersion: compression.providerVersion, reversible: Boolean(handle), handle } };
126
+ }
127
+ }
128
+ catch (error) {
129
+ if (this.config.context?.compression?.required !== false)
130
+ throw error;
131
+ // Optional compression failure falls back to deterministic projection.
132
+ }
100
133
  }
101
134
  return projected;
102
135
  }
@@ -177,4 +210,7 @@ function safePath(root, relative) { if (path.isAbsolute(relative))
177
210
  throw new Error("Context artifact paths must be relative to the project root."); const absoluteRoot = path.resolve(root); const absolute = path.resolve(absoluteRoot, relative); if (absolute !== absoluteRoot && !absolute.startsWith(`${absoluteRoot}${path.sep}`))
178
211
  throw new Error("Context artifact path escapes the project root."); return absolute; }
179
212
  function isRequiredProjection(fragment) { return fragment.preservation === "VERBATIM" || fragment.kind === "normative"; }
213
+ export function recoveryHandle(operationId, fragmentId, sourceSha256) {
214
+ return `aeh-context://${encodeURIComponent(operationId)}/${encodeURIComponent(fragmentId)}/${sourceSha256}`;
215
+ }
180
216
  //# sourceMappingURL=gateway.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/context/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/context/gateway.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export function outputMode(policy, role) {
25
25
  return policy.outputPolicy.modes[role ?? ""] ?? "compact";
26
26
  }
27
27
  export function isCompressionConfigured(policy) {
28
- return policy.compression.provider === "headroom" && policy.compression.required;
28
+ return policy.compression.provider === "headroom";
29
29
  }
30
30
  export function outputPolicyInstruction(policy, role) {
31
31
  if (!policy.outputPolicy.enabled)
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/context/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/context/policy.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,16 @@ export async function checkContextReadiness(root, config) {
4
4
  if (!config.context)
5
5
  return { ok: true, checks: [] };
6
6
  const checks = [];
7
- const semantic = await new SerenaSemanticProvider().doctor(root);
8
- checks.push({ component: "serena", required: config.context.semanticRetrieval?.required ?? true, ...semantic });
9
- const compression = await new HeadroomCompressionProvider({ command: config.context.compression?.command }).doctor(root);
10
- checks.push({ component: "headroom", required: config.context.compression?.required ?? true, ...compression });
7
+ const semanticProvider = config.context.semanticRetrieval?.provider ?? "serena";
8
+ if (semanticProvider !== "none") {
9
+ const semantic = await new SerenaSemanticProvider().doctor(root);
10
+ checks.push({ component: "serena", required: config.context.semanticRetrieval?.required ?? true, ...semantic });
11
+ }
12
+ const compressionProvider = config.context.compression?.provider ?? "headroom";
13
+ if (compressionProvider !== "none") {
14
+ const compression = await new HeadroomCompressionProvider({ command: config.context.compression?.command }).doctor(root);
15
+ checks.push({ component: "headroom", required: config.context.compression?.required ?? true, ...compression });
16
+ }
11
17
  return { ok: checks.every((check) => !check.required || check.ok), checks };
12
18
  }
13
19
  export async function assertContextReadiness(root, config) {
@@ -1 +1 @@
1
- {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/context/preflight.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAIhE,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAY,EAAE,MAA4B;IACpF,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACrD,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,sBAAsB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,QAAQ,IAAI,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IAChH,MAAM,WAAW,GAAG,MAAM,IAAI,2BAA2B,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzH,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,IAAI,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;IAC/G,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;AAC9E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAY,EAAE,MAA4B;IACrF,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjF,IAAI,QAAQ,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,kEAAkE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7L,CAAC"}
1
+ {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/context/preflight.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAIhE,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAY,EAAE,MAA4B;IACpF,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACrD,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,QAAQ,IAAI,QAAQ,CAAC;IAChF,IAAI,gBAAgB,KAAK,MAAM,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,sBAAsB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,QAAQ,IAAI,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IAClH,CAAC;IACD,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,IAAI,UAAU,CAAC;IAC/E,IAAI,mBAAmB,KAAK,MAAM,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,MAAM,IAAI,2BAA2B,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzH,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,IAAI,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;IACjH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;AAC9E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAY,EAAE,MAA4B;IACrF,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjF,IAAI,QAAQ,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,kEAAkE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7L,CAAC"}
@@ -1,2 +1,3 @@
1
1
  import type { RepositoryContextMap } from "./types.js";
2
2
  export declare function loadGraphifyContextMap(root: string, graphPath?: string): Promise<RepositoryContextMap | undefined>;
3
+ export { normalizeGraphDocument } from "../../providers/graphifyModel.js";
@@ -1,36 +1,7 @@
1
- import fs from "node:fs/promises";
2
- import path from "node:path";
1
+ import { canonicalGraphToRepositoryMap, loadCanonicalGraph } from "../../providers/graphifyModel.js";
3
2
  export async function loadGraphifyContextMap(root, graphPath = "graphify-out/graph.json") {
4
- let value;
5
- try {
6
- value = JSON.parse(await fs.readFile(path.resolve(root, graphPath), "utf8"));
7
- }
8
- catch {
9
- return undefined;
10
- }
11
- return normalizeGraph(value);
12
- }
13
- function normalizeGraph(value) {
14
- const object = value && typeof value === "object" ? value : {};
15
- const rawNodes = Array.isArray(object.nodes) ? object.nodes : Array.isArray(object.files) ? object.files : [];
16
- const nodes = rawNodes.flatMap((item, index) => {
17
- if (!item || typeof item !== "object")
18
- return [];
19
- const record = item;
20
- const file = String(record.file ?? record.path ?? record.name ?? "");
21
- if (!file)
22
- return [];
23
- return [{ id: String(record.id ?? `${file}#${index}`), file, symbol: typeof record.symbol === "string" ? record.symbol : typeof record.name === "string" && record.name !== file ? record.name : undefined, signature: typeof record.signature === "string" ? record.signature : undefined, centrality: typeof record.centrality === "number" ? record.centrality : undefined, community: typeof record.community === "string" ? record.community : undefined }];
24
- });
25
- const rawEdges = Array.isArray(object.edges) ? object.edges : Array.isArray(object.links) ? object.links : [];
26
- const edges = rawEdges.flatMap((item) => {
27
- if (!item || typeof item !== "object")
28
- return [];
29
- const record = item;
30
- const from = String(record.from ?? record.source ?? "");
31
- const to = String(record.to ?? record.target ?? "");
32
- return from && to ? [{ from, to, kind: typeof record.kind === "string" ? record.kind : typeof record.type === "string" ? record.type : undefined }] : [];
33
- });
34
- return { nodes, edges, provider: "graphify", generatedAt: typeof object.generatedAt === "string" ? object.generatedAt : undefined };
3
+ const graph = await loadCanonicalGraph(root, graphPath);
4
+ return graph ? canonicalGraphToRepositoryMap(graph) : undefined;
35
5
  }
6
+ export { normalizeGraphDocument } from "../../providers/graphifyModel.js";
36
7
  //# sourceMappingURL=graphify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphify.js","sourceRoot":"","sources":["../../../src/context/repository/graphify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAY,EAAE,SAAS,GAAG,yBAAyB;IAC9F,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IACjH,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,MAAM,MAAM,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9G,MAAM,KAAK,GAAqB,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC/D,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAA+B,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IACnc,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9G,MAAM,KAAK,GAAqB,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACxD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAA+B,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC7G,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3J,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AACtI,CAAC"}
1
+ {"version":3,"file":"graphify.js","sourceRoot":"","sources":["../../../src/context/repository/graphify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,kBAAkB,EAA0B,MAAM,kCAAkC,CAAC;AAE7H,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAY,EAAE,SAAS,GAAG,yBAAyB;IAC9F,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxD,OAAO,KAAK,CAAC,CAAC,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AAED,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { McpServerConfig } from "../../core/types.js";
2
2
  import type { ProviderHealth } from "../compression/types.js";
3
- export declare const SERENA_VERSION = "1.5.3";
3
+ export declare const SERENA_VERSION: string;
4
4
  export declare class SerenaSemanticProvider {
5
5
  private readonly command;
6
6
  readonly name = "serena";
@@ -1,5 +1,6 @@
1
1
  import { commandExists, runProcess } from "../../utils/process.js";
2
- export const SERENA_VERSION = "1.5.3";
2
+ import { providerVersions } from "../../providers/versions.js";
3
+ export const SERENA_VERSION = providerVersions.serena;
3
4
  export class SerenaSemanticProvider {
4
5
  command;
5
6
  name = "serena";
@@ -1 +1 @@
1
- {"version":3,"file":"serena.js","sourceRoot":"","sources":["../../../src/context/repository/serena.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGnE,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC,MAAM,OAAO,sBAAsB;IAEJ;IADpB,IAAI,GAAG,QAAQ,CAAC;IACzB,YAA6B,UAAU,QAAQ;QAAlB,YAAO,GAAP,OAAO,CAAW;IAAG,CAAC;IAEnD,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,sBAAsB,IAAI,CAAC,OAAO,mDAAmD,EAAE,CAAC;QACrK,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QACtG,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,+BAA+B,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1H,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,oCAAoC,OAAO,IAAI,CAAC,CAAC,CAAC,kCAAkC,cAAc,SAAS,OAAO,GAAG,EAAE,CAAC;IAC9N,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,EAAE,WAAW,EAAE,yFAAyF,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACnQ,CAAC;CACF;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,CAAC,6BAA6B,EAAE,2DAA2D,EAAE,8CAA8C,EAAE,6DAA6D,EAAE,+EAA+E,EAAE,wFAAwF,EAAE,+FAA+F,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5e,CAAC;AAED,SAAS,KAAK,CAAC,KAAa,IAAY,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"serena.js","sourceRoot":"","sources":["../../../src/context/repository/serena.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC;AAEtD,MAAM,OAAO,sBAAsB;IAEJ;IADpB,IAAI,GAAG,QAAQ,CAAC;IACzB,YAA6B,UAAU,QAAQ;QAAlB,YAAO,GAAP,OAAO,CAAW;IAAG,CAAC;IAEnD,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,sBAAsB,IAAI,CAAC,OAAO,mDAAmD,EAAE,CAAC;QACrK,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QACtG,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,+BAA+B,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1H,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,oCAAoC,OAAO,IAAI,CAAC,CAAC,CAAC,kCAAkC,cAAc,SAAS,OAAO,GAAG,EAAE,CAAC;IAC9N,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,EAAE,WAAW,EAAE,yFAAyF,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACnQ,CAAC;CACF;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,CAAC,6BAA6B,EAAE,2DAA2D,EAAE,8CAA8C,EAAE,6DAA6D,EAAE,+EAA+E,EAAE,wFAAwF,EAAE,+FAA+F,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5e,CAAC;AAED,SAAS,KAAK,CAAC,KAAa,IAAY,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { HarnessProjectConfig } from "../core/types.js";
2
+ import type { AgentExecutionSelection } from "../agents/types.js";
3
+ import { runProcess } from "../utils/process.js";
4
+ export interface EffectiveContextCapabilities {
5
+ contextGateway: boolean;
6
+ repositoryMap: boolean;
7
+ semanticRetrieval: boolean;
8
+ authorizedRetrieval: boolean;
9
+ mcpServers: {
10
+ serena: boolean;
11
+ context: boolean;
12
+ headroom: boolean;
13
+ };
14
+ readinessRequirements: string[];
15
+ reasons: string[];
16
+ }
17
+ export interface TransportProbe {
18
+ commandExists?: (command: string, cwd: string) => Promise<boolean>;
19
+ run?: typeof runProcess;
20
+ }
21
+ export interface PodmanSerenaProbe {
22
+ available: boolean;
23
+ imagePresent: boolean;
24
+ exposesSerena: boolean;
25
+ message: string;
26
+ }
27
+ /** Resolve effective capabilities without touching external runtimes. */
28
+ export declare function staticContextCapabilities(config: HarnessProjectConfig, selection: AgentExecutionSelection): EffectiveContextCapabilities;
29
+ export declare function resolveContextTransportCapabilities(root: string, config: HarnessProjectConfig, selection: AgentExecutionSelection, probe?: TransportProbe & {
30
+ mode?: "static" | "live";
31
+ }): Promise<EffectiveContextCapabilities>;
32
+ /** Bounded, no-pull diagnostic for an explicitly provisioned Podman image. */
33
+ export declare function probePodmanSerena(root: string, image: string, probe?: TransportProbe): Promise<PodmanSerenaProbe>;
@@ -0,0 +1,63 @@
1
+ import { commandExists, runProcess } from "../utils/process.js";
2
+ /** Resolve effective capabilities without touching external runtimes. */
3
+ export function staticContextCapabilities(config, selection) {
4
+ const transport = effectiveTransport(config, selection);
5
+ const semanticConfigured = Boolean(config.context?.semanticRetrieval?.provider && config.context.semanticRetrieval.provider !== "none");
6
+ const agentCanUseContext = selection.role !== "orchestrator" && selection.logicalAgent !== "operation-supervisor";
7
+ const opencodeSurface = selection.runtimeAdapter === "opencode" && agentCanUseContext;
8
+ const directOrPaseo = transport === "direct" || transport === "paseo" || (selection.transport === "inherit" && transport === "none");
9
+ const semanticRetrieval = semanticConfigured && opencodeSurface && directOrPaseo;
10
+ const authorizedRetrieval = Boolean(config.context) && agentCanUseContext && opencodeSurface && transport !== "podman" && directOrPaseo;
11
+ const mcpServers = { serena: semanticRetrieval, context: authorizedRetrieval, headroom: false };
12
+ const reasons = [];
13
+ const readinessRequirements = [];
14
+ if (!semanticConfigured)
15
+ reasons.push("semantic retrieval is disabled by project configuration");
16
+ if (transport === "podman") {
17
+ reasons.push("Podman has no AEH-managed Serena MCP projection; host or image binaries do not prove an executable semantic surface");
18
+ readinessRequirements.push("Podman semantic retrieval requires an explicitly wired in-container MCP server");
19
+ }
20
+ else if (!semanticRetrieval && semanticConfigured) {
21
+ reasons.push(`transport '${transport}' and runtime '${selection.runtimeAdapter}' do not expose Serena MCP`);
22
+ }
23
+ if (!authorizedRetrieval && config.context && transport === "podman")
24
+ reasons.push("Podman does not expose the host AEH raw-retrieval MCP");
25
+ if (semanticRetrieval)
26
+ readinessRequirements.push("Serena MCP initialize/tools/list readiness");
27
+ if (authorizedRetrieval)
28
+ readinessRequirements.push("AEH context MCP authorization and source-hash verification");
29
+ return { contextGateway: true, repositoryMap: true, semanticRetrieval, authorizedRetrieval, mcpServers, readinessRequirements, reasons };
30
+ }
31
+ export async function resolveContextTransportCapabilities(root, config, selection, probe = {}) {
32
+ const capabilities = staticContextCapabilities(config, selection);
33
+ const semanticConfigured = Boolean(config.context?.semanticRetrieval?.provider && config.context.semanticRetrieval.provider !== "none");
34
+ if (probe.mode === "live" && effectiveTransport(config, selection) === "podman" && config.security?.sandbox?.image) {
35
+ const live = await probePodmanSerena(root, config.security.sandbox.image, probe);
36
+ capabilities.reasons.push(`live Podman probe: ${live.message}`);
37
+ if (!live.available || !live.imagePresent || !live.exposesSerena)
38
+ capabilities.readinessRequirements.push("pre-provisioned Podman image with Serena executable");
39
+ }
40
+ if (semanticConfigured && config.context?.semanticRetrieval?.required !== false && !capabilities.semanticRetrieval) {
41
+ throw new Error(`UNSUPPORTED_CAPABILITY: Serena semantic retrieval is unavailable for transport '${effectiveTransport(config, selection)}' and runtime '${selection.runtimeAdapter}'. ${capabilities.reasons.join("; ")}`);
42
+ }
43
+ return capabilities;
44
+ }
45
+ /** Bounded, no-pull diagnostic for an explicitly provisioned Podman image. */
46
+ export async function probePodmanSerena(root, image, probe = {}) {
47
+ const executable = probe.commandExists ?? commandExists;
48
+ const runner = probe.run ?? runProcess;
49
+ if (!(await executable("podman", root)))
50
+ return { available: false, imagePresent: false, exposesSerena: false, message: "Podman executable is unavailable" };
51
+ const imageCheck = await runner(`podman image exists ${quote(image)}`, { cwd: root, timeoutMs: 10_000 });
52
+ if (imageCheck.exitCode !== 0)
53
+ return { available: true, imagePresent: false, exposesSerena: false, message: "configured Podman image is not already present; no pull was attempted" };
54
+ const result = await runner(`podman run --pull=never --network=none --rm ${quote(image)} sh -lc 'command -v serena'`, { cwd: root, timeoutMs: 30_000 });
55
+ return result.exitCode === 0 && Boolean(result.stdout.trim())
56
+ ? { available: true, imagePresent: true, exposesSerena: true, message: "configured Podman image exposes a Serena executable but not an AEH MCP projection" }
57
+ : { available: true, imagePresent: true, exposesSerena: false, message: "configured Podman image does not expose Serena" };
58
+ }
59
+ function effectiveTransport(config, selection) {
60
+ return selection.transport === "inherit" ? (config.orchestration?.provider ?? "none") : selection.transport;
61
+ }
62
+ function quote(value) { return `'${value.replaceAll("'", "'\\''")}'`; }
63
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/context/transport.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export declare const contextPreservationValues: readonly ["VERBATIM", "PROJECTABLE", "COMPRESSIBLE", "RETRIEVABLE", "DISCARDABLE"];
3
3
  export type ContextPreservation = (typeof contextPreservationValues)[number];
4
- export declare const contextKindValues: readonly ["instruction", "normative", "source", "diff", "validation", "audit", "operation", "tool-output", "memory", "repository-map"];
4
+ export declare const contextKindValues: readonly ["instruction", "execution-envelope", "agent-charter", "skill", "normative", "source", "diff", "validation", "audit", "operation", "handoff", "tool-output", "memory", "repository-map", "raw-evidence", "delivery"];
5
5
  export type ContextFragmentKind = (typeof contextKindValues)[number];
6
6
  export interface ContextSource {
7
7
  artifact?: string;
@@ -83,6 +83,12 @@ export interface ContextPreparationRequest {
83
83
  role?: string;
84
84
  phase: string;
85
85
  fragments: ContextFragment[];
86
+ capabilities?: {
87
+ /** The transport exposes an authorized raw-fragment retrieval mechanism. */
88
+ authorizedRetrieval?: boolean;
89
+ /** The transport exposes the configured semantic repository provider. */
90
+ semanticRetrieval?: boolean;
91
+ };
86
92
  }
87
93
  export interface ContextPreparationResult {
88
94
  envelope: ContextEnvelope;
@@ -137,14 +143,20 @@ export declare const contextFragmentSchema: z.ZodObject<{
137
143
  kind: z.ZodEnum<{
138
144
  audit: "audit";
139
145
  normative: "normative";
146
+ delivery: "delivery";
140
147
  memory: "memory";
141
148
  validation: "validation";
142
149
  source: "source";
150
+ skill: "skill";
143
151
  operation: "operation";
144
152
  instruction: "instruction";
153
+ "execution-envelope": "execution-envelope";
154
+ "agent-charter": "agent-charter";
145
155
  diff: "diff";
156
+ handoff: "handoff";
146
157
  "tool-output": "tool-output";
147
158
  "repository-map": "repository-map";
159
+ "raw-evidence": "raw-evidence";
148
160
  }>;
149
161
  preservation: z.ZodEnum<{
150
162
  VERBATIM: "VERBATIM";
@@ -176,14 +188,20 @@ export declare const contextEnvelopeSchema: z.ZodObject<{
176
188
  kind: z.ZodEnum<{
177
189
  audit: "audit";
178
190
  normative: "normative";
191
+ delivery: "delivery";
179
192
  memory: "memory";
180
193
  validation: "validation";
181
194
  source: "source";
195
+ skill: "skill";
182
196
  operation: "operation";
183
197
  instruction: "instruction";
198
+ "execution-envelope": "execution-envelope";
199
+ "agent-charter": "agent-charter";
184
200
  diff: "diff";
201
+ handoff: "handoff";
185
202
  "tool-output": "tool-output";
186
203
  "repository-map": "repository-map";
204
+ "raw-evidence": "raw-evidence";
187
205
  }>;
188
206
  preservation: z.ZodEnum<{
189
207
  VERBATIM: "VERBATIM";
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  export const contextPreservationValues = ["VERBATIM", "PROJECTABLE", "COMPRESSIBLE", "RETRIEVABLE", "DISCARDABLE"];
3
- export const contextKindValues = ["instruction", "normative", "source", "diff", "validation", "audit", "operation", "tool-output", "memory", "repository-map"];
3
+ export const contextKindValues = ["instruction", "execution-envelope", "agent-charter", "skill", "normative", "source", "diff", "validation", "audit", "operation", "handoff", "tool-output", "memory", "repository-map", "raw-evidence", "delivery"];
4
4
  export const contextFragmentSchema = z.object({
5
5
  id: z.string().min(1),
6
6
  kind: z.enum(contextKindValues),
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"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"}