@webywz/context-diet 0.8.0 → 0.10.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 +44 -15
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +100 -12
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/parse-args.d.ts +5 -2
- package/dist/parse-args.d.ts.map +1 -1
- package/dist/parse-args.js +27 -21
- package/dist/parse-args.js.map +1 -1
- package/dist/report.d.ts +11 -2
- package/dist/report.d.ts.map +1 -1
- package/dist/report.js +6 -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/package.json +1 -1
package/README.md
CHANGED
|
@@ -42,13 +42,14 @@ cut:
|
|
|
42
42
|
| --- | --- |
|
|
43
43
|
| **Offline heuristics** | Strip ANSI/HTML chrome, drop boilerplate, dedupe, omit base64 blobs |
|
|
44
44
|
| **Presets** | `logs`, `email`, `chat`, `html`, `code`, `json` — sensible keep/strip defaults |
|
|
45
|
-
| **Budget** | `--max-tokens` drops low-value blocks first; `--keep` pins headings/code/lists |
|
|
45
|
+
| **Budget** | `--max-tokens` drops low-value blocks first (shared across files/dirs); `--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); `--tap` for TAP 13; JSON `budget` field for Actions |
|
|
47
|
+
| **CI token gate** | `--fail-over-tokens <n>` exits `1` when **combined** output tokens still **>** n (shared multi-file budget; no silent truncate); `--sarif <path>` for Code Scanning; `--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 |
|
|
51
51
|
| **HTML report** | `--html <path>` writes a self-contained before/after report (offline, no CDN) |
|
|
52
|
+
| **Multi-file / dirs** | Pass several files or directories; they share one `--max-tokens` / `--fail-over-tokens` budget (`budget.shared`, `sources[]`) |
|
|
52
53
|
| **Step summary** | `--github-summary` appends a short diet report to `$GITHUB_STEP_SUMMARY` |
|
|
53
54
|
|
|
54
55
|
### Install
|
|
@@ -74,6 +75,8 @@ context-diet input.txt --dry-run --diff
|
|
|
74
75
|
context-diet --demo --html diet.html -q
|
|
75
76
|
context-diet input.txt --json | jq '{tokens: .output.tokens, cuts}'
|
|
76
77
|
context-diet dump.txt --redact --fail-over-tokens 2000
|
|
78
|
+
context-diet a.md b.md notes/ --max-tokens 2000 --fail-over-tokens 2500 --json
|
|
79
|
+
context-diet --demo --fail-over-tokens 1 --sarif over.sarif
|
|
77
80
|
context-diet examples/noisy.txt --keep headings|code|lists
|
|
78
81
|
```
|
|
79
82
|
|
|
@@ -105,25 +108,26 @@ All offline unless you pass `--deepen`.
|
|
|
105
108
|
| Drop quoted / chat chrome | Email quotes; reactions / join-leave |
|
|
106
109
|
| Dedupe paragraphs | Exact and near-identical (Jaccard ≥ 0.84) |
|
|
107
110
|
| Truncate | `--max-tokens` + `--keep` / presets |
|
|
108
|
-
| Fail over tokens | `--fail-over-tokens` hard CI gate
|
|
111
|
+
| Fail over tokens | `--fail-over-tokens` hard CI gate on **combined** output tokens after diet (shared across inputs) |
|
|
109
112
|
| TAP | `--tap` TAP version 13 (exit `1` when over `--fail-over-tokens`) |
|
|
110
|
-
| JSON budget | `budget.failOverTokens` / `budget.outputTokens` / `budget.ok` in `--json` |
|
|
113
|
+
| JSON budget | `budget.failOverTokens` / `budget.outputTokens` / `budget.ok` / `budget.shared` / `sources[]` in `--json` |
|
|
111
114
|
|
|
112
115
|
Token estimates are **cl100k-ish** (~4 chars/word, 1 CJK ≈ 1 token). Good enough to budget a prompt — not a billed tokenizer.
|
|
113
116
|
|
|
114
117
|
### CLI
|
|
115
118
|
|
|
116
119
|
```
|
|
117
|
-
context-diet [file] [options]
|
|
120
|
+
context-diet [file|dir ...] [options]
|
|
118
121
|
```
|
|
119
122
|
|
|
120
123
|
| Flag | Meaning |
|
|
121
124
|
| --- | --- |
|
|
122
|
-
| `[file]` |
|
|
125
|
+
| `[file\|dir ...]` | One or more paths; dirs expand top-level files; omit or `-` for stdin. Multi-input shares one token budget |
|
|
123
126
|
| `-o, --output <file>` | Write slimmed text here instead of stdout |
|
|
124
127
|
| `--html <path>` | Write self-contained HTML report (stats + capped previews) |
|
|
125
|
-
| `--max-tokens <n>` | Cap estimated output tokens (truncates) |
|
|
126
|
-
| `--fail-over-tokens <n>` | Exit `1` if output tokens still **>** n (CI gate; distinct from truncate) |
|
|
128
|
+
| `--max-tokens <n>` | Cap estimated output tokens (truncates; **shared** across files/dirs) |
|
|
129
|
+
| `--fail-over-tokens <n>` | Exit `1` if **combined** output tokens still **>** n (CI gate; shared; distinct from truncate) |
|
|
130
|
+
| `--sarif <path>` | Write SARIF 2.1.0 when over `--fail-over-tokens` (GitHub Code Scanning) |
|
|
127
131
|
| `--tap` | TAP version 13 on stdout (CI; exit `1` if over `--fail-over-tokens`) |
|
|
128
132
|
| `--redact` | Scrub common secret shapes → `[redacted]` (before diet heuristics) |
|
|
129
133
|
| `--keep <cats>` | Prefer `headings`, `code`, `lists` when truncating (comma or `\|`) |
|
|
@@ -210,8 +214,29 @@ node dist/cli.js --demo --preset logs --max-tokens 400
|
|
|
210
214
|
|
|
211
215
|
---
|
|
212
216
|
|
|
217
|
+
|
|
218
|
+
### Multi-file budget + SARIF (0.9 / 0.10)
|
|
219
|
+
|
|
220
|
+
Documented in **Features** and **Quick start** above. Summary:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
context-diet a.md b.md notes/ --max-tokens 2000 --fail-over-tokens 2500 --json
|
|
224
|
+
context-diet --demo --fail-over-tokens 1 --sarif over.sarif
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
- Multiple files/dirs share one `--max-tokens` / `--fail-over-tokens` budget (JSON `budget.shared`, `budget.maxTokens`, `sources[]`).
|
|
228
|
+
- Directories expand to top-level files (non-recursive).
|
|
229
|
+
- `--fail-over-tokens` gates the **combined** dieted output, not each file alone.
|
|
230
|
+
- `--sarif <path>` writes SARIF 2.1.0 when output exceeds `--fail-over-tokens`.
|
|
231
|
+
|
|
232
|
+
|
|
213
233
|
## 中文
|
|
214
234
|
|
|
235
|
+
### 多文件共享预算 + SARIF(0.9 / 0.10)
|
|
236
|
+
|
|
237
|
+
详见上文 **功能** 与 **快速开始**。可传多个文件/目录,共享 `--max-tokens` / `--fail-over-tokens`(闸门看**合并后**输出);JSON 含 `budget.shared`、`sources[]`。`--sarif <path>` 在超 `--fail-over-tokens` 时写出 SARIF 2.1.0。
|
|
238
|
+
|
|
239
|
+
|
|
215
240
|
### 演示
|
|
216
241
|
|
|
217
242
|
```bash
|
|
@@ -226,13 +251,14 @@ npx @webywz/context-diet --demo --preset logs --max-tokens 400
|
|
|
226
251
|
| --- | --- |
|
|
227
252
|
| **离线启发式** | 剥 ANSI/HTML、去样板、去重、省略 base64 大块 |
|
|
228
253
|
| **预设** | `logs` / `email` / `chat` / `html` / `code` / `json` |
|
|
229
|
-
| **预算** | `--max-tokens`
|
|
254
|
+
| **预算** | `--max-tokens` 优先丢掉低价值块(多文件/目录共享);`--keep` 钉住标题/代码/列表 |
|
|
230
255
|
| **密钥脱敏** | `--redact` 擦除 PEM / JWT / `sk-` / `ghp_` / Slack / AWS / Bearer / Basic → `[redacted]` |
|
|
231
|
-
| **CI token 闸门** | `--fail-over-tokens <n
|
|
256
|
+
| **CI token 闸门** | `--fail-over-tokens <n>`:**合并后**输出 token 仍 **>** n 时退出码 `1`(多文件共享预算;不静默截断);`--sarif <path>` 写 Code Scanning;`--tap` 输出 TAP 13;JSON `budget` 供 Actions |
|
|
232
257
|
| **管道友好** | 正文 → stdout;报告 → stderr |
|
|
233
258
|
| **示例随包** | `--demo` / `examples/noisy.txt` 在发布 tarball 里 |
|
|
234
259
|
| **可选 deepen** | `--deepen` 仅在有 key 且你主动开启时走 LLM |
|
|
235
260
|
| **HTML 报告** | `--html <path>`:写出自包含前后对比报告(离线、无 CDN) |
|
|
261
|
+
| **多文件 / 目录** | 可传多个文件或目录,共享一份 `--max-tokens` / `--fail-over-tokens`(`budget.shared`、`sources[]`) |
|
|
236
262
|
| **Step Summary** | `--github-summary`:把精简饮食报告追加到 `$GITHUB_STEP_SUMMARY` |
|
|
237
263
|
|
|
238
264
|
### 安装
|
|
@@ -254,6 +280,8 @@ context-diet input.txt --dry-run --diff
|
|
|
254
280
|
context-diet --demo --html diet.html -q
|
|
255
281
|
context-diet input.txt --json | jq '{tokens: .output.tokens, cuts}'
|
|
256
282
|
context-diet dump.txt --redact --fail-over-tokens 2000
|
|
283
|
+
context-diet a.md b.md notes/ --max-tokens 2000 --fail-over-tokens 2500 --json
|
|
284
|
+
context-diet --demo --fail-over-tokens 1 --sarif over.sarif
|
|
257
285
|
context-diet examples/noisy.txt --keep headings|code|lists
|
|
258
286
|
```
|
|
259
287
|
|
|
@@ -285,9 +313,9 @@ context-diet examples/noisy.txt --keep headings|code|lists
|
|
|
285
313
|
| 去引用 / 聊天 chrome | 邮件引用;反应 / 进出房 |
|
|
286
314
|
| 段落去重 | 精确与近似(Jaccard ≥ 0.84) |
|
|
287
315
|
| 截断 | `--max-tokens` + `--keep` / 预设 |
|
|
288
|
-
| Token 闸门 | `--fail-over-tokens
|
|
316
|
+
| Token 闸门 | `--fail-over-tokens`:饮食后对**合并输出** token 的硬失败 CI 闸(多输入共享) |
|
|
289
317
|
| TAP | `--tap`:TAP version 13(超过 `--fail-over-tokens` 则退出 `1`) |
|
|
290
|
-
| JSON budget | `--json` 中的 `budget.failOverTokens` / `budget.outputTokens` / `budget.ok` |
|
|
318
|
+
| JSON budget | `--json` 中的 `budget.failOverTokens` / `budget.outputTokens` / `budget.ok` / `budget.shared` / `sources[]` |
|
|
291
319
|
|
|
292
320
|
Token 估算为 **cl100k 近似**(约 4 字符/词,1 个 CJK ≈ 1 token)。够用来做预算,不是计费 tokenizer。
|
|
293
321
|
|
|
@@ -295,11 +323,12 @@ Token 估算为 **cl100k 近似**(约 4 字符/词,1 个 CJK ≈ 1 token)
|
|
|
295
323
|
|
|
296
324
|
| 参数 | 含义 |
|
|
297
325
|
| --- | --- |
|
|
298
|
-
| `[file]` |
|
|
326
|
+
| `[file\|dir ...]` | 一个或多个路径;目录展开顶层文件;省略或 `-` 读 stdin。多输入共享一份 token 预算 |
|
|
299
327
|
| `-o, --output <file>` | 把瘦身正文写到文件 |
|
|
300
328
|
| `--html <path>` | 写入自包含 HTML 报告(统计 + 截断预览) |
|
|
301
|
-
| `--max-tokens <n>` | 估算输出 token
|
|
302
|
-
| `--fail-over-tokens <n>` |
|
|
329
|
+
| `--max-tokens <n>` | 估算输出 token 上限(会截断;**多文件/目录共享**) |
|
|
330
|
+
| `--fail-over-tokens <n>` | **合并后**输出 token 仍 **>** n 时退出 `1`(CI 闸;共享;与截断不同) |
|
|
331
|
+
| `--sarif <path>` | 超过 `--fail-over-tokens` 时写出 SARIF 2.1.0(GitHub Code Scanning) |
|
|
303
332
|
| `--tap` | 向 stdout 输出 TAP version 13(超过 `--fail-over-tokens` 则退出 `1`) |
|
|
304
333
|
| `--redact` | 擦除常见密钥形态 → `[redacted]`(在饮食启发式之前) |
|
|
305
334
|
| `--keep <cats>` | 截断时优先保留 `headings` / `code` / `lists` |
|
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
|
@@ -11,6 +11,9 @@ import { appendGithubSummary, resolveGithubSummaryPath, } from "./github-summary
|
|
|
11
11
|
import { formatHtmlReport } from "./html-report.js";
|
|
12
12
|
import { formatGithubSummary, formatHumanReport, formatRemovedDiff, shouldUseColor, toJsonReport, } from "./report.js";
|
|
13
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";
|
|
14
17
|
const defaultIo = () => ({
|
|
15
18
|
stdin: process.stdin,
|
|
16
19
|
stdout: process.stdout,
|
|
@@ -31,34 +34,101 @@ function readStream(stream) {
|
|
|
31
34
|
stream.on("error", reject);
|
|
32
35
|
});
|
|
33
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
|
+
}
|
|
34
88
|
async function readInput(args, io) {
|
|
35
89
|
if (args.demo) {
|
|
36
90
|
const path = demoFixturePath();
|
|
37
91
|
try {
|
|
38
92
|
const text = await io.readFile(path);
|
|
39
|
-
return {
|
|
93
|
+
return {
|
|
94
|
+
text,
|
|
95
|
+
source: "examples/noisy.txt (--demo)",
|
|
96
|
+
sources: ["examples/noisy.txt (--demo)"],
|
|
97
|
+
};
|
|
40
98
|
}
|
|
41
99
|
catch (err) {
|
|
42
100
|
const msg = err instanceof Error ? err.message : String(err);
|
|
43
101
|
throw new UsageError(`Cannot read bundled demo fixture: ${msg}`);
|
|
44
102
|
}
|
|
45
103
|
}
|
|
46
|
-
|
|
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) {
|
|
47
115
|
try {
|
|
48
|
-
const
|
|
49
|
-
|
|
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
|
+
}
|
|
50
123
|
}
|
|
51
124
|
catch (err) {
|
|
52
125
|
const msg = err instanceof Error ? err.message : String(err);
|
|
53
|
-
throw new UsageError(`Cannot read ${
|
|
126
|
+
throw new UsageError(`Cannot read ${file}: ${msg}`);
|
|
54
127
|
}
|
|
55
128
|
}
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
const text = await readStream(io.stdin);
|
|
61
|
-
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 };
|
|
62
132
|
}
|
|
63
133
|
function writeOut(stream, chunk) {
|
|
64
134
|
return new Promise((resolveWrite, reject) => {
|
|
@@ -93,10 +163,12 @@ export async function run(argv, io = defaultIo()) {
|
|
|
93
163
|
}
|
|
94
164
|
let source;
|
|
95
165
|
let text;
|
|
166
|
+
let sources;
|
|
96
167
|
try {
|
|
97
168
|
const input = await readInput(args, io);
|
|
98
169
|
source = input.source;
|
|
99
170
|
text = input.text;
|
|
171
|
+
sources = input.sources;
|
|
100
172
|
}
|
|
101
173
|
catch (err) {
|
|
102
174
|
if (err instanceof UsageError) {
|
|
@@ -124,7 +196,10 @@ export async function run(argv, io = defaultIo()) {
|
|
|
124
196
|
}
|
|
125
197
|
throw err;
|
|
126
198
|
}
|
|
127
|
-
const json = toJsonReport(result, source, args.failOverTokens
|
|
199
|
+
const json = toJsonReport(result, source, args.failOverTokens, {
|
|
200
|
+
maxTokens: args.maxTokens,
|
|
201
|
+
sources,
|
|
202
|
+
});
|
|
128
203
|
const color = shouldUseColor(io.env, io.stderrIsTTY);
|
|
129
204
|
const style = { color };
|
|
130
205
|
if (args.output && !args.dryRun) {
|
|
@@ -137,6 +212,19 @@ export async function run(argv, io = defaultIo()) {
|
|
|
137
212
|
});
|
|
138
213
|
await io.writeFile(args.html, html);
|
|
139
214
|
}
|
|
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
|
+
}
|
|
140
228
|
let tapExit;
|
|
141
229
|
if (args.tap) {
|
|
142
230
|
const tap = formatTap(result, source, {
|
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":";AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAgB,MAAM,iBAAiB,CAAC;AACjF,OAAO,EACL,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAajC,MAAM,SAAS,GAAG,GAAO,EAAE,CAAC,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;IAC/B,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;IACjC,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC1C,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC;CACjE,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,MAA6B;IAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAkB,EAAE,EAAE;YACvC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,KAAe;IACzC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,gFAAgF;QAChF,oDAAoD;QACpD,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC;YACH,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,OAAO,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,MAAM,IAAI,UAAU,CAAC,yBAAyB,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,UAAU,GAAG,OAAO;iBACvB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAC/B,IAAI,EAAE,CAAC;YACV,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;wBAChB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACf,KAAK,IAAI,CAAC,CAAC;oBACb,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,0BAA0B;gBAC5B,CAAC;YACH,CAAC;YACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,MAAM,IAAI,UAAU,CAAC,aAAa,IAAI,wBAAwB,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,IAAa,EACb,EAAM;IAEN,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO;gBACL,IAAI;gBACJ,MAAM,EAAE,6BAA6B;gBACrC,OAAO,EAAE,CAAC,6BAA6B,CAAC;aACzC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,IAAI,UAAU,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAC/F,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,IAAI,UAAU,CAClB,wFAAwF,CACzF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACvD,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,SAAS,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,IAAI,UAAU,CAAC,eAAe,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC;IACxE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,QAAQ,CAAC,MAA6B,EAAE,KAAa;IAC5D,OAAO,IAAI,OAAO,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;YAClC,IAAI,GAAG;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;gBAChB,YAAY,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc,EAAE,KAAS,SAAS,EAAE;IAC5D,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;YAC9B,MAAM,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,OAAO,SAAS,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,CAAC;IAElC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACrC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAc,CAAC;IACnB,IAAI,IAAY,CAAC;IACjB,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACtB,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAClB,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;YAC9B,MAAM,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;YAC9C,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,EAAE,CAAC,GAAG;SACZ,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;YAC/B,MAAM,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;YAC9C,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE;QAC7D,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO;KACR,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC;IAExB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE;YAC5C,QAAQ,EAAE,IAAI;YACd,OAAO;SACR,CAAC,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,KAAK,EACV,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;gBACnC,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,wCAAwC,GAAG,IAAI,CAAC,CAAC;YAC3E,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,IAAI,OAA2B,CAAC;IAChC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE;YACpC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;SACnC,CAAC,CAAC;QACH,MAAM,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC;IACzB,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM;YACzB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;YAC5C,CAAC,CAAC,IAAI,CAAC,MAAM;gBACX,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;gBACvD,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;SAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,qFAAqF;IACrF,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3C,MAAM,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,UAAU,GACd,IAAI,CAAC,aAAa,KAAK,SAAS;QAC9B,CAAC,CAAC,wBAAwB,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC;QAC7C,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAC3D,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,mBAAmB,CAAC,UAAU,EAAE,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,mCAAmC,GAAG,IAAI,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,IACE,IAAI,CAAC,cAAc,KAAK,SAAS;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAC1C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,QAAQ,CACZ,EAAE,CAAC,MAAM,EACT,gCAAgC,MAAM,CAAC,MAAM,CAAC,MAAM,8BAA8B,IAAI,CAAC,cAAc,sDAAsD,CAC5J,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAErD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,+EAA+E;QAC/E,OAAO,CACL,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI;YAC5B,YAAY,CAAC,KAAK,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,CAC3C,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,IAAI,YAAY,EAAE,EAAE,CAAC;IACnB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAC7B,CAAC,IAAI,EAAE,EAAE;QACP,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC1B,CAAC,EACD,CAAC,GAAY,EAAE,EAAE;QACf,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QACjC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,4 +11,5 @@ export { appendGithubSummary, resolveGithubSummaryPath, DEFAULT_GITHUB_SUMMARY,
|
|
|
11
11
|
export { KEEP_CATEGORIES, emptyCuts, type CutCounts, type DietOptions, type DietResult, type KeepCategory, type LlmProvider, type SizeSnapshot, } from "./types.js";
|
|
12
12
|
export { formatTap } from "./tap.js";
|
|
13
13
|
export type { TapResult, TapBudget } from "./tap.js";
|
|
14
|
+
export { formatSarif, renderSarif, type SarifLog, type SarifBudget } from "./sarif.js";
|
|
14
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,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"}
|
|
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
|
@@ -10,4 +10,5 @@ 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
12
|
export { formatTap } from "./tap.js";
|
|
13
|
+
export { formatSarif, renderSarif } from "./sarif.js";
|
|
13
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,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"}
|
|
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
|
@@ -14,7 +14,10 @@ export interface CliArgs {
|
|
|
14
14
|
tap: boolean;
|
|
15
15
|
/** Hard-fail when output tokens > N (CI gate; not truncation). */
|
|
16
16
|
failOverTokens?: number;
|
|
17
|
-
|
|
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[];
|
|
18
21
|
output?: string;
|
|
19
22
|
maxTokens?: number;
|
|
20
23
|
keep: KeepCategory[];
|
|
@@ -28,6 +31,6 @@ export interface CliArgs {
|
|
|
28
31
|
export declare class UsageError extends Error {
|
|
29
32
|
constructor(message: string);
|
|
30
33
|
}
|
|
31
|
-
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 --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";
|
|
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";
|
|
32
35
|
export declare function parseArgs(argv: string[]): CliArgs;
|
|
33
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,gFAAgF;IAChF,GAAG,EAAE,OAAO,CAAC;IACb,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,16 @@ 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)
|
|
59
61
|
--tap TAP version 13 on stdout (CI; exit 1 if over --fail-over-tokens)
|
|
60
62
|
--redact Scrub common secrets (PEM/JWT/sk-/ghp_/…) → [redacted]
|
|
61
63
|
--keep <cats> Prefer headings, code, lists when truncating
|
|
@@ -90,19 +92,14 @@ export function parseArgs(argv) {
|
|
|
90
92
|
demo: false,
|
|
91
93
|
redact: false,
|
|
92
94
|
tap: false,
|
|
95
|
+
files: [],
|
|
93
96
|
keep: [],
|
|
94
97
|
};
|
|
95
98
|
for (let i = 0; i < argv.length; i++) {
|
|
96
99
|
const a = argv[i];
|
|
97
100
|
if (a === "--") {
|
|
98
|
-
const rest
|
|
99
|
-
|
|
100
|
-
throw new UsageError(`Unexpected extra arguments: ${rest.slice(1).join(" ")}`);
|
|
101
|
-
}
|
|
102
|
-
if (rest[0] !== undefined) {
|
|
103
|
-
if (args.file)
|
|
104
|
-
throw new UsageError("Pass at most one input file.");
|
|
105
|
-
args.file = rest[0];
|
|
101
|
+
for (const rest of argv.slice(i + 1)) {
|
|
102
|
+
args.files.push(rest);
|
|
106
103
|
}
|
|
107
104
|
break;
|
|
108
105
|
}
|
|
@@ -146,6 +143,15 @@ export function parseArgs(argv) {
|
|
|
146
143
|
args.tap = true;
|
|
147
144
|
continue;
|
|
148
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
|
+
}
|
|
149
155
|
if (a === "--fail-over-tokens" || a.startsWith("--fail-over-tokens=")) {
|
|
150
156
|
const inline = a.startsWith("--fail-over-tokens=")
|
|
151
157
|
? a.slice("--fail-over-tokens=".length)
|
|
@@ -229,22 +235,22 @@ export function parseArgs(argv) {
|
|
|
229
235
|
continue;
|
|
230
236
|
}
|
|
231
237
|
if (a === "-") {
|
|
232
|
-
|
|
233
|
-
throw new UsageError("Pass at most one input file.");
|
|
234
|
-
}
|
|
235
|
-
args.file = "-";
|
|
238
|
+
args.files.push("-");
|
|
236
239
|
continue;
|
|
237
240
|
}
|
|
238
241
|
if (a.startsWith("-")) {
|
|
239
242
|
throw new UsageError(`Unknown option: ${a}`);
|
|
240
243
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
244
|
+
args.files.push(a);
|
|
245
|
+
}
|
|
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.");
|
|
245
251
|
}
|
|
246
|
-
if (args.
|
|
247
|
-
throw new UsageError("Pass
|
|
252
|
+
if (args.files.includes("-") && args.files.some((f) => f !== "-")) {
|
|
253
|
+
throw new UsageError("Pass stdin (-) alone, not mixed with file paths.");
|
|
248
254
|
}
|
|
249
255
|
// Dedupe keep while preserving order.
|
|
250
256
|
const seen = new Set();
|
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
|
@@ -2,14 +2,20 @@ import type { CutCounts, DietResult } from "./types.js";
|
|
|
2
2
|
export interface JsonBudget {
|
|
3
3
|
/** Echo of --fail-over-tokens when set; null when unset. */
|
|
4
4
|
failOverTokens: number | null;
|
|
5
|
+
/** Echo of --max-tokens when set; null when unset (shared across inputs). */
|
|
6
|
+
maxTokens: number | null;
|
|
5
7
|
/** Output token estimate after diet. */
|
|
6
8
|
outputTokens: number;
|
|
7
9
|
/** true when no gate, or outputTokens <= failOverTokens. */
|
|
8
10
|
ok: boolean;
|
|
11
|
+
/** True when multiple files/dirs share one token budget. */
|
|
12
|
+
shared: boolean;
|
|
9
13
|
}
|
|
10
14
|
export interface JsonReport {
|
|
11
15
|
ok: true;
|
|
12
16
|
source: string;
|
|
17
|
+
/** All input paths when multi-file / directory shared budget is used. */
|
|
18
|
+
sources?: string[];
|
|
13
19
|
input: {
|
|
14
20
|
chars: number;
|
|
15
21
|
tokens: number;
|
|
@@ -25,7 +31,7 @@ export interface JsonReport {
|
|
|
25
31
|
tokenPercent: number;
|
|
26
32
|
};
|
|
27
33
|
cuts: CutCounts;
|
|
28
|
-
/** Token budget gate for GitHub Actions parsing (--fail-over-tokens). */
|
|
34
|
+
/** Token budget gate for GitHub Actions parsing (--fail-over-tokens / --max-tokens). */
|
|
29
35
|
budget: JsonBudget;
|
|
30
36
|
text: string;
|
|
31
37
|
}
|
|
@@ -37,7 +43,10 @@ export interface ReportStyle {
|
|
|
37
43
|
* When streamIsTTY is false and FORCE_COLOR is unset, stay plain.
|
|
38
44
|
*/
|
|
39
45
|
export declare function shouldUseColor(env?: NodeJS.ProcessEnv, streamIsTTY?: boolean): boolean;
|
|
40
|
-
export declare function toJsonReport(result: DietResult, source: string, failOverTokens?: number
|
|
46
|
+
export declare function toJsonReport(result: DietResult, source: string, failOverTokens?: number, options?: {
|
|
47
|
+
maxTokens?: number;
|
|
48
|
+
sources?: string[];
|
|
49
|
+
}): JsonReport;
|
|
41
50
|
export declare function formatHumanReport(result: DietResult, source: string, version: string, style?: ReportStyle): string;
|
|
42
51
|
/**
|
|
43
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,4DAA4D;IAC5D,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,EAAE,EAAE,OAAO,CAAC;
|
|
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,14 +24,17 @@ export function shouldUseColor(env = process.env, streamIsTTY) {
|
|
|
24
24
|
}
|
|
25
25
|
return Boolean(streamIsTTY);
|
|
26
26
|
}
|
|
27
|
-
export function toJsonReport(result, source, failOverTokens) {
|
|
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
30
|
const limit = failOverTokens ?? null;
|
|
31
31
|
const budgetOk = limit == null || result.output.tokens <= limit;
|
|
32
|
+
const sources = options.sources;
|
|
33
|
+
const shared = Boolean(sources && sources.length > 1);
|
|
32
34
|
return {
|
|
33
35
|
ok: true,
|
|
34
36
|
source,
|
|
37
|
+
...(sources && sources.length ? { sources } : {}),
|
|
35
38
|
input: result.input,
|
|
36
39
|
output: result.output,
|
|
37
40
|
saved: {
|
|
@@ -43,8 +46,10 @@ export function toJsonReport(result, source, failOverTokens) {
|
|
|
43
46
|
cuts: result.cuts,
|
|
44
47
|
budget: {
|
|
45
48
|
failOverTokens: limit,
|
|
49
|
+
maxTokens: options.maxTokens ?? null,
|
|
46
50
|
outputTokens: result.output.tokens,
|
|
47
51
|
ok: budgetOk,
|
|
52
|
+
shared,
|
|
48
53
|
},
|
|
49
54
|
text: result.text,
|
|
50
55
|
};
|
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":"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"}
|
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"}
|