agentic-engineering-harness 0.6.27 → 0.6.28

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 (157) hide show
  1. package/README.md +3 -3
  2. package/dist/agents/permissions.js +10 -0
  3. package/dist/agents/permissions.js.map +1 -1
  4. package/dist/audit/run.js +2 -0
  5. package/dist/audit/run.js.map +1 -1
  6. package/dist/context/budget.d.ts +4 -0
  7. package/dist/context/budget.js +19 -0
  8. package/dist/context/budget.js.map +1 -0
  9. package/dist/context/classifier.d.ts +4 -0
  10. package/dist/context/classifier.js +14 -0
  11. package/dist/context/classifier.js.map +1 -0
  12. package/dist/context/compression/headroom.d.ts +17 -0
  13. package/dist/context/compression/headroom.js +52 -0
  14. package/dist/context/compression/headroom.js.map +1 -0
  15. package/dist/context/compression/index.d.ts +3 -0
  16. package/dist/context/compression/index.js +4 -0
  17. package/dist/context/compression/index.js.map +1 -0
  18. package/dist/context/compression/lifecycle.d.ts +20 -0
  19. package/dist/context/compression/lifecycle.js +70 -0
  20. package/dist/context/compression/lifecycle.js.map +1 -0
  21. package/dist/context/compression/types.d.ts +27 -0
  22. package/dist/context/compression/types.js +2 -0
  23. package/dist/context/compression/types.js.map +1 -0
  24. package/dist/context/envelope.d.ts +4 -0
  25. package/dist/context/envelope.js +20 -0
  26. package/dist/context/envelope.js.map +1 -0
  27. package/dist/context/estimator.d.ts +3 -0
  28. package/dist/context/estimator.js +10 -0
  29. package/dist/context/estimator.js.map +1 -0
  30. package/dist/context/eval.d.ts +19 -0
  31. package/dist/context/eval.js +12 -0
  32. package/dist/context/eval.js.map +1 -0
  33. package/dist/context/gateway.d.ts +22 -0
  34. package/dist/context/gateway.js +180 -0
  35. package/dist/context/gateway.js.map +1 -0
  36. package/dist/context/index.d.ts +15 -0
  37. package/dist/context/index.js +16 -0
  38. package/dist/context/index.js.map +1 -0
  39. package/dist/context/policy.d.ts +6 -0
  40. package/dist/context/policy.js +40 -0
  41. package/dist/context/policy.js.map +1 -0
  42. package/dist/context/preflight.d.ts +13 -0
  43. package/dist/context/preflight.js +19 -0
  44. package/dist/context/preflight.js.map +1 -0
  45. package/dist/context/projectors/audit.d.ts +2 -0
  46. package/dist/context/projectors/audit.js +30 -0
  47. package/dist/context/projectors/audit.js.map +1 -0
  48. package/dist/context/projectors/diff.d.ts +2 -0
  49. package/dist/context/projectors/diff.js +8 -0
  50. package/dist/context/projectors/diff.js.map +1 -0
  51. package/dist/context/projectors/explorer.d.ts +2 -0
  52. package/dist/context/projectors/explorer.js +5 -0
  53. package/dist/context/projectors/explorer.js.map +1 -0
  54. package/dist/context/projectors/index.d.ts +8 -0
  55. package/dist/context/projectors/index.js +9 -0
  56. package/dist/context/projectors/index.js.map +1 -0
  57. package/dist/context/projectors/operation.d.ts +3 -0
  58. package/dist/context/projectors/operation.js +26 -0
  59. package/dist/context/projectors/operation.js.map +1 -0
  60. package/dist/context/projectors/planner.d.ts +2 -0
  61. package/dist/context/projectors/planner.js +5 -0
  62. package/dist/context/projectors/planner.js.map +1 -0
  63. package/dist/context/projectors/source.d.ts +2 -0
  64. package/dist/context/projectors/source.js +5 -0
  65. package/dist/context/projectors/source.js.map +1 -0
  66. package/dist/context/projectors/structured.d.ts +2 -0
  67. package/dist/context/projectors/structured.js +24 -0
  68. package/dist/context/projectors/structured.js.map +1 -0
  69. package/dist/context/projectors/validation.d.ts +3 -0
  70. package/dist/context/projectors/validation.js +25 -0
  71. package/dist/context/projectors/validation.js.map +1 -0
  72. package/dist/context/provenance.d.ts +3 -0
  73. package/dist/context/provenance.js +13 -0
  74. package/dist/context/provenance.js.map +1 -0
  75. package/dist/context/repository/graphify.d.ts +2 -0
  76. package/dist/context/repository/graphify.js +36 -0
  77. package/dist/context/repository/graphify.js.map +1 -0
  78. package/dist/context/repository/index.d.ts +6 -0
  79. package/dist/context/repository/index.js +7 -0
  80. package/dist/context/repository/index.js.map +1 -0
  81. package/dist/context/repository/map.d.ts +6 -0
  82. package/dist/context/repository/map.js +34 -0
  83. package/dist/context/repository/map.js.map +1 -0
  84. package/dist/context/repository/rank.d.ts +3 -0
  85. package/dist/context/repository/rank.js +43 -0
  86. package/dist/context/repository/rank.js.map +1 -0
  87. package/dist/context/repository/render.d.ts +8 -0
  88. package/dist/context/repository/render.js +21 -0
  89. package/dist/context/repository/render.js.map +1 -0
  90. package/dist/context/repository/serena.d.ts +11 -0
  91. package/dist/context/repository/serena.js +26 -0
  92. package/dist/context/repository/serena.js.map +1 -0
  93. package/dist/context/repository/types.d.ts +34 -0
  94. package/dist/context/repository/types.js +2 -0
  95. package/dist/context/repository/types.js.map +1 -0
  96. package/dist/context/retrieval/authorization.d.ts +11 -0
  97. package/dist/context/retrieval/authorization.js +9 -0
  98. package/dist/context/retrieval/authorization.js.map +1 -0
  99. package/dist/context/retrieval/gateway.d.ts +33 -0
  100. package/dist/context/retrieval/gateway.js +69 -0
  101. package/dist/context/retrieval/gateway.js.map +1 -0
  102. package/dist/context/retrieval/index.d.ts +5 -0
  103. package/dist/context/retrieval/index.js +6 -0
  104. package/dist/context/retrieval/index.js.map +1 -0
  105. package/dist/context/retrieval/mcp.d.ts +3 -0
  106. package/dist/context/retrieval/mcp.js +8 -0
  107. package/dist/context/retrieval/mcp.js.map +1 -0
  108. package/dist/context/retrieval/persisted.d.ts +3 -0
  109. package/dist/context/retrieval/persisted.js +22 -0
  110. package/dist/context/retrieval/persisted.js.map +1 -0
  111. package/dist/context/retrieval/server.d.ts +1 -0
  112. package/dist/context/retrieval/server.js +52 -0
  113. package/dist/context/retrieval/server.js.map +1 -0
  114. package/dist/context/telemetry.d.ts +3 -0
  115. package/dist/context/telemetry.js +9 -0
  116. package/dist/context/telemetry.js.map +1 -0
  117. package/dist/context/types.d.ts +225 -0
  118. package/dist/context/types.js +29 -0
  119. package/dist/context/types.js.map +1 -0
  120. package/dist/core/config.js +20 -0
  121. package/dist/core/config.js.map +1 -1
  122. package/dist/core/doctor.js +21 -0
  123. package/dist/core/doctor.js.map +1 -1
  124. package/dist/core/run.js +2 -0
  125. package/dist/core/run.js.map +1 -1
  126. package/dist/core/types.d.ts +47 -0
  127. package/dist/entry.js +30 -0
  128. package/dist/entry.js.map +1 -1
  129. package/dist/main.js +1 -0
  130. package/dist/main.js.map +1 -1
  131. package/dist/operations/change.js +2 -0
  132. package/dist/operations/change.js.map +1 -1
  133. package/dist/paseo/launchSpec.d.ts +3 -0
  134. package/dist/paseo/launchSpec.js +17 -0
  135. package/dist/paseo/launchSpec.js.map +1 -1
  136. package/dist/providers/headroom.d.ts +2 -0
  137. package/dist/providers/headroom.js +3 -0
  138. package/dist/providers/headroom.js.map +1 -0
  139. package/dist/providers/serena.d.ts +1 -0
  140. package/dist/providers/serena.js +2 -0
  141. package/dist/providers/serena.js.map +1 -0
  142. package/dist/providers/types.d.ts +17 -0
  143. package/dist/toolchain/config.js +10 -1
  144. package/dist/toolchain/config.js.map +1 -1
  145. package/dist/toolchain/resolve.js +8 -0
  146. package/dist/toolchain/resolve.js.map +1 -1
  147. package/dist/workers/agentPrompt.js +20 -1
  148. package/dist/workers/agentPrompt.js.map +1 -1
  149. package/docs/ARCHITECTURE.md +14 -0
  150. package/docs/CONTEXT_EFFICIENCY.md +39 -0
  151. package/docs/OSS_STACK.md +4 -2
  152. package/package.json +2 -2
  153. package/presets/agents/default.jsonc +4 -4
  154. package/presets/agents/orchestration.jsonc +2 -2
  155. package/schemas/project.schema.json +14 -0
  156. package/templates/project.yaml +38 -0
  157. package/templates/toolchain.yaml +27 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Agentic Engineering Harness
2
2
 
3
- An **OSS-first, zero-mandatory-SaaS control plane** for agentic software engineering. AEH treats LLM output as untrusted until deterministic validation, evidence and quality gates accept it.
3
+ An **OSS-first, zero-mandatory-SaaS control plane** for agentic software engineering. AEH treats LLM output as untrusted until deterministic validation, evidence and quality gates accept it. Free, locally executable OSS capabilities may be mandatory; paid licenses and paid hosted services are not.
4
4
 
5
5
  ## Status: v0.6.x
6
6
 
@@ -36,7 +36,7 @@ planner waves -> workers -> deterministic barriers
36
36
  -> final quality gate -> lead acceptance -> delivery
37
37
  ```
38
38
 
39
- See [docs/V0.6.md](docs/V0.6.md), [docs/PASEO.md](docs/PASEO.md), and [ROADMAP.md](ROADMAP.md).
39
+ See [docs/V0.6.md](docs/V0.6.md), [docs/PASEO.md](docs/PASEO.md), [docs/CONTEXT_EFFICIENCY.md](docs/CONTEXT_EFFICIENCY.md), and [ROADMAP.md](ROADMAP.md).
40
40
 
41
41
  ## Installation
42
42
 
@@ -48,7 +48,7 @@ npm exec aeh -- init --setup
48
48
  npm exec aeh -- doctor
49
49
  ```
50
50
 
51
- `aeh setup` provisions the project-selected engineering toolchain through mise/Aqua/OCI where configured. There is no mutating npm `postinstall`.
51
+ `aeh setup` provisions the project-selected engineering toolchain through mise/Aqua/OCI where configured. New projects provision the mandatory local Serena semantic provider and Headroom compression provider through the pinned Python/uv toolchain. There is no mutating npm `postinstall`.
52
52
 
53
53
  A new project receives repository-owned declarative configuration plus generated local state:
54
54
 
@@ -69,6 +69,16 @@ export function buildOpenCodeRuntimeConfig(selection, config, binding = resolveO
69
69
  if (!configured[name])
70
70
  tools[`${name}_*`] = true;
71
71
  }
72
+ const semanticRequired = config?.context?.semanticRetrieval?.provider !== "none" && config?.context?.semanticRetrieval?.required === true && selection.role !== "orchestrator" && selection.logicalAgent !== "operation-supervisor";
73
+ if (semanticRequired && !mcp.serena) {
74
+ mcp.serena = { type: "local", command: ["serena", "start-mcp-server", "--context", "ide-assistant", "--project", "."], enabled: true, timeout: 30_000 };
75
+ tools["serena_*"] = true;
76
+ }
77
+ const compressionRequired = config?.context?.compression?.provider !== "none" && config?.context?.compression?.required === true && selection.role !== "orchestrator" && selection.logicalAgent !== "operation-supervisor";
78
+ if (compressionRequired && !mcp.headroom) {
79
+ mcp.headroom = { type: "local", command: [config?.context?.compression?.command ?? "headroom", "mcp", "serve"], enabled: true };
80
+ tools["headroom_*"] = true;
81
+ }
72
82
  const managedAgent = binding.managed
73
83
  ? {
74
84
  agent: {
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/agents/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/agents/permissions.ts"],"names":[],"mappings":"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"}
package/dist/audit/run.js CHANGED
@@ -19,6 +19,7 @@ import { dispatchMaterializedAgentPrompt, materializeAgentPrompt } from "../work
19
19
  import { recordEvent } from "../telemetry/events.js";
20
20
  import { runProcess } from "../utils/process.js";
21
21
  import { compileAuditReviewerPrompt } from "./reviewerPrompt.js";
22
+ import { assertContextReadiness } from "../context/preflight.js";
22
23
  const AUDIT_OUTPUT_DIR = ".harness/audits";
23
24
  const DEFAULT_AUDIT_REVIEWERS = [
24
25
  "code-quality-reviewer",
@@ -29,6 +30,7 @@ const DEFAULT_AUDIT_REVIEWERS = [
29
30
  ];
30
31
  const AUDIT_REVIEWER_BUDGET = { low: 5, medium: 6, high: 8 };
31
32
  export async function runAudit(root, config, input) {
33
+ await assertContextReadiness(root, config);
32
34
  const startedAt = new Date().toISOString();
33
35
  const auditId = input.auditId ?? createAuditId(input.request);
34
36
  const baseRef = config.validation?.baseRef ?? "HEAD";
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/audit/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/audit/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { HarnessProjectConfig } from "../core/types.js";
2
+ import type { ContextBudget, ContextBudgetConfigLike } from "./types.js";
3
+ export declare function resolveContextBudget(config: HarnessProjectConfig, role?: string, phase?: string): ContextBudget;
4
+ export declare function mergeBudgetConfig(...values: Array<ContextBudgetConfigLike | undefined>): ContextBudgetConfigLike;
@@ -0,0 +1,19 @@
1
+ import { resolveContextPolicy } from "./policy.js";
2
+ const defaultReserved = { instructions: 512, normative: 4_096, evidence: 2_048, response: 1_024 };
3
+ const compactReserved = { instructions: 256, normative: 512, evidence: 256, response: 256 };
4
+ export function resolveContextBudget(config, role = "implementer", phase = "work") {
5
+ const policy = resolveContextPolicy(config);
6
+ const override = { ...policy.defaultBudget, ...(policy.agentBudgets[role] ?? {}), ...(policy.phaseBudgets[phase] ?? {}) };
7
+ const maxTokens = override.inputTokens ?? override.maxTokens ?? 16_000;
8
+ if (!Number.isInteger(maxTokens) || maxTokens <= 0)
9
+ throw new Error(`Context budget for ${role}/${phase} must be a positive integer.`);
10
+ const reserved = { ...(maxTokens < 4_000 ? compactReserved : defaultReserved), ...(override.reserved ?? {}) };
11
+ const reservedTotal = Object.values(reserved).reduce((sum, value) => sum + value, 0);
12
+ if (reservedTotal >= maxTokens)
13
+ throw new Error(`Context budget for ${role}/${phase} is smaller than its reserved headroom.`);
14
+ return { maxTokens, reserved, role, phase };
15
+ }
16
+ export function mergeBudgetConfig(...values) {
17
+ return values.reduce((result, value) => ({ ...result, ...(value ?? {}), reserved: { ...result.reserved, ...(value?.reserved ?? {}) } }), {});
18
+ }
19
+ //# sourceMappingURL=budget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/context/budget.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGnD,MAAM,eAAe,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAClG,MAAM,eAAe,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AAE5F,MAAM,UAAU,oBAAoB,CAAC,MAA4B,EAAE,IAAI,GAAG,aAAa,EAAE,KAAK,GAAG,MAAM;IACrG,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;IAC1H,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC;IACvE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,IAAI,KAAK,8BAA8B,CAAC,CAAC;IACvI,MAAM,QAAQ,GAAG,EAAE,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;IAC9G,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;IACrF,IAAI,aAAa,IAAI,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,IAAI,KAAK,yCAAyC,CAAC,CAAC;IAC9H,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAG,MAAkD;IACrF,OAAO,MAAM,CAAC,MAAM,CAA0B,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACxK,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ContextFragment, ContextPreservation } from "./types.js";
2
+ export declare function classifyFragment(fragment: ContextFragment): ContextPreservation;
3
+ export declare function canLossyCompress(fragment: ContextFragment): boolean;
4
+ export declare function isRequired(fragment: ContextFragment): boolean;
@@ -0,0 +1,14 @@
1
+ export function classifyFragment(fragment) {
2
+ // The preservation class is explicit and validated at the boundary. Unknown classes never enter the gateway.
3
+ if (!["VERBATIM", "PROJECTABLE", "COMPRESSIBLE", "RETRIEVABLE", "DISCARDABLE"].includes(fragment.preservation)) {
4
+ throw new Error(`Unknown context preservation class for fragment '${fragment.id}'.`);
5
+ }
6
+ return fragment.preservation;
7
+ }
8
+ export function canLossyCompress(fragment) {
9
+ return fragment.preservation === "COMPRESSIBLE";
10
+ }
11
+ export function isRequired(fragment) {
12
+ return fragment.preservation === "VERBATIM" || fragment.kind === "normative";
13
+ }
14
+ //# sourceMappingURL=classifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/context/classifier.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,QAAyB;IACxD,6GAA6G;IAC7G,IAAI,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/G,MAAM,IAAI,KAAK,CAAC,oDAAoD,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,QAAQ,CAAC,YAAY,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAyB;IACxD,OAAO,QAAQ,CAAC,YAAY,KAAK,cAAc,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAyB;IAClD,OAAO,QAAQ,CAAC,YAAY,KAAK,UAAU,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { ContextCompressionProvider, ContextCompressionRequest, ContextCompressionResult, ProviderHealth } from "./types.js";
2
+ import { runProcess } from "../../utils/process.js";
3
+ export interface HeadroomOptions {
4
+ command?: string;
5
+ version?: string;
6
+ executor?: typeof runProcess;
7
+ }
8
+ /** AEH-owned adapter. It talks to a local Headroom executable and never starts an agent process. */
9
+ export declare class HeadroomCompressionProvider implements ContextCompressionProvider {
10
+ readonly name = "headroom";
11
+ private readonly command;
12
+ private readonly expectedVersion?;
13
+ private readonly executor;
14
+ constructor(options?: HeadroomOptions);
15
+ doctor(root: string): Promise<ProviderHealth>;
16
+ compress(root: string, request: ContextCompressionRequest): Promise<ContextCompressionResult>;
17
+ }
@@ -0,0 +1,52 @@
1
+ import { estimateTokens } from "../estimator.js";
2
+ import { runProcess, commandExists } from "../../utils/process.js";
3
+ /** AEH-owned adapter. It talks to a local Headroom executable and never starts an agent process. */
4
+ export class HeadroomCompressionProvider {
5
+ name = "headroom";
6
+ command;
7
+ expectedVersion;
8
+ executor;
9
+ constructor(options = {}) {
10
+ this.command = options.command ?? "headroom";
11
+ this.expectedVersion = options.version;
12
+ this.executor = options.executor ?? runProcess;
13
+ }
14
+ async doctor(root) {
15
+ if (!(await commandExists(this.command, root)))
16
+ return { ok: false, message: `Headroom executable '${this.command}' was not found in the reconciled toolchain PATH.` };
17
+ const result = await this.executor(`${quote(this.command)} --version`, { cwd: root, timeoutMs: 15_000 });
18
+ if (result.exitCode !== 0)
19
+ return { ok: false, message: `Headroom health check failed: ${result.stderr || result.stdout}` };
20
+ const version = (result.stdout || result.stderr).trim().split(/\r?\n/)[0];
21
+ if (this.expectedVersion && !version.includes(this.expectedVersion))
22
+ return { ok: false, version, message: `Headroom version drift: expected ${this.expectedVersion}, got ${version}.` };
23
+ return { ok: true, version, message: `Headroom local compressor ready${version ? ` (${version})` : ""}.` };
24
+ }
25
+ async compress(root, request) {
26
+ const result = await this.executor(`${quote(this.command)} compress --format json`, { cwd: root, timeoutMs: 120_000, stdin: JSON.stringify({ content: request.fragment.content, maxTokens: request.maxTokens, reversible: true }) });
27
+ if (result.exitCode !== 0)
28
+ throw new Error(`Headroom compression failed: ${result.stderr || result.stdout}`);
29
+ const parsed = parseResult(result.stdout);
30
+ if (!parsed)
31
+ throw new Error("Headroom returned no usable compressed content.");
32
+ return { content: parsed.content, provider: this.name, providerVersion: parsed.version, reversible: parsed.reversible ?? true, handle: parsed.handle, originalTokens: estimateTokens(request.fragment.content), compressedTokens: estimateTokens(parsed.content) };
33
+ }
34
+ }
35
+ function parseResult(stdout) {
36
+ const value = stdout.trim();
37
+ if (!value)
38
+ return undefined;
39
+ try {
40
+ const parsed = JSON.parse(value);
41
+ if (!parsed || typeof parsed !== "object")
42
+ return undefined;
43
+ const record = parsed;
44
+ const content = typeof record.content === "string" ? record.content : typeof record.text === "string" ? record.text : undefined;
45
+ return content === undefined ? undefined : { content, handle: typeof record.handle === "string" ? record.handle : undefined, version: typeof record.version === "string" ? record.version : undefined, reversible: typeof record.reversible === "boolean" ? record.reversible : undefined };
46
+ }
47
+ catch {
48
+ return { content: value };
49
+ }
50
+ }
51
+ function quote(value) { return `'${value.replaceAll("'", "'\\''")}'`; }
52
+ //# sourceMappingURL=headroom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headroom.js","sourceRoot":"","sources":["../../../src/context/compression/headroom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./headroom.js";
2
+ export * from "./lifecycle.js";
3
+ export * from "./types.js";
@@ -0,0 +1,4 @@
1
+ export * from "./headroom.js";
2
+ export * from "./lifecycle.js";
3
+ export * from "./types.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/compression/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,20 @@
1
+ export interface HeadroomRuntimeHandle {
2
+ operationId: string;
3
+ pid?: number;
4
+ port: number;
5
+ endpoint: string;
6
+ }
7
+ export interface HeadroomRuntimeOptions {
8
+ command?: string;
9
+ host?: string;
10
+ port?: number;
11
+ environment?: Record<string, string>;
12
+ healthTimeoutMs?: number;
13
+ }
14
+ /** Owns only a local Headroom proxy process; Paseo remains the agent/session owner. */
15
+ export declare class HeadroomRuntimeManager {
16
+ private readonly processes;
17
+ start(root: string, operationId: string, options?: HeadroomRuntimeOptions): Promise<HeadroomRuntimeHandle>;
18
+ stop(operationId: string): Promise<void>;
19
+ stopAll(): Promise<void>;
20
+ }
@@ -0,0 +1,70 @@
1
+ import net from "node:net";
2
+ import { spawn } from "node:child_process";
3
+ /** Owns only a local Headroom proxy process; Paseo remains the agent/session owner. */
4
+ export class HeadroomRuntimeManager {
5
+ processes = new Map();
6
+ async start(root, operationId, options = {}) {
7
+ const existing = this.processes.get(operationId);
8
+ if (existing)
9
+ return existing.handle;
10
+ const host = options.host ?? "127.0.0.1";
11
+ if (host !== "127.0.0.1" && host !== "::1" && host !== "localhost")
12
+ throw new Error("Headroom local proxy must bind to loopback.");
13
+ const port = options.port ?? await freePort(host);
14
+ if (!Number.isInteger(port) || port <= 0 || port > 65_535)
15
+ throw new Error("Headroom proxy port must be a valid TCP port.");
16
+ const command = options.command ?? "headroom";
17
+ const child = spawn(command, ["proxy", "--host", host, "--port", String(port)], { cwd: root, env: { ...process.env, ...(options.environment ?? {}) }, stdio: "ignore" });
18
+ const handle = { operationId, pid: child.pid, port, endpoint: `http://${host}:${port}` };
19
+ this.processes.set(operationId, { child, handle });
20
+ child.once("error", () => { });
21
+ child.once("exit", () => { if (this.processes.get(operationId)?.child === child)
22
+ this.processes.delete(operationId); });
23
+ try {
24
+ await waitForHealth(handle.endpoint, options.healthTimeoutMs ?? 15_000);
25
+ return handle;
26
+ }
27
+ catch (error) {
28
+ await this.stop(operationId);
29
+ throw new Error(`Headroom proxy failed readiness for operation '${operationId}': ${String(error)}`);
30
+ }
31
+ }
32
+ async stop(operationId) {
33
+ const value = this.processes.get(operationId);
34
+ if (!value)
35
+ return;
36
+ this.processes.delete(operationId);
37
+ if (!value.child.killed)
38
+ value.child.kill("SIGTERM");
39
+ }
40
+ async stopAll() { await Promise.all([...this.processes.keys()].map((operationId) => this.stop(operationId))); }
41
+ }
42
+ async function freePort(host) {
43
+ return new Promise((resolve, reject) => {
44
+ const server = net.createServer();
45
+ server.once("error", reject);
46
+ server.listen(0, host, () => {
47
+ const address = server.address();
48
+ const port = typeof address === "object" && address ? address.port : undefined;
49
+ server.close((error) => error ? reject(error) : port ? resolve(port) : reject(new Error("Could not allocate a Headroom port.")));
50
+ });
51
+ });
52
+ }
53
+ async function waitForHealth(endpoint, timeoutMs) {
54
+ const deadline = Date.now() + timeoutMs;
55
+ let lastError = "no health response";
56
+ while (Date.now() < deadline) {
57
+ try {
58
+ const response = await fetch(`${endpoint}/health`, { signal: AbortSignal.timeout(1_000) });
59
+ if (response.ok)
60
+ return;
61
+ lastError = `HTTP ${response.status}`;
62
+ }
63
+ catch (error) {
64
+ lastError = String(error);
65
+ }
66
+ await new Promise((resolve) => setTimeout(resolve, 100));
67
+ }
68
+ throw new Error(lastError);
69
+ }
70
+ //# sourceMappingURL=lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/context/compression/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAK9D,uFAAuF;AACvF,MAAM,OAAO,sBAAsB;IAChB,SAAS,GAAG,IAAI,GAAG,EAAkE,CAAC;IAEvG,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,WAAmB,EAAE,UAAkC,EAAE;QACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,MAAM,CAAC;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;QACzC,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnI,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC5H,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,UAAU,CAAC;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzK,MAAM,MAAM,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,IAAI,IAAI,IAAI,EAAE,EAAkC,CAAC;QACzH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAA2E,CAAC,CAAC,CAAC;QACvG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,KAAK,KAAK;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxH,IAAI,CAAC;YAAC,MAAM,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,CAAC;YAAC,OAAO,MAAM,CAAC;QAAC,CAAC;QAC/F,OAAO,KAAK,EAAE,CAAC;YAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,kDAAkD,WAAW,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;IACtJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAmB;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QAClE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;YAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,OAAO,KAAoB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/H;AAED,KAAK,UAAU,QAAQ,CAAC,IAAY;IAClC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE;YAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAAC,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACjH,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC;QACnI,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAgB,EAAE,SAAiB;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,IAAI,SAAS,GAAG,oBAAoB,CAAC;IACrC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,SAAS,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3F,IAAI,QAAQ,CAAC,EAAE;gBAAE,OAAO;YACxB,SAAS,GAAG,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QAC9C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { ContextFragment } from "../types.js";
2
+ export interface ProviderHealth {
3
+ ok: boolean;
4
+ message: string;
5
+ version?: string;
6
+ }
7
+ export interface ContextCompressionRequest {
8
+ operationId: string;
9
+ fragment: ContextFragment;
10
+ maxTokens?: number;
11
+ sourceSha256: string;
12
+ }
13
+ export interface ContextCompressionResult {
14
+ content: string;
15
+ provider: string;
16
+ providerVersion?: string;
17
+ reversible: boolean;
18
+ handle?: string;
19
+ originalTokens: number;
20
+ compressedTokens: number;
21
+ }
22
+ export interface ContextCompressionProvider {
23
+ readonly name: string;
24
+ doctor(root: string): Promise<ProviderHealth>;
25
+ compress(root: string, request: ContextCompressionRequest): Promise<ContextCompressionResult>;
26
+ }
27
+ export type { HeadroomRuntimeHandle, HeadroomRuntimeOptions } from "./lifecycle.js";
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/context/compression/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { ContextEnvelope } from "./types.js";
2
+ export declare function buildContextEnvelope(input: Omit<ContextEnvelope, "provenance">): ContextEnvelope;
3
+ export declare function verifyContextEnvelope(envelope: ContextEnvelope): boolean;
4
+ export declare function renderContextEnvelope(envelope: ContextEnvelope): string;
@@ -0,0 +1,20 @@
1
+ import { assertContextEnvelope } from "./types.js";
2
+ import { CONTEXT_PROJECTION_VERSION, sha256, stableJson } from "./provenance.js";
3
+ export function buildContextEnvelope(input) {
4
+ const base = { ...input, provenance: { sha256: "", createdAt: new Date().toISOString(), projectionVersion: CONTEXT_PROJECTION_VERSION } };
5
+ const digest = sha256(stableJson({ ...base, provenance: { ...base.provenance, sha256: undefined } }));
6
+ return assertContextEnvelope({ ...base, provenance: { ...base.provenance, sha256: digest } });
7
+ }
8
+ export function verifyContextEnvelope(envelope) {
9
+ const expected = sha256(stableJson({ ...envelope, provenance: { ...envelope.provenance, sha256: undefined } }));
10
+ return expected === envelope.provenance.sha256;
11
+ }
12
+ export function renderContextEnvelope(envelope) {
13
+ const sections = envelope.fragments.map((fragment) => {
14
+ const source = fragment.source?.artifact ? ` source=${fragment.source.artifact}` : "";
15
+ const mode = fragment.compressed ? "compressed" : fragment.projected ? "projected" : fragment.preservation.toLowerCase();
16
+ return `### ${fragment.kind}:${fragment.id} [${mode}, ${fragment.estimatedTokens} tokens]${source}\n${fragment.content}`;
17
+ });
18
+ return [`AEH ContextEnvelope v${envelope.version} operation=${envelope.operationId} agent=${envelope.logicalAgent} phase=${envelope.phase}`, ...sections, "AEH raw context is retrievable only through authorized fragment IDs."].join("\n\n");
19
+ }
20
+ //# sourceMappingURL=envelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/context/envelope.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEjF,MAAM,UAAU,oBAAoB,CAAC,KAA0C;IAC7E,MAAM,IAAI,GAAG,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,EAAE,CAAC;IAC1I,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IACtG,OAAO,qBAAqB,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAyB;IAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAChH,OAAO,QAAQ,KAAK,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAyB;IAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAmC,EAAE,EAAE;QAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACzH,OAAO,OAAO,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,eAAe,WAAW,MAAM,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC3H,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,wBAAwB,QAAQ,CAAC,OAAO,cAAc,QAAQ,CAAC,WAAW,UAAU,QAAQ,CAAC,YAAY,UAAU,QAAQ,CAAC,KAAK,EAAE,EAAE,GAAG,QAAQ,EAAE,sEAAsE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjP,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Deterministic, dependency-free estimate used for selection. Provider token usage remains authoritative when available. */
2
+ export declare function estimateTokens(value: string): number;
3
+ export declare function estimateBytes(value: string): number;
@@ -0,0 +1,10 @@
1
+ /** Deterministic, dependency-free estimate used for selection. Provider token usage remains authoritative when available. */
2
+ export function estimateTokens(value) {
3
+ if (!value)
4
+ return 0;
5
+ return Math.max(1, Math.ceil(value.replace(/\r\n/g, "\n").length / 4));
6
+ }
7
+ export function estimateBytes(value) {
8
+ return Buffer.byteLength(value, "utf8");
9
+ }
10
+ //# sourceMappingURL=estimator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estimator.js","sourceRoot":"","sources":["../../src/context/estimator.ts"],"names":[],"mappings":"AAAA,6HAA6H;AAC7H,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IACrB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { ContextMetrics } from "./types.js";
2
+ export interface ContextEvaluationSample {
3
+ variant: "baseline" | "observe" | "enforce" | string;
4
+ success: boolean;
5
+ costUsd?: number;
6
+ metrics: ContextMetrics;
7
+ }
8
+ export interface ContextEvaluationSummary {
9
+ variant: string;
10
+ sampleSize: number;
11
+ successfulOperations: number;
12
+ successRate: number;
13
+ medianDeliveredTokenReduction: number;
14
+ uncachedInputReduction?: number;
15
+ costPerSuccessfulOperation?: number;
16
+ tokensPerSuccessfulOperation?: number;
17
+ projectionEscapeRate: number;
18
+ }
19
+ export declare function summarizeContextEvaluation(samples: ContextEvaluationSample[], variant: string): ContextEvaluationSummary;
@@ -0,0 +1,12 @@
1
+ export function summarizeContextEvaluation(samples, variant) {
2
+ const selected = samples.filter((sample) => sample.variant === variant);
3
+ const successful = selected.filter((sample) => sample.success);
4
+ const reductions = selected.map((sample) => sample.metrics.estimatedRawTokens ? 1 - sample.metrics.estimatedDeliveredTokens / sample.metrics.estimatedRawTokens : 0).sort((a, b) => a - b);
5
+ const costs = successful.map((sample) => sample.costUsd).filter((value) => value !== undefined);
6
+ const tokens = successful.map((sample) => sample.metrics.estimatedDeliveredTokens);
7
+ return { variant, sampleSize: selected.length, successfulOperations: successful.length, successRate: selected.length ? successful.length / selected.length : 0, medianDeliveredTokenReduction: median(reductions), uncachedInputReduction: selected.length ? average(selected.map((sample) => sample.metrics.estimatedRawTokens ? 1 - sample.metrics.estimatedDeliveredTokens / sample.metrics.estimatedRawTokens : 0)) : undefined, costPerSuccessfulOperation: costs.length && successful.length ? costs.reduce((sum, value) => sum + value, 0) / successful.length : undefined, tokensPerSuccessfulOperation: tokens.length ? tokens.reduce((sum, value) => sum + value, 0) / tokens.length : undefined, projectionEscapeRate: selected.length ? average(selected.map((sample) => sample.metrics.retrievedFragments ? sample.metrics.retrievalEscapes / sample.metrics.retrievedFragments : 0)) : 0 };
8
+ }
9
+ function median(values) { if (!values.length)
10
+ return 0; const middle = Math.floor(values.length / 2); return values.length % 2 ? values[middle] : (values[middle - 1] + values[middle]) / 2; }
11
+ function average(values) { return values.length ? values.reduce((sum, value) => sum + value, 0) / values.length : 0; }
12
+ //# sourceMappingURL=eval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/context/eval.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { HarnessProjectConfig } from "../core/types.js";
2
+ import type { ContextCompressionProvider } from "./compression/types.js";
3
+ import type { ContextPreparationRequest, ContextPreparationResult } from "./types.js";
4
+ export interface ContextBudgetGatewayOptions {
5
+ compressor?: ContextCompressionProvider;
6
+ persist?: boolean;
7
+ telemetry?: boolean;
8
+ }
9
+ export declare class ContextBudgetGateway {
10
+ private readonly root;
11
+ private readonly config;
12
+ private readonly compressor;
13
+ private readonly persist;
14
+ private readonly telemetry;
15
+ constructor(root: string, config: HarnessProjectConfig, options?: ContextBudgetGatewayOptions);
16
+ prepare(request: ContextPreparationRequest): Promise<ContextPreparationResult>;
17
+ private optimizeFragment;
18
+ private persistRawFragment;
19
+ private persistEnvelope;
20
+ private emitTelemetry;
21
+ }
22
+ export declare function prepareContext(root: string, config: HarnessProjectConfig, request: ContextPreparationRequest, options?: ContextBudgetGatewayOptions): Promise<ContextPreparationResult>;