@phamvuhoang/otto-core 0.31.0 → 0.32.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.
- package/dist/context-compressor.d.ts +4 -2
- package/dist/context-compressor.d.ts.map +1 -1
- package/dist/context-compressor.js +13 -1
- package/dist/context-compressor.js.map +1 -1
- package/dist/extension-profiles.js +2 -2
- package/dist/extension-profiles.js.map +1 -1
- package/dist/headroom-adapter.d.ts +138 -27
- package/dist/headroom-adapter.d.ts.map +1 -1
- package/dist/headroom-adapter.js +335 -49
- package/dist/headroom-adapter.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/loop.d.ts.map +1 -1
- package/dist/loop.js +27 -5
- package/dist/loop.js.map +1 -1
- package/package.json +1 -1
|
@@ -32,7 +32,8 @@ export type CompressorMode = "off" | "headroom";
|
|
|
32
32
|
* The token-heavy content categories P7 already flags — the targets the roadmap
|
|
33
33
|
* names. Carried on each compression so a report can attribute savings by source.
|
|
34
34
|
*/
|
|
35
|
-
export
|
|
35
|
+
export declare const COMPRESSION_CATEGORIES: readonly ["issue-body", "command-log", "prior-iteration", "read-artifact", "memory-projection"];
|
|
36
|
+
export type CompressionCategory = (typeof COMPRESSION_CATEGORIES)[number];
|
|
36
37
|
/** Content handed to the compressor, tagged by source category + a stable key. */
|
|
37
38
|
export type CompressInput = {
|
|
38
39
|
/** A run-unique key (used to name the retrieval artifact). */
|
|
@@ -133,7 +134,8 @@ export declare function compressContent(compressor: ContextCompressor | null, in
|
|
|
133
134
|
* Synchronous compression for the sync render/`@spill` path, where `renderTemplate`
|
|
134
135
|
* cannot await. Same reversible measurement and degrade rules as
|
|
135
136
|
* {@link compressContent}; backed by a {@link SyncContextCompressor} (the Headroom
|
|
136
|
-
*
|
|
137
|
+
* runner is synchronous — it drives `compress()` via a blocking subprocess).
|
|
138
|
+
* `compressor === null` → original verbatim.
|
|
137
139
|
*/
|
|
138
140
|
export declare function compressContentSync(compressor: SyncContextCompressor | null, input: CompressInput, store: RetrievalStore | null, now?: () => number): CompressOutput;
|
|
139
141
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-compressor.d.ts","sourceRoot":"","sources":["../src/context-compressor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,kDAAkD;AAClD,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,UAAU,CAAC;AAIhD;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"context-compressor.d.ts","sourceRoot":"","sources":["../src/context-compressor.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,17 @@ import { join } from "node:path";
|
|
|
3
3
|
import { estimateTokens } from "./context-report.js";
|
|
4
4
|
import { runReportDir } from "./run-report.js";
|
|
5
5
|
const MODES = new Set(["off", "headroom"]);
|
|
6
|
+
/**
|
|
7
|
+
* The token-heavy content categories P7 already flags — the targets the roadmap
|
|
8
|
+
* names. Carried on each compression so a report can attribute savings by source.
|
|
9
|
+
*/
|
|
10
|
+
export const COMPRESSION_CATEGORIES = [
|
|
11
|
+
"issue-body",
|
|
12
|
+
"command-log",
|
|
13
|
+
"prior-iteration",
|
|
14
|
+
"read-artifact",
|
|
15
|
+
"memory-projection",
|
|
16
|
+
];
|
|
6
17
|
/**
|
|
7
18
|
* Resolve the compressor mode from the flag/env/config precedence chain (flag >
|
|
8
19
|
* env > config > off). An unrecognized value resolves to `off`, so a typo never
|
|
@@ -136,7 +147,8 @@ export async function compressContent(compressor, input, store, deps = {}) {
|
|
|
136
147
|
* Synchronous compression for the sync render/`@spill` path, where `renderTemplate`
|
|
137
148
|
* cannot await. Same reversible measurement and degrade rules as
|
|
138
149
|
* {@link compressContent}; backed by a {@link SyncContextCompressor} (the Headroom
|
|
139
|
-
*
|
|
150
|
+
* runner is synchronous — it drives `compress()` via a blocking subprocess).
|
|
151
|
+
* `compressor === null` → original verbatim.
|
|
140
152
|
*/
|
|
141
153
|
export function compressContentSync(compressor, input, store, now = Date.now) {
|
|
142
154
|
if (!compressor)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-compressor.js","sourceRoot":"","sources":["../src/context-compressor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAkC/C,MAAM,KAAK,GAAwB,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"context-compressor.js","sourceRoot":"","sources":["../src/context-compressor.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,8 +47,8 @@ const PROFILES = [
|
|
|
47
47
|
sources: [],
|
|
48
48
|
tools: [headroomToolDefinition()],
|
|
49
49
|
config: { contextCompressor: "headroom" },
|
|
50
|
-
requires: ["headroom"],
|
|
51
|
-
followUp: "Next: install the
|
|
50
|
+
requires: ["python3", "headroom-ai[ml]"],
|
|
51
|
+
followUp: "Next: pip install 'headroom-ai[ml]' (local Python lib — base is passthrough; no API key), pre-warm the model once, then otto-tools health.",
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
54
|
name: "security-review",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-profiles.js","sourceRoot":"","sources":["../src/extension-profiles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAsC/D;;;;GAIG;AACH,MAAM,eAAe,GAAG,QAAQ,CAAC;AACjC,MAAM,aAAa,GAAG,QAAQ,CAAC;AAE/B,MAAM,QAAQ,GAAuB;IACnC;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,iFAAiF;QACnF,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,qCAAqC;gBAC/C,GAAG,EAAE,eAAe;aACrB;SACF;QACD,KAAK,EAAE,EAAE;QACT,4EAA4E;QAC5E,+EAA+E;QAC/E,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QACpE,QAAQ,EAAE,CAAC,KAAK,CAAC;QACjB,QAAQ,EACN,wGAAwG;KAC3G;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,yFAAyF;QAC3F,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,sDAAsD;gBAChE,GAAG,EAAE,aAAa;aACnB;SACF;QACD,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAC/D,QAAQ,EAAE,CAAC,KAAK,CAAC;QACjB,QAAQ,EACN,qFAAqF;KACxF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,mFAAmF;QACrF,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,CAAC,sBAAsB,EAAE,CAAC;QACjC,MAAM,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE;QACzC,QAAQ,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"extension-profiles.js","sourceRoot":"","sources":["../src/extension-profiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,45 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
1
2
|
import type { CompressInput, ContextCompressor, SyncContextCompressor } from "./context-compressor.js";
|
|
2
|
-
import type {
|
|
3
|
+
import type { SafetyPolicy } from "./safety-policy.js";
|
|
4
|
+
import type { SafetyEvent } from "./run-report.js";
|
|
5
|
+
import type { ToolConfig, ToolDefinition } from "./tools.js";
|
|
3
6
|
/**
|
|
4
|
-
* Headroom adapter (issue #112 P20)
|
|
7
|
+
* Headroom adapter (issue #112 P20).
|
|
5
8
|
* [Headroom](https://github.com/headroomlabs-ai/headroom) compresses token-heavy
|
|
6
|
-
* content (tool outputs, logs, RAG chunks, files, history).
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* the
|
|
9
|
+
* content (tool outputs, logs, RAG chunks, files, history). A
|
|
10
|
+
* {@link headroomToolDefinition} entry under `.otto/tools/` makes it
|
|
11
|
+
* `otto-tools list`/`health`-visible and governs it: {@link authorizeCompressor}
|
|
12
|
+
* honors the tool's `enabled` flag and authorizes its command against
|
|
13
|
+
* `.otto/policy.json`. It is **not** *stage*-gated, though — the compressor runs
|
|
14
|
+
* at the render boundary, not per stage ([#192](https://github.com/phamvuhoang/otto/issues/192)).
|
|
10
15
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* TypeScript library path slot in behind the same {@link ContextCompressor}
|
|
15
|
-
* interface without changing callers; proxy/wrapper mode stays an explicit
|
|
16
|
-
* advanced option because it alters provider transport.
|
|
16
|
+
* Otto drives Headroom's real `compress(messages, model)` library through a
|
|
17
|
+
* synchronous subprocess (the render/`@spill` boundary cannot await). Two runners
|
|
18
|
+
* sit behind one {@link HeadroomRunner} contract:
|
|
17
19
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
20
|
+
* - **library mode (default):** spawn `python3 -c <bridge>` calling
|
|
21
|
+
* `from headroom import compress` — Headroom's documented API (needs the
|
|
22
|
+
* `headroom-ai[ml]` extra; the base package leaves plain text unchanged).
|
|
23
|
+
* Inference is **local** with **no per-call API/cost** (`HEADROOM_MODEL` only
|
|
24
|
+
* selects the tokenizer), but the ML model is **downloaded once from Hugging
|
|
25
|
+
* Face** (~260–600 MB) on first use. Otto forces offline by default (no fetch);
|
|
26
|
+
* when you opt in ({@link authorizeCompressor} pre-authorizes the resolved
|
|
27
|
+
* endpoint against policy + declared domains, though it cannot intercept the
|
|
28
|
+
* subprocess's traffic), so pre-warm it (`HF_HUB_OFFLINE=0` / `HF_ENDPOINT`). The
|
|
29
|
+
* interpreter is overridable via `OTTO_HEADROOM_PYTHON`.
|
|
30
|
+
* - **command mode:** when `OTTO_HEADROOM_BIN` is set, shell out to that binary
|
|
31
|
+
* with `compress --category <c>` (stdin → compressed stdout) — an escape hatch
|
|
32
|
+
* for a custom compressor that already speaks this contract.
|
|
33
|
+
*
|
|
34
|
+
* {@link resolveHeadroomRunner} picks the mode. Everything is injectable (the
|
|
35
|
+
* runner and its `spawn`) so tests never spawn a real process, and a missing
|
|
36
|
+
* interpreter / library degrades cleanly (the compressor reports unavailable or
|
|
37
|
+
* `ok: false` and the orchestrator keeps the original content).
|
|
21
38
|
*/
|
|
22
|
-
/**
|
|
23
|
-
export declare const HEADROOM_VERSION = "headroom-
|
|
39
|
+
/** Compressor identity recorded on each compression (mode-agnostic). */
|
|
40
|
+
export declare const HEADROOM_VERSION = "headroom-1";
|
|
41
|
+
/** The injectable process spawner (defaults to `spawnSync`); tests pass a fake. */
|
|
42
|
+
type Spawn = typeof spawnSync;
|
|
24
43
|
/**
|
|
25
44
|
* The low-level transport the adapter drives. The default shells out to the
|
|
26
45
|
* `headroom` CLI; tests inject a double. `available` is the health probe;
|
|
@@ -35,12 +54,54 @@ export type HeadroomRunner = {
|
|
|
35
54
|
};
|
|
36
55
|
};
|
|
37
56
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
57
|
+
* Whether the compressor subprocess runs offline. Otto forces `HF_HUB_OFFLINE=1`
|
|
58
|
+
* by default (the runner injects `env.HF_HUB_OFFLINE ?? "1"`), and this MUST match
|
|
59
|
+
* Hugging Face's own parsing so {@link authorizeCompressor}'s "can it reach the
|
|
60
|
+
* network?" matches reality: HF treats only `1`/`true`/`yes`/`on` (case-insensitive)
|
|
61
|
+
* as offline — every other value (e.g. `maybe`) is **online**. Treating an
|
|
62
|
+
* unrecognized value as offline would skip policy authorization while the run
|
|
63
|
+
* actually went online.
|
|
64
|
+
*/
|
|
65
|
+
export declare function headroomOffline(env?: NodeJS.ProcessEnv): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* The network host(s) the ML model fetch would ACTUALLY reach, resolved from env
|
|
68
|
+
* like Hugging Face does: `HF_ENDPOINT` (its host) overrides the default HF hosts.
|
|
69
|
+
* Authorizing the resolved endpoint — not the static `tool.networkDomains` — closes
|
|
70
|
+
* the gap where `HF_ENDPOINT=https://evil.example` would slip past a policy that
|
|
71
|
+
* only allows `huggingface.co`.
|
|
72
|
+
*/
|
|
73
|
+
export declare function headroomNetworkDomains(env?: NodeJS.ProcessEnv): string[];
|
|
74
|
+
/**
|
|
75
|
+
* The Python bridge driven in library mode: read the spill text on stdin, run it
|
|
76
|
+
* through Headroom's `compress(messages, model)`, and write the compressed text to
|
|
77
|
+
* stdout. Built line-by-line (Python is whitespace-sensitive) so it survives as a
|
|
78
|
+
* `python3 -c` argument. Exit codes are diagnostic only — any non-zero exit is a
|
|
79
|
+
* recoverable failure the orchestrator turns into a degraded passthrough:
|
|
80
|
+
* 2 = library not importable, 1 = compress() raised (e.g. weights not cached
|
|
81
|
+
* while offline), 3 = empty output (never blank out a non-empty spill).
|
|
82
|
+
*/
|
|
83
|
+
export declare const HEADROOM_BRIDGE: string;
|
|
84
|
+
/**
|
|
85
|
+
* Library-mode runner (default): probe {@link KOMPRESS_PROBE} for availability
|
|
86
|
+
* (Headroom's `is_kompress_available()` — the real ML backend, not just an import;
|
|
87
|
+
* base is passthrough-only), then run {@link HEADROOM_BRIDGE} per compression.
|
|
88
|
+
* Honors `OTTO_HEADROOM_PYTHON`; inference is local (no API key) and runs with
|
|
89
|
+
* `HF_HUB_OFFLINE=1` by default, so first use needs pre-cached model weights.
|
|
90
|
+
*/
|
|
91
|
+
export declare function libraryHeadroomRunner(env?: NodeJS.ProcessEnv, timeoutMs?: number, spawn?: Spawn): HeadroomRunner;
|
|
92
|
+
/**
|
|
93
|
+
* Command-mode runner: `<bin> --version` for availability, and
|
|
94
|
+
* `<bin> compress --category <c>` (content on stdin → compressed stdout) for one
|
|
95
|
+
* compression. Selected only when `OTTO_HEADROOM_BIN` is set — a custom compressor
|
|
96
|
+
* already speaking this contract. A non-zero exit / spawn error degrades cleanly.
|
|
42
97
|
*/
|
|
43
|
-
export declare function defaultHeadroomRunner(env?: NodeJS.ProcessEnv, timeoutMs?: number): HeadroomRunner;
|
|
98
|
+
export declare function defaultHeadroomRunner(env?: NodeJS.ProcessEnv, timeoutMs?: number, spawn?: Spawn): HeadroomRunner;
|
|
99
|
+
/**
|
|
100
|
+
* Pick the runner: command mode when `OTTO_HEADROOM_BIN` is set (custom binary),
|
|
101
|
+
* else library mode (Headroom's `compress()` via the Python bridge). The default
|
|
102
|
+
* for both compressor factories.
|
|
103
|
+
*/
|
|
104
|
+
export declare function resolveHeadroomRunner(env?: NodeJS.ProcessEnv, timeoutMs?: number, spawn?: Spawn): HeadroomRunner;
|
|
44
105
|
/**
|
|
45
106
|
* Build a {@link ContextCompressor} over a {@link HeadroomRunner}. Availability
|
|
46
107
|
* is cached per instance after the first probe so a run does not re-spawn
|
|
@@ -55,11 +116,61 @@ export declare function createHeadroomCompressor(runner?: HeadroomRunner): Conte
|
|
|
55
116
|
*/
|
|
56
117
|
export declare function createHeadroomSyncCompressor(runner?: HeadroomRunner): SyncContextCompressor;
|
|
57
118
|
/**
|
|
58
|
-
* The {@link ToolDefinition} a repo drops into `.otto/tools/headroom.json
|
|
59
|
-
* the
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
119
|
+
* The {@link ToolDefinition} a repo drops into `.otto/tools/headroom.json`. It is
|
|
120
|
+
* the registry/`otto-tools` surface and the governance hook ({@link
|
|
121
|
+
* authorizeCompressor} reads its `enabled` flag and authorizes its `command`
|
|
122
|
+
* against policy). `stages: []` is irrelevant to the compressor — it runs at the
|
|
123
|
+
* render boundary, not per stage — so it is NOT stage-gated. Returned as a value
|
|
124
|
+
* so `otto-extensions` (P21 `context-saver`) can generate it.
|
|
63
125
|
*/
|
|
64
126
|
export declare function headroomToolDefinition(): ToolDefinition;
|
|
127
|
+
/**
|
|
128
|
+
* Every command a run could ACTUALLY execute, resolved from env exactly as
|
|
129
|
+
* {@link resolveHeadroomRunner} does — so policy authorizes what runs, not a
|
|
130
|
+
* static placeholder (issue #192 part 2 follow-up). Command mode emits one entry
|
|
131
|
+
* **per category** (`<bin> compress --category <c>`), matching the real argv, so
|
|
132
|
+
* an argument-specific `blockedCommands` pattern (e.g. `--category command-log`)
|
|
133
|
+
* cannot slip past. Library mode is a single `<python> -c <bridge>` (the bridge
|
|
134
|
+
* text carries `headroom`, so a pattern can match the interpreter or the library).
|
|
135
|
+
*/
|
|
136
|
+
export declare function headroomCommands(env?: NodeJS.ProcessEnv): string[];
|
|
137
|
+
/** The compressor governance verdict (issue #192 part 2). */
|
|
138
|
+
export type CompressorAuthorization = {
|
|
139
|
+
allowed: boolean;
|
|
140
|
+
reason: string;
|
|
141
|
+
/** Blocked `policy-violation` events when a registered tool's command is denied. */
|
|
142
|
+
events: SafetyEvent[];
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Gate the compressor on tool-registry + policy authority (issue #192 part 2).
|
|
146
|
+
* The compressor is a render-boundary concern, not a per-stage tool, so it is NOT
|
|
147
|
+
* stage-gated (a registered `headroom` tool's `stages: []` is irrelevant here).
|
|
148
|
+
* But when a repo registers the `headroom` tool, the registry and policy DO govern
|
|
149
|
+
* it:
|
|
150
|
+
*
|
|
151
|
+
* - no `headroom` tool registered → the **built-in** {@link headroomToolDefinition}
|
|
152
|
+
* is used for the policy checks (the compressor is enabled by flag/config, not the
|
|
153
|
+
* registry, so a flag/config-only run must still be pre-authorized). A bare repo
|
|
154
|
+
* under `DEFAULT_POLICY` still passes; a restrictive policy still gates it;
|
|
155
|
+
* - tool disabled (registry `enabled: false` or a config override) → denied;
|
|
156
|
+
* - any command that WOULD RUN ({@link headroomCommands}, resolved from `env` like
|
|
157
|
+
* the runtime — one per category in command mode, with `--category <c>`) blocked
|
|
158
|
+
* by `.otto/policy.json` → denied, with the blocked {@link SafetyEvent}s for the
|
|
159
|
+
* evidence bundle. Authorizing the resolved commands (not the static
|
|
160
|
+
* `tool.command`) closes the gap where `OTTO_HEADROOM_BIN` pointed at a
|
|
161
|
+
* policy-blocked binary, or an argument-specific pattern, that authorization
|
|
162
|
+
* never saw;
|
|
163
|
+
* - in **library mode** only, when the run is **not** offline (the user set an
|
|
164
|
+
* online `HF_HUB_OFFLINE`, opting into the in-run model download), the **resolved**
|
|
165
|
+
* endpoint ({@link headroomNetworkDomains}, honoring `HF_ENDPOINT`) is authorized
|
|
166
|
+
* against the repo's `allowedNetworkDomains` — so a network-restricted repo denies
|
|
167
|
+
* the compressor rather than letting it reach an ungoverned host. Offline (the
|
|
168
|
+
* default) reaches no network; command mode (a custom `OTTO_HEADROOM_BIN`) does
|
|
169
|
+
* not use the Python library, so neither triggers the HF check.
|
|
170
|
+
*
|
|
171
|
+
* Pure: the registry, config, policy, and `env` are injected (the loop passes the
|
|
172
|
+
* process env). Default policy + no override always allows.
|
|
173
|
+
*/
|
|
174
|
+
export declare function authorizeCompressor(tools: ToolDefinition[], config: ToolConfig, policy: SafetyPolicy, env?: NodeJS.ProcessEnv): CompressorAuthorization;
|
|
175
|
+
export {};
|
|
65
176
|
//# sourceMappingURL=headroom-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headroom-adapter.d.ts","sourceRoot":"","sources":["../src/headroom-adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"headroom-adapter.d.ts","sourceRoot":"","sources":["../src/headroom-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAE7C,mFAAmF;AACnF,KAAK,KAAK,GAAG,OAAO,SAAS,CAAC;AAE9B;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,GAAG,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7E,CAAC;AA4BF;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAG7E;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,EAAE,CAUV;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,QA2BhB,CAAC;AAmBb;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,SAAS,SAAS,EAClB,KAAK,GAAE,KAAiB,GACvB,cAAc,CA2ChB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,SAAS,SAAS,EAClB,KAAK,GAAE,KAAiB,GACvB,cAAc,CAqBhB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,SAAS,SAAS,EAClB,KAAK,GAAE,KAAiB,GACvB,cAAc,CAKhB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,GAAE,cAAwC,GAC/C,iBAAiB,CAWnB;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,GAAE,cAAwC,GAC/C,qBAAqB,CAOvB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,cAAc,CAqCvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,EAAE,CAMV;AAED,6DAA6D;AAC7D,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EAAE,EACvB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,YAAY,EACpB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,uBAAuB,CA2DzB"}
|
package/dist/headroom-adapter.js
CHANGED
|
@@ -1,71 +1,231 @@
|
|
|
1
1
|
import { spawnSync } from "node:child_process";
|
|
2
|
+
import { COMPRESSION_CATEGORIES } from "./context-compressor.js";
|
|
3
|
+
import { authorizeToolInvocation } from "./tools.js";
|
|
2
4
|
/**
|
|
3
|
-
* Headroom adapter (issue #112 P20)
|
|
5
|
+
* Headroom adapter (issue #112 P20).
|
|
4
6
|
* [Headroom](https://github.com/headroomlabs-ai/headroom) compresses token-heavy
|
|
5
|
-
* content (tool outputs, logs, RAG chunks, files, history).
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* the
|
|
7
|
+
* content (tool outputs, logs, RAG chunks, files, history). A
|
|
8
|
+
* {@link headroomToolDefinition} entry under `.otto/tools/` makes it
|
|
9
|
+
* `otto-tools list`/`health`-visible and governs it: {@link authorizeCompressor}
|
|
10
|
+
* honors the tool's `enabled` flag and authorizes its command against
|
|
11
|
+
* `.otto/policy.json`. It is **not** *stage*-gated, though — the compressor runs
|
|
12
|
+
* at the render boundary, not per stage ([#192](https://github.com/phamvuhoang/otto/issues/192)).
|
|
9
13
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* TypeScript library path slot in behind the same {@link ContextCompressor}
|
|
14
|
-
* interface without changing callers; proxy/wrapper mode stays an explicit
|
|
15
|
-
* advanced option because it alters provider transport.
|
|
14
|
+
* Otto drives Headroom's real `compress(messages, model)` library through a
|
|
15
|
+
* synchronous subprocess (the render/`@spill` boundary cannot await). Two runners
|
|
16
|
+
* sit behind one {@link HeadroomRunner} contract:
|
|
16
17
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
18
|
+
* - **library mode (default):** spawn `python3 -c <bridge>` calling
|
|
19
|
+
* `from headroom import compress` — Headroom's documented API (needs the
|
|
20
|
+
* `headroom-ai[ml]` extra; the base package leaves plain text unchanged).
|
|
21
|
+
* Inference is **local** with **no per-call API/cost** (`HEADROOM_MODEL` only
|
|
22
|
+
* selects the tokenizer), but the ML model is **downloaded once from Hugging
|
|
23
|
+
* Face** (~260–600 MB) on first use. Otto forces offline by default (no fetch);
|
|
24
|
+
* when you opt in ({@link authorizeCompressor} pre-authorizes the resolved
|
|
25
|
+
* endpoint against policy + declared domains, though it cannot intercept the
|
|
26
|
+
* subprocess's traffic), so pre-warm it (`HF_HUB_OFFLINE=0` / `HF_ENDPOINT`). The
|
|
27
|
+
* interpreter is overridable via `OTTO_HEADROOM_PYTHON`.
|
|
28
|
+
* - **command mode:** when `OTTO_HEADROOM_BIN` is set, shell out to that binary
|
|
29
|
+
* with `compress --category <c>` (stdin → compressed stdout) — an escape hatch
|
|
30
|
+
* for a custom compressor that already speaks this contract.
|
|
31
|
+
*
|
|
32
|
+
* {@link resolveHeadroomRunner} picks the mode. Everything is injectable (the
|
|
33
|
+
* runner and its `spawn`) so tests never spawn a real process, and a missing
|
|
34
|
+
* interpreter / library degrades cleanly (the compressor reports unavailable or
|
|
35
|
+
* `ok: false` and the orchestrator keeps the original content).
|
|
20
36
|
*/
|
|
21
|
-
/**
|
|
22
|
-
export const HEADROOM_VERSION = "headroom-
|
|
37
|
+
/** Compressor identity recorded on each compression (mode-agnostic). */
|
|
38
|
+
export const HEADROOM_VERSION = "headroom-1";
|
|
23
39
|
/** Resolve the headroom binary name (env override, else `headroom`). */
|
|
24
40
|
function headroomBin(env) {
|
|
25
41
|
const b = env.OTTO_HEADROOM_BIN;
|
|
26
42
|
return typeof b === "string" && b.length > 0 ? b : "headroom";
|
|
27
43
|
}
|
|
44
|
+
/** Resolve the Python interpreter for library mode (env override, else `python3`). */
|
|
45
|
+
function pythonBin(env) {
|
|
46
|
+
const p = env.OTTO_HEADROOM_PYTHON;
|
|
47
|
+
return typeof p === "string" && p.length > 0 ? p : "python3";
|
|
48
|
+
}
|
|
49
|
+
/** The Hugging Face hosts the ML model is fetched from by default (no HF_ENDPOINT). */
|
|
50
|
+
const HF_DEFAULT_DOMAINS = ["huggingface.co", "cdn-lfs.huggingface.co"];
|
|
28
51
|
/**
|
|
29
|
-
*
|
|
30
|
-
* `headroom
|
|
31
|
-
*
|
|
32
|
-
*
|
|
52
|
+
* Python one-liner that exits 0 only when Headroom's ML compressor can actually run.
|
|
53
|
+
* `import headroom` passes on the passthrough-only base package, and `import torch`
|
|
54
|
+
* can pass with torch installed independently while other deps are missing — so we
|
|
55
|
+
* defer to Headroom's own `is_kompress_available()` (checks the real ONNX **or**
|
|
56
|
+
* PyTorch backend stack). Contains no quotes, so it embeds cleanly in the `node -e`
|
|
57
|
+
* health probe. A changed module path fails closed (reports unavailable → degrade).
|
|
33
58
|
*/
|
|
34
|
-
|
|
35
|
-
|
|
59
|
+
const KOMPRESS_PROBE = "import sys; from headroom.transforms.kompress_compressor import is_kompress_available; sys.exit(0 if is_kompress_available() else 1)";
|
|
60
|
+
/**
|
|
61
|
+
* Whether the compressor subprocess runs offline. Otto forces `HF_HUB_OFFLINE=1`
|
|
62
|
+
* by default (the runner injects `env.HF_HUB_OFFLINE ?? "1"`), and this MUST match
|
|
63
|
+
* Hugging Face's own parsing so {@link authorizeCompressor}'s "can it reach the
|
|
64
|
+
* network?" matches reality: HF treats only `1`/`true`/`yes`/`on` (case-insensitive)
|
|
65
|
+
* as offline — every other value (e.g. `maybe`) is **online**. Treating an
|
|
66
|
+
* unrecognized value as offline would skip policy authorization while the run
|
|
67
|
+
* actually went online.
|
|
68
|
+
*/
|
|
69
|
+
export function headroomOffline(env = process.env) {
|
|
70
|
+
const v = (env.HF_HUB_OFFLINE ?? "1").trim().toLowerCase();
|
|
71
|
+
return v === "1" || v === "true" || v === "yes" || v === "on";
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* The network host(s) the ML model fetch would ACTUALLY reach, resolved from env
|
|
75
|
+
* like Hugging Face does: `HF_ENDPOINT` (its host) overrides the default HF hosts.
|
|
76
|
+
* Authorizing the resolved endpoint — not the static `tool.networkDomains` — closes
|
|
77
|
+
* the gap where `HF_ENDPOINT=https://evil.example` would slip past a policy that
|
|
78
|
+
* only allows `huggingface.co`.
|
|
79
|
+
*/
|
|
80
|
+
export function headroomNetworkDomains(env = process.env) {
|
|
81
|
+
const ep = env.HF_ENDPOINT;
|
|
82
|
+
if (typeof ep === "string" && ep.length > 0) {
|
|
83
|
+
try {
|
|
84
|
+
return [new URL(ep).hostname];
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
return [ep];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return [...HF_DEFAULT_DOMAINS];
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* The Python bridge driven in library mode: read the spill text on stdin, run it
|
|
94
|
+
* through Headroom's `compress(messages, model)`, and write the compressed text to
|
|
95
|
+
* stdout. Built line-by-line (Python is whitespace-sensitive) so it survives as a
|
|
96
|
+
* `python3 -c` argument. Exit codes are diagnostic only — any non-zero exit is a
|
|
97
|
+
* recoverable failure the orchestrator turns into a degraded passthrough:
|
|
98
|
+
* 2 = library not importable, 1 = compress() raised (e.g. weights not cached
|
|
99
|
+
* while offline), 3 = empty output (never blank out a non-empty spill).
|
|
100
|
+
*/
|
|
101
|
+
export const HEADROOM_BRIDGE = [
|
|
102
|
+
"import sys, os",
|
|
103
|
+
"try:",
|
|
104
|
+
" from headroom import compress",
|
|
105
|
+
"except Exception as e:",
|
|
106
|
+
" sys.stderr.write('headroom import failed: %s' % e); sys.exit(2)",
|
|
107
|
+
"text = sys.stdin.read()",
|
|
108
|
+
"model = os.environ.get('HEADROOM_MODEL', 'gpt-4o-mini')",
|
|
109
|
+
"try:",
|
|
110
|
+
// compress_user_messages=True + protect_recent=0: by default Headroom protects
|
|
111
|
+
// the latest message and recent context, so a single user message would be left
|
|
112
|
+
// uncompressed. We hand it ONE message and want THAT compressed, so opt in.
|
|
113
|
+
" result = compress([{'role': 'user', 'content': text}], model=model, compress_user_messages=True, protect_recent=0)",
|
|
114
|
+
"except Exception as e:",
|
|
115
|
+
" sys.stderr.write('headroom compress failed: %s' % e); sys.exit(1)",
|
|
116
|
+
"msgs = getattr(result, 'messages', None)",
|
|
117
|
+
"if msgs is None:",
|
|
118
|
+
" msgs = result if isinstance(result, list) else []",
|
|
119
|
+
"parts = []",
|
|
120
|
+
"for m in msgs:",
|
|
121
|
+
" c = m.get('content') if isinstance(m, dict) else getattr(m, 'content', '')",
|
|
122
|
+
" if c:",
|
|
123
|
+
" parts.append(c)",
|
|
124
|
+
"out = '\\n'.join(parts)",
|
|
125
|
+
"if not out.strip():",
|
|
126
|
+
" sys.stderr.write('headroom returned empty output'); sys.exit(3)",
|
|
127
|
+
"sys.stdout.write(out)",
|
|
128
|
+
].join("\n");
|
|
129
|
+
/** Map a finished spawn result onto the runner's `{ok,text,note}` contract. */
|
|
130
|
+
function fromSpawn(r, fallbackText) {
|
|
131
|
+
if (r.status !== 0 || typeof r.stdout !== "string") {
|
|
132
|
+
const stderr = typeof r.stderr === "string" && r.stderr.trim() ? r.stderr.trim() : "";
|
|
133
|
+
return {
|
|
134
|
+
ok: false,
|
|
135
|
+
text: fallbackText,
|
|
136
|
+
note: r.error?.message ?? (stderr || `headroom exit ${r.status}`),
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
return { ok: true, text: r.stdout };
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Library-mode runner (default): probe {@link KOMPRESS_PROBE} for availability
|
|
143
|
+
* (Headroom's `is_kompress_available()` — the real ML backend, not just an import;
|
|
144
|
+
* base is passthrough-only), then run {@link HEADROOM_BRIDGE} per compression.
|
|
145
|
+
* Honors `OTTO_HEADROOM_PYTHON`; inference is local (no API key) and runs with
|
|
146
|
+
* `HF_HUB_OFFLINE=1` by default, so first use needs pre-cached model weights.
|
|
147
|
+
*/
|
|
148
|
+
export function libraryHeadroomRunner(env = process.env, timeoutMs = 30_000, spawn = spawnSync) {
|
|
149
|
+
const py = pythonBin(env);
|
|
36
150
|
return {
|
|
37
151
|
available: () => {
|
|
38
152
|
try {
|
|
39
|
-
|
|
153
|
+
// Verify the ML backend can actually run ({@link KOMPRESS_PROBE}), not just
|
|
154
|
+
// `import headroom`: the base package imports fine but only does passthrough,
|
|
155
|
+
// so a base-only (or partial) install must report unavailable (clean degrade)
|
|
156
|
+
// rather than silently not compress.
|
|
157
|
+
return (spawn(py, ["-c", KOMPRESS_PROBE], { timeout: 5_000 }).status === 0);
|
|
40
158
|
}
|
|
41
159
|
catch {
|
|
42
160
|
return false;
|
|
43
161
|
}
|
|
44
162
|
},
|
|
45
|
-
run: (input) => {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
163
|
+
run: (input) => fromSpawn(spawn(py, ["-c", HEADROOM_BRIDGE], {
|
|
164
|
+
input: input.text,
|
|
165
|
+
encoding: "utf8",
|
|
166
|
+
timeout: timeoutMs,
|
|
167
|
+
maxBuffer: 64 * 1024 * 1024,
|
|
168
|
+
// Run offline by DEFAULT (#192): the ML model is a one-time Hugging Face
|
|
169
|
+
// download Otto cannot intercept (authorizeCompressor pre-authorizes the
|
|
170
|
+
// endpoint but does not proxy subprocess traffic) and that would blow
|
|
171
|
+
// `timeoutMs` mid-run. Forcing HF_HUB_OFFLINE means a run never fetches —
|
|
172
|
+
// it uses pre-cached weights or degrades cleanly. Respect an explicit
|
|
173
|
+
// value (set HF_HUB_OFFLINE=0 to allow the in-run download).
|
|
174
|
+
// Force HF_HUB_DISABLE_XET=1 (unconditionally): modern huggingface_hub
|
|
175
|
+
// routes transfers through hf_xet's own hosts, which the tool's declared
|
|
176
|
+
// networkDomains do NOT cover — disabling Xet keeps the transfer on the
|
|
177
|
+
// classic huggingface.co / cdn-lfs.huggingface.co path we authorize, so
|
|
178
|
+
// policy authorization actually bounds the network surface.
|
|
179
|
+
env: {
|
|
180
|
+
...env,
|
|
181
|
+
HF_HUB_OFFLINE: env.HF_HUB_OFFLINE ?? "1",
|
|
182
|
+
HF_HUB_DISABLE_XET: "1",
|
|
183
|
+
},
|
|
184
|
+
}), input.text),
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Command-mode runner: `<bin> --version` for availability, and
|
|
189
|
+
* `<bin> compress --category <c>` (content on stdin → compressed stdout) for one
|
|
190
|
+
* compression. Selected only when `OTTO_HEADROOM_BIN` is set — a custom compressor
|
|
191
|
+
* already speaking this contract. A non-zero exit / spawn error degrades cleanly.
|
|
192
|
+
*/
|
|
193
|
+
export function defaultHeadroomRunner(env = process.env, timeoutMs = 30_000, spawn = spawnSync) {
|
|
194
|
+
const bin = headroomBin(env);
|
|
195
|
+
return {
|
|
196
|
+
available: () => {
|
|
197
|
+
try {
|
|
198
|
+
return spawn(bin, ["--version"], { timeout: 5_000 }).status === 0;
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
return false;
|
|
58
202
|
}
|
|
59
|
-
return { ok: true, text: r.stdout };
|
|
60
203
|
},
|
|
204
|
+
run: (input) => fromSpawn(spawn(bin, ["compress", "--category", input.category], {
|
|
205
|
+
input: input.text,
|
|
206
|
+
encoding: "utf8",
|
|
207
|
+
timeout: timeoutMs,
|
|
208
|
+
maxBuffer: 64 * 1024 * 1024,
|
|
209
|
+
}), input.text),
|
|
61
210
|
};
|
|
62
211
|
}
|
|
212
|
+
/**
|
|
213
|
+
* Pick the runner: command mode when `OTTO_HEADROOM_BIN` is set (custom binary),
|
|
214
|
+
* else library mode (Headroom's `compress()` via the Python bridge). The default
|
|
215
|
+
* for both compressor factories.
|
|
216
|
+
*/
|
|
217
|
+
export function resolveHeadroomRunner(env = process.env, timeoutMs = 30_000, spawn = spawnSync) {
|
|
218
|
+
const bin = env.OTTO_HEADROOM_BIN;
|
|
219
|
+
return typeof bin === "string" && bin.length > 0
|
|
220
|
+
? defaultHeadroomRunner(env, timeoutMs, spawn)
|
|
221
|
+
: libraryHeadroomRunner(env, timeoutMs, spawn);
|
|
222
|
+
}
|
|
63
223
|
/**
|
|
64
224
|
* Build a {@link ContextCompressor} over a {@link HeadroomRunner}. Availability
|
|
65
225
|
* is cached per instance after the first probe so a run does not re-spawn
|
|
66
226
|
* `headroom --version` for every compression.
|
|
67
227
|
*/
|
|
68
|
-
export function createHeadroomCompressor(runner =
|
|
228
|
+
export function createHeadroomCompressor(runner = resolveHeadroomRunner()) {
|
|
69
229
|
let probed;
|
|
70
230
|
return {
|
|
71
231
|
name: "headroom",
|
|
@@ -84,7 +244,7 @@ export function createHeadroomCompressor(runner = defaultHeadroomRunner()) {
|
|
|
84
244
|
* `headroom --version` per run). The runner is synchronous (spawnSync), so this
|
|
85
245
|
* needs no event loop — exactly what `renderTemplate` requires.
|
|
86
246
|
*/
|
|
87
|
-
export function createHeadroomSyncCompressor(runner =
|
|
247
|
+
export function createHeadroomSyncCompressor(runner = resolveHeadroomRunner()) {
|
|
88
248
|
return {
|
|
89
249
|
name: "headroom",
|
|
90
250
|
version: HEADROOM_VERSION,
|
|
@@ -93,28 +253,154 @@ export function createHeadroomSyncCompressor(runner = defaultHeadroomRunner()) {
|
|
|
93
253
|
};
|
|
94
254
|
}
|
|
95
255
|
/**
|
|
96
|
-
* The {@link ToolDefinition} a repo drops into `.otto/tools/headroom.json
|
|
97
|
-
* the
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
256
|
+
* The {@link ToolDefinition} a repo drops into `.otto/tools/headroom.json`. It is
|
|
257
|
+
* the registry/`otto-tools` surface and the governance hook ({@link
|
|
258
|
+
* authorizeCompressor} reads its `enabled` flag and authorizes its `command`
|
|
259
|
+
* against policy). `stages: []` is irrelevant to the compressor — it runs at the
|
|
260
|
+
* render boundary, not per stage — so it is NOT stage-gated. Returned as a value
|
|
261
|
+
* so `otto-extensions` (P21 `context-saver`) can generate it.
|
|
101
262
|
*/
|
|
102
263
|
export function headroomToolDefinition() {
|
|
103
264
|
return {
|
|
104
265
|
name: "headroom",
|
|
105
266
|
kind: "command",
|
|
106
|
-
description: "
|
|
267
|
+
description: "Context compressor (Headroom library mode): compresses token-heavy @spill content via headroom-ai's local compress() (needs the `[ml]` extra; `model` only selects the tokenizer, no API key). First use downloads the kompress-base model (~260–600 MB) from Hugging Face — pre-warm it (see docs/INTEGRATIONS.md §4).",
|
|
107
268
|
capabilities: ["compression", "context-engineering"],
|
|
108
269
|
stages: [],
|
|
109
|
-
command: "headroom compress",
|
|
110
|
-
env: [
|
|
111
|
-
|
|
270
|
+
command: "python3 -c 'from headroom import compress'",
|
|
271
|
+
env: [
|
|
272
|
+
"OTTO_HEADROOM_BIN",
|
|
273
|
+
"OTTO_HEADROOM_PYTHON",
|
|
274
|
+
"HEADROOM_MODEL",
|
|
275
|
+
"HF_HUB_OFFLINE",
|
|
276
|
+
"HF_HUB_DISABLE_XET",
|
|
277
|
+
"HF_ENDPOINT",
|
|
278
|
+
],
|
|
279
|
+
// The ML compressor fetches the kompress-base weights from Hugging Face on
|
|
280
|
+
// first use. Declared here for an honest inventory, but Otto does NOT proxy the
|
|
281
|
+
// subprocess, so this is not runtime-enforced — pre-download + HF_HUB_OFFLINE=1
|
|
282
|
+
// (or an HF_ENDPOINT mirror) to keep a run offline (docs/INTEGRATIONS.md §4).
|
|
283
|
+
// Otto forces HF_HUB_DISABLE_XET=1 so transfers stay on these hosts (Xet uses
|
|
284
|
+
// its own hosts these would not cover).
|
|
285
|
+
networkDomains: [...HF_DEFAULT_DOMAINS],
|
|
112
286
|
writeRoots: [],
|
|
113
287
|
secretRefs: [],
|
|
114
288
|
approvalActions: [],
|
|
115
289
|
timeoutMs: 30_000,
|
|
116
|
-
|
|
290
|
+
// Mirror runtime resolution (#192 part 3) cross-platform: a `node -e` probe
|
|
291
|
+
// (node is always present — Otto is a Node CLI) honors the same env a run does
|
|
292
|
+
// — `$OTTO_HEADROOM_BIN --version` in command mode, else Headroom's own
|
|
293
|
+
// `is_kompress_available()` ({@link KOMPRESS_PROBE}), which verifies the ML
|
|
294
|
+
// backend (`headroom-ai[ml]`) — base is passthrough-only and would pass a bare
|
|
295
|
+
// `import headroom`. No POSIX shell builtins, so it works under cmd.exe too.
|
|
296
|
+
healthCheck: `node -e "const{execFileSync}=require('child_process');const b=process.env.OTTO_HEADROOM_BIN;try{execFileSync(b||process.env.OTTO_HEADROOM_PYTHON||'python3',b?['--version']:['-c','${KOMPRESS_PROBE}'],{stdio:'ignore'})}catch(e){process.exit(1)}"`,
|
|
117
297
|
enabled: true,
|
|
118
298
|
};
|
|
119
299
|
}
|
|
300
|
+
/**
|
|
301
|
+
* Every command a run could ACTUALLY execute, resolved from env exactly as
|
|
302
|
+
* {@link resolveHeadroomRunner} does — so policy authorizes what runs, not a
|
|
303
|
+
* static placeholder (issue #192 part 2 follow-up). Command mode emits one entry
|
|
304
|
+
* **per category** (`<bin> compress --category <c>`), matching the real argv, so
|
|
305
|
+
* an argument-specific `blockedCommands` pattern (e.g. `--category command-log`)
|
|
306
|
+
* cannot slip past. Library mode is a single `<python> -c <bridge>` (the bridge
|
|
307
|
+
* text carries `headroom`, so a pattern can match the interpreter or the library).
|
|
308
|
+
*/
|
|
309
|
+
export function headroomCommands(env = process.env) {
|
|
310
|
+
const bin = env.OTTO_HEADROOM_BIN;
|
|
311
|
+
if (typeof bin === "string" && bin.length > 0) {
|
|
312
|
+
return COMPRESSION_CATEGORIES.map((c) => `${bin} compress --category ${c}`);
|
|
313
|
+
}
|
|
314
|
+
return [`${pythonBin(env)} -c ${HEADROOM_BRIDGE}`];
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Gate the compressor on tool-registry + policy authority (issue #192 part 2).
|
|
318
|
+
* The compressor is a render-boundary concern, not a per-stage tool, so it is NOT
|
|
319
|
+
* stage-gated (a registered `headroom` tool's `stages: []` is irrelevant here).
|
|
320
|
+
* But when a repo registers the `headroom` tool, the registry and policy DO govern
|
|
321
|
+
* it:
|
|
322
|
+
*
|
|
323
|
+
* - no `headroom` tool registered → the **built-in** {@link headroomToolDefinition}
|
|
324
|
+
* is used for the policy checks (the compressor is enabled by flag/config, not the
|
|
325
|
+
* registry, so a flag/config-only run must still be pre-authorized). A bare repo
|
|
326
|
+
* under `DEFAULT_POLICY` still passes; a restrictive policy still gates it;
|
|
327
|
+
* - tool disabled (registry `enabled: false` or a config override) → denied;
|
|
328
|
+
* - any command that WOULD RUN ({@link headroomCommands}, resolved from `env` like
|
|
329
|
+
* the runtime — one per category in command mode, with `--category <c>`) blocked
|
|
330
|
+
* by `.otto/policy.json` → denied, with the blocked {@link SafetyEvent}s for the
|
|
331
|
+
* evidence bundle. Authorizing the resolved commands (not the static
|
|
332
|
+
* `tool.command`) closes the gap where `OTTO_HEADROOM_BIN` pointed at a
|
|
333
|
+
* policy-blocked binary, or an argument-specific pattern, that authorization
|
|
334
|
+
* never saw;
|
|
335
|
+
* - in **library mode** only, when the run is **not** offline (the user set an
|
|
336
|
+
* online `HF_HUB_OFFLINE`, opting into the in-run model download), the **resolved**
|
|
337
|
+
* endpoint ({@link headroomNetworkDomains}, honoring `HF_ENDPOINT`) is authorized
|
|
338
|
+
* against the repo's `allowedNetworkDomains` — so a network-restricted repo denies
|
|
339
|
+
* the compressor rather than letting it reach an ungoverned host. Offline (the
|
|
340
|
+
* default) reaches no network; command mode (a custom `OTTO_HEADROOM_BIN`) does
|
|
341
|
+
* not use the Python library, so neither triggers the HF check.
|
|
342
|
+
*
|
|
343
|
+
* Pure: the registry, config, policy, and `env` are injected (the loop passes the
|
|
344
|
+
* process env). Default policy + no override always allows.
|
|
345
|
+
*/
|
|
346
|
+
export function authorizeCompressor(tools, config, policy, env = process.env) {
|
|
347
|
+
// The compressor is enabled by flag/config, not the registry — so when no
|
|
348
|
+
// `.otto/tools/headroom.json` exists, fall back to the built-in definition for the
|
|
349
|
+
// policy checks rather than skipping them (#192). A bare repo under DEFAULT_POLICY
|
|
350
|
+
// still passes; a restrictive policy still gates the resolved command/endpoint.
|
|
351
|
+
const registered = tools.find((t) => t.name === "headroom");
|
|
352
|
+
const tool = registered ?? headroomToolDefinition();
|
|
353
|
+
const source = registered ? "registry" : "built-in";
|
|
354
|
+
const enabled = config.overrides[tool.name]?.enabled ?? tool.enabled;
|
|
355
|
+
if (!enabled) {
|
|
356
|
+
return {
|
|
357
|
+
allowed: false,
|
|
358
|
+
reason: "headroom tool disabled in registry/config",
|
|
359
|
+
events: [],
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
// Authorize every command the run could execute (per-category in command mode);
|
|
363
|
+
// deny if ANY is blocked, aggregating the events.
|
|
364
|
+
const events = [];
|
|
365
|
+
const kinds = new Set();
|
|
366
|
+
for (const command of headroomCommands(env)) {
|
|
367
|
+
const auth = authorizeToolInvocation(policy, tool, { command });
|
|
368
|
+
if (!auth.allowed) {
|
|
369
|
+
events.push(...auth.events);
|
|
370
|
+
for (const v of auth.violations)
|
|
371
|
+
kinds.add(v.kind);
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
// Library mode only: when the run opts OUT of offline mode it may fetch the model
|
|
375
|
+
// from Hugging Face — authorize the RESOLVED endpoint (honoring HF_ENDPOINT)
|
|
376
|
+
// against repo policy so a restricted repo denies it. Command mode (a custom
|
|
377
|
+
// OTTO_HEADROOM_BIN) bypasses the Python library, so the HF check doesn't apply.
|
|
378
|
+
const libraryMode = !(typeof env.OTTO_HEADROOM_BIN === "string" &&
|
|
379
|
+
env.OTTO_HEADROOM_BIN.length > 0);
|
|
380
|
+
if (libraryMode && !headroomOffline(env)) {
|
|
381
|
+
const resolved = headroomNetworkDomains(env);
|
|
382
|
+
// Authorize the RESOLVED endpoint against BOTH the repo policy AND the tool's
|
|
383
|
+
// DECLARED networkDomains (pass the original `tool`). A HF_ENDPOINT outside the
|
|
384
|
+
// registry declaration is denied even under an unrestricted repo policy — a
|
|
385
|
+
// trusted mirror must be added to the tool's networkDomains explicitly.
|
|
386
|
+
const net = authorizeToolInvocation(policy, tool, { domains: resolved });
|
|
387
|
+
if (!net.allowed) {
|
|
388
|
+
events.push(...net.events);
|
|
389
|
+
for (const v of net.violations)
|
|
390
|
+
kinds.add(v.kind);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
if (events.length > 0) {
|
|
394
|
+
return {
|
|
395
|
+
allowed: false,
|
|
396
|
+
reason: `headroom (${source}) blocked by policy (${[...kinds].join(", ")})`,
|
|
397
|
+
events,
|
|
398
|
+
};
|
|
399
|
+
}
|
|
400
|
+
return {
|
|
401
|
+
allowed: true,
|
|
402
|
+
reason: `authorized by ${source} + policy`,
|
|
403
|
+
events: [],
|
|
404
|
+
};
|
|
405
|
+
}
|
|
120
406
|
//# sourceMappingURL=headroom-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headroom-adapter.js","sourceRoot":"","sources":["../src/headroom-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"headroom-adapter.js","sourceRoot":"","sources":["../src/headroom-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAQjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAGrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,wEAAwE;AACxE,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAe7C,wEAAwE;AACxE,SAAS,WAAW,CAAC,GAAsB;IACzC,MAAM,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC;IAChC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AAChE,CAAC;AAED,sFAAsF;AACtF,SAAS,SAAS,CAAC,GAAsB;IACvC,MAAM,CAAC,GAAG,GAAG,CAAC,oBAAoB,CAAC;IACnC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,uFAAuF;AACvF,MAAM,kBAAkB,GAAG,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC;AAExE;;;;;;;GAOG;AACH,MAAM,cAAc,GAClB,sIAAsI,CAAC;AAEzI;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,MAAyB,OAAO,CAAC,GAAG;IAClE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3D,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC;IAC3B,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,EAAE,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,kBAAkB,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,gBAAgB;IAChB,MAAM;IACN,mCAAmC;IACnC,wBAAwB;IACxB,qEAAqE;IACrE,yBAAyB;IACzB,yDAAyD;IACzD,MAAM;IACN,+EAA+E;IAC/E,gFAAgF;IAChF,4EAA4E;IAC5E,wHAAwH;IACxH,wBAAwB;IACxB,uEAAuE;IACvE,0CAA0C;IAC1C,kBAAkB;IAClB,uDAAuD;IACvD,YAAY;IACZ,gBAAgB;IAChB,gFAAgF;IAChF,WAAW;IACX,yBAAyB;IACzB,yBAAyB;IACzB,qBAAqB;IACrB,qEAAqE;IACrE,uBAAuB;CACxB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,+EAA+E;AAC/E,SAAS,SAAS,CAChB,CAAoB,EACpB,YAAoB;IAEpB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACnD,MAAM,MAAM,GACV,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,MAAM,IAAI,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;SAClE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAyB,OAAO,CAAC,GAAG,EACpC,SAAS,GAAG,MAAM,EAClB,QAAe,SAAS;IAExB,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO;QACL,SAAS,EAAE,GAAG,EAAE;YACd,IAAI,CAAC;gBACH,4EAA4E;gBAC5E,8EAA8E;gBAC9E,8EAA8E;gBAC9E,qCAAqC;gBACrC,OAAO,CACL,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CACnE,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CACb,SAAS,CACP,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE;YACjC,KAAK,EAAE,KAAK,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;YAC3B,yEAAyE;YACzE,yEAAyE;YACzE,sEAAsE;YACtE,0EAA0E;YAC1E,sEAAsE;YACtE,6DAA6D;YAC7D,uEAAuE;YACvE,yEAAyE;YACzE,wEAAwE;YACxE,wEAAwE;YACxE,4DAA4D;YAC5D,GAAG,EAAE;gBACH,GAAG,GAAG;gBACN,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,GAAG;gBACzC,kBAAkB,EAAE,GAAG;aACxB;SACF,CAAC,EACF,KAAK,CAAC,IAAI,CACX;KACJ,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAyB,OAAO,CAAC,GAAG,EACpC,SAAS,GAAG,MAAM,EAClB,QAAe,SAAS;IAExB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO;QACL,SAAS,EAAE,GAAG,EAAE;YACd,IAAI,CAAC;gBACH,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CACb,SAAS,CACP,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;YACrD,KAAK,EAAE,KAAK,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;SAC5B,CAAC,EACF,KAAK,CAAC,IAAI,CACX;KACJ,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAyB,OAAO,CAAC,GAAG,EACpC,SAAS,GAAG,MAAM,EAClB,QAAe,SAAS;IAExB,MAAM,GAAG,GAAG,GAAG,CAAC,iBAAiB,CAAC;IAClC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAC9C,CAAC,CAAC,qBAAqB,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC;QAC9C,CAAC,CAAC,qBAAqB,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,SAAyB,qBAAqB,EAAE;IAEhD,IAAI,MAA2B,CAAC;IAChC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,GAAG,EAAE;YAChB,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YACtD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACxD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,SAAyB,qBAAqB,EAAE;IAEhD,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,gBAAgB;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE;QAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;KACvC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,WAAW,EACT,yTAAyT;QAC3T,YAAY,EAAE,CAAC,aAAa,EAAE,qBAAqB,CAAC;QACpD,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,4CAA4C;QACrD,GAAG,EAAE;YACH,mBAAmB;YACnB,sBAAsB;YACtB,gBAAgB;YAChB,gBAAgB;YAChB,oBAAoB;YACpB,aAAa;SACd;QACD,2EAA2E;QAC3E,gFAAgF;QAChF,gFAAgF;QAChF,8EAA8E;QAC9E,8EAA8E;QAC9E,wCAAwC;QACxC,cAAc,EAAE,CAAC,GAAG,kBAAkB,CAAC;QACvC,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,EAAE;QACd,eAAe,EAAE,EAAE;QACnB,SAAS,EAAE,MAAM;QACjB,4EAA4E;QAC5E,+EAA+E;QAC/E,wEAAwE;QACxE,4EAA4E;QAC5E,+EAA+E;QAC/E,6EAA6E;QAC7E,WAAW,EAAE,sLAAsL,cAAc,iDAAiD;QAClQ,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,GAAG,GAAG,GAAG,CAAC,iBAAiB,CAAC;IAClC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,eAAe,EAAE,CAAC,CAAC;AACrD,CAAC;AAUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAuB,EACvB,MAAkB,EAClB,MAAoB,EACpB,MAAyB,OAAO,CAAC,GAAG;IAEpC,0EAA0E;IAC1E,mFAAmF;IACnF,mFAAmF;IACnF,gFAAgF;IAChF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,UAAU,IAAI,sBAAsB,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;IACrE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,2CAA2C;YACnD,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IACD,gFAAgF;IAChF,kDAAkD;IAClD,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,uBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,kFAAkF;IAClF,6EAA6E;IAC7E,6EAA6E;IAC7E,iFAAiF;IACjF,MAAM,WAAW,GAAG,CAAC,CACnB,OAAO,GAAG,CAAC,iBAAiB,KAAK,QAAQ;QACzC,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CACjC,CAAC;IACF,IAAI,WAAW,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC7C,8EAA8E;QAC9E,gFAAgF;QAChF,4EAA4E;QAC5E,wEAAwE;QACxE,MAAM,GAAG,GAAG,uBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,aAAa,MAAM,wBAAwB,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC3E,MAAM;SACP,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,iBAAiB,MAAM,WAAW;QAC1C,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export { formatPlainReport, runExplain, type ExplainDeps, } from "./report-expla
|
|
|
22
22
|
export { formatRunsList, runRuns, summarizeManifest, type RunsDeps, type RunSummary, } from "./runs-cli.js";
|
|
23
23
|
export { formatContextReportRun, runContextReport, type ContextReportDeps, } from "./context-report-cli.js";
|
|
24
24
|
export { compressContent, compressContentSync, compressionToolUsage, formatCompressionSummary, readCompressorMode, resolveCompressorMode, runRetrievalStore, summarizeCompression, summarizeToolCompression, type CompressInput, type CompressOutput, type CompressionCategory, type CompressionSummary, type CompressorMode, type ContextCompressor, type RetrievalStore, type SyncContextCompressor, } from "./context-compressor.js";
|
|
25
|
-
export { HEADROOM_VERSION, createHeadroomCompressor, createHeadroomSyncCompressor, defaultHeadroomRunner, headroomToolDefinition, type HeadroomRunner, } from "./headroom-adapter.js";
|
|
25
|
+
export { HEADROOM_BRIDGE, HEADROOM_VERSION, authorizeCompressor, createHeadroomCompressor, createHeadroomSyncCompressor, defaultHeadroomRunner, headroomCommands, headroomNetworkDomains, headroomOffline, headroomToolDefinition, libraryHeadroomRunner, resolveHeadroomRunner, type CompressorAuthorization, type HeadroomRunner, } from "./headroom-adapter.js";
|
|
26
26
|
export { formatPlanReport, readTaskPlans, runPlanReport, type PlanReportDeps, type TaskPlanScore, } from "./plan-report-cli.js";
|
|
27
27
|
export { formatAuditReport, runMemory, type MemoryDeps } from "./memory-cli.js";
|
|
28
28
|
export { allocateMemoryId, auditMemory, boundLearnings, detectConflicts, DEFAULT_FREQUENT_USE, DEFAULT_LEARNINGS_BUDGET_CHARS, formatBoundedLearnings, listMemoryIds, memoryDir, memoryRecordPath, memoryStatus, parseMemoryRecord, projectLearnings, readMemoryRecord, readMemoryRecords, selectRelevantMemory, supersede, touchMemory, writeMemoryRecord, type AuditReport, type BoundedMemory, type MemoryRecord, type MemorySelectionContext, type MemoryStatus, type MemoryTrust, type Supersession, } from "./memory.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -22,7 +22,7 @@ export { formatPlainReport, runExplain, } from "./report-explain.js";
|
|
|
22
22
|
export { formatRunsList, runRuns, summarizeManifest, } from "./runs-cli.js";
|
|
23
23
|
export { formatContextReportRun, runContextReport, } from "./context-report-cli.js";
|
|
24
24
|
export { compressContent, compressContentSync, compressionToolUsage, formatCompressionSummary, readCompressorMode, resolveCompressorMode, runRetrievalStore, summarizeCompression, summarizeToolCompression, } from "./context-compressor.js";
|
|
25
|
-
export { HEADROOM_VERSION, createHeadroomCompressor, createHeadroomSyncCompressor, defaultHeadroomRunner, headroomToolDefinition, } from "./headroom-adapter.js";
|
|
25
|
+
export { HEADROOM_BRIDGE, HEADROOM_VERSION, authorizeCompressor, createHeadroomCompressor, createHeadroomSyncCompressor, defaultHeadroomRunner, headroomCommands, headroomNetworkDomains, headroomOffline, headroomToolDefinition, libraryHeadroomRunner, resolveHeadroomRunner, } from "./headroom-adapter.js";
|
|
26
26
|
export { formatPlanReport, readTaskPlans, runPlanReport, } from "./plan-report-cli.js";
|
|
27
27
|
export { formatAuditReport, runMemory } from "./memory-cli.js";
|
|
28
28
|
export { allocateMemoryId, auditMemory, boundLearnings, detectConflicts, DEFAULT_FREQUENT_USE, DEFAULT_LEARNINGS_BUDGET_CHARS, formatBoundedLearnings, listMemoryIds, memoryDir, memoryRecordPath, memoryStatus, parseMemoryRecord, projectLearnings, readMemoryRecord, readMemoryRecords, selectRelevantMemory, supersede, touchMemory, writeMemoryRecord, } from "./memory.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,YAAY,EAA4B,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAsC,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,MAAM,EAAc,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,GAIX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,aAAa,EACb,aAAa,EACb,eAAe,GAGhB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,cAAc,GAGf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,eAAe,EACf,QAAQ,GAGT,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,eAAe,EACf,mBAAmB,GAIpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,wBAAwB,GAIzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,GAIpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GAOnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,4BAA4B,EAC5B,cAAc,EACd,sBAAsB,EACtB,cAAc,GAGf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GAInB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,cAAc,GAMf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,aAAa,EACb,cAAc,EACd,gBAAgB,GAOjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAoB,MAAM,cAAc,CAAC;AAC7E,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,sCAAsC,EACtC,yBAAyB,EACzB,qBAAqB,GAQtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,uBAAuB,EACvB,4BAA4B,GAE7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,UAAU,GAEX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,OAAO,EACP,iBAAiB,GAGlB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sBAAsB,EACtB,gBAAgB,GAEjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,GASzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/loop.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAa9E,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAgBrE,OAAO,EAEL,KAAK,cAAc,EAGpB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"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"}
|
package/dist/loop.js
CHANGED
|
@@ -22,7 +22,9 @@ import { DEFAULT_MAX_RETRIES } from "./retry.js";
|
|
|
22
22
|
import { cleanScratch } from "./scratch.js";
|
|
23
23
|
import { getAgentRuntime, stageLogPath } from "./runner.js";
|
|
24
24
|
import { runRetrievalStore, } from "./context-compressor.js";
|
|
25
|
-
import { createHeadroomSyncCompressor } from "./headroom-adapter.js";
|
|
25
|
+
import { authorizeCompressor, createHeadroomSyncCompressor, } from "./headroom-adapter.js";
|
|
26
|
+
import { readSafetyPolicy } from "./safety-policy.js";
|
|
27
|
+
import { readToolConfig, readTools } from "./tools.js";
|
|
26
28
|
import { allocateRunId, hasRunReport, readStageRecords, removeStageRecords, writeManifest, writeRunReport, writeStageRecord, } from "./run-report.js";
|
|
27
29
|
import { DEFAULT_REPORT_LEGIBILITY_THRESHOLD, extractRunReport, finalizeReportText, } from "./report-finalize.js";
|
|
28
30
|
import { scoreReportLegibility } from "./report-rubric.js";
|
|
@@ -270,10 +272,27 @@ export async function runLoop(opts) {
|
|
|
270
272
|
// uncompressed (degrade clean) rather than failing the run or emitting a
|
|
271
273
|
// degraded record at every spill.
|
|
272
274
|
const compressorMode = contextCompressor;
|
|
273
|
-
let compressor =
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
275
|
+
let compressor = null;
|
|
276
|
+
// Policy events from a denied compressor gate, attached to the run manifest as
|
|
277
|
+
// evidence (#192 part 2) — empty unless a registered tool is policy-blocked.
|
|
278
|
+
let compressorSafetyEvents = [];
|
|
279
|
+
if (compressorMode === "headroom") {
|
|
280
|
+
// Governance gate (#192 part 2): a registered `.otto/tools/headroom.json`
|
|
281
|
+
// entry's `enabled` flag + repo policy can deny the compressor (authorizing
|
|
282
|
+
// the command the run would actually execute). With no tool registered this is
|
|
283
|
+
// config/flag-driven exactly as before.
|
|
284
|
+
const gate = authorizeCompressor(readTools(workspaceDir), readToolConfig(workspaceDir), readSafetyPolicy(workspaceDir), process.env);
|
|
285
|
+
if (!gate.allowed) {
|
|
286
|
+
compressorSafetyEvents = gate.events;
|
|
287
|
+
process.stderr.write(`${dim(`note: --context-compressor headroom requested but ${gate.reason} — continuing without compression`)}\n`);
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
compressor = createHeadroomSyncCompressor();
|
|
291
|
+
if (!compressor.available) {
|
|
292
|
+
process.stderr.write(`${dim('note: --context-compressor headroom requested but Headroom is unavailable (need `pip install "headroom-ai[ml]"`, or set OTTO_HEADROOM_BIN) — continuing without compression')}\n`);
|
|
293
|
+
compressor = null;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
277
296
|
}
|
|
278
297
|
const retrievalStore = runRetrievalStore(workspaceDir, runId);
|
|
279
298
|
// Per-stage evidence records: `stageSeq` is a monotonic counter that orders
|
|
@@ -579,6 +598,9 @@ export async function runLoop(opts) {
|
|
|
579
598
|
nextAction: nextActionFor(reason),
|
|
580
599
|
artifacts: collectArtifacts(),
|
|
581
600
|
...(runSkillsUsed.length > 0 ? { skillsUsed: runSkillsUsed } : {}),
|
|
601
|
+
...(compressorSafetyEvents.length > 0
|
|
602
|
+
? { safetyEvents: compressorSafetyEvents }
|
|
603
|
+
: {}),
|
|
582
604
|
...(inputSharpness
|
|
583
605
|
? {
|
|
584
606
|
inputSharpness: {
|
package/dist/loop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"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"}
|