ctxjev-cli 0.1.1 → 0.1.3
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 +12 -9
- package/dist/index.js +22 -3
- package/dist/index.js.map +1 -1
- package/dist/report.js +2 -0
- package/dist/report.js.map +1 -1
- package/package.json +21 -2
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# ctxjev-cli
|
|
4
4
|
|
|
5
|
-
**See what Jev would keep, drop, or summarize
|
|
5
|
+
**See what Jev would keep, drop, or summarize, right from your terminal.**
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/ctxjev-cli)
|
|
8
8
|
[](LICENSE)
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
20
|
npm install -g ctxjev-cli
|
|
21
|
-
export TYPESAFE_API_KEY=... # console.typesafe.ai/settings/keys
|
|
21
|
+
export TYPESAFE_API_KEY=... # console.typesafe.ai/settings/keys (no waitlist)
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
## Usage
|
|
@@ -41,8 +41,9 @@ ctxjev analyze transcript.jsonl --goal "Fix the checkout double-charge bug."
|
|
|
41
41
|
Jev cost: 859 input tokens, 123 output tokens (free) — ~$0.000036
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
between runs
|
|
44
|
+
This is real output against a sample transcript. Jev is probabilistic, so exact numbers vary
|
|
45
|
+
slightly between runs, and the cost line is computed from what Jev's API actually reported, not
|
|
46
|
+
estimated.
|
|
46
47
|
|
|
47
48
|
## Options
|
|
48
49
|
|
|
@@ -51,19 +52,19 @@ between runs. The cost line is computed from what Jev's API actually reported, n
|
|
|
51
52
|
| `--goal <text>` | Overrides the transcript's own goal (or the inferred one), if any. |
|
|
52
53
|
| `--drop-below <0-1>` | Relevance floor below which an entry is dropped (default `0.25`). |
|
|
53
54
|
| `--summarize-below <0-1>` | Relevance floor below which an entry is summarized (default `0.6`). |
|
|
54
|
-
| `--json` |
|
|
55
|
+
| `--json` | Prints machine-readable JSON (`{ decisions, savings, usage }`) instead of the report. |
|
|
55
56
|
| `--help` / `--version` | Work without `TYPESAFE_API_KEY` set. |
|
|
56
57
|
|
|
57
58
|
## Transcript formats
|
|
58
59
|
|
|
59
60
|
Auto-detected, no flag needed:
|
|
60
61
|
|
|
61
|
-
- **ctxjev's own**
|
|
62
|
-
- **Claude Code**
|
|
62
|
+
- **ctxjev's own format** is a single JSON document: `{ "goal": "...", "entries": [{ "id", "role", "toolName"?, "content", "timestamp" }] }`.
|
|
63
|
+
- **A Claude Code session** is a real `.jsonl` transcript (`transcript_path`, or anything under
|
|
63
64
|
`~/.claude/projects`). The goal is inferred from your most recent chat message unless `--goal`
|
|
64
65
|
overrides it.
|
|
65
66
|
|
|
66
|
-
> Never point this at a real, sensitive session log without checking its contents first
|
|
67
|
+
> Never point this at a real, sensitive session log without checking its contents first. Entry
|
|
67
68
|
> content is sent to the live Jev API for scoring.
|
|
68
69
|
|
|
69
70
|
## Related packages
|
|
@@ -78,4 +79,6 @@ Full docs, design notes, and example transcripts live in the main repo:
|
|
|
78
79
|
|
|
79
80
|
## License
|
|
80
81
|
|
|
81
|
-
[MIT](LICENSE)
|
|
82
|
+
[MIT](LICENSE): free to use, modify, and distribute, including in a commercial product, as long
|
|
83
|
+
as the license text and copyright notice ship with it. See the [main repo](https://github.com/x96x64/ctxjev#license)
|
|
84
|
+
for how this matches every dependency `ctxjev` currently uses.
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { readFileSync } from 'node:fs';
|
|
2
3
|
import { readFile } from 'node:fs/promises';
|
|
4
|
+
import { dirname, join } from 'node:path';
|
|
5
|
+
import { fileURLToPath } from 'node:url';
|
|
3
6
|
import { parseArgs } from 'node:util';
|
|
4
7
|
import pc from 'picocolors';
|
|
5
8
|
import { DEFAULT_POLICY, pruneContext, summarizeSavings } from 'ctxjev-core';
|
|
6
9
|
import { formatReport } from './report.js';
|
|
7
10
|
import { parseTranscript } from './transcript.js';
|
|
8
|
-
|
|
11
|
+
// Read from this package's own package.json rather than a hardcoded constant, so --version
|
|
12
|
+
// can't silently go stale after the next release the way a literal string would.
|
|
13
|
+
const VERSION = JSON.parse(readFileSync(join(dirname(fileURLToPath(import.meta.url)), '../package.json'), 'utf8')).version;
|
|
9
14
|
const HELP = `${pc.bold('ctxjev')} — score and prune AI agent context with Jev
|
|
10
15
|
|
|
16
|
+
${pc.bold('Try it right now')}
|
|
17
|
+
curl -O https://raw.githubusercontent.com/x96x64/ctxjev/main/examples/sample-transcripts/checkout-bug.json
|
|
18
|
+
ctxjev analyze checkout-bug.json
|
|
19
|
+
|
|
11
20
|
${pc.bold('Usage')}
|
|
12
21
|
ctxjev analyze <transcript> --goal "<current task>" [options]
|
|
13
22
|
|
|
@@ -29,6 +38,11 @@ function fail(message) {
|
|
|
29
38
|
console.error(`${pc.red('✖')} ${message}`);
|
|
30
39
|
process.exit(1);
|
|
31
40
|
}
|
|
41
|
+
function failAll(messages) {
|
|
42
|
+
for (const message of messages)
|
|
43
|
+
console.error(`${pc.red('✖')} ${message}`);
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
32
46
|
async function runAnalyze(argv) {
|
|
33
47
|
const { positionals, values } = parseArgs({
|
|
34
48
|
args: argv,
|
|
@@ -43,16 +57,21 @@ async function runAnalyze(argv) {
|
|
|
43
57
|
const [file] = positionals;
|
|
44
58
|
if (!file)
|
|
45
59
|
fail('missing <transcript.json> — see `ctxjev --help`');
|
|
60
|
+
// Both checked up front, independently — a user missing the key AND pointing at a bad path
|
|
61
|
+
// should hear about both in one run, not fix one only to discover the other on the next try.
|
|
62
|
+
const problems = [];
|
|
46
63
|
if (!process.env.TYPESAFE_API_KEY) {
|
|
47
|
-
|
|
64
|
+
problems.push('TYPESAFE_API_KEY is not set — get one at console.typesafe.ai/settings/keys');
|
|
48
65
|
}
|
|
49
66
|
let raw;
|
|
50
67
|
try {
|
|
51
68
|
raw = await readFile(file, 'utf8');
|
|
52
69
|
}
|
|
53
70
|
catch {
|
|
54
|
-
|
|
71
|
+
problems.push(`couldn't read ${file}`);
|
|
55
72
|
}
|
|
73
|
+
if (problems.length > 0)
|
|
74
|
+
failAll(problems);
|
|
56
75
|
const transcript = parseTranscript(raw);
|
|
57
76
|
const goal = values.goal ?? transcript.goal;
|
|
58
77
|
if (!goal)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAqC,MAAM,aAAa,CAAA;AAC/G,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,MAAM,OAAO,GAAG,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/report.js
CHANGED
|
@@ -13,6 +13,8 @@ function truncate(text, max = 60) {
|
|
|
13
13
|
export function formatReport(entries, decisions, savings, usage) {
|
|
14
14
|
const decisionByEntryId = new Map(decisions.map((d) => [d.entryId, d]));
|
|
15
15
|
const lines = [];
|
|
16
|
+
lines.push(pc.dim(`score: 0–1, higher = more relevant to your goal · ${pc.green('keep')} = as-is, ${pc.yellow('summarize')} = shorten, ${pc.red('drop')} = remove`));
|
|
17
|
+
lines.push('');
|
|
16
18
|
const idWidth = Math.max(2, ...entries.map((e) => e.id.length));
|
|
17
19
|
const roleWidth = Math.max(4, ...entries.map((e) => (e.toolName ?? e.role).length));
|
|
18
20
|
for (const entry of entries) {
|
package/dist/report.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ctxjev-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "CLI for ctxjev — analyze an agent transcript and report what Jev would keep, drop, or summarize.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"cli",
|
|
7
|
+
"ai-agent",
|
|
8
|
+
"llm",
|
|
9
|
+
"context-pruning",
|
|
10
|
+
"transcript-analysis",
|
|
11
|
+
"jev",
|
|
12
|
+
"claude-code"
|
|
13
|
+
],
|
|
5
14
|
"license": "MIT",
|
|
15
|
+
"author": {
|
|
16
|
+
"name": "x96x64",
|
|
17
|
+
"url": "https://github.com/x96x64"
|
|
18
|
+
},
|
|
6
19
|
"repository": {
|
|
7
20
|
"type": "git",
|
|
8
21
|
"url": "git+https://github.com/x96x64/ctxjev.git",
|
|
9
22
|
"directory": "packages/cli"
|
|
10
23
|
},
|
|
11
24
|
"homepage": "https://github.com/x96x64/ctxjev/tree/main/packages/cli#readme",
|
|
25
|
+
"bugs": {
|
|
26
|
+
"url": "https://github.com/x96x64/ctxjev/issues"
|
|
27
|
+
},
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": ">=20"
|
|
30
|
+
},
|
|
12
31
|
"type": "module",
|
|
13
32
|
"main": "./dist/index.js",
|
|
14
33
|
"bin": {
|
|
@@ -19,7 +38,7 @@
|
|
|
19
38
|
],
|
|
20
39
|
"dependencies": {
|
|
21
40
|
"picocolors": "^1.1.1",
|
|
22
|
-
"ctxjev-core": "0.1.
|
|
41
|
+
"ctxjev-core": "0.1.3"
|
|
23
42
|
},
|
|
24
43
|
"devDependencies": {
|
|
25
44
|
"@types/node": "^22",
|