@jev-kit/cli 0.2.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +67 -33
- package/dist/cli.js.map +1 -1
- package/package.json +4 -4
package/dist/cli.js
CHANGED
|
@@ -1,44 +1,70 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { randomUUID } from "node:crypto";
|
|
3
|
+
import { appendFile, mkdir, readFile, rename, writeFile } from "node:fs/promises";
|
|
3
4
|
import { dirname } from "node:path";
|
|
4
5
|
import { definePermissionReviewPolicy, reviewAgentAction, unavailableReviewResult, validateAgentReviewRequest, } from "@jev-kit/agent-review";
|
|
5
6
|
import { JevClient } from "@jev-kit/decision-contract";
|
|
6
7
|
import { fromClaudeCodePermissionRequest, fromCodexPermissionRequest, renderPermissionHookResult, } from "@jev-kit/hook-adapters";
|
|
7
8
|
import { parseCliConfig } from "./index.js";
|
|
8
9
|
async function main() {
|
|
10
|
+
const started = performance.now();
|
|
9
11
|
const args = parseArguments(process.argv.slice(2));
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
throw new TypeError("stdin must contain one JSON document");
|
|
15
|
-
const rawInput = JSON.parse(inputText);
|
|
16
|
-
const request = await normalizeRequest(args.adapter, rawInput, config);
|
|
17
|
-
let result;
|
|
18
|
-
try {
|
|
19
|
-
const client = new JevClient({ ...(config.model === undefined ? {} : { defaultModel: config.model }) });
|
|
20
|
-
result = await reviewAgentAction({ client, policy, request });
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
if (error instanceof TypeError)
|
|
24
|
-
throw error;
|
|
25
|
-
result = unavailableReviewResult(policy, error instanceof Error ? error.name : "unknown");
|
|
26
|
-
}
|
|
27
|
-
if (args.statusFile !== undefined) {
|
|
12
|
+
const attemptId = randomUUID();
|
|
13
|
+
const record = async (event) => {
|
|
14
|
+
if (args.statusFile === undefined)
|
|
15
|
+
return;
|
|
28
16
|
try {
|
|
29
|
-
await recordStatus(args.statusFile,
|
|
17
|
+
await recordStatus(args.statusFile, {
|
|
18
|
+
schemaVersion: 1, attemptId, at: new Date().toISOString(), adapter: args.adapter, ...event,
|
|
19
|
+
});
|
|
30
20
|
}
|
|
31
21
|
catch {
|
|
32
|
-
// Observability must not change
|
|
22
|
+
// Observability must not change the permission decision or CLI failure.
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
await record({ event: "started" });
|
|
26
|
+
let stage = "config";
|
|
27
|
+
let tool;
|
|
28
|
+
try {
|
|
29
|
+
const config = parseCliConfig(JSON.parse(await readFile(args.configPath, "utf8")));
|
|
30
|
+
const policy = definePermissionReviewPolicy(config.policy);
|
|
31
|
+
stage = "input";
|
|
32
|
+
const inputText = await readStdin();
|
|
33
|
+
if (inputText.trim() === "")
|
|
34
|
+
throw new TypeError("stdin must contain one JSON document");
|
|
35
|
+
const rawInput = JSON.parse(inputText);
|
|
36
|
+
stage = "normalize";
|
|
37
|
+
const request = await normalizeRequest(args.adapter, rawInput, config);
|
|
38
|
+
tool = request.action.tool;
|
|
39
|
+
stage = "review";
|
|
40
|
+
let result;
|
|
41
|
+
try {
|
|
42
|
+
const client = new JevClient({ ...(config.model === undefined ? {} : { defaultModel: config.model }) });
|
|
43
|
+
result = await reviewAgentAction({ client, policy, request });
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
if (error instanceof TypeError)
|
|
47
|
+
throw error;
|
|
48
|
+
result = unavailableReviewResult(policy, error instanceof Error ? error.name : "unknown");
|
|
49
|
+
}
|
|
50
|
+
await record({ event: "finished", ...result, tool, stage, durationMs: performance.now() - started });
|
|
51
|
+
if (args.adapter === "normalized") {
|
|
52
|
+
process.stdout.write(`${JSON.stringify(result)}\n`);
|
|
53
|
+
return;
|
|
33
54
|
}
|
|
55
|
+
const hookOutput = renderPermissionHookResult(result);
|
|
56
|
+
if (hookOutput !== undefined)
|
|
57
|
+
process.stdout.write(`${JSON.stringify(hookOutput)}\n`);
|
|
34
58
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
59
|
+
catch (error) {
|
|
60
|
+
await record({
|
|
61
|
+
event: "finished", outcome: "error", reason: "cli-error", stage,
|
|
62
|
+
durationMs: performance.now() - started,
|
|
63
|
+
...(tool === undefined ? {} : { tool }),
|
|
64
|
+
errorKind: error instanceof Error ? error.name : "unknown",
|
|
65
|
+
});
|
|
66
|
+
throw error;
|
|
38
67
|
}
|
|
39
|
-
const hookOutput = renderPermissionHookResult(result);
|
|
40
|
-
if (hookOutput !== undefined)
|
|
41
|
-
process.stdout.write(`${JSON.stringify(hookOutput)}\n`);
|
|
42
68
|
}
|
|
43
69
|
async function normalizeRequest(adapter, input, config) {
|
|
44
70
|
if (adapter === "normalized") {
|
|
@@ -94,7 +120,16 @@ async function readStdin() {
|
|
|
94
120
|
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
|
|
95
121
|
return Buffer.concat(chunks).toString("utf8");
|
|
96
122
|
}
|
|
97
|
-
async function recordStatus(path,
|
|
123
|
+
async function recordStatus(path, event) {
|
|
124
|
+
await mkdir(dirname(path), { recursive: true });
|
|
125
|
+
try {
|
|
126
|
+
await appendFile(`${path}.jsonl`, `${JSON.stringify(event)}\n`);
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
// A journal failure must not suppress the existing aggregate or decision.
|
|
130
|
+
}
|
|
131
|
+
if (event.event === "started")
|
|
132
|
+
return;
|
|
98
133
|
let current = {};
|
|
99
134
|
try {
|
|
100
135
|
const parsed = JSON.parse(await readFile(path, "utf8"));
|
|
@@ -106,18 +141,17 @@ async function recordStatus(path, tool, result) {
|
|
|
106
141
|
}
|
|
107
142
|
const previousCounts = typeof current.counts === "object" && current.counts !== null && !Array.isArray(current.counts)
|
|
108
143
|
? current.counts : {};
|
|
109
|
-
const
|
|
144
|
+
const reason = event.reason;
|
|
145
|
+
const previousCount = previousCounts[reason];
|
|
110
146
|
const count = typeof previousCount === "number" && Number.isSafeInteger(previousCount) && previousCount >= 0
|
|
111
147
|
? previousCount : 0;
|
|
112
148
|
const status = {
|
|
113
149
|
schemaVersion: 1,
|
|
114
|
-
counts: { ...previousCounts, [
|
|
150
|
+
counts: { ...previousCounts, [reason]: count + 1 },
|
|
115
151
|
last: {
|
|
116
|
-
|
|
117
|
-
contract: result.contract, scores: result.scores ?? {},
|
|
152
|
+
...event, scores: event.scores ?? {},
|
|
118
153
|
},
|
|
119
154
|
};
|
|
120
|
-
await mkdir(dirname(path), { recursive: true });
|
|
121
155
|
const temporary = `${path}.${process.pid}.tmp`;
|
|
122
156
|
await writeFile(temporary, JSON.stringify(status));
|
|
123
157
|
await rename(temporary, path);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jev-kit/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Run Jev Kit agent review, evidence checks and semantic diffs from hooks, scripts and non-TypeScript applications.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -37,11 +37,11 @@
|
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
+
"@jev-kit/agent-review": "0.3.0",
|
|
41
|
+
"@jev-kit/hook-adapters": "0.2.0",
|
|
40
42
|
"@jev-kit/decision-contract": "0.2.0",
|
|
41
43
|
"@jev-kit/evidence-check": "0.1.1",
|
|
42
|
-
"@jev-kit/
|
|
43
|
-
"@jev-kit/semantic-diff": "0.1.1",
|
|
44
|
-
"@jev-kit/agent-review": "0.2.0"
|
|
44
|
+
"@jev-kit/semantic-diff": "0.1.1"
|
|
45
45
|
},
|
|
46
46
|
"scripts": {
|
|
47
47
|
"build": "tsc -b"
|