@shield-agent/kya 0.1.19 → 0.1.21
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/.mcp.json +1 -1
- package/README.md +7 -4
- package/claude/claude_desktop_config.example.json +1 -1
- package/dist/commands/dash.d.ts.map +1 -1
- package/dist/commands/dash.js +192 -40
- package/dist/commands/dash.js.map +1 -1
- package/dist/commands/orr.d.ts +3 -0
- package/dist/commands/orr.d.ts.map +1 -1
- package/dist/commands/orr.js +23 -51
- package/dist/commands/orr.js.map +1 -1
- package/dist/dash/dash.d.ts +4 -0
- package/dist/dash/dash.d.ts.map +1 -1
- package/dist/dash/dash.js +21 -4
- package/dist/dash/dash.js.map +1 -1
- package/dist/dash/entitlement.d.ts +1 -1
- package/dist/dash/entitlement.d.ts.map +1 -1
- package/dist/dash/entitlement.js +1 -0
- package/dist/dash/entitlement.js.map +1 -1
- package/dist/dash/input.d.ts +1 -1
- package/dist/dash/input.d.ts.map +1 -1
- package/dist/dash/input.js +11 -0
- package/dist/dash/input.js.map +1 -1
- package/dist/dash/policy-cache.d.ts +18 -0
- package/dist/dash/policy-cache.d.ts.map +1 -0
- package/dist/dash/policy-cache.js +37 -0
- package/dist/dash/policy-cache.js.map +1 -0
- package/dist/dash/render.d.ts.map +1 -1
- package/dist/dash/render.js +3 -2
- package/dist/dash/render.js.map +1 -1
- package/dist/dash/screens/free.d.ts +9 -1
- package/dist/dash/screens/free.d.ts.map +1 -1
- package/dist/dash/screens/free.js +24 -7
- package/dist/dash/screens/free.js.map +1 -1
- package/dist/orr/scorecard.d.ts +30 -0
- package/dist/orr/scorecard.d.ts.map +1 -0
- package/dist/orr/scorecard.js +107 -0
- package/dist/orr/scorecard.js.map +1 -0
- package/gemini/settings.example.json +1 -1
- package/grok/README.md +1 -1
- package/manifest.json +1 -1
- package/mcp.json +1 -1
- package/openai/codex.config.example.toml +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
package/.mcp.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"shield-kya": {
|
|
4
4
|
"command": "npx",
|
|
5
|
-
"args": ["--no-install", "@shield-agent/kya@0.1.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.21", "serve-mcp", "--stdio"],
|
|
6
6
|
"env": {
|
|
7
7
|
"KYA_BASE_URL": "https://shield-agent.com",
|
|
8
8
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
package/README.md
CHANGED
|
@@ -33,10 +33,13 @@ npx @shield-agent/kya register-agent --name solo-builder --version-hash dev-loca
|
|
|
33
33
|
npx @shield-agent/kya eval-tool --tool-id org.sample.never.event --irreversible
|
|
34
34
|
npx @shield-agent/kya serve-mcp --stdio
|
|
35
35
|
|
|
36
|
-
# Terminal
|
|
36
|
+
# Terminal desk (FREE personal panes; --offline works without a key)
|
|
37
37
|
npx @shield-agent/kya dash --once --offline
|
|
38
|
+
# Interactive TTY: 1-8 panes, e force-eval, p auto-refresh, y confirms kill/shrink/decide
|
|
39
|
+
npx @shield-agent/kya dash
|
|
38
40
|
```
|
|
39
41
|
|
|
42
|
+
|
|
40
43
|
Install hub: [https://shield-agent.com/install](https://shield-agent.com/install)
|
|
41
44
|
|
|
42
45
|
## Dual plane
|
|
@@ -79,7 +82,7 @@ MCP Registry entry: `server.json` plus package `mcpName` `io.github.The-Pixel-Bo
|
|
|
79
82
|
"mcpServers": {
|
|
80
83
|
"shield-kya": {
|
|
81
84
|
"command": "npx",
|
|
82
|
-
"args": ["--no-install", "@shield-agent/kya@0.1.
|
|
85
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.21", "serve-mcp", "--stdio"],
|
|
83
86
|
"env": {
|
|
84
87
|
"KYA_BASE_URL": "http://127.0.0.1:8090",
|
|
85
88
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
|
@@ -106,7 +109,7 @@ npx @shield-agent/kya reject --id <approval-id>
|
|
|
106
109
|
|
|
107
110
|
```bash
|
|
108
111
|
# Prefer a preinstalled package (no registry auto-install):
|
|
109
|
-
npx --no-install @shield-agent/kya@0.1.
|
|
112
|
+
npx --no-install @shield-agent/kya@0.1.21 serve-mcp --stdio
|
|
110
113
|
# Or after npm i -g / local install:
|
|
111
114
|
kya serve-mcp --stdio
|
|
112
115
|
```
|
|
@@ -117,7 +120,7 @@ Copy `claude/claude_desktop_config.example.json` into Claude Desktop MCP setting
|
|
|
117
120
|
|
|
118
121
|
## OpenAI (Codex / Responses)
|
|
119
122
|
|
|
120
|
-
**Codex CLI / IDE:** copy `openai/codex.config.example.toml` into `~/.codex/config.toml`. Local stdio uses `npx --no-install @shield-agent/kya@0.1.
|
|
123
|
+
**Codex CLI / IDE:** copy `openai/codex.config.example.toml` into `~/.codex/config.toml`. Local stdio uses `npx --no-install @shield-agent/kya@0.1.21 serve-mcp --stdio`. Hosted Codex uses `url = "https://shield-agent.com/mcp"` with `bearer_token_env_var = "KYA_API_KEY"`.
|
|
121
124
|
|
|
122
125
|
**Responses API:** see `openai/responses-mcp.example.json` (`server_url` + `Authorization: Bearer <KYA_API_KEY>`).
|
|
123
126
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"shield-kya": {
|
|
4
4
|
"command": "npx",
|
|
5
|
-
"args": ["--no-install", "@shield-agent/kya@0.1.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.21", "serve-mcp", "--stdio"],
|
|
6
6
|
"env": {
|
|
7
7
|
"KYA_BASE_URL": "https://shield-agent.com",
|
|
8
8
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dash.d.ts","sourceRoot":"","sources":["../../src/commands/dash.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"dash.d.ts","sourceRoot":"","sources":["../../src/commands/dash.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AA2C1D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG;IACvD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;CAChB,CAkBA;AAOD,wBAAsB,OAAO,CAC3B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,UAAU,EAClB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,MAAM,CAAC,CAoTjB"}
|
package/dist/commands/dash.js
CHANGED
|
@@ -5,19 +5,23 @@ import { AuthRequiredError } from "../errors.js";
|
|
|
5
5
|
import { flagBool, flagString } from "../parse-args.js";
|
|
6
6
|
import { renderDash } from "../dash/dash.js";
|
|
7
7
|
import { mapKey } from "../dash/input.js";
|
|
8
|
+
import { PolicySampleCache } from "../dash/policy-cache.js";
|
|
8
9
|
import { runWrap, wrapExitCode } from "./wrap.js";
|
|
9
10
|
import { runInvoke } from "./invoke.js";
|
|
10
11
|
import { runKillAgent, runShrinkSession } from "./ops.js";
|
|
11
12
|
import { runOrr } from "./orr.js";
|
|
12
|
-
|
|
13
|
+
const AUTO_REFRESH_MS = 5_000;
|
|
14
|
+
const ORR_PRODUCERS = ["sa.first_party", "openssf.scorecard"];
|
|
15
|
+
function deskOrr(cwd, producer) {
|
|
16
|
+
const producers = producer === "sa.first_party" ? ["sa.first_party"] : ["sa.first_party", producer];
|
|
13
17
|
return runOrr({
|
|
14
18
|
path: cwd,
|
|
15
19
|
out: `${cwd}/orr-report`,
|
|
16
20
|
rubric: "0",
|
|
17
21
|
disableCategories: [],
|
|
18
22
|
formats: ["json", "md"],
|
|
19
|
-
producers: [
|
|
20
|
-
skipOptionalProducers:
|
|
23
|
+
producers: [...producers],
|
|
24
|
+
skipOptionalProducers: producer === "sa.first_party",
|
|
21
25
|
quiet: true,
|
|
22
26
|
jsonStdout: false,
|
|
23
27
|
});
|
|
@@ -30,6 +34,7 @@ const PANES = [
|
|
|
30
34
|
"sessions",
|
|
31
35
|
"orr",
|
|
32
36
|
"mcp",
|
|
37
|
+
"sandbox",
|
|
33
38
|
"dashboard",
|
|
34
39
|
"cases",
|
|
35
40
|
"metrics",
|
|
@@ -57,21 +62,14 @@ export async function runDash(config, parsed, io, env) {
|
|
|
57
62
|
const opts = dashOptionsFromArgs(parsed);
|
|
58
63
|
const tty = io.isTty ?? Boolean(stdinFd.isTTY && stdoutFd.isTTY);
|
|
59
64
|
const once = opts.once || !tty;
|
|
60
|
-
let client;
|
|
61
|
-
if (!opts.offline && config.apiKey) {
|
|
62
|
-
client = new KyaHttpClient({
|
|
63
|
-
baseUrl: config.baseUrl,
|
|
64
|
-
apiKey: config.apiKey,
|
|
65
|
-
host: config.host,
|
|
66
|
-
agentId: config.agentId,
|
|
67
|
-
requireApiKey: true,
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
const fetchPlane = client
|
|
71
|
-
? async () => client.request("/api/v1/kya/entitlement", { signal: AbortSignal.timeout(5000) })
|
|
72
|
-
: undefined;
|
|
73
|
-
let pane = opts.pane;
|
|
74
65
|
let offline = opts.offline;
|
|
66
|
+
let client = makeClient(config, offline);
|
|
67
|
+
const policyCache = new PolicySampleCache();
|
|
68
|
+
let forcePolicyEval = false;
|
|
69
|
+
let autoRefresh = false;
|
|
70
|
+
let pending;
|
|
71
|
+
let orrProducerIdx = 0;
|
|
72
|
+
let pane = opts.pane;
|
|
75
73
|
let cursor = 0;
|
|
76
74
|
let orrSummary;
|
|
77
75
|
let last = {
|
|
@@ -85,15 +83,29 @@ export async function runDash(config, parsed, io, env) {
|
|
|
85
83
|
offline,
|
|
86
84
|
pane,
|
|
87
85
|
client,
|
|
88
|
-
fetchPlaneEntitlement:
|
|
86
|
+
fetchPlaneEntitlement: client
|
|
87
|
+
? async () => client.request("/api/v1/kya/entitlement", { signal: AbortSignal.timeout(5000) })
|
|
88
|
+
: undefined,
|
|
89
89
|
cursor,
|
|
90
90
|
orrSummary,
|
|
91
|
+
policyCache,
|
|
92
|
+
forcePolicyEval,
|
|
91
93
|
}, env);
|
|
94
|
+
forcePolicyEval = false;
|
|
92
95
|
last = {
|
|
93
96
|
agents: [...snap.agents],
|
|
94
97
|
approvals: [...snap.approvals],
|
|
95
98
|
sessions: [...snap.sessions],
|
|
96
99
|
};
|
|
100
|
+
// Interactive: clear screen before repaint to avoid scroll spam.
|
|
101
|
+
if (!once && tty) {
|
|
102
|
+
try {
|
|
103
|
+
stdoutFd.write("\x1b[2J\x1b[H");
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
/* ignore */
|
|
107
|
+
}
|
|
108
|
+
}
|
|
97
109
|
io.log(snap.frame);
|
|
98
110
|
return snap;
|
|
99
111
|
};
|
|
@@ -108,16 +120,105 @@ export async function runDash(config, parsed, io, env) {
|
|
|
108
120
|
stdinFd.resume();
|
|
109
121
|
return await new Promise((resolve) => {
|
|
110
122
|
let painting = false;
|
|
123
|
+
let refreshTimer;
|
|
124
|
+
const stopRefresh = () => {
|
|
125
|
+
if (refreshTimer) {
|
|
126
|
+
clearInterval(refreshTimer);
|
|
127
|
+
refreshTimer = undefined;
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
const startRefresh = () => {
|
|
131
|
+
stopRefresh();
|
|
132
|
+
if (!autoRefresh || offline || !client)
|
|
133
|
+
return;
|
|
134
|
+
refreshTimer = setInterval(() => {
|
|
135
|
+
if (painting || pending)
|
|
136
|
+
return;
|
|
137
|
+
painting = true;
|
|
138
|
+
void paint()
|
|
139
|
+
.catch((err) => {
|
|
140
|
+
if (err instanceof AuthRequiredError)
|
|
141
|
+
io.error(err.message);
|
|
142
|
+
else
|
|
143
|
+
io.error(err instanceof Error ? err.message : String(err));
|
|
144
|
+
})
|
|
145
|
+
.finally(() => {
|
|
146
|
+
painting = false;
|
|
147
|
+
});
|
|
148
|
+
}, AUTO_REFRESH_MS);
|
|
149
|
+
};
|
|
150
|
+
const syncClient = () => {
|
|
151
|
+
client = makeClient(config, offline);
|
|
152
|
+
if (offline)
|
|
153
|
+
policyCache.invalidate();
|
|
154
|
+
if (!offline && client)
|
|
155
|
+
startRefresh();
|
|
156
|
+
else
|
|
157
|
+
stopRefresh();
|
|
158
|
+
};
|
|
159
|
+
const runPaint = () => {
|
|
160
|
+
painting = true;
|
|
161
|
+
void paint()
|
|
162
|
+
.catch((err) => {
|
|
163
|
+
if (err instanceof AuthRequiredError)
|
|
164
|
+
io.error(err.message);
|
|
165
|
+
else
|
|
166
|
+
io.error(err instanceof Error ? err.message : String(err));
|
|
167
|
+
})
|
|
168
|
+
.finally(() => {
|
|
169
|
+
painting = false;
|
|
170
|
+
});
|
|
171
|
+
};
|
|
111
172
|
const onKey = (str, key) => {
|
|
112
173
|
const raw = key?.ctrl && key.name === "c" ? "\u0003" : (str ?? key?.name ?? "");
|
|
113
174
|
const action = mapKey(raw);
|
|
175
|
+
if (pending) {
|
|
176
|
+
if (action.type === "confirm-yes") {
|
|
177
|
+
const job = pending;
|
|
178
|
+
pending = undefined;
|
|
179
|
+
if (!client || offline) {
|
|
180
|
+
io.log("Need a live plane (drop offline / set KYA_API_KEY).");
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
const cfg = { ...config, offline: false };
|
|
184
|
+
void (async () => {
|
|
185
|
+
try {
|
|
186
|
+
if (job.kind === "kill") {
|
|
187
|
+
const killed = await runKillAgent(cfg, job.id, client);
|
|
188
|
+
io.log(`${killed.status ?? "PAUSED"} ${killed.id}`);
|
|
189
|
+
}
|
|
190
|
+
else if (job.kind === "shrink") {
|
|
191
|
+
const sh = await runShrinkSession(cfg, job.id, job.to, client);
|
|
192
|
+
io.log(`clearance ${sh.from} → ${sh.to}`);
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
const res = await client.decideApproval(job.id, job.decision);
|
|
196
|
+
io.log(`${job.decision} → ${res.status} ${res.id}`);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
catch (err) {
|
|
200
|
+
if (err instanceof AuthRequiredError)
|
|
201
|
+
io.error(err.message);
|
|
202
|
+
else
|
|
203
|
+
io.error(err instanceof Error ? err.message : String(err));
|
|
204
|
+
}
|
|
205
|
+
finally {
|
|
206
|
+
await paint();
|
|
207
|
+
}
|
|
208
|
+
})();
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
pending = undefined;
|
|
212
|
+
io.log("cancelled");
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
114
215
|
if (action.type === "quit") {
|
|
115
216
|
cleanup();
|
|
116
217
|
resolve(0);
|
|
117
218
|
return;
|
|
118
219
|
}
|
|
119
220
|
if (action.type === "help") {
|
|
120
|
-
io.log("1-
|
|
221
|
+
io.log("1-8 panes · j/k · e eval · p auto-refresh · w wrap · k kill · i invoke · b/R shrink · o orr · t passport · a/x decide (y confirm) · O offline · q");
|
|
121
222
|
return;
|
|
122
223
|
}
|
|
123
224
|
if (action.type === "noop" || painting)
|
|
@@ -130,6 +231,22 @@ export async function runDash(config, parsed, io, env) {
|
|
|
130
231
|
}
|
|
131
232
|
else if (action.type === "offline") {
|
|
132
233
|
offline = !offline;
|
|
234
|
+
syncClient();
|
|
235
|
+
io.log(offline ? "offline (sample PEP only)" : "live plane");
|
|
236
|
+
}
|
|
237
|
+
else if (action.type === "force-policy-eval") {
|
|
238
|
+
forcePolicyEval = true;
|
|
239
|
+
policyCache.invalidate();
|
|
240
|
+
pane = "policy";
|
|
241
|
+
}
|
|
242
|
+
else if (action.type === "toggle-auto-refresh") {
|
|
243
|
+
autoRefresh = !autoRefresh;
|
|
244
|
+
io.log(autoRefresh ? `auto-refresh ${AUTO_REFRESH_MS / 1000}s` : "auto-refresh off");
|
|
245
|
+
if (autoRefresh)
|
|
246
|
+
startRefresh();
|
|
247
|
+
else
|
|
248
|
+
stopRefresh();
|
|
249
|
+
return;
|
|
133
250
|
}
|
|
134
251
|
else if (action.type === "pane" && action.pane) {
|
|
135
252
|
pane = action.pane;
|
|
@@ -139,7 +256,10 @@ export async function runDash(config, parsed, io, env) {
|
|
|
139
256
|
io.log("Register: kya register-agent --name solo --version-hash dev-local");
|
|
140
257
|
return;
|
|
141
258
|
}
|
|
142
|
-
else if (
|
|
259
|
+
else if (action.type === "refresh") {
|
|
260
|
+
// fall through to paint
|
|
261
|
+
}
|
|
262
|
+
else if (!offline && client) {
|
|
143
263
|
const cfg = { ...config, offline: false };
|
|
144
264
|
void (async () => {
|
|
145
265
|
try {
|
|
@@ -151,38 +271,54 @@ export async function runDash(config, parsed, io, env) {
|
|
|
151
271
|
const row = selected(last.agents);
|
|
152
272
|
if (!row)
|
|
153
273
|
return;
|
|
154
|
-
|
|
155
|
-
io.log(
|
|
274
|
+
pending = { kind: "kill", id: row.id };
|
|
275
|
+
io.log(`kill ${row.id}? press y to confirm, any other key to cancel`);
|
|
276
|
+
return;
|
|
156
277
|
}
|
|
157
278
|
else if (action.type === "invoke") {
|
|
158
279
|
const row = selected(last.approvals);
|
|
159
280
|
if (!row)
|
|
160
281
|
return;
|
|
161
282
|
const result = await runInvoke(cfg, { toolId: String(row.action ?? "org.sample.data.write"), irreversible: true }, client);
|
|
162
|
-
io.log(`invoke ${result.verdict} dispatched=${result.dispatched} ${result.sideEffect}`);
|
|
283
|
+
io.log(`invoke ${result.verdict} dispatched=${result.dispatched} ${result.sideEffect} (does not run the write)`);
|
|
163
284
|
}
|
|
164
285
|
else if (action.type === "shrink-build" || action.type === "shrink-read") {
|
|
165
286
|
const row = selected(last.sessions);
|
|
166
287
|
if (!row)
|
|
167
288
|
return;
|
|
168
289
|
const to = action.type === "shrink-build" ? "BUILD" : "READ";
|
|
169
|
-
|
|
170
|
-
io.log(`
|
|
290
|
+
pending = { kind: "shrink", id: row.id, to };
|
|
291
|
+
io.log(`shrink ${row.id} → ${to}? press y to confirm, any other key to cancel`);
|
|
292
|
+
return;
|
|
171
293
|
}
|
|
172
294
|
else if (action.type === "orr-run") {
|
|
173
|
-
const
|
|
295
|
+
const producer = ORR_PRODUCERS[orrProducerIdx % ORR_PRODUCERS.length];
|
|
296
|
+
orrProducerIdx += 1;
|
|
297
|
+
io.log(`orr producer=${producer}`);
|
|
298
|
+
const result = deskOrr(config.cwd, producer);
|
|
174
299
|
orrSummary = {
|
|
175
300
|
overall: result.report.overall,
|
|
176
301
|
disposition: result.report.disposition,
|
|
177
302
|
path: result.reportJsonPath ?? result.reportMdPath,
|
|
178
303
|
};
|
|
179
304
|
}
|
|
305
|
+
else if (action.type === "passport") {
|
|
306
|
+
const row = selected(last.agents);
|
|
307
|
+
if (!row) {
|
|
308
|
+
io.log("Select an agent (pane 3) then press t");
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
const passport = await client.getPassport(row.id);
|
|
312
|
+
io.log(JSON.stringify(passport, null, 2));
|
|
313
|
+
}
|
|
180
314
|
else if (action.type === "decide-approve" || action.type === "decide-reject") {
|
|
181
315
|
const row = selected(last.approvals);
|
|
182
316
|
if (!row)
|
|
183
317
|
return;
|
|
184
|
-
const
|
|
185
|
-
|
|
318
|
+
const decision = action.type === "decide-approve" ? "approve" : "reject";
|
|
319
|
+
pending = { kind: "decide", id: row.id, decision };
|
|
320
|
+
io.log(`${decision} ${row.id}? press y to confirm (needs kya.approve). Any other key cancels.`);
|
|
321
|
+
return;
|
|
186
322
|
}
|
|
187
323
|
}
|
|
188
324
|
catch (err) {
|
|
@@ -198,26 +334,31 @@ export async function runDash(config, parsed, io, env) {
|
|
|
198
334
|
return;
|
|
199
335
|
}
|
|
200
336
|
else if (action.type === "orr-run") {
|
|
201
|
-
const
|
|
337
|
+
const producer = ORR_PRODUCERS[orrProducerIdx % ORR_PRODUCERS.length];
|
|
338
|
+
orrProducerIdx += 1;
|
|
339
|
+
io.log(`orr producer=${producer}`);
|
|
340
|
+
const result = deskOrr(config.cwd, producer);
|
|
202
341
|
orrSummary = {
|
|
203
342
|
overall: result.report.overall,
|
|
204
343
|
disposition: result.report.disposition,
|
|
205
344
|
path: result.reportJsonPath ?? result.reportMdPath,
|
|
206
345
|
};
|
|
207
346
|
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
.
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
.
|
|
217
|
-
|
|
218
|
-
}
|
|
347
|
+
else if (action.type === "wrap" ||
|
|
348
|
+
action.type === "kill" ||
|
|
349
|
+
action.type === "invoke" ||
|
|
350
|
+
action.type === "shrink-build" ||
|
|
351
|
+
action.type === "shrink-read" ||
|
|
352
|
+
action.type === "decide-approve" ||
|
|
353
|
+
action.type === "decide-reject" ||
|
|
354
|
+
action.type === "passport") {
|
|
355
|
+
io.log("Need a live plane (O toggles offline; set KYA_API_KEY).");
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
runPaint();
|
|
219
359
|
};
|
|
220
360
|
const cleanup = () => {
|
|
361
|
+
stopRefresh();
|
|
221
362
|
stdinFd.setRawMode?.(false);
|
|
222
363
|
stdinFd.off("keypress", onKey);
|
|
223
364
|
stdinFd.pause();
|
|
@@ -225,4 +366,15 @@ export async function runDash(config, parsed, io, env) {
|
|
|
225
366
|
stdinFd.on("keypress", onKey);
|
|
226
367
|
});
|
|
227
368
|
}
|
|
369
|
+
function makeClient(config, offline) {
|
|
370
|
+
if (offline || !config.apiKey)
|
|
371
|
+
return undefined;
|
|
372
|
+
return new KyaHttpClient({
|
|
373
|
+
baseUrl: config.baseUrl,
|
|
374
|
+
apiKey: config.apiKey,
|
|
375
|
+
host: config.host,
|
|
376
|
+
agentId: config.agentId,
|
|
377
|
+
requireApiKey: true,
|
|
378
|
+
});
|
|
379
|
+
}
|
|
228
380
|
//# sourceMappingURL=dash.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dash.js","sourceRoot":"","sources":["../../src/commands/dash.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dash.js","sourceRoot":"","sources":["../../src/commands/dash.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/orr.d.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { ParsedArgs } from "../parse-args.js";
|
|
6
6
|
import { type AgentShieldSpawnFn } from "../orr/agentshield.js";
|
|
7
|
+
import { type ScorecardSpawnFn } from "../orr/scorecard.js";
|
|
7
8
|
import { type ShowbackReport } from "../showback/cost-per-task.js";
|
|
8
9
|
export type OrrRating = "green" | "amber" | "red";
|
|
9
10
|
export type OrrDisposition = "go" | "conditional" | "no_go";
|
|
@@ -79,6 +80,8 @@ export interface OrrRunOptions {
|
|
|
79
80
|
readonly usagePath?: string;
|
|
80
81
|
/** Test seam. Production uses spawnSync("agentshield", ...). Never --fix. */
|
|
81
82
|
readonly agentshieldSpawn?: AgentShieldSpawnFn;
|
|
83
|
+
/** Test seam. Production uses spawnSync("scorecard", ...) or SCORECARD_BIN. */
|
|
84
|
+
readonly scorecardSpawn?: ScorecardSpawnFn;
|
|
82
85
|
}
|
|
83
86
|
export declare function orrRunOptionsFromArgs(parsed: ParsedArgs): OrrRunOptions;
|
|
84
87
|
export interface OrrRunResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orr.d.ts","sourceRoot":"","sources":["../../src/commands/orr.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"orr.d.ts","sourceRoot":"","sources":["../../src/commands/orr.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAClD,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,aAAa,GAAG,OAAO,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAE1E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;KAChC,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;QAChD,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;KACjD,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,SAAS,WAAW,EAAE,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,SAAS;QAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,eAAe,CAAC;QAC/D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;IACJ,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,SAAS,cAAc,EAAE,CAAC;IAClD,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,gFAAgF;IAChF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,6EAA6E;IAC7E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IAC/C,+EAA+E;IAC/E,QAAQ,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC;CAC5C;AAgBD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CA2CvE;AAcD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,CAgI3D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,EAAE,CAiCzE;AAED,kEAAkE;AAClE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CA4JhE;AA4ID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAwD3D"}
|
package/dist/commands/orr.js
CHANGED
|
@@ -7,6 +7,7 @@ import { basename, join, resolve, sep } from "node:path";
|
|
|
7
7
|
import { UsageError } from "../errors.js";
|
|
8
8
|
import { flagBool, flagString } from "../parse-args.js";
|
|
9
9
|
import { AGENTSHIELD_PRODUCER_ID, readAgentShieldJson, tryRunAgentShieldCli, } from "../orr/agentshield.js";
|
|
10
|
+
import { SCORECARD_PRODUCER_ID, ingestScorecardJson, tryRunScorecardCli, } from "../orr/scorecard.js";
|
|
10
11
|
import { buildShowback, parseUsageRecords, } from "../showback/cost-per-task.js";
|
|
11
12
|
const CATEGORY_META = [
|
|
12
13
|
{ id: "engineering_craft", label: "Engineering craft" },
|
|
@@ -98,15 +99,26 @@ export function runOrr(options) {
|
|
|
98
99
|
const findings = [...runSaFirstPartyProbes(absPath)];
|
|
99
100
|
const coverageGaps = [];
|
|
100
101
|
const producersRequested = [...options.producers];
|
|
101
|
-
if (options.scorecardPath && !producersRequested.includes(
|
|
102
|
-
producersRequested.push(
|
|
102
|
+
if (options.scorecardPath && !producersRequested.includes(SCORECARD_PRODUCER_ID)) {
|
|
103
|
+
producersRequested.push(SCORECARD_PRODUCER_ID);
|
|
103
104
|
}
|
|
104
105
|
if (options.agentshieldJsonPath &&
|
|
105
106
|
!producersRequested.includes(AGENTSHIELD_PRODUCER_ID)) {
|
|
106
107
|
producersRequested.push(AGENTSHIELD_PRODUCER_ID);
|
|
107
108
|
}
|
|
108
|
-
|
|
109
|
-
|
|
109
|
+
const scorecardRequested = producersRequested.includes(SCORECARD_PRODUCER_ID) ||
|
|
110
|
+
Boolean(options.scorecardPath);
|
|
111
|
+
if (scorecardRequested) {
|
|
112
|
+
if (options.scorecardPath) {
|
|
113
|
+
findings.push(...readScorecardEvidence(options.scorecardPath));
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
const scResult = tryRunScorecardCli(absPath, options.scorecardSpawn);
|
|
117
|
+
if ("findings" in scResult)
|
|
118
|
+
findings.push(...scResult.findings);
|
|
119
|
+
else
|
|
120
|
+
coverageGaps.push(scResult.gap);
|
|
121
|
+
}
|
|
110
122
|
}
|
|
111
123
|
const agentShieldRequested = producersRequested.includes(AGENTSHIELD_PRODUCER_ID) ||
|
|
112
124
|
Boolean(options.agentshieldJsonPath);
|
|
@@ -128,20 +140,12 @@ export function runOrr(options) {
|
|
|
128
140
|
continue;
|
|
129
141
|
if (p === AGENTSHIELD_PRODUCER_ID)
|
|
130
142
|
continue;
|
|
131
|
-
if (p ===
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
coverageGaps.push({
|
|
141
|
-
adapter_id: p,
|
|
142
|
-
reason: "adapter_not_implemented_o1",
|
|
143
|
-
});
|
|
144
|
-
}
|
|
143
|
+
if (p === SCORECARD_PRODUCER_ID)
|
|
144
|
+
continue;
|
|
145
|
+
coverageGaps.push({
|
|
146
|
+
adapter_id: p,
|
|
147
|
+
reason: "adapter_not_implemented_o1",
|
|
148
|
+
});
|
|
145
149
|
}
|
|
146
150
|
}
|
|
147
151
|
const disabled = new Set(options.disableCategories);
|
|
@@ -236,39 +240,7 @@ export function readScorecardEvidence(scorecardPath) {
|
|
|
236
240
|
},
|
|
237
241
|
];
|
|
238
242
|
}
|
|
239
|
-
|
|
240
|
-
const score = typeof obj.score === "number" ? obj.score : undefined;
|
|
241
|
-
const checks = Array.isArray(obj.checks) ? obj.checks : [];
|
|
242
|
-
const findings = [
|
|
243
|
-
{
|
|
244
|
-
id: "sa.scorecard.ingested",
|
|
245
|
-
category: "enterprise_readiness",
|
|
246
|
-
severity: "info",
|
|
247
|
-
title: "Scorecard ingested as evidence",
|
|
248
|
-
detail: score === undefined
|
|
249
|
-
? "Scorecard dump loaded. Does not ALLOW side effects."
|
|
250
|
-
: `Scorecard score=${score} (evidence only — not a PEP).`,
|
|
251
|
-
evidence: abs,
|
|
252
|
-
source_tool: "openssf.scorecard",
|
|
253
|
-
},
|
|
254
|
-
];
|
|
255
|
-
for (const raw of checks.slice(0, 24)) {
|
|
256
|
-
if (!raw || typeof raw !== "object")
|
|
257
|
-
continue;
|
|
258
|
-
const check = raw;
|
|
259
|
-
const name = typeof check.name === "string" ? check.name : "check";
|
|
260
|
-
const checkScore = check.score;
|
|
261
|
-
findings.push({
|
|
262
|
-
id: `sa.scorecard.check.${name.toLowerCase().replace(/[^a-z0-9]+/g, "_")}`,
|
|
263
|
-
category: "enterprise_readiness",
|
|
264
|
-
severity: "info",
|
|
265
|
-
title: `Scorecard ${name}`,
|
|
266
|
-
detail: `score=${String(checkScore ?? "n/a")} — evidence only`,
|
|
267
|
-
evidence: abs,
|
|
268
|
-
source_tool: "openssf.scorecard",
|
|
269
|
-
});
|
|
270
|
-
}
|
|
271
|
-
return findings;
|
|
243
|
+
return ingestScorecardJson(parsed, abs);
|
|
272
244
|
}
|
|
273
245
|
/** SA first-party probes: evidence only; scanners never ALLOW. */
|
|
274
246
|
export function runSaFirstPartyProbes(root) {
|