@webywz/context-diet 0.7.2 → 0.9.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/README.md +28 -4
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +118 -16
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/parse-args.d.ts +7 -2
- package/dist/parse-args.d.ts.map +1 -1
- package/dist/parse-args.js +36 -21
- package/dist/parse-args.js.map +1 -1
- package/dist/report.d.ts +20 -1
- package/dist/report.d.ts.map +1 -1
- package/dist/report.js +13 -1
- package/dist/report.js.map +1 -1
- package/dist/sarif.d.ts +50 -0
- package/dist/sarif.d.ts.map +1 -0
- package/dist/sarif.js +64 -0
- package/dist/sarif.js.map +1 -0
- package/dist/tap.d.ts +15 -0
- package/dist/tap.d.ts.map +1 -0
- package/dist/tap.js +24 -0
- package/dist/tap.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -44,7 +44,7 @@ cut:
|
|
|
44
44
|
| **Presets** | `logs`, `email`, `chat`, `html`, `code`, `json` — sensible keep/strip defaults |
|
|
45
45
|
| **Budget** | `--max-tokens` drops low-value blocks first; `--keep` pins headings/code/lists |
|
|
46
46
|
| **Secret redaction** | `--redact` scrubs PEM / JWT / `sk-` / `ghp_` / Slack / AWS / Bearer / Basic → `[redacted]` |
|
|
47
|
-
| **CI token gate** | `--fail-over-tokens <n>` exits `1` when output tokens still **>** n (no silent truncate) |
|
|
47
|
+
| **CI token gate** | `--fail-over-tokens / --sarif <n>` exits `1` when output tokens still **>** n (no silent truncate); `--tap` for TAP 13; JSON `budget` field for Actions |
|
|
48
48
|
| **Pipe-friendly** | Slimmed body → stdout; report → stderr |
|
|
49
49
|
| **Bundled examples** | `--demo` / `examples/noisy.txt` in the published tarball |
|
|
50
50
|
| **Optional deepen** | `--deepen` LLM second pass only when you opt in with a key |
|
|
@@ -106,6 +106,8 @@ All offline unless you pass `--deepen`.
|
|
|
106
106
|
| Dedupe paragraphs | Exact and near-identical (Jaccard ≥ 0.84) |
|
|
107
107
|
| Truncate | `--max-tokens` + `--keep` / presets |
|
|
108
108
|
| Fail over tokens | `--fail-over-tokens` hard CI gate (after diet) |
|
|
109
|
+
| TAP | `--tap` TAP version 13 (exit `1` when over `--fail-over-tokens`) |
|
|
110
|
+
| JSON budget | `budget.failOverTokens` / `budget.outputTokens` / `budget.ok` in `--json` |
|
|
109
111
|
|
|
110
112
|
Token estimates are **cl100k-ish** (~4 chars/word, 1 CJK ≈ 1 token). Good enough to budget a prompt — not a billed tokenizer.
|
|
111
113
|
|
|
@@ -122,6 +124,7 @@ context-diet [file] [options]
|
|
|
122
124
|
| `--html <path>` | Write self-contained HTML report (stats + capped previews) |
|
|
123
125
|
| `--max-tokens <n>` | Cap estimated output tokens (truncates) |
|
|
124
126
|
| `--fail-over-tokens <n>` | Exit `1` if output tokens still **>** n (CI gate; distinct from truncate) |
|
|
127
|
+
| `--tap` | TAP version 13 on stdout (CI; exit `1` if over `--fail-over-tokens`) |
|
|
125
128
|
| `--redact` | Scrub common secret shapes → `[redacted]` (before diet heuristics) |
|
|
126
129
|
| `--keep <cats>` | Prefer `headings`, `code`, `lists` when truncating (comma or `\|`) |
|
|
127
130
|
| `--preset <name>` | `logs` \| `email` \| `chat` \| `html` \| `code` \| `json` |
|
|
@@ -187,7 +190,7 @@ estimateTokens(text);
|
|
|
187
190
|
| Code | Meaning |
|
|
188
191
|
| --- | --- |
|
|
189
192
|
| `0` | Success |
|
|
190
|
-
| `1` | Usage / missing input / unreadable file / `--fail-over-tokens` exceeded |
|
|
193
|
+
| `1` | Usage / missing input / unreadable file / `--fail-over-tokens` exceeded / `--tap` not-ok |
|
|
191
194
|
| `2` | `--deepen` failed (no key, HTTP error) |
|
|
192
195
|
|
|
193
196
|
### Develop
|
|
@@ -207,8 +210,26 @@ node dist/cli.js --demo --preset logs --max-tokens 400
|
|
|
207
210
|
|
|
208
211
|
---
|
|
209
212
|
|
|
213
|
+
|
|
214
|
+
### Multi-file budget + SARIF (0.9)
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
context-diet a.md b.md notes/ --max-tokens 2000 --fail-over-tokens 2500 --json
|
|
218
|
+
context-diet --demo --fail-over-tokens 1 --sarif over.sarif
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
- Multiple files/dirs share one `--max-tokens` / `--fail-over-tokens` budget (JSON `budget.shared`, `budget.maxTokens`, `sources[]`).
|
|
222
|
+
- Directories expand to top-level files (non-recursive).
|
|
223
|
+
- `--sarif <path>` writes SARIF 2.1.0 when output exceeds `--fail-over-tokens`.
|
|
224
|
+
|
|
225
|
+
|
|
210
226
|
## 中文
|
|
211
227
|
|
|
228
|
+
### 多文件共享预算 + SARIF(0.9)
|
|
229
|
+
|
|
230
|
+
可传多个文件/目录,共享 `--max-tokens` / `--fail-over-tokens`;JSON 含 `budget.shared`、`sources[]`。`--sarif <path>` 在超 `--fail-over-tokens` 时写出 SARIF 2.1.0。
|
|
231
|
+
|
|
232
|
+
|
|
212
233
|
### 演示
|
|
213
234
|
|
|
214
235
|
```bash
|
|
@@ -225,7 +246,7 @@ npx @webywz/context-diet --demo --preset logs --max-tokens 400
|
|
|
225
246
|
| **预设** | `logs` / `email` / `chat` / `html` / `code` / `json` |
|
|
226
247
|
| **预算** | `--max-tokens` 优先丢掉低价值块;`--keep` 钉住标题/代码/列表 |
|
|
227
248
|
| **密钥脱敏** | `--redact` 擦除 PEM / JWT / `sk-` / `ghp_` / Slack / AWS / Bearer / Basic → `[redacted]` |
|
|
228
|
-
| **CI token 闸门** | `--fail-over-tokens <n>`:输出 token 仍 **>** n 时退出码 `1
|
|
249
|
+
| **CI token 闸门** | `--fail-over-tokens <n>`:输出 token 仍 **>** n 时退出码 `1`(不静默截断);`--tap` 输出 TAP 13;JSON `budget` 字段供 Actions 解析 |
|
|
229
250
|
| **管道友好** | 正文 → stdout;报告 → stderr |
|
|
230
251
|
| **示例随包** | `--demo` / `examples/noisy.txt` 在发布 tarball 里 |
|
|
231
252
|
| **可选 deepen** | `--deepen` 仅在有 key 且你主动开启时走 LLM |
|
|
@@ -283,6 +304,8 @@ context-diet examples/noisy.txt --keep headings|code|lists
|
|
|
283
304
|
| 段落去重 | 精确与近似(Jaccard ≥ 0.84) |
|
|
284
305
|
| 截断 | `--max-tokens` + `--keep` / 预设 |
|
|
285
306
|
| Token 闸门 | `--fail-over-tokens`:饮食后的硬失败 CI 闸 |
|
|
307
|
+
| TAP | `--tap`:TAP version 13(超过 `--fail-over-tokens` 则退出 `1`) |
|
|
308
|
+
| JSON budget | `--json` 中的 `budget.failOverTokens` / `budget.outputTokens` / `budget.ok` |
|
|
286
309
|
|
|
287
310
|
Token 估算为 **cl100k 近似**(约 4 字符/词,1 个 CJK ≈ 1 token)。够用来做预算,不是计费 tokenizer。
|
|
288
311
|
|
|
@@ -295,6 +318,7 @@ Token 估算为 **cl100k 近似**(约 4 字符/词,1 个 CJK ≈ 1 token)
|
|
|
295
318
|
| `--html <path>` | 写入自包含 HTML 报告(统计 + 截断预览) |
|
|
296
319
|
| `--max-tokens <n>` | 估算输出 token 上限(会截断) |
|
|
297
320
|
| `--fail-over-tokens <n>` | 输出 token 仍 **>** n 时退出 `1`(CI 闸;与截断不同) |
|
|
321
|
+
| `--tap` | 向 stdout 输出 TAP version 13(超过 `--fail-over-tokens` 则退出 `1`) |
|
|
298
322
|
| `--redact` | 擦除常见密钥形态 → `[redacted]`(在饮食启发式之前) |
|
|
299
323
|
| `--keep <cats>` | 截断时优先保留 `headings` / `code` / `lists` |
|
|
300
324
|
| `--preset <name>` | `logs` \| `email` \| `chat` \| `html` \| `code` \| `json` |
|
|
@@ -329,7 +353,7 @@ context-diet chapter.md --deepen --max-tokens 1200
|
|
|
329
353
|
| 码 | 含义 |
|
|
330
354
|
| --- | --- |
|
|
331
355
|
| `0` | 成功 |
|
|
332
|
-
| `1` | 用法错误 / 缺输入 / 文件不可读 / `--fail-over-tokens` 超限 |
|
|
356
|
+
| `1` | 用法错误 / 缺输入 / 文件不可读 / `--fail-over-tokens` 超限 / `--tap` not-ok |
|
|
333
357
|
| `2` | `--deepen` 失败(无 key、HTTP 错误) |
|
|
334
358
|
|
|
335
359
|
### 链接
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AA0BA,MAAM,WAAW,EAAE;IACjB,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAmID,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,GAAE,EAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqJ/E"}
|
package/dist/cli.js
CHANGED
|
@@ -10,6 +10,10 @@ import { HELP_TEXT, parseArgs, UsageError } from "./parse-args.js";
|
|
|
10
10
|
import { appendGithubSummary, resolveGithubSummaryPath, } from "./github-summary.js";
|
|
11
11
|
import { formatHtmlReport } from "./html-report.js";
|
|
12
12
|
import { formatGithubSummary, formatHumanReport, formatRemovedDiff, shouldUseColor, toJsonReport, } from "./report.js";
|
|
13
|
+
import { formatTap } from "./tap.js";
|
|
14
|
+
import { formatSarif } from "./sarif.js";
|
|
15
|
+
import { readdir, stat } from "node:fs/promises";
|
|
16
|
+
import { join } from "node:path";
|
|
13
17
|
const defaultIo = () => ({
|
|
14
18
|
stdin: process.stdin,
|
|
15
19
|
stdout: process.stdout,
|
|
@@ -30,34 +34,101 @@ function readStream(stream) {
|
|
|
30
34
|
stream.on("error", reject);
|
|
31
35
|
});
|
|
32
36
|
}
|
|
37
|
+
async function expandInputs(paths) {
|
|
38
|
+
const out = [];
|
|
39
|
+
for (const path of paths) {
|
|
40
|
+
// Virtual test FS / missing paths: treat as files; io.readFile surfaces errors.
|
|
41
|
+
// Only expand when a real directory exists on disk.
|
|
42
|
+
let isDir = false;
|
|
43
|
+
try {
|
|
44
|
+
isDir = (await stat(path)).isDirectory();
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
isDir = false;
|
|
48
|
+
}
|
|
49
|
+
if (isDir) {
|
|
50
|
+
let entries;
|
|
51
|
+
try {
|
|
52
|
+
entries = await readdir(path);
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
56
|
+
throw new UsageError(`Cannot read directory ${path}: ${msg}`);
|
|
57
|
+
}
|
|
58
|
+
const candidates = entries
|
|
59
|
+
.filter((name) => !name.startsWith("."))
|
|
60
|
+
.map((name) => join(path, name))
|
|
61
|
+
.sort();
|
|
62
|
+
let added = 0;
|
|
63
|
+
for (const file of candidates) {
|
|
64
|
+
try {
|
|
65
|
+
const st = await stat(file);
|
|
66
|
+
if (st.isFile()) {
|
|
67
|
+
out.push(file);
|
|
68
|
+
added += 1;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
// skip unreadable entries
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (added === 0) {
|
|
76
|
+
throw new UsageError(`Directory ${path} has no readable files`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
out.push(path);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (out.length === 0) {
|
|
84
|
+
throw new UsageError("No input files found");
|
|
85
|
+
}
|
|
86
|
+
return out;
|
|
87
|
+
}
|
|
33
88
|
async function readInput(args, io) {
|
|
34
89
|
if (args.demo) {
|
|
35
90
|
const path = demoFixturePath();
|
|
36
91
|
try {
|
|
37
92
|
const text = await io.readFile(path);
|
|
38
|
-
return {
|
|
93
|
+
return {
|
|
94
|
+
text,
|
|
95
|
+
source: "examples/noisy.txt (--demo)",
|
|
96
|
+
sources: ["examples/noisy.txt (--demo)"],
|
|
97
|
+
};
|
|
39
98
|
}
|
|
40
99
|
catch (err) {
|
|
41
100
|
const msg = err instanceof Error ? err.message : String(err);
|
|
42
101
|
throw new UsageError(`Cannot read bundled demo fixture: ${msg}`);
|
|
43
102
|
}
|
|
44
103
|
}
|
|
45
|
-
|
|
104
|
+
const useStdin = args.files.length === 0 || (args.files.length === 1 && args.files[0] === "-");
|
|
105
|
+
if (useStdin) {
|
|
106
|
+
if (io.stdinIsTTY) {
|
|
107
|
+
throw new UsageError("No input. Pass file/dir paths, pipe stdin, use `--demo`, or `-` with redirected input.");
|
|
108
|
+
}
|
|
109
|
+
const text = await readStream(io.stdin);
|
|
110
|
+
return { text, source: "stdin", sources: ["stdin"] };
|
|
111
|
+
}
|
|
112
|
+
const files = await expandInputs(args.files);
|
|
113
|
+
const chunks = [];
|
|
114
|
+
for (const file of files) {
|
|
46
115
|
try {
|
|
47
|
-
const
|
|
48
|
-
|
|
116
|
+
const body = await io.readFile(file);
|
|
117
|
+
if (files.length === 1) {
|
|
118
|
+
chunks.push(body);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
chunks.push(`--- file: ${file} ---\n${body}`);
|
|
122
|
+
}
|
|
49
123
|
}
|
|
50
124
|
catch (err) {
|
|
51
125
|
const msg = err instanceof Error ? err.message : String(err);
|
|
52
|
-
throw new UsageError(`Cannot read ${
|
|
126
|
+
throw new UsageError(`Cannot read ${file}: ${msg}`);
|
|
53
127
|
}
|
|
54
128
|
}
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
const text = await readStream(io.stdin);
|
|
60
|
-
return { text, source: "stdin" };
|
|
129
|
+
const text = chunks.join("\n\n");
|
|
130
|
+
const source = files.length === 1 ? files[0] : `${files.length} files`;
|
|
131
|
+
return { text, source, sources: files };
|
|
61
132
|
}
|
|
62
133
|
function writeOut(stream, chunk) {
|
|
63
134
|
return new Promise((resolveWrite, reject) => {
|
|
@@ -92,10 +163,12 @@ export async function run(argv, io = defaultIo()) {
|
|
|
92
163
|
}
|
|
93
164
|
let source;
|
|
94
165
|
let text;
|
|
166
|
+
let sources;
|
|
95
167
|
try {
|
|
96
168
|
const input = await readInput(args, io);
|
|
97
169
|
source = input.source;
|
|
98
170
|
text = input.text;
|
|
171
|
+
sources = input.sources;
|
|
99
172
|
}
|
|
100
173
|
catch (err) {
|
|
101
174
|
if (err instanceof UsageError) {
|
|
@@ -123,7 +196,10 @@ export async function run(argv, io = defaultIo()) {
|
|
|
123
196
|
}
|
|
124
197
|
throw err;
|
|
125
198
|
}
|
|
126
|
-
const json = toJsonReport(result, source
|
|
199
|
+
const json = toJsonReport(result, source, args.failOverTokens, {
|
|
200
|
+
maxTokens: args.maxTokens,
|
|
201
|
+
sources,
|
|
202
|
+
});
|
|
127
203
|
const color = shouldUseColor(io.env, io.stderrIsTTY);
|
|
128
204
|
const style = { color };
|
|
129
205
|
if (args.output && !args.dryRun) {
|
|
@@ -136,7 +212,29 @@ export async function run(argv, io = defaultIo()) {
|
|
|
136
212
|
});
|
|
137
213
|
await io.writeFile(args.html, html);
|
|
138
214
|
}
|
|
139
|
-
if (args.
|
|
215
|
+
if (args.sarif) {
|
|
216
|
+
try {
|
|
217
|
+
await io.writeFile(args.sarif, formatSarif(result, source, version, {
|
|
218
|
+
failOverTokens: args.failOverTokens,
|
|
219
|
+
maxTokens: args.maxTokens,
|
|
220
|
+
}));
|
|
221
|
+
}
|
|
222
|
+
catch (err) {
|
|
223
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
224
|
+
await writeOut(io.stderr, `context-diet: could not write sarif: ${msg}\n`);
|
|
225
|
+
return 1;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
let tapExit;
|
|
229
|
+
if (args.tap) {
|
|
230
|
+
const tap = formatTap(result, source, {
|
|
231
|
+
failOverTokens: args.failOverTokens,
|
|
232
|
+
outputTokens: result.output.tokens,
|
|
233
|
+
});
|
|
234
|
+
await writeOut(io.stdout, tap.text);
|
|
235
|
+
tapExit = tap.exitCode;
|
|
236
|
+
}
|
|
237
|
+
else if (args.json) {
|
|
140
238
|
const payload = args.dryRun
|
|
141
239
|
? { ...json, text: undefined, dryRun: true }
|
|
142
240
|
: args.output
|
|
@@ -147,8 +245,8 @@ export async function run(argv, io = defaultIo()) {
|
|
|
147
245
|
else if (!args.dryRun && !args.output) {
|
|
148
246
|
await writeOut(io.stdout, result.text);
|
|
149
247
|
}
|
|
150
|
-
// --json
|
|
151
|
-
if (!args.json && !args.quiet) {
|
|
248
|
+
// --json / --tap are machine reports; skip the human summary (unless quiet already).
|
|
249
|
+
if (!args.json && !args.tap && !args.quiet) {
|
|
152
250
|
await writeOut(io.stderr, formatHumanReport(result, source, version, style));
|
|
153
251
|
}
|
|
154
252
|
if (args.diff) {
|
|
@@ -168,9 +266,13 @@ export async function run(argv, io = defaultIo()) {
|
|
|
168
266
|
}
|
|
169
267
|
if (args.failOverTokens !== undefined &&
|
|
170
268
|
result.output.tokens > args.failOverTokens) {
|
|
171
|
-
|
|
269
|
+
if (!args.tap) {
|
|
270
|
+
await writeOut(io.stderr, `context-diet: output tokens ~${result.output.tokens} exceed --fail-over-tokens ${args.failOverTokens} (hard fail; use --max-tokens to truncate instead)\n`);
|
|
271
|
+
}
|
|
172
272
|
return 1;
|
|
173
273
|
}
|
|
274
|
+
if (tapExit != null && tapExit !== 0)
|
|
275
|
+
return tapExit;
|
|
174
276
|
return 0;
|
|
175
277
|
}
|
|
176
278
|
function isMainModule() {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,8 +5,11 @@ export { stripHtmlChrome } from "./html.js";
|
|
|
5
5
|
export { PRESETS, PRESET_NAMES, isPresetName, resolvePreset, type PresetConfig, type PresetName, } from "./presets.js";
|
|
6
6
|
export { estimateTokens, snapshot } from "./tokens.js";
|
|
7
7
|
export { redactSecrets, REDACTED, type RedactCuts } from "./redact.js";
|
|
8
|
-
export { formatGithubSummary, formatHumanReport, formatRemovedDiff, shouldUseColor, toJsonReport, type JsonReport, type ReportStyle, } from "./report.js";
|
|
8
|
+
export { formatGithubSummary, formatHumanReport, formatRemovedDiff, shouldUseColor, toJsonReport, type JsonBudget, type JsonReport, type ReportStyle, } from "./report.js";
|
|
9
9
|
export { formatHtmlReport, escapeHtml, type HtmlReportOptions } from "./html-report.js";
|
|
10
10
|
export { appendGithubSummary, resolveGithubSummaryPath, DEFAULT_GITHUB_SUMMARY, } from "./github-summary.js";
|
|
11
11
|
export { KEEP_CATEGORIES, emptyCuts, type CutCounts, type DietOptions, type DietResult, type KeepCategory, type LlmProvider, type SizeSnapshot, } from "./types.js";
|
|
12
|
+
export { formatTap } from "./tap.js";
|
|
13
|
+
export type { TapResult, TapBudget } from "./tap.js";
|
|
14
|
+
export { formatSarif, renderSarif, type SarifLog, type SarifBudget } from "./sarif.js";
|
|
12
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,SAAS,EACT,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,SAAS,EACT,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -9,4 +9,6 @@ export { formatGithubSummary, formatHumanReport, formatRemovedDiff, shouldUseCol
|
|
|
9
9
|
export { formatHtmlReport, escapeHtml } from "./html-report.js";
|
|
10
10
|
export { appendGithubSummary, resolveGithubSummaryPath, DEFAULT_GITHUB_SUMMARY, } from "./github-summary.js";
|
|
11
11
|
export { KEEP_CATEGORIES, emptyCuts, } from "./types.js";
|
|
12
|
+
export { formatTap } from "./tap.js";
|
|
13
|
+
export { formatSarif, renderSarif } from "./sarif.js";
|
|
12
14
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAA8B,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,aAAa,GAGd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAmB,MAAM,aAAa,CAAC;AACvE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,YAAY,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAA8B,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,aAAa,GAGd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAmB,MAAM,aAAa,CAAC;AACvE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,YAAY,GAIb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAA0B,MAAM,kBAAkB,CAAC;AACxF,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,SAAS,GAOV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGrC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAmC,MAAM,YAAY,CAAC"}
|
package/dist/parse-args.d.ts
CHANGED
|
@@ -10,9 +10,14 @@ export interface CliArgs {
|
|
|
10
10
|
diff: boolean;
|
|
11
11
|
demo: boolean;
|
|
12
12
|
redact: boolean;
|
|
13
|
+
/** Emit TAP version 13 on stdout (CI; aligns with agent-trace / eval-smoke). */
|
|
14
|
+
tap: boolean;
|
|
13
15
|
/** Hard-fail when output tokens > N (CI gate; not truncation). */
|
|
14
16
|
failOverTokens?: number;
|
|
15
|
-
|
|
17
|
+
/** Write SARIF 2.1.0 for over-budget output to this path. */
|
|
18
|
+
sarif?: string;
|
|
19
|
+
/** Input file paths and/or directories (shared --max-tokens / --fail-over-tokens). */
|
|
20
|
+
files: string[];
|
|
16
21
|
output?: string;
|
|
17
22
|
maxTokens?: number;
|
|
18
23
|
keep: KeepCategory[];
|
|
@@ -26,6 +31,6 @@ export interface CliArgs {
|
|
|
26
31
|
export declare class UsageError extends Error {
|
|
27
32
|
constructor(message: string);
|
|
28
33
|
}
|
|
29
|
-
export declare const HELP_TEXT = "context-diet \u2014 slim LLM context before you send it\n\nUsage:\n context-diet [file] [options]\n context-diet --demo --preset logs --max-tokens 400\n cat logs.txt | context-diet --preset logs --max-tokens 2000\n\nOptions:\n -o, --output <file> Write slimmed text to a file instead of stdout\n --max-tokens <n> Truncate to an estimated token budget\n --fail-over-tokens <n> Exit 1 if output tokens still > n (CI gate)\n --redact Scrub common secrets (PEM/JWT/sk-/ghp_/\u2026) \u2192 [redacted]\n --keep <cats> Prefer headings, code, lists when truncating\n (comma or pipe: headings|code|lists)\n --preset <name> logs | email | chat | html | code | json\n (sets keep defaults + extra strippers)\n --demo Diet the bundled examples/noisy.txt (no clone needed)\n --json Print a machine-readable report (includes text)\n --dry-run Report only; do not emit slimmed body / -o\n --diff Show removed lines on stderr (capped)\n --deepen Optional LLM pass (OPENAI_API_KEY / ANTHROPIC_API_KEY)\n --provider <name> openai | anthropic (default: first available key)\n --html <path> Write self-contained HTML report to path\n --github-summary [path] Append Markdown to GITHUB_STEP_SUMMARY or path\n -q, --quiet Do not print the human report to stderr\n -h, --help Show this help\n -V, --version Show version\n\nOffline by default. --deepen is never required.\nRespects NO_COLOR / FORCE_COLOR for the human report.\nToken counts are a cl100k-ish heuristic, not a billed tokenizer.\n";
|
|
34
|
+
export declare const HELP_TEXT = "context-diet \u2014 slim LLM context before you send it\n\nUsage:\n context-diet [file|dir ...] [options]\n context-diet --demo --preset logs --max-tokens 400\n cat logs.txt | context-diet --preset logs --max-tokens 2000\n context-diet a.md b.md dir/ --max-tokens 2000 --json\n\nOptions:\n -o, --output <file> Write slimmed text to a file instead of stdout\n --max-tokens <n> Truncate to an estimated token budget (shared across files/dirs)\n --fail-over-tokens <n> Exit 1 if output tokens still > n (CI gate; shared)\n --sarif <path> Write SARIF 2.1.0 when over --fail-over-tokens (Code Scanning)\n --tap TAP version 13 on stdout (CI; exit 1 if over --fail-over-tokens)\n --redact Scrub common secrets (PEM/JWT/sk-/ghp_/\u2026) \u2192 [redacted]\n --keep <cats> Prefer headings, code, lists when truncating\n (comma or pipe: headings|code|lists)\n --preset <name> logs | email | chat | html | code | json\n (sets keep defaults + extra strippers)\n --demo Diet the bundled examples/noisy.txt (no clone needed)\n --json Print a machine-readable report (includes text)\n --dry-run Report only; do not emit slimmed body / -o\n --diff Show removed lines on stderr (capped)\n --deepen Optional LLM pass (OPENAI_API_KEY / ANTHROPIC_API_KEY)\n --provider <name> openai | anthropic (default: first available key)\n --html <path> Write self-contained HTML report to path\n --github-summary [path] Append Markdown to GITHUB_STEP_SUMMARY or path\n -q, --quiet Do not print the human report to stderr\n -h, --help Show this help\n -V, --version Show version\n\nOffline by default. --deepen is never required.\nRespects NO_COLOR / FORCE_COLOR for the human report.\nToken counts are a cl100k-ish heuristic, not a billed tokenizer.\n";
|
|
30
35
|
export declare function parseArgs(argv: string[]): CliArgs;
|
|
31
36
|
//# sourceMappingURL=parse-args.d.ts.map
|
package/dist/parse-args.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-args.d.ts","sourceRoot":"","sources":["../src/parse-args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAmB,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAElF,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,
|
|
1
|
+
{"version":3,"file":"parse-args.d.ts","sourceRoot":"","sources":["../src/parse-args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAmB,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAElF,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,gFAAgF;IAChF,GAAG,EAAE,OAAO,CAAC;IACb,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAI5B;AAoDD,eAAO,MAAM,SAAS,igEAmCrB,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CA8LjD"}
|
package/dist/parse-args.js
CHANGED
|
@@ -48,14 +48,17 @@ export const HELP_TEXT = `\
|
|
|
48
48
|
context-diet — slim LLM context before you send it
|
|
49
49
|
|
|
50
50
|
Usage:
|
|
51
|
-
context-diet [file] [options]
|
|
51
|
+
context-diet [file|dir ...] [options]
|
|
52
52
|
context-diet --demo --preset logs --max-tokens 400
|
|
53
53
|
cat logs.txt | context-diet --preset logs --max-tokens 2000
|
|
54
|
+
context-diet a.md b.md dir/ --max-tokens 2000 --json
|
|
54
55
|
|
|
55
56
|
Options:
|
|
56
57
|
-o, --output <file> Write slimmed text to a file instead of stdout
|
|
57
|
-
--max-tokens <n> Truncate to an estimated token budget
|
|
58
|
-
--fail-over-tokens <n> Exit 1 if output tokens still > n (CI gate)
|
|
58
|
+
--max-tokens <n> Truncate to an estimated token budget (shared across files/dirs)
|
|
59
|
+
--fail-over-tokens <n> Exit 1 if output tokens still > n (CI gate; shared)
|
|
60
|
+
--sarif <path> Write SARIF 2.1.0 when over --fail-over-tokens (Code Scanning)
|
|
61
|
+
--tap TAP version 13 on stdout (CI; exit 1 if over --fail-over-tokens)
|
|
59
62
|
--redact Scrub common secrets (PEM/JWT/sk-/ghp_/…) → [redacted]
|
|
60
63
|
--keep <cats> Prefer headings, code, lists when truncating
|
|
61
64
|
(comma or pipe: headings|code|lists)
|
|
@@ -88,19 +91,15 @@ export function parseArgs(argv) {
|
|
|
88
91
|
diff: false,
|
|
89
92
|
demo: false,
|
|
90
93
|
redact: false,
|
|
94
|
+
tap: false,
|
|
95
|
+
files: [],
|
|
91
96
|
keep: [],
|
|
92
97
|
};
|
|
93
98
|
for (let i = 0; i < argv.length; i++) {
|
|
94
99
|
const a = argv[i];
|
|
95
100
|
if (a === "--") {
|
|
96
|
-
const rest
|
|
97
|
-
|
|
98
|
-
throw new UsageError(`Unexpected extra arguments: ${rest.slice(1).join(" ")}`);
|
|
99
|
-
}
|
|
100
|
-
if (rest[0] !== undefined) {
|
|
101
|
-
if (args.file)
|
|
102
|
-
throw new UsageError("Pass at most one input file.");
|
|
103
|
-
args.file = rest[0];
|
|
101
|
+
for (const rest of argv.slice(i + 1)) {
|
|
102
|
+
args.files.push(rest);
|
|
104
103
|
}
|
|
105
104
|
break;
|
|
106
105
|
}
|
|
@@ -140,6 +139,19 @@ export function parseArgs(argv) {
|
|
|
140
139
|
args.redact = true;
|
|
141
140
|
continue;
|
|
142
141
|
}
|
|
142
|
+
if (a === "--tap") {
|
|
143
|
+
args.tap = true;
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
if (a === "--sarif" || a.startsWith("--sarif=")) {
|
|
147
|
+
const inline = a.startsWith("--sarif=")
|
|
148
|
+
? a.slice("--sarif=".length)
|
|
149
|
+
: undefined;
|
|
150
|
+
const got = takeValue(argv, i + 1, "--sarif", inline);
|
|
151
|
+
args.sarif = got.value;
|
|
152
|
+
i = got.next - 1;
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
143
155
|
if (a === "--fail-over-tokens" || a.startsWith("--fail-over-tokens=")) {
|
|
144
156
|
const inline = a.startsWith("--fail-over-tokens=")
|
|
145
157
|
? a.slice("--fail-over-tokens=".length)
|
|
@@ -223,22 +235,22 @@ export function parseArgs(argv) {
|
|
|
223
235
|
continue;
|
|
224
236
|
}
|
|
225
237
|
if (a === "-") {
|
|
226
|
-
|
|
227
|
-
throw new UsageError("Pass at most one input file.");
|
|
228
|
-
}
|
|
229
|
-
args.file = "-";
|
|
238
|
+
args.files.push("-");
|
|
230
239
|
continue;
|
|
231
240
|
}
|
|
232
241
|
if (a.startsWith("-")) {
|
|
233
242
|
throw new UsageError(`Unknown option: ${a}`);
|
|
234
243
|
}
|
|
235
|
-
|
|
236
|
-
throw new UsageError(`Unexpected extra argument: ${a}`);
|
|
237
|
-
}
|
|
238
|
-
args.file = a;
|
|
244
|
+
args.files.push(a);
|
|
239
245
|
}
|
|
240
|
-
if (args.demo && args.
|
|
241
|
-
throw new UsageError("Pass --demo or
|
|
246
|
+
if (args.demo && args.files.length) {
|
|
247
|
+
throw new UsageError("Pass --demo or file/dir paths, not both.");
|
|
248
|
+
}
|
|
249
|
+
if (args.files.filter((f) => f === "-").length > 1) {
|
|
250
|
+
throw new UsageError("Pass stdin (-) at most once.");
|
|
251
|
+
}
|
|
252
|
+
if (args.files.includes("-") && args.files.some((f) => f !== "-")) {
|
|
253
|
+
throw new UsageError("Pass stdin (-) alone, not mixed with file paths.");
|
|
242
254
|
}
|
|
243
255
|
// Dedupe keep while preserving order.
|
|
244
256
|
const seen = new Set();
|
|
@@ -248,6 +260,9 @@ export function parseArgs(argv) {
|
|
|
248
260
|
seen.add(k);
|
|
249
261
|
return true;
|
|
250
262
|
});
|
|
263
|
+
if (args.json && args.tap) {
|
|
264
|
+
throw new UsageError("use only one of --json, --tap");
|
|
265
|
+
}
|
|
251
266
|
return args;
|
|
252
267
|
}
|
|
253
268
|
//# sourceMappingURL=parse-args.js.map
|
package/dist/parse-args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-args.js","sourceRoot":"","sources":["../src/parse-args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAuC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-args.js","sourceRoot":"","sources":["../src/parse-args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAuC,MAAM,YAAY,CAAC;AA+BlF,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,eAAe,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;AAEhE,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,KAAK,GAAG,GAAG;SACd,KAAK,CAAC,MAAM,CAAC;SACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAClC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,UAAU,CAClB,gEAAgE,CACjE,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,UAAU,CAClB,yBAAyB,IAAI,sCAAsC,CACpE,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,IAAoB,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,GAAW;IACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,qCAAqC,GAAG,IAAI,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,qCAAqC,GAAG,IAAI,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,SAAS,CAChB,IAAc,EACd,CAAS,EACT,IAAY,EACZ,MAAe;IAEf,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCxB,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,MAAM,IAAI,GAAY;QACpB,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,KAAK;QACV,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,EAAE;KACT,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QAEnB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;YACD,MAAM;QACR,CAAC;QAED,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;gBACrC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC5B,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACvB,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,oBAAoB,IAAI,CAAC,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACtE,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,qBAAqB,CAAC;gBAChD,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC;gBACvC,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC;YACjE,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC,oBAAoB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACxE,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/E,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC;YACtB,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,kBAAkB,IAAI,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,CAAC,aAAa,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC1B,CAAC,IAAI,CAAC,CAAC;gBACT,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChE,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACnF,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC;YACxB,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,cAAc,IAAI,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAC1D,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;gBAC1C,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC;gBACjC,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAC7D,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/E,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7C,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;gBACtC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;gBAC7B,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YACvD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,UAAU,CAClB,qBAAqB,GAAG,CAAC,KAAK,gDAAgD,CAC/E,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACtD,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;gBACxC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;gBAC/B,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAmB,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,UAAU,CAAC,uBAAuB,GAAG,CAAC,KAAK,6BAA6B,CAAC,CAAC;YACtF,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,IAAmB,CAAC;YACpC,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,IAAI,UAAU,CAAC,0CAA0C,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,UAAU,CAAC,8BAA8B,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,UAAU,CAAC,kDAAkD,CAAC,CAAC;IAC3E,CAAC;IAED,sCAAsC;IACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAgB,CAAC;IACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACjC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,IAAI,UAAU,CAAC,+BAA+B,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/report.d.ts
CHANGED
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
import type { CutCounts, DietResult } from "./types.js";
|
|
2
|
+
export interface JsonBudget {
|
|
3
|
+
/** Echo of --fail-over-tokens when set; null when unset. */
|
|
4
|
+
failOverTokens: number | null;
|
|
5
|
+
/** Echo of --max-tokens when set; null when unset (shared across inputs). */
|
|
6
|
+
maxTokens: number | null;
|
|
7
|
+
/** Output token estimate after diet. */
|
|
8
|
+
outputTokens: number;
|
|
9
|
+
/** true when no gate, or outputTokens <= failOverTokens. */
|
|
10
|
+
ok: boolean;
|
|
11
|
+
/** True when multiple files/dirs share one token budget. */
|
|
12
|
+
shared: boolean;
|
|
13
|
+
}
|
|
2
14
|
export interface JsonReport {
|
|
3
15
|
ok: true;
|
|
4
16
|
source: string;
|
|
17
|
+
/** All input paths when multi-file / directory shared budget is used. */
|
|
18
|
+
sources?: string[];
|
|
5
19
|
input: {
|
|
6
20
|
chars: number;
|
|
7
21
|
tokens: number;
|
|
@@ -17,6 +31,8 @@ export interface JsonReport {
|
|
|
17
31
|
tokenPercent: number;
|
|
18
32
|
};
|
|
19
33
|
cuts: CutCounts;
|
|
34
|
+
/** Token budget gate for GitHub Actions parsing (--fail-over-tokens / --max-tokens). */
|
|
35
|
+
budget: JsonBudget;
|
|
20
36
|
text: string;
|
|
21
37
|
}
|
|
22
38
|
export interface ReportStyle {
|
|
@@ -27,7 +43,10 @@ export interface ReportStyle {
|
|
|
27
43
|
* When streamIsTTY is false and FORCE_COLOR is unset, stay plain.
|
|
28
44
|
*/
|
|
29
45
|
export declare function shouldUseColor(env?: NodeJS.ProcessEnv, streamIsTTY?: boolean): boolean;
|
|
30
|
-
export declare function toJsonReport(result: DietResult, source: string
|
|
46
|
+
export declare function toJsonReport(result: DietResult, source: string, failOverTokens?: number, options?: {
|
|
47
|
+
maxTokens?: number;
|
|
48
|
+
sources?: string[];
|
|
49
|
+
}): JsonReport;
|
|
31
50
|
export declare function formatHumanReport(result: DietResult, source: string, version: string, style?: ReportStyle): string;
|
|
32
51
|
/**
|
|
33
52
|
* Show lines that disappeared after the diet (order-preserving multiset
|
package/dist/report.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAC;CAChB;AAkBD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAMT;AAED,wBAAgB,YAAY,
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,4DAA4D;IAC5D,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,6EAA6E;IAC7E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,EAAE,EAAE,OAAO,CAAC;IACZ,4DAA4D;IAC5D,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,IAAI,EAAE,SAAS,CAAC;IAChB,wFAAwF;IACxF,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAC;CAChB;AAkBD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAMT;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GACvD,UAAU,CA6BZ;AAqBD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,WAA8B,GACpC,MAAM,CAoBR;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,WAA8B,GACpC,MAAM,CAiCR;AAMD,6DAA6D;AAC7D,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,MAAM,CA8BR"}
|
package/dist/report.js
CHANGED
|
@@ -24,12 +24,17 @@ export function shouldUseColor(env = process.env, streamIsTTY) {
|
|
|
24
24
|
}
|
|
25
25
|
return Boolean(streamIsTTY);
|
|
26
26
|
}
|
|
27
|
-
export function toJsonReport(result, source) {
|
|
27
|
+
export function toJsonReport(result, source, failOverTokens, options = {}) {
|
|
28
28
|
const savedChars = Math.max(0, result.input.chars - result.output.chars);
|
|
29
29
|
const savedTokens = Math.max(0, result.input.tokens - result.output.tokens);
|
|
30
|
+
const limit = failOverTokens ?? null;
|
|
31
|
+
const budgetOk = limit == null || result.output.tokens <= limit;
|
|
32
|
+
const sources = options.sources;
|
|
33
|
+
const shared = Boolean(sources && sources.length > 1);
|
|
30
34
|
return {
|
|
31
35
|
ok: true,
|
|
32
36
|
source,
|
|
37
|
+
...(sources && sources.length ? { sources } : {}),
|
|
33
38
|
input: result.input,
|
|
34
39
|
output: result.output,
|
|
35
40
|
saved: {
|
|
@@ -39,6 +44,13 @@ export function toJsonReport(result, source) {
|
|
|
39
44
|
tokenPercent: pct(result.input.tokens, result.output.tokens),
|
|
40
45
|
},
|
|
41
46
|
cuts: result.cuts,
|
|
47
|
+
budget: {
|
|
48
|
+
failOverTokens: limit,
|
|
49
|
+
maxTokens: options.maxTokens ?? null,
|
|
50
|
+
outputTokens: result.output.tokens,
|
|
51
|
+
ok: budgetOk,
|
|
52
|
+
shared,
|
|
53
|
+
},
|
|
42
54
|
text: result.text,
|
|
43
55
|
};
|
|
44
56
|
}
|
package/dist/report.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"AAsCA,SAAS,GAAG,CAAC,MAAc,EAAE,KAAa;IACxC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,MAAM,CAAC,CAAS;IACvB,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,IAAI,GAAG;IACX,GAAG,EAAE,CAAC,CAAS,EAAE,EAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,KAAK,EAAE,CAAC,CAAS,EAAE,EAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,GAAG,EAAE,CAAC,CAAS,EAAE,EAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,EAAE,CAAC,CAAS,EAAE,EAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;CACtE,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAyB,OAAO,CAAC,GAAG,EACpC,WAAqB;IAErB,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACpE,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,GAAG,CAAC,WAAW,KAAK,EAAE,IAAI,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC;IAC3D,CAAC;IACD,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,MAAkB,EAClB,MAAc,EACd,cAAuB,EACvB,UAAsD,EAAE;IAExD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,cAAc,IAAI,IAAI,CAAC;IACrC,MAAM,QAAQ,GAAG,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM;QACN,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE;YACL,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YACzD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;SAC7D;QACD,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE;YACN,cAAc,EAAE,KAAK;YACrB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;YACpC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;YAClC,EAAE,EAAE,QAAQ;YACZ,MAAM;SACP;QACD,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAe;IAC/B,OAAO;QACL,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9C,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9C,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC1D,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACvD,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClD,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClD,CAAC,kBAAkB,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QACxD,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,MAAkB,EAClB,MAAc,EACd,OAAe,EACf,QAAqB,EAAE,KAAK,EAAE,KAAK,EAAE;IAErC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACjC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACnF,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;IACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CACvD,CAAC;IACF,MAAM,KAAK,GAAG;QACZ,IAAI,CAAC,IAAI,CAAC,gBAAgB,OAAO,EAAE,EAAE,EAAE,CAAC;QACxC,aAAa,MAAM,EAAE;QACrB,aAAa,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG;QAChG,cAAc,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG;QACnG,MAAM;QACN,GAAG,OAAO;KACX,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,MAAc,EACd,QAAqB,EAAE,KAAK,EAAE,KAAK,EAAE;IAErC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,0CAA0C;QAC1C,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QACjC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,KAAK;YAChB,CAAC,CAAC,mDAAmD;YACrD,CAAC,CAAC,iCAAiC,CAAC;IACxC,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACzC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;IACvB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,sBAAsB,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,EAAE,IAAI,EACvH,EAAE,CACH,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,mBAAmB,CACjC,MAAkB,EAClB,MAAc,EACd,OAAe;IAEf,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACvE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,aAAa,UAAU,IAAI,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CACR,aAAa,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,WAAW,CAAC,UAAU,CAAC,MAAM,OAAO,MAAM,CACnI,CAAC;IACF,KAAK,CAAC,IAAI,CACR,sBAAsB,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,WAAW,CAAC,WAAW,CAAC,MAAM,MAAM,MAAM,CAChJ,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC/F,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/dist/sarif.d.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { DietResult } from "./types.js";
|
|
2
|
+
/** Minimal SARIF 2.1.0 for budget / diet gate failures (GitHub Code Scanning). */
|
|
3
|
+
export interface SarifLog {
|
|
4
|
+
$schema: string;
|
|
5
|
+
version: "2.1.0";
|
|
6
|
+
runs: Array<{
|
|
7
|
+
tool: {
|
|
8
|
+
driver: {
|
|
9
|
+
name: string;
|
|
10
|
+
version: string;
|
|
11
|
+
informationUri?: string;
|
|
12
|
+
rules: Array<{
|
|
13
|
+
id: string;
|
|
14
|
+
shortDescription: {
|
|
15
|
+
text: string;
|
|
16
|
+
};
|
|
17
|
+
}>;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
results: Array<{
|
|
21
|
+
ruleId: string;
|
|
22
|
+
level: "error" | "warning" | "note";
|
|
23
|
+
message: {
|
|
24
|
+
text: string;
|
|
25
|
+
};
|
|
26
|
+
locations?: Array<{
|
|
27
|
+
physicalLocation?: {
|
|
28
|
+
artifactLocation?: {
|
|
29
|
+
uri: string;
|
|
30
|
+
};
|
|
31
|
+
region?: {
|
|
32
|
+
startLine?: number;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
}>;
|
|
36
|
+
properties?: Record<string, unknown>;
|
|
37
|
+
}>;
|
|
38
|
+
}>;
|
|
39
|
+
}
|
|
40
|
+
export interface SarifBudget {
|
|
41
|
+
failOverTokens?: number;
|
|
42
|
+
maxTokens?: number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* SARIF for over-budget output (and optional soft max-tokens note).
|
|
46
|
+
* Clean / under-budget runs still emit a valid log with zero results.
|
|
47
|
+
*/
|
|
48
|
+
export declare function renderSarif(result: DietResult, source: string, version: string, budget?: SarifBudget): SarifLog;
|
|
49
|
+
export declare function formatSarif(result: DietResult, source: string, version: string, budget?: SarifBudget): string;
|
|
50
|
+
//# sourceMappingURL=sarif.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sarif.d.ts","sourceRoot":"","sources":["../src/sarif.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,kFAAkF;AAClF,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,KAAK,CAAC;QACV,IAAI,EAAE;YACJ,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC;gBACb,OAAO,EAAE,MAAM,CAAC;gBAChB,cAAc,CAAC,EAAE,MAAM,CAAC;gBACxB,KAAK,EAAE,KAAK,CAAC;oBAAE,EAAE,EAAE,MAAM,CAAC;oBAAC,gBAAgB,EAAE;wBAAE,IAAI,EAAE,MAAM,CAAA;qBAAE,CAAA;iBAAE,CAAC,CAAC;aAClE,CAAC;SACH,CAAC;QACF,OAAO,EAAE,KAAK,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;YACpC,OAAO,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC;YAC1B,SAAS,CAAC,EAAE,KAAK,CAAC;gBAChB,gBAAgB,CAAC,EAAE;oBACjB,gBAAgB,CAAC,EAAE;wBAAE,GAAG,EAAE,MAAM,CAAA;qBAAE,CAAC;oBACnC,MAAM,CAAC,EAAE;wBAAE,SAAS,CAAC,EAAE,MAAM,CAAA;qBAAE,CAAC;iBACjC,CAAC;aACH,CAAC,CAAC;YACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACtC,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,WAAW;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD;;;GAGG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,WAAgB,GACvB,QAAQ,CAsDV;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,WAAgB,GACvB,MAAM,CAER"}
|
package/dist/sarif.js
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
function oneLine(text, max = 240) {
|
|
2
|
+
const compact = text.replace(/\s+/g, " ").trim();
|
|
3
|
+
if (compact.length <= max)
|
|
4
|
+
return compact;
|
|
5
|
+
return `${compact.slice(0, max - 1)}…`;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* SARIF for over-budget output (and optional soft max-tokens note).
|
|
9
|
+
* Clean / under-budget runs still emit a valid log with zero results.
|
|
10
|
+
*/
|
|
11
|
+
export function renderSarif(result, source, version, budget = {}) {
|
|
12
|
+
const results = [];
|
|
13
|
+
if (budget.failOverTokens != null &&
|
|
14
|
+
result.output.tokens > budget.failOverTokens) {
|
|
15
|
+
results.push({
|
|
16
|
+
ruleId: "over-fail-over-tokens",
|
|
17
|
+
level: "error",
|
|
18
|
+
message: {
|
|
19
|
+
text: oneLine(`output tokens ~${result.output.tokens} exceed --fail-over-tokens ${budget.failOverTokens}`),
|
|
20
|
+
},
|
|
21
|
+
locations: [
|
|
22
|
+
{
|
|
23
|
+
physicalLocation: {
|
|
24
|
+
artifactLocation: { uri: source },
|
|
25
|
+
region: { startLine: 1 },
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
properties: {
|
|
30
|
+
outputTokens: result.output.tokens,
|
|
31
|
+
failOverTokens: budget.failOverTokens,
|
|
32
|
+
...(budget.maxTokens != null ? { maxTokens: budget.maxTokens } : {}),
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
$schema: "https://json.schemastore.org/sarif-2.1.0.json",
|
|
38
|
+
version: "2.1.0",
|
|
39
|
+
runs: [
|
|
40
|
+
{
|
|
41
|
+
tool: {
|
|
42
|
+
driver: {
|
|
43
|
+
name: "context-diet",
|
|
44
|
+
version,
|
|
45
|
+
informationUri: "https://github.com/webywz/context-diet",
|
|
46
|
+
rules: [
|
|
47
|
+
{
|
|
48
|
+
id: "over-fail-over-tokens",
|
|
49
|
+
shortDescription: {
|
|
50
|
+
text: "Slimmed output still exceeds --fail-over-tokens budget",
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
results,
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export function formatSarif(result, source, version, budget = {}) {
|
|
62
|
+
return `${JSON.stringify(renderSarif(result, source, version, budget), null, 2)}\n`;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=sarif.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sarif.js","sourceRoot":"","sources":["../src/sarif.ts"],"names":[],"mappings":"AAmCA,SAAS,OAAO,CAAC,IAAY,EAAE,GAAG,GAAG,GAAG;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,OAAO,CAAC;IAC1C,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,MAAkB,EAClB,MAAc,EACd,OAAe,EACf,SAAsB,EAAE;IAExB,MAAM,OAAO,GAAmC,EAAE,CAAC;IACnD,IACE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,EAC5C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,uBAAuB;YAC/B,KAAK,EAAE,OAAO;YACd,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO,CACX,kBAAkB,MAAM,CAAC,MAAM,CAAC,MAAM,8BAA8B,MAAM,CAAC,cAAc,EAAE,CAC5F;aACF;YACD,SAAS,EAAE;gBACT;oBACE,gBAAgB,EAAE;wBAChB,gBAAgB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;wBACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;qBACzB;iBACF;aACF;YACD,UAAU,EAAE;gBACV,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;gBAClC,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrE;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,OAAO,EAAE,+CAA+C;QACxD,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE;YACJ;gBACE,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN,IAAI,EAAE,cAAc;wBACpB,OAAO;wBACP,cAAc,EAAE,wCAAwC;wBACxD,KAAK,EAAE;4BACL;gCACE,EAAE,EAAE,uBAAuB;gCAC3B,gBAAgB,EAAE;oCAChB,IAAI,EAAE,wDAAwD;iCAC/D;6BACF;yBACF;qBACF;iBACF;gBACD,OAAO;aACR;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,MAAkB,EAClB,MAAc,EACd,OAAe,EACf,SAAsB,EAAE;IAExB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AACtF,CAAC"}
|
package/dist/tap.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DietResult } from "./types.js";
|
|
2
|
+
export interface TapResult {
|
|
3
|
+
text: string;
|
|
4
|
+
exitCode: number;
|
|
5
|
+
}
|
|
6
|
+
export interface TapBudget {
|
|
7
|
+
failOverTokens?: number;
|
|
8
|
+
outputTokens: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* TAP version 13 aligned with agent-trace / eval-smoke 0.7.
|
|
12
|
+
* One plan item: ok when under --fail-over-tokens (or no gate); not ok when exceeded.
|
|
13
|
+
*/
|
|
14
|
+
export declare function formatTap(result: DietResult, source: string, budget: TapBudget): TapResult;
|
|
15
|
+
//# sourceMappingURL=tap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tap.d.ts","sourceRoot":"","sources":["../src/tap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,GAChB,SAAS,CAyBX"}
|
package/dist/tap.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TAP version 13 aligned with agent-trace / eval-smoke 0.7.
|
|
3
|
+
* One plan item: ok when under --fail-over-tokens (or no gate); not ok when exceeded.
|
|
4
|
+
*/
|
|
5
|
+
export function formatTap(result, source, budget) {
|
|
6
|
+
const lines = ["TAP version 13", "1..1"];
|
|
7
|
+
const over = budget.failOverTokens != null && result.output.tokens > budget.failOverTokens;
|
|
8
|
+
const desc = source.replace(/#/g, "\\#").replace(/\r?\n/g, " ");
|
|
9
|
+
if (over) {
|
|
10
|
+
lines.push(`not ok 1 - ${desc}`);
|
|
11
|
+
lines.push(" ---");
|
|
12
|
+
lines.push(` message: output tokens ~${result.output.tokens} exceed --fail-over-tokens ${budget.failOverTokens}`);
|
|
13
|
+
lines.push(` output_tokens: ${result.output.tokens}`);
|
|
14
|
+
lines.push(` fail_over_tokens: ${budget.failOverTokens}`);
|
|
15
|
+
lines.push(" ...");
|
|
16
|
+
lines.push(`# context-diet: over budget (${result.output.tokens} > ${budget.failOverTokens})`);
|
|
17
|
+
return { text: `${lines.join("\n")}\n`, exitCode: 1 };
|
|
18
|
+
}
|
|
19
|
+
lines.push(`ok 1 - ${desc}`);
|
|
20
|
+
lines.push(`# context-diet: ~${result.output.tokens} tokens` +
|
|
21
|
+
(budget.failOverTokens != null ? ` (budget ${budget.failOverTokens})` : ""));
|
|
22
|
+
return { text: `${lines.join("\n")}\n`, exitCode: 0 };
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=tap.js.map
|
package/dist/tap.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tap.js","sourceRoot":"","sources":["../src/tap.ts"],"names":[],"mappings":"AAYA;;;GAGG;AACH,MAAM,UAAU,SAAS,CACvB,MAAkB,EAClB,MAAc,EACd,MAAiB;IAEjB,MAAM,KAAK,GAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,IAAI,GACR,MAAM,CAAC,cAAc,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;IAChF,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CACR,6BAA6B,MAAM,CAAC,MAAM,CAAC,MAAM,8BAA8B,MAAM,CAAC,cAAc,EAAE,CACvG,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CACR,gCAAgC,MAAM,CAAC,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,cAAc,GAAG,CACnF,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CACR,oBAAoB,MAAM,CAAC,MAAM,CAAC,MAAM,SAAS;QAC/C,CAAC,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAC9E,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACxD,CAAC"}
|