@shield-agent/kya 0.25.0 → 0.26.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/.cursor-plugin/plugin.json +1 -1
- package/.mcp.json +1 -1
- package/README.md +3 -3
- package/amp/settings.example.json +1 -1
- package/claude/claude_desktop_config.example.json +1 -1
- package/cline/cline_mcp_settings.example.json +1 -1
- package/copilot/mcp-config.example.json +1 -1
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +95 -6
- package/dist/cli.js.map +1 -1
- package/dist/commands/connect.d.ts +3 -0
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +16 -1
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/hook.d.ts +17 -0
- package/dist/commands/hook.d.ts.map +1 -1
- package/dist/commands/hook.js +199 -6
- package/dist/commands/hook.js.map +1 -1
- package/dist/commands/hosted-hook.d.ts +164 -0
- package/dist/commands/hosted-hook.d.ts.map +1 -0
- package/dist/commands/hosted-hook.js +610 -0
- package/dist/commands/hosted-hook.js.map +1 -0
- package/dist/commands/team.d.ts +35 -0
- package/dist/commands/team.d.ts.map +1 -0
- package/dist/commands/team.js +174 -0
- package/dist/commands/team.js.map +1 -0
- package/dist/commands/wire-hooks.d.ts +9 -1
- package/dist/commands/wire-hooks.d.ts.map +1 -1
- package/dist/commands/wire-hooks.js +38 -9
- package/dist/commands/wire-hooks.js.map +1 -1
- package/dist/fs-atomic.d.ts +8 -3
- package/dist/fs-atomic.d.ts.map +1 -1
- package/dist/fs-atomic.js +42 -17
- package/dist/fs-atomic.js.map +1 -1
- package/dist/parse-args.d.ts.map +1 -1
- package/dist/parse-args.js +3 -1
- package/dist/parse-args.js.map +1 -1
- package/dist/trail.d.ts +4 -0
- package/dist/trail.d.ts.map +1 -1
- package/dist/trail.js +2 -0
- package/dist/trail.js.map +1 -1
- package/droid/README.md +1 -1
- package/droid/mcp.example.json +1 -1
- package/gemini/settings.example.json +1 -1
- package/grok/README.md +1 -1
- package/kilo/kilo.example.json +1 -1
- package/kimi/mcp.example.json +1 -1
- package/kiro/mcp.example.json +1 -1
- package/manifest.json +1 -1
- package/mastracode/mcp.example.json +1 -1
- package/mcp.json +1 -1
- package/openai/codex.config.example.toml +1 -1
- package/opencode/opencode.example.json +1 -1
- package/package.json +1 -1
- package/qwen/settings.example.json +1 -1
- package/server.json +2 -2
package/dist/commands/hook.js
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* kya hook - PreToolUse interception for hosts with native hooks
|
|
3
|
-
* (Claude Code, Grok, Kimi Code).
|
|
4
|
-
* sub-second, fail-open on any internal error unless --fail-closed
|
|
3
|
+
* (Claude Code, Grok, Kimi Code). Default: offline local evaluate only, no
|
|
4
|
+
* network, sub-second, fail-open on any internal error unless --fail-closed.
|
|
5
5
|
* DENY (local never-list) blocks; REQUIRE_APPROVE records advisory unless
|
|
6
|
-
* --strict.
|
|
6
|
+
* --strict. With --plane-config (beta) it evaluates on the hosted plane and
|
|
7
|
+
* fails closed (runHostedHook below; --plane-shadow records without blocking).
|
|
7
8
|
*/
|
|
8
9
|
import { createHash } from "node:crypto";
|
|
9
|
-
import { closeSync, lstatSync, mkdirSync, openSync, readdirSync, unlinkSync, utimesSync, writeFileSync } from "node:fs";
|
|
10
|
-
import { join } from "node:path";
|
|
11
|
-
import { globalConfigDir, resolveConfig } from "../config.js";
|
|
10
|
+
import { closeSync, existsSync, lstatSync, mkdirSync, openSync, readdirSync, unlinkSync, utimesSync, writeFileSync } from "node:fs";
|
|
11
|
+
import { isAbsolute, join } from "node:path";
|
|
12
|
+
import { configFilePath, globalConfigDir, resolveConfig } from "../config.js";
|
|
12
13
|
import { runEvalTool } from "./eval-tool.js";
|
|
13
14
|
import { appendTrail, defaultSessionId, hostToProduct } from "../trail.js";
|
|
14
15
|
import { deriveWireChangeFields } from "../diff-preview.js";
|
|
15
16
|
import { matchesNeverList } from "../offline-evaluate.js";
|
|
16
17
|
import { maybeSpawnNotifyFlush } from "../notify/dispatch.js";
|
|
18
|
+
import { computeArgsHash } from "../hash.js";
|
|
19
|
+
import { evaluateHosted, hostedDecision, hostedEnvProblem, loadPlaneConfig, PlaneError, scrubNetworkEnv } from "./hosted-hook.js";
|
|
17
20
|
function tokenCount(v) {
|
|
18
21
|
return typeof v === "number" && Number.isFinite(v) && v >= 0
|
|
19
22
|
? Math.floor(v)
|
|
@@ -190,6 +193,8 @@ function auditedDeny(reason, reasonCode, input, payload, dedupe = false) {
|
|
|
190
193
|
// Non-PreToolUse hook events that legitimately carry no gate decision.
|
|
191
194
|
const OTHER_EVENT = /^(post[_-]?tool[_-]?use.*|stop|subagent[_-]?(start|stop)|permission[_-]?request|elicitation.*|session[_-]?(start|end)|user[_-]?prompt[_-]?submit|notification|pre[_-]?compact)$/i;
|
|
192
195
|
export async function runHook(input) {
|
|
196
|
+
if (input.plane)
|
|
197
|
+
return runHostedHook(input, input.plane);
|
|
193
198
|
let payload;
|
|
194
199
|
try {
|
|
195
200
|
payload = parsePayload(input.stdinText);
|
|
@@ -298,4 +303,192 @@ export async function runHook(input) {
|
|
|
298
303
|
return ALLOW;
|
|
299
304
|
}
|
|
300
305
|
}
|
|
306
|
+
/** Env that steers the OSS hook and is ignored in hosted mode (design T2/T3). */
|
|
307
|
+
const HOSTED_IGNORED_ENV = ["KYA_OFFLINE", "KYA_BASE_URL", "KYA_API_KEY", "SHIELD_API_KEY", "KYA_AGENT_ID", "KYA_HOME", "KYA_HOST", "KYA_NOTIFY_WEBHOOK", "KYA_OTLP_EXPORT_ENDPOINT"];
|
|
308
|
+
/**
|
|
309
|
+
* Hosted mode. Order: payload, local never-list, env and config checks, plane
|
|
310
|
+
* call, then a raise-only merge in which the local never-list always wins.
|
|
311
|
+
* Every failure is a deny (fail-closed) unless --plane-shadow, which records
|
|
312
|
+
* the would-be verdict and allows. Nothing here reads resolveConfig, the repo's
|
|
313
|
+
* .kya/config.json or KYA_* env, so none of them can downgrade this path.
|
|
314
|
+
*/
|
|
315
|
+
async function runHostedHook(input, plane) {
|
|
316
|
+
const env = input.env;
|
|
317
|
+
const home = env.HOME?.trim() ?? "";
|
|
318
|
+
const homeOk = isAbsolute(home);
|
|
319
|
+
// State (trail, dedupe markers, notify) lives under $HOME/.kya; KYA_HOME is ignored.
|
|
320
|
+
const stateEnv = { ...env, KYA_HOME: homeOk ? home : undefined };
|
|
321
|
+
for (const k of HOSTED_IGNORED_ENV)
|
|
322
|
+
if (k !== "KYA_HOME")
|
|
323
|
+
delete stateEnv[k];
|
|
324
|
+
scrubNetworkEnv(stateEnv);
|
|
325
|
+
// Sinks only from the user-level config file: env can be set by a repo's .claude/settings.json.
|
|
326
|
+
delete stateEnv.KYA_NOTIFY_WEBHOOK;
|
|
327
|
+
delete stateEnv.KYA_OTLP_EXPORT_ENDPOINT;
|
|
328
|
+
const configIgnored = HOSTED_IGNORED_ENV.some((k) => env[k] !== undefined) || safeExists(configFilePath(input.cwd));
|
|
329
|
+
const stderrNotes = [];
|
|
330
|
+
if (configIgnored)
|
|
331
|
+
stderrNotes.push("KYA hosted mode: KYA_* env and the project .kya/config.json are ignored");
|
|
332
|
+
// Crash path state: unknown until the local never-list has been evaluated below.
|
|
333
|
+
hostedDecision.neverList = "unknown";
|
|
334
|
+
let payload;
|
|
335
|
+
let verdict;
|
|
336
|
+
let response;
|
|
337
|
+
let config;
|
|
338
|
+
try {
|
|
339
|
+
payload = parsePayload(input.stdinText);
|
|
340
|
+
}
|
|
341
|
+
catch { /* handled below */ }
|
|
342
|
+
if (payload) {
|
|
343
|
+
const isPre = !payload.event || /^(PreToolUse|pre[_-]tool[_-]use)$/i.test(payload.event);
|
|
344
|
+
if (!isPre && OTHER_EVENT.test(payload.event ?? "")) {
|
|
345
|
+
hostedDecision.neverList = "clear";
|
|
346
|
+
return ALLOW;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
const toolName = payload?.toolName;
|
|
350
|
+
let neverListed = false;
|
|
351
|
+
// The local never-list runs first, before any env, config or plane code, and is stored so a
|
|
352
|
+
// crash later can never lower it (crashDecision). A throw leaves it "unknown", which denies.
|
|
353
|
+
try {
|
|
354
|
+
if (toolName) {
|
|
355
|
+
neverListed = matchesNeverList(toolName);
|
|
356
|
+
hostedDecision.neverList = neverListed ? "deny" : "clear";
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
catch { /* stays unknown */ }
|
|
360
|
+
if (!payload || !toolName) {
|
|
361
|
+
verdict = {
|
|
362
|
+
verdict: "DENY",
|
|
363
|
+
reasonCode: "FAIL_CLOSED",
|
|
364
|
+
reason: `KYA hosted: ${payload ? "hook payload has no tool_name" : "unreadable hook payload"} (FAIL_CLOSED); tool call denied (fails closed)`,
|
|
365
|
+
dedupe: false,
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
else {
|
|
369
|
+
let failure;
|
|
370
|
+
try {
|
|
371
|
+
if (!homeOk)
|
|
372
|
+
throw new PlaneError("PLANE_CONFIG", "HOME must be an absolute path");
|
|
373
|
+
const envProblem = hostedEnvProblem(env);
|
|
374
|
+
if (envProblem)
|
|
375
|
+
throw new PlaneError("PLANE_ENV_REFUSED", `refusing to run: ${envProblem} (TLS, proxy, CA or code-loading override)`);
|
|
376
|
+
// Before any network code: no proxy or TLS override can reach the plane call.
|
|
377
|
+
scrubNetworkEnv(process.env);
|
|
378
|
+
config = loadPlaneConfig(plane.configPath, {
|
|
379
|
+
cwds: [input.cwd, payload.cwd ?? ""],
|
|
380
|
+
home,
|
|
381
|
+
allowHttpLoopback: plane.allowHttpLoopback,
|
|
382
|
+
});
|
|
383
|
+
response = await evaluateHosted({
|
|
384
|
+
config,
|
|
385
|
+
toolName,
|
|
386
|
+
args: payload.toolInput ?? {},
|
|
387
|
+
product: hostToProduct(input.host),
|
|
388
|
+
strict: input.strict,
|
|
389
|
+
sessionId: payload.sessionId,
|
|
390
|
+
toolUseId: payload.toolUseId,
|
|
391
|
+
env,
|
|
392
|
+
budgetMs: plane.budgetMs,
|
|
393
|
+
fetch: plane.fetch,
|
|
394
|
+
now: plane.now,
|
|
395
|
+
sleep: plane.sleep,
|
|
396
|
+
random: plane.random,
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
catch (e) {
|
|
400
|
+
failure = e instanceof PlaneError
|
|
401
|
+
? { code: e.code, message: e.message }
|
|
402
|
+
: { code: "FAIL_CLOSED", message: "internal error" };
|
|
403
|
+
}
|
|
404
|
+
// Raise-only merge: the local never-list beats any plane answer or failure.
|
|
405
|
+
if (neverListed) {
|
|
406
|
+
verdict = { verdict: "DENY", reasonCode: "NEVER_EVENT", reason: `KYA denied ${toolName}: NEVER_EVENT`, dedupe: true };
|
|
407
|
+
}
|
|
408
|
+
else if (failure || !response) {
|
|
409
|
+
const f = failure ?? { code: "FAIL_CLOSED", message: "internal error" };
|
|
410
|
+
verdict = {
|
|
411
|
+
verdict: "DENY",
|
|
412
|
+
reasonCode: f.code,
|
|
413
|
+
reason: `KYA hosted: ${f.message} (${f.code}); ${toolName} denied (fails closed)`,
|
|
414
|
+
dedupe: false,
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
else if (response.verdict === "DENY") {
|
|
418
|
+
verdict = { verdict: "DENY", reasonCode: response.reasonCode, reason: `KYA denied ${toolName}: ${response.reasonCode}`, dedupe: true };
|
|
419
|
+
}
|
|
420
|
+
else {
|
|
421
|
+
verdict = { verdict: response.verdict, reasonCode: response.reasonCode, reason: "", dedupe: true };
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
const blocks = verdict.verdict === "DENY" ||
|
|
425
|
+
(input.strict && verdict.verdict === "REQUIRE_APPROVE");
|
|
426
|
+
// Shadow never blocks, except the LOCAL never-list. Keyed to the local evaluation, never to the
|
|
427
|
+
// plane's reason code: the plane answers NEVER_EVENT for every registered DENY-tier tool.
|
|
428
|
+
const enforce = blocks && (!plane.shadow || neverListed);
|
|
429
|
+
let firstSeen = true;
|
|
430
|
+
try {
|
|
431
|
+
firstSeen = recordHostedRow(input, stateEnv, homeOk, home, payload, verdict, response, plane.shadow, configIgnored);
|
|
432
|
+
}
|
|
433
|
+
catch { /* the trail never decides the verdict */ }
|
|
434
|
+
if (blocks && !enforce) {
|
|
435
|
+
stderrNotes.push(`KYA shadow: would deny ${toolName ?? "tool call"} (${verdict.reasonCode}); allowed because --plane-shadow is set`);
|
|
436
|
+
}
|
|
437
|
+
const notes = stderrNotes.length ? `${stderrNotes.join("\n")}\n` : "";
|
|
438
|
+
if (!enforce)
|
|
439
|
+
return { exitCode: 0, stdout: "", stderr: notes, firstSeen };
|
|
440
|
+
const reason = verdict.verdict === "REQUIRE_APPROVE"
|
|
441
|
+
? `KYA hold: ${toolName} needs approval (${verdict.reasonCode}). No approval request was opened; an operator can review KYA policy at ${config?.baseUrl ?? "the KYA console"}/app/kya/approvals. Do not retry until told.`
|
|
442
|
+
: verdict.reason;
|
|
443
|
+
const d = deny(reason);
|
|
444
|
+
return { ...d, stderr: notes + d.stderr, firstSeen };
|
|
445
|
+
}
|
|
446
|
+
function safeExists(p) {
|
|
447
|
+
try {
|
|
448
|
+
return existsSync(p);
|
|
449
|
+
}
|
|
450
|
+
catch {
|
|
451
|
+
return false;
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
/** One local trail row per decision. Returns firstSeen (false when another hook copy already recorded it). */
|
|
455
|
+
function recordHostedRow(input, stateEnv, homeOk, home, payload, verdict, response, shadow, configIgnored) {
|
|
456
|
+
if (!homeOk)
|
|
457
|
+
return true;
|
|
458
|
+
if (verdict.dedupe && payload?.toolUseId && !claimToolUse(payload.toolUseId, payload.sessionId, stateEnv)) {
|
|
459
|
+
return false;
|
|
460
|
+
}
|
|
461
|
+
const toolName = payload?.toolName ?? "unknown";
|
|
462
|
+
let argsHash = response?.argsHash;
|
|
463
|
+
let changeFields;
|
|
464
|
+
try {
|
|
465
|
+
argsHash ??= payload?.toolName ? computeArgsHash(payload.toolInput ?? {}) : undefined;
|
|
466
|
+
changeFields = payload?.toolName ? deriveWireChangeFields(toolName, payload.toolInput ?? {}, input.env) : undefined;
|
|
467
|
+
}
|
|
468
|
+
catch { /* row without hash or preview */ }
|
|
469
|
+
const ev = {
|
|
470
|
+
ts: new Date().toISOString(),
|
|
471
|
+
sessionId: payload?.sessionId ?? defaultSessionId(input.env),
|
|
472
|
+
host: "ide",
|
|
473
|
+
product: hostToProduct(input.host),
|
|
474
|
+
toolId: response?.toolId ?? toolName,
|
|
475
|
+
verdict: verdict.verdict,
|
|
476
|
+
reasonCode: verdict.reasonCode,
|
|
477
|
+
mode: input.strict ? "hold" : "observe",
|
|
478
|
+
neverEvent: verdict.reasonCode === "NEVER_EVENT",
|
|
479
|
+
...(argsHash ? { argsHash } : {}),
|
|
480
|
+
...(changeFields ?? {}),
|
|
481
|
+
...(payload?.usage?.tokensIn !== undefined ? { tokensIn: payload.usage.tokensIn } : {}),
|
|
482
|
+
...(payload?.usage?.tokensOut !== undefined ? { tokensOut: payload.usage.tokensOut } : {}),
|
|
483
|
+
...(shadow ? { shadow: true } : {}),
|
|
484
|
+
...(configIgnored ? { configIgnored: true } : {}),
|
|
485
|
+
};
|
|
486
|
+
try {
|
|
487
|
+
appendTrail(payload?.cwd?.trim() || input.cwd, ev, stateEnv);
|
|
488
|
+
}
|
|
489
|
+
catch { /* best effort */ }
|
|
490
|
+
// cwd = home: only the user-level notify config applies, never a repo's sinks.
|
|
491
|
+
maybeSpawnNotifyFlush({ env: stateEnv, cwd: home, event: ev });
|
|
492
|
+
return true;
|
|
493
|
+
}
|
|
301
494
|
//# sourceMappingURL=hook.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { type PolicyEvaluateResponse } from "../client.js";
|
|
2
|
+
export type PlaneCode = "PLANE_CONFIG" | "PLANE_ENV_REFUSED" | "PLANE_UNREACHABLE" | "PLANE_AUTH_REJECTED" | "PLANE_TIMEOUT" | "PLANE_RATE_LIMITED";
|
|
3
|
+
/** A plane failure. `message` is fixed text chosen here: never upstream or parser output. */
|
|
4
|
+
export declare class PlaneError extends Error {
|
|
5
|
+
readonly code: PlaneCode;
|
|
6
|
+
constructor(code: PlaneCode, message: string);
|
|
7
|
+
}
|
|
8
|
+
/** Keys loaded in this process; the hosted output guard redacts them from stdout and stderr. */
|
|
9
|
+
export declare const loadedSecrets: Set<string>;
|
|
10
|
+
/**
|
|
11
|
+
* Best-effort output guard for hosted mode: the exact key (and its URL-encoded
|
|
12
|
+
* and base64 forms) is replaced by [redacted] in anything written to the
|
|
13
|
+
* stream, including a key split across two writes (a trailing partial match
|
|
14
|
+
* is held back until the next write or process exit). kya itself never
|
|
15
|
+
* prints the key; this covers anything else that might.
|
|
16
|
+
*/
|
|
17
|
+
export declare function guardStream(stream: NodeJS.WriteStream): void;
|
|
18
|
+
/** What the hook knows before any plane code runs; the crash path never lowers it. */
|
|
19
|
+
export declare const hostedDecision: {
|
|
20
|
+
neverList: "deny" | "clear" | "unknown";
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Crash decision. The local never-list (evaluated before any plane code) wins
|
|
24
|
+
* everywhere, shadow included; an unparsed payload is not provably harmless,
|
|
25
|
+
* so it also denies in shadow. Only a payload known to be off the never-list
|
|
26
|
+
* may exit 0, and only in shadow.
|
|
27
|
+
*/
|
|
28
|
+
export declare function crashDecision(shadow: boolean): {
|
|
29
|
+
code: 0 | 2;
|
|
30
|
+
reason: string;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Hosted mode crash path: an uncaught exception or rejection must not become
|
|
34
|
+
* exit 1 (which a host without onFailure "block" treats as allow). Uses
|
|
35
|
+
* crashDecision (never the error text): stderr first, then the deny JSON.
|
|
36
|
+
*/
|
|
37
|
+
export declare function hostedCrashHandler(opts: {
|
|
38
|
+
shadow: boolean;
|
|
39
|
+
out: (s: string) => void;
|
|
40
|
+
err: (s: string) => void;
|
|
41
|
+
exit: (code: number) => void;
|
|
42
|
+
}): () => void;
|
|
43
|
+
export interface PlaneConfig {
|
|
44
|
+
/** Display form of the validated origin (console links). Requests use `url`. */
|
|
45
|
+
readonly baseUrl: string;
|
|
46
|
+
/** The one parsed, validated URL object every request is built from. */
|
|
47
|
+
readonly url: URL;
|
|
48
|
+
readonly apiKey: string;
|
|
49
|
+
readonly agentId: string;
|
|
50
|
+
}
|
|
51
|
+
export declare const DEFAULT_PLANE_BUDGET_MS = 3000;
|
|
52
|
+
/** Node start (~0.2 s) plus trail work must stay under the host's 5 s hook timeout. */
|
|
53
|
+
export declare const MAX_PLANE_BUDGET_MS = 4000;
|
|
54
|
+
/** Clamp a --plane-budget-ms value; anything unparseable is the default. */
|
|
55
|
+
export declare function planeBudgetMs(raw: string | boolean | undefined): number;
|
|
56
|
+
/**
|
|
57
|
+
* Split NODE_OPTIONS for the allowlist check. Close to node's own rules
|
|
58
|
+
* (whitespace separates tokens, double quotes group, a backslash escapes the
|
|
59
|
+
* next character inside quotes) but stricter: undefined for anything it does
|
|
60
|
+
* not understand (an unterminated quote or a trailing escape), which refuses.
|
|
61
|
+
*/
|
|
62
|
+
export declare function parseNodeOptions(raw: string): string[] | undefined;
|
|
63
|
+
/** Proxy and TLS-override variables: deleted in hosted mode (the transport never uses a proxy anyway). */
|
|
64
|
+
export declare const PROXY_ENV: readonly ["HTTP_PROXY", "HTTPS_PROXY", "ALL_PROXY", "NO_PROXY", "http_proxy", "https_proxy", "all_proxy", "no_proxy", "NODE_USE_ENV_PROXY", "NODE_TLS_REJECT_UNAUTHORIZED"];
|
|
65
|
+
/**
|
|
66
|
+
* Env that can load code into node, weaken TLS, add trust anchors, print
|
|
67
|
+
* request headers (NODE_DEBUG) or route the plane call through a proxy (N15
|
|
68
|
+
* lessons, reviews of #388). Positive allowlist: any NODE_*, SSL_*, OPENSSL_*
|
|
69
|
+
* or UV_* variable outside ALLOWED_CONTROLLED_ENV is refused, and NODE_OPTIONS
|
|
70
|
+
* must pass the token allowlist above. Returns the variable NAME only, never
|
|
71
|
+
* its value.
|
|
72
|
+
*/
|
|
73
|
+
export declare function hostedEnvProblem(env: NodeJS.ProcessEnv): string | undefined;
|
|
74
|
+
/** Hosted mode start: strip proxy and TLS-override variables before any network code. */
|
|
75
|
+
export declare function scrubNetworkEnv(...envs: NodeJS.ProcessEnv[]): void;
|
|
76
|
+
/** Nearest ancestor holding a .git entry (dir or worktree file); no git process spawned. */
|
|
77
|
+
export declare function gitRoot(dir: string): string | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* Load and validate the plane config file. Refuses: relative paths, symlinks
|
|
80
|
+
* (O_NOFOLLOW + fstat on the opened fd, no check-then-read race), non-regular
|
|
81
|
+
* files, another owner, group/world bits, files inside the agent's working
|
|
82
|
+
* directory (unless that directory is the home dir itself), bad JSON, a
|
|
83
|
+
* non-https base URL (loopback http only with the explicit argv flag), URL
|
|
84
|
+
* credentials, and a non-UUID agent id. Throws PlaneError("PLANE_CONFIG").
|
|
85
|
+
*/
|
|
86
|
+
export declare function loadPlaneConfig(path: string, opts: {
|
|
87
|
+
readonly cwds: readonly string[];
|
|
88
|
+
readonly home: string;
|
|
89
|
+
readonly allowHttpLoopback?: boolean;
|
|
90
|
+
}): PlaneConfig;
|
|
91
|
+
/**
|
|
92
|
+
* Strict base-URL check, one parse. https only; no userinfo, query or
|
|
93
|
+
* fragment; ASCII only (no punycode); the host as written must equal the
|
|
94
|
+
* parsed host (refuses 0x7f.1, 2130706433 and other non-canonical forms); no
|
|
95
|
+
* IP literal and no `localhost`. The argv-only loopback test mode admits
|
|
96
|
+
* exactly 127.0.0.1 and [::1], over http or https.
|
|
97
|
+
*/
|
|
98
|
+
export declare function validatePlaneUrl(raw: string, allowLoopback: boolean): URL;
|
|
99
|
+
/** Cap on the plane's answer: a verdict is a few hundred bytes. */
|
|
100
|
+
export declare const MAX_RESPONSE_BYTES: number;
|
|
101
|
+
/** Printable ASCII, at most 128 chars: plane text reaches the model and the trail. */
|
|
102
|
+
export declare function cleanPlaneText(v: unknown): string;
|
|
103
|
+
/** Reason codes are short upper-case identifiers; anything else becomes PLANE_BAD_RESPONSE. */
|
|
104
|
+
export declare function planeReasonCode(v: unknown): string;
|
|
105
|
+
/** Minimal response shape the retry loop needs (a WHATWG Response satisfies it). */
|
|
106
|
+
export interface PlaneResponse {
|
|
107
|
+
readonly status: number;
|
|
108
|
+
readonly headers: {
|
|
109
|
+
get(name: string): string | null;
|
|
110
|
+
};
|
|
111
|
+
text(): Promise<string>;
|
|
112
|
+
}
|
|
113
|
+
export type PlaneTransport = (url: URL, init: {
|
|
114
|
+
headers: Record<string, string>;
|
|
115
|
+
body: string;
|
|
116
|
+
signal: AbortSignal;
|
|
117
|
+
}) => Promise<PlaneResponse>;
|
|
118
|
+
/**
|
|
119
|
+
* The hosted-mode transport: node:https with its own agent (verify certs, no
|
|
120
|
+
* keep-alive, no proxy), SNI from the validated host, no redirect following.
|
|
121
|
+
* The global fetch is never used, so env proxy switches and undici defaults
|
|
122
|
+
* cannot reach this call. Plain http only for the argv-only loopback mode.
|
|
123
|
+
*/
|
|
124
|
+
export declare const httpsTransport: PlaneTransport;
|
|
125
|
+
export interface HostedEvaluateInput {
|
|
126
|
+
readonly config: PlaneConfig;
|
|
127
|
+
readonly toolName: string;
|
|
128
|
+
readonly args: unknown;
|
|
129
|
+
readonly product: string;
|
|
130
|
+
readonly strict: boolean;
|
|
131
|
+
readonly sessionId?: string;
|
|
132
|
+
readonly toolUseId?: string;
|
|
133
|
+
readonly env: NodeJS.ProcessEnv;
|
|
134
|
+
readonly budgetMs: number;
|
|
135
|
+
/** Test seams: wire, clock and jitter. */
|
|
136
|
+
readonly fetch?: PlaneTransport;
|
|
137
|
+
readonly now?: () => number;
|
|
138
|
+
readonly sleep?: (ms: number) => Promise<void>;
|
|
139
|
+
readonly random?: () => number;
|
|
140
|
+
}
|
|
141
|
+
export declare const BACKOFF_BASE_MS = 200;
|
|
142
|
+
export declare const BACKOFF_CAP_MS = 1600;
|
|
143
|
+
/** Exponential backoff with equal jitter: attempt n waits in [d/2, d], d = min(cap, base * 2^n). */
|
|
144
|
+
export declare function backoffMs(attempt: number, random: () => number): number;
|
|
145
|
+
/** Retry-After as delta seconds or an HTTP date; undefined when absent or garbage. */
|
|
146
|
+
export declare function retryAfterMs(header: string | null, now: number): number | undefined;
|
|
147
|
+
/** sha256 over the same key shape as the hook's tool_use_id marker. */
|
|
148
|
+
export declare function correlationId(sessionId: string | undefined, toolUseId: string | undefined): string | undefined;
|
|
149
|
+
/**
|
|
150
|
+
* The evaluate body: what connected mode sends (toolId, argsHash, sample risk
|
|
151
|
+
* fields, redacted change fields unless KYA_SEND_PREVIEWS=0), plus the hook
|
|
152
|
+
* fields the design adds: env.correlationId, mode, product, and
|
|
153
|
+
* requireRegisteredAgent so the hosted kill switch applies. Raw args never leave.
|
|
154
|
+
*/
|
|
155
|
+
export declare function hostedEvaluateBody(input: HostedEvaluateInput): Record<string, unknown>;
|
|
156
|
+
/**
|
|
157
|
+
* One deadline for the whole call. Retries 429, 5xx and network errors with
|
|
158
|
+
* exponential backoff plus jitter, honours Retry-After, and never sleeps past
|
|
159
|
+
* the deadline: if the next wait does not fit, it fails now with the code of
|
|
160
|
+
* the last failure. 401/403 and other 4xx are not retried. Each attempt is
|
|
161
|
+
* capped at half the budget, so a single stalled attempt is retried once.
|
|
162
|
+
*/
|
|
163
|
+
export declare function evaluateHosted(input: HostedEvaluateInput): Promise<PolicyEvaluateResponse>;
|
|
164
|
+
//# sourceMappingURL=hosted-hook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hosted-hook.d.ts","sourceRoot":"","sources":["../../src/commands/hosted-hook.ts"],"names":[],"mappings":"AAeA,OAAO,EAAkB,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAM3E,MAAM,MAAM,SAAS,GACjB,cAAc,GACd,mBAAmB,GACnB,mBAAmB,GACnB,qBAAqB,GACrB,eAAe,GACf,oBAAoB,CAAC;AAEzB,6FAA6F;AAC7F,qBAAa,UAAW,SAAQ,KAAK;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS;gBAAf,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;CAItD;AAED,gGAAgG;AAChG,eAAO,MAAM,aAAa,aAAoB,CAAC;AAa/C;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAwB5D;AAED,sFAAsF;AACtF,eAAO,MAAM,cAAc,EAAE;IAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;CAA6B,CAAC;AAEpG;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQ9E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B,GAAG,MAAM,IAAI,CAYb;AAED,MAAM,WAAW,WAAW;IAC1B,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAC5C,uFAAuF;AACvF,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAOxC,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAIvE;AASD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAwBlE;AAWD,0GAA0G;AAC1G,eAAO,MAAM,SAAS,6KAA8K,CAAC;AAMrM;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,SAAS,CAc3E;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAElE;AAMD,4FAA4F;AAC5F,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQvD;AAUD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GACtG,WAAW,CAgEb;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,GAAG,CA2BzE;AAED,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,QAAY,CAAC;AAE5C,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAEjD;AAED,+FAA+F;AAC/F,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAGlD;AAED,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACvD,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACzB;AAED,MAAM,MAAM,cAAc,GAAG,CAC3B,GAAG,EAAE,GAAG,EACR,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,KACzE,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5B;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,cA0DzB,CAAC;AAEL,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC,oGAAoG;AACpG,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,MAAM,GAAG,MAAM,CAGvE;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMnF;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAI9G;AAID;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBtF;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA6EhG"}
|