@phamvuhoang/otto-core 0.30.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/git.d.ts +7 -0
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +20 -0
- package/dist/git.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 +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/inspect.d.ts.map +1 -1
- package/dist/inspect.js +20 -0
- package/dist/inspect.js.map +1 -1
- package/dist/loop.d.ts.map +1 -1
- package/dist/loop.js +81 -7
- package/dist/loop.js.map +1 -1
- package/dist/report-finalize.d.ts.map +1 -1
- package/dist/report-finalize.js +49 -1
- package/dist/report-finalize.js.map +1 -1
- package/dist/run-report.d.ts +7 -0
- package/dist/run-report.d.ts.map +1 -1
- package/dist/run-report.js.map +1 -1
- package/dist/verification-evidence.d.ts +41 -0
- package/dist/verification-evidence.d.ts.map +1 -0
- package/dist/verification-evidence.js +184 -0
- package/dist/verification-evidence.js.map +1 -0
- package/dist/verification-matrix.d.ts +159 -0
- package/dist/verification-matrix.d.ts.map +1 -0
- package/dist/verification-matrix.js +337 -0
- package/dist/verification-matrix.js.map +1 -0
- package/package.json +1 -1
- package/templates/verify.md +41 -1
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":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,11 +16,13 @@ export { DEFAULT_CONTEXT_BUDGET_FRACTION, DEFAULT_CONTEXT_WINDOW_TOKENS, assessC
|
|
|
16
16
|
export { emptyReadLedger, fingerprintContent, formatReadReference, recordRead, summarizeReads, type DedupResult, type DedupSummary, type ReadFingerprint, type ReadLedger, type ReadStatus, } from "./read-dedup.js";
|
|
17
17
|
export { allocateRunId, hasRunReport, listRunIds, readManifest, readRunReport, readStageRecords, runReportDir, runsDir, writeManifest, writeRunReport, writeStageRecord, type RunArtifact, type RunManifest, type SafetyEvent, type SkillUsage, type StageRecord, type ToolUsage, } from "./run-report.js";
|
|
18
18
|
export { formatRunReport, runInspect, type InspectDeps } from "./inspect.js";
|
|
19
|
+
export { formatVerificationCoverageGate, formatVerificationMatrix, formatVisualEvidence, isValidArtifactReference, parseVerificationMatrix, parseVerificationMatrixWithDiagnostics, scoreVerificationCoverage, summarizeVerification, type VerificationCoverageGate, type VerificationConfidence, type VerificationEntry, type VerificationMethod, type VerificationParseResult, type VerificationResult, type VerificationSummary, } from "./verification-matrix.js";
|
|
20
|
+
export { artifactReferenceExists, validateVerificationEvidence, type EvidenceDeps, } from "./verification-evidence.js";
|
|
19
21
|
export { formatPlainReport, runExplain, type ExplainDeps, } from "./report-explain.js";
|
|
20
22
|
export { formatRunsList, runRuns, summarizeManifest, type RunsDeps, type RunSummary, } from "./runs-cli.js";
|
|
21
23
|
export { formatContextReportRun, runContextReport, type ContextReportDeps, } from "./context-report-cli.js";
|
|
22
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";
|
|
23
|
-
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";
|
|
24
26
|
export { formatPlanReport, readTaskPlans, runPlanReport, type PlanReportDeps, type TaskPlanScore, } from "./plan-report-cli.js";
|
|
25
27
|
export { formatAuditReport, runMemory, type MemoryDeps } from "./memory-cli.js";
|
|
26
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
|
@@ -16,11 +16,13 @@ export { DEFAULT_CONTEXT_BUDGET_FRACTION, DEFAULT_CONTEXT_WINDOW_TOKENS, assessC
|
|
|
16
16
|
export { emptyReadLedger, fingerprintContent, formatReadReference, recordRead, summarizeReads, } from "./read-dedup.js";
|
|
17
17
|
export { allocateRunId, hasRunReport, listRunIds, readManifest, readRunReport, readStageRecords, runReportDir, runsDir, writeManifest, writeRunReport, writeStageRecord, } from "./run-report.js";
|
|
18
18
|
export { formatRunReport, runInspect } from "./inspect.js";
|
|
19
|
+
export { formatVerificationCoverageGate, formatVerificationMatrix, formatVisualEvidence, isValidArtifactReference, parseVerificationMatrix, parseVerificationMatrixWithDiagnostics, scoreVerificationCoverage, summarizeVerification, } from "./verification-matrix.js";
|
|
20
|
+
export { artifactReferenceExists, validateVerificationEvidence, } from "./verification-evidence.js";
|
|
19
21
|
export { formatPlainReport, runExplain, } from "./report-explain.js";
|
|
20
22
|
export { formatRunsList, runRuns, summarizeManifest, } from "./runs-cli.js";
|
|
21
23
|
export { formatContextReportRun, runContextReport, } from "./context-report-cli.js";
|
|
22
24
|
export { compressContent, compressContentSync, compressionToolUsage, formatCompressionSummary, readCompressorMode, resolveCompressorMode, runRetrievalStore, summarizeCompression, summarizeToolCompression, } from "./context-compressor.js";
|
|
23
|
-
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";
|
|
24
26
|
export { formatPlanReport, readTaskPlans, runPlanReport, } from "./plan-report-cli.js";
|
|
25
27
|
export { formatAuditReport, runMemory } from "./memory-cli.js";
|
|
26
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,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/inspect.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../src/inspect.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../src/inspect.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAOzB;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B,CAAC;AAWF;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,WAAW,EAAE,GACpB,MAAM,CAuGR;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,WAAyB,GAC9B,OAAO,CAAC,MAAM,CAAC,CA2CjB"}
|
package/dist/inspect.js
CHANGED
|
@@ -2,6 +2,7 @@ import { resolve } from "node:path";
|
|
|
2
2
|
import { formatPlainReport } from "./report-explain.js";
|
|
3
3
|
import { listRunIds, readManifest, readRunReport, readStageRecords, } from "./run-report.js";
|
|
4
4
|
import { formatTokenUsage } from "./tokens.js";
|
|
5
|
+
import { formatVerificationCoverageGate, formatVerificationMatrix, } from "./verification-matrix.js";
|
|
5
6
|
const defaultDeps = {
|
|
6
7
|
env: process.env,
|
|
7
8
|
cwd: process.cwd(),
|
|
@@ -67,6 +68,25 @@ export function formatRunReport(manifest, stages) {
|
|
|
67
68
|
const desc = a.description ? ` — ${a.description}` : "";
|
|
68
69
|
lines.push(` - ${a.kind}: ${a.path}${desc}`);
|
|
69
70
|
}
|
|
71
|
+
// Verification gallery (issue #181 P24): the structured matrix a --verify run
|
|
72
|
+
// produced — what was proven, how, and with which artifact — with failures,
|
|
73
|
+
// unproven requirements, and the coverage gate surfaced. A --verify run that
|
|
74
|
+
// recorded no/malformed matrix shows the same visible failure as the report,
|
|
75
|
+
// not nothing (#181 re-review).
|
|
76
|
+
const matrix = manifest.verification ?? [];
|
|
77
|
+
const dropped = manifest.verificationDropped ?? 0;
|
|
78
|
+
if (matrix.length > 0) {
|
|
79
|
+
lines.push("");
|
|
80
|
+
lines.push(formatVerificationMatrix(matrix));
|
|
81
|
+
lines.push("");
|
|
82
|
+
lines.push(formatVerificationCoverageGate(matrix, dropped));
|
|
83
|
+
}
|
|
84
|
+
else if (manifest.mode === "verify") {
|
|
85
|
+
lines.push("");
|
|
86
|
+
lines.push(`Verification: FAIL — no machine-readable matrix was recorded` +
|
|
87
|
+
(dropped > 0 ? ` (${dropped} malformed row(s) dropped)` : "") +
|
|
88
|
+
"; this run's claims are unproven.");
|
|
89
|
+
}
|
|
70
90
|
// Injected skills (issue #114 P18): the validated skills that shaped this run,
|
|
71
91
|
// with attribution, so a reader can trace which guidance influenced the agent.
|
|
72
92
|
if (manifest.skillsUsed && manifest.skillsUsed.length > 0) {
|