@shield-agent/kya 0.6.0 → 0.7.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.
Files changed (52) hide show
  1. package/.mcp.json +1 -1
  2. package/README.md +4 -4
  3. package/amp/settings.example.json +1 -1
  4. package/claude/claude_desktop_config.example.json +1 -1
  5. package/cline/cline_mcp_settings.example.json +1 -1
  6. package/copilot/mcp-config.example.json +1 -1
  7. package/dist/certify/context.d.ts +11 -0
  8. package/dist/certify/context.d.ts.map +1 -0
  9. package/dist/certify/context.js +49 -0
  10. package/dist/certify/context.js.map +1 -0
  11. package/dist/certify/evaluate.d.ts +16 -1
  12. package/dist/certify/evaluate.d.ts.map +1 -1
  13. package/dist/certify/evaluate.js +46 -1
  14. package/dist/certify/evaluate.js.map +1 -1
  15. package/dist/certify/live.d.ts +3 -0
  16. package/dist/certify/live.d.ts.map +1 -0
  17. package/dist/certify/live.js +39 -0
  18. package/dist/certify/live.js.map +1 -0
  19. package/dist/certify/render.d.ts.map +1 -1
  20. package/dist/certify/render.js +1 -0
  21. package/dist/certify/render.js.map +1 -1
  22. package/dist/commands/certify.d.ts +1 -2
  23. package/dist/commands/certify.d.ts.map +1 -1
  24. package/dist/commands/certify.js +15 -74
  25. package/dist/commands/certify.js.map +1 -1
  26. package/dist/index.d.ts +2 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +2 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/receipt/enrich.d.ts +21 -0
  31. package/dist/receipt/enrich.d.ts.map +1 -1
  32. package/dist/receipt/enrich.js +37 -0
  33. package/dist/receipt/enrich.js.map +1 -1
  34. package/dist/receipt/render-receipt.d.ts +3 -1
  35. package/dist/receipt/render-receipt.d.ts.map +1 -1
  36. package/dist/receipt/render-receipt.js +45 -1
  37. package/dist/receipt/render-receipt.js.map +1 -1
  38. package/droid/README.md +1 -1
  39. package/droid/mcp.example.json +1 -1
  40. package/gemini/settings.example.json +1 -1
  41. package/grok/README.md +1 -1
  42. package/kilo/kilo.example.json +1 -1
  43. package/kimi/mcp.example.json +1 -1
  44. package/kiro/mcp.example.json +1 -1
  45. package/manifest.json +1 -1
  46. package/mastracode/mcp.example.json +1 -1
  47. package/mcp.json +1 -1
  48. package/openai/codex.config.example.toml +1 -1
  49. package/opencode/opencode.example.json +1 -1
  50. package/package.json +1 -1
  51. package/qwen/settings.example.json +1 -1
  52. 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.6.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.7.0", "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
@@ -157,7 +157,7 @@ MCP Registry entry: `server.json` plus package `mcpName` `io.github.The-Pixel-Bo
157
157
  "mcpServers": {
158
158
  "shield-kya": {
159
159
  "command": "npx",
160
- "args": ["--no-install", "@shield-agent/kya@0.6.0", "serve-mcp", "--stdio"],
160
+ "args": ["--no-install", "@shield-agent/kya@0.7.0", "serve-mcp", "--stdio"],
161
161
  "env": {
162
162
  "KYA_BASE_URL": "http://127.0.0.1:8090",
163
163
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -184,7 +184,7 @@ npx @shield-agent/kya reject --id <approval-id>
184
184
 
185
185
  ```bash
186
186
  # Prefer a preinstalled package (no registry auto-install):
187
- npx --no-install @shield-agent/kya@0.6.0 serve-mcp --stdio
187
+ npx --no-install @shield-agent/kya@0.7.0 serve-mcp --stdio
188
188
  # Or after npm i -g / local install:
189
189
  kya serve-mcp --stdio
190
190
  ```
@@ -195,7 +195,7 @@ Copy `claude/claude_desktop_config.example.json` into Claude Desktop MCP setting
195
195
 
196
196
  ## OpenAI (Codex / Responses)
197
197
 
198
- **Codex CLI / IDE:** copy `openai/codex.config.example.toml` into `~/.codex/config.toml`. Local stdio uses `npx --no-install @shield-agent/kya@0.6.0 serve-mcp --stdio`. Hosted Codex uses `url = "https://shield-agent.com/mcp"` with `bearer_token_env_var = "KYA_API_KEY"`.
198
+ **Codex CLI / IDE:** copy `openai/codex.config.example.toml` into `~/.codex/config.toml`. Local stdio uses `npx --no-install @shield-agent/kya@0.7.0 serve-mcp --stdio`. Hosted Codex uses `url = "https://shield-agent.com/mcp"` with `bearer_token_env_var = "KYA_API_KEY"`.
199
199
 
200
200
  **Responses API:** see `openai/responses-mcp.example.json` (`server_url` + `Authorization: Bearer <KYA_API_KEY>`).
201
201
 
@@ -247,7 +247,7 @@ ORR is a reporting board. Scanners, `--scorecard`, and `harness.agentshield` are
247
247
 
248
248
  ## Certify (continuous agent assurance)
249
249
 
250
- `kya certify` evaluates the open **Agent Trust Baseline** catalog (`catalog/agent-trust-baseline-v0.json` — 30 requirements across Data & Privacy, Security, Safety, Reliability, Accountability, Society) against local evidence: the global trail, ORR output, wired hosts, sandbox inventory, receipts, showback, and your recorded attestations. It writes a gap report to `.kya/certify/` (JSON + Markdown + HTML). The gap list is your work plan.
250
+ `kya certify` evaluates the open **Agent Trust Baseline** catalog (`catalog/agent-trust-baseline-v0.json` — 30 requirements across Data & Privacy, Security, Safety, Reliability, Accountability, Society) against local evidence: the global trail, ORR output, wired hosts, sandbox inventory, receipts, showback, and your recorded attestations. It writes a gap report to `.kya/certify/` (JSON + Markdown + HTML). The gap list is your work plan. The receipt report shows the same state live: a **Certify** panel recomputed on every render (so `kya start`'s live report updates as events stream in) — run `kya certify` for the full gap report + signed evidence bundle.
251
251
 
252
252
  ```bash
253
253
  npx @shield-agent/kya certify # gap report; exit 1 when gaps exist (CI-friendly)
@@ -2,7 +2,7 @@
2
2
  "amp.mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.6.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.7.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.6.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.7.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.6.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.7.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.6.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.7.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -0,0 +1,11 @@
1
+ import type { EvidenceContext } from "./evaluate.js";
2
+ /** Receipt artifacts (html/json/md) in .kya/receipts. */
3
+ export declare function countReceipts(cwd: string): number;
4
+ /**
5
+ * Assemble the EvidenceContext every certify evaluation runs against.
6
+ * The trail is read once and passed through unfiltered (0.6.0 parity):
7
+ * each check windows it per its own windowDays via trailWindow. Callers
8
+ * that need a report window (runCertify stats/bundle) re-filter themselves.
9
+ */
10
+ export declare function assembleEvidenceContext(cwd: string, env: NodeJS.ProcessEnv, now?: Date): EvidenceContext;
11
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/certify/context.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,yDAAyD;AACzD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQjD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,GAAE,IAAiB,GACrB,eAAe,CAkBjB"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Shared evidence-context assembly for `kya certify` and live report panels.
3
+ * Single source of truth: runCertify and the receipt report panel both build
4
+ * their EvidenceContext here so they can never diverge. Local readers only:
5
+ * no network, no account, no key check.
6
+ */
7
+ import { existsSync, readdirSync, statSync } from "node:fs";
8
+ import { kyaHome, resolveGateMode } from "../config.js";
9
+ import { loadOrrCard, loadOrrCategoryRatings, loadSandboxes, loadShowbackCard, loadWiredHosts, } from "../receipt/enrich.js";
10
+ import { readTrail, receiptsDir } from "../trail.js";
11
+ import { loadAttestations } from "./attest.js";
12
+ /** Receipt artifacts (html/json/md) in .kya/receipts. */
13
+ export function countReceipts(cwd) {
14
+ try {
15
+ const dir = receiptsDir(cwd);
16
+ if (!existsSync(dir) || !statSync(dir).isDirectory())
17
+ return 0;
18
+ return readdirSync(dir).filter((n) => /\.(html|json|md)$/i.test(n)).length;
19
+ }
20
+ catch {
21
+ return 0;
22
+ }
23
+ }
24
+ /**
25
+ * Assemble the EvidenceContext every certify evaluation runs against.
26
+ * The trail is read once and passed through unfiltered (0.6.0 parity):
27
+ * each check windows it per its own windowDays via trailWindow. Callers
28
+ * that need a report window (runCertify stats/bundle) re-filter themselves.
29
+ */
30
+ export function assembleEvidenceContext(cwd, env, now = new Date()) {
31
+ const events = readTrail(cwd, env);
32
+ const wiredHosts = loadWiredHosts(cwd, kyaHome(env));
33
+ const sandboxes = loadSandboxes(cwd, env);
34
+ return {
35
+ now,
36
+ events,
37
+ // The shared resolver the gate itself uses (config.ts) — certify can
38
+ // never report a mode the gate would not actually run.
39
+ gateMode: resolveGateMode({ cwd, env }),
40
+ wiredHostCount: wiredHosts.filter((h) => h.wired !== "none").length,
41
+ orr: loadOrrCard(cwd),
42
+ orrCategories: loadOrrCategoryRatings(cwd),
43
+ sandboxCount: sandboxes.sandboxes.length,
44
+ receiptCount: countReceipts(cwd),
45
+ showbackPresent: loadShowbackCard(cwd) !== undefined,
46
+ attestations: loadAttestations(cwd),
47
+ };
48
+ }
49
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/certify/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,yDAAyD;AACzD,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;YAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,GAAW,EACX,GAAsB,EACtB,MAAY,IAAI,IAAI,EAAE;IAEtB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1C,OAAO;QACL,GAAG;QACH,MAAM;QACN,qEAAqE;QACrE,uDAAuD;QACvD,QAAQ,EAAE,eAAe,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACvC,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,MAAM;QACnE,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC;QACrB,aAAa,EAAE,sBAAsB,CAAC,GAAG,CAAC;QAC1C,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM;QACxC,YAAY,EAAE,aAAa,CAAC,GAAG,CAAC;QAChC,eAAe,EAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,SAAS;QACpD,YAAY,EAAE,gBAAgB,CAAC,GAAG,CAAC;KACpC,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Agent Trust Baseline evaluators. Pure functions over a pre-assembled
3
- * EvidenceContext — no I/O here; all loading lives in commands/certify.ts.
3
+ * EvidenceContext — no I/O here; all loading lives in certify/context.ts.
4
4
  * Evidence only: never a second PEP, never ALLOWs anything. Empty evidence
5
5
  * windows yield insufficient_evidence, never a vacuous pass.
6
6
  */
@@ -78,6 +78,21 @@ export interface EvidenceContext {
78
78
  readonly showbackPresent: boolean;
79
79
  readonly attestations: ReadonlyMap<string, RequirementAttestation>;
80
80
  }
81
+ export declare const DAY_MS: number;
82
+ export interface CertifyOverallCounts {
83
+ readonly pass: number;
84
+ readonly gap: number;
85
+ readonly insufficientEvidence: number;
86
+ readonly attested: number;
87
+ }
88
+ export declare function countRequirements(requirements: readonly CertifyRequirementResult[]): CertifyOverallCounts;
89
+ /**
90
+ * Fail-closed overall: zero certifiable evidence (all insufficient_evidence)
91
+ * must never headline as pass — a green badge requires real evidence.
92
+ * Shared by runCertify and computeLiveCertify so they can never diverge.
93
+ */
94
+ export declare function computeOverall(counts: CertifyOverallCounts): CertifyReport["overall"];
95
+ export declare function trailStats(events: readonly TrailEvent[]): CertifyTrailStats;
81
96
  export declare function matchEvent(e: TrailEvent, m: TrailMatch): boolean;
82
97
  /** Events with parseable ts within [now - windowDays, now]. */
83
98
  export declare function trailWindow(events: readonly TrailEvent[], windowDays: number, now: Date): TrailEvent[];
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/certify/evaluate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/certify/evaluate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,49 @@
1
- const DAY_MS = 24 * 60 * 60 * 1000;
1
+ export const DAY_MS = 24 * 60 * 60 * 1000;
2
+ export function countRequirements(requirements) {
3
+ const counts = { pass: 0, gap: 0, insufficientEvidence: 0, attested: 0 };
4
+ for (const r of requirements) {
5
+ if (r.status === "pass")
6
+ counts.pass++;
7
+ else if (r.status === "gap")
8
+ counts.gap++;
9
+ else if (r.status === "attested")
10
+ counts.attested++;
11
+ else
12
+ counts.insufficientEvidence++;
13
+ }
14
+ return counts;
15
+ }
16
+ /**
17
+ * Fail-closed overall: zero certifiable evidence (all insufficient_evidence)
18
+ * must never headline as pass — a green badge requires real evidence.
19
+ * Shared by runCertify and computeLiveCertify so they can never diverge.
20
+ */
21
+ export function computeOverall(counts) {
22
+ return {
23
+ ...counts,
24
+ result: counts.gap > 0 ? "gap" : counts.pass + counts.attested > 0 ? "pass" : "gap",
25
+ };
26
+ }
27
+ export function trailStats(events) {
28
+ const verdictMix = { ALLOW: 0, DENY: 0, REQUIRE_APPROVE: 0 };
29
+ const modes = { observe: 0, hold: 0, offline: 0 };
30
+ for (const e of events) {
31
+ const v = e.verdict.toUpperCase();
32
+ if (v === "ALLOW")
33
+ verdictMix.ALLOW++;
34
+ else if (v === "DENY")
35
+ verdictMix.DENY++;
36
+ else if (v === "REQUIRE_APPROVE")
37
+ verdictMix.REQUIRE_APPROVE++;
38
+ if (e.mode === "observe")
39
+ modes.observe++;
40
+ else if (e.mode === "hold")
41
+ modes.hold++;
42
+ else
43
+ modes.offline++;
44
+ }
45
+ return { eventCount: events.length, verdictMix, modes };
46
+ }
2
47
  export function matchEvent(e, m) {
3
48
  if (m.verdict !== undefined && e.verdict.toUpperCase() !== m.verdict.toUpperCase()) {
4
49
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/certify/evaluate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/certify/evaluate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type CertifyReport } from "./evaluate.js";
2
+ export declare function computeLiveCertify(cwd: string, env?: NodeJS.ProcessEnv, windowDays?: number, now?: Date): CertifyReport;
3
+ //# sourceMappingURL=live.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../src/certify/live.ts"],"names":[],"mappings":"AAWA,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAEvB,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,UAAU,SAAK,EACf,GAAG,GAAE,IAAiB,GACrB,aAAa,CAyBf"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Live in-memory certify evaluation — the "certified right now" panel data.
3
+ * Recomputes the full Agent Trust Baseline from local evidence on every call
4
+ * and returns a real CertifyReport, identical in shape to `kya certify` output
5
+ * so the receipt panel and any other consumer can treat them interchangeably.
6
+ * Read-only: no report files, no .kya/certify writes, no side effects beyond
7
+ * the local readers the evidence context already uses.
8
+ */
9
+ import { UsageError } from "../errors.js";
10
+ import { loadCatalog } from "./catalog.js";
11
+ import { assembleEvidenceContext } from "./context.js";
12
+ import { computeOverall, countRequirements, DAY_MS, evaluateRequirement, trailStats, trailWindow, } from "./evaluate.js";
13
+ export function computeLiveCertify(cwd, env = process.env, windowDays = 30, now = new Date()) {
14
+ // Public SDK surface — enforce the same window rule as the CLI boundary.
15
+ if (!Number.isInteger(windowDays) || windowDays < 1 || windowDays > 366) {
16
+ throw new UsageError("windowDays must be an integer between 1 and 366");
17
+ }
18
+ const catalog = loadCatalog();
19
+ const ctx = assembleEvidenceContext(cwd, env, now);
20
+ const requirements = catalog.requirements.map((r) => evaluateRequirement(r, ctx));
21
+ // Report-window stats mirror runCertify: ctx.events is the full trail;
22
+ // per-check windows are owned by the evaluators.
23
+ const inWindow = trailWindow(ctx.events, windowDays, now);
24
+ return {
25
+ format: "shield-kya-certify-report",
26
+ version: 1,
27
+ generatedAt: now.toISOString(),
28
+ catalog: { id: catalog.id, version: catalog.version, updated: catalog.updated },
29
+ window: {
30
+ days: windowDays,
31
+ since: new Date(now.getTime() - windowDays * DAY_MS).toISOString(),
32
+ until: now.toISOString(),
33
+ },
34
+ trail: trailStats(inWindow),
35
+ requirements,
36
+ overall: computeOverall(countRequirements(requirements)),
37
+ };
38
+ }
39
+ //# sourceMappingURL=live.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live.js","sourceRoot":"","sources":["../../src/certify/live.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,MAAM,EACN,mBAAmB,EACnB,UAAU,EACV,WAAW,GAEZ,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,kBAAkB,CAChC,GAAW,EACX,MAAyB,OAAO,CAAC,GAAG,EACpC,UAAU,GAAG,EAAE,EACf,MAAY,IAAI,IAAI,EAAE;IAEtB,yEAAyE;IACzE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;QACxE,MAAM,IAAI,UAAU,CAAC,iDAAiD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAClF,uEAAuE;IACvE,iDAAiD;IACjD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IAC1D,OAAO;QACL,MAAM,EAAE,2BAA2B;QACnC,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;QAC9B,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;QAC/E,MAAM,EAAE;YACN,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,UAAU,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE;YAClE,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE;SACzB;QACD,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC;QAC3B,YAAY;QACZ,OAAO,EAAE,cAAc,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/certify/render.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,aAAa,EAGd,MAAM,eAAe,CAAC;AAWvB,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAM3D;AASD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CA+CnE;AAiCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAoJ/D"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/certify/render.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,aAAa,EAGd,MAAM,eAAe,CAAC;AAWvB,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAM3D;AAUD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CA+CnE;AAiCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAoJ/D"}
@@ -23,6 +23,7 @@ export function domainOrder(report) {
23
23
  }
24
24
  function mdText(s) {
25
25
  return stripEscapes(s)
26
+ .replace(/\\/g, "\\\\")
26
27
  .replace(/`/g, "\\`")
27
28
  .replace(/\|/g, "\\|")
28
29
  .replace(/([[\]<>])/g, "\\$1");
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/certify/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/certify/render.ts"],"names":[],"mappings":"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"}
@@ -41,8 +41,7 @@ export interface CertifyResult {
41
41
  readonly exitCode: number;
42
42
  }
43
43
  export declare function certifyOptionsFromArgs(parsed: ParsedArgs): CertifyCliOptions;
44
- /** Receipt artifacts (html/json/md) in .kya/receipts. */
45
- export declare function countReceipts(cwd: string): number;
44
+ export { countReceipts } from "../certify/context.js";
46
45
  export declare function runCertify(options: CertifyOptions): CertifyResult;
47
46
  export declare function formatCertifySummary(report: CertifyReport): string;
48
47
  //# sourceMappingURL=certify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"certify.d.ts","sourceRoot":"","sources":["../../src/commands/certify.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAGL,KAAK,aAAa,EAGnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAe9B,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7E;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;IAC/C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,iBAAiB,CAgD5E;AAED,yDAAyD;AACzD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQjD;AAiBD,wBAAgB,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CAqHjE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAclE"}
1
+ {"version":3,"file":"certify.d.ts","sourceRoot":"","sources":["../../src/commands/certify.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGzE,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAO9B,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7E;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;IAC/C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,iBAAiB,CAgD5E;AAID,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,wBAAgB,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CA4FjE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAclE"}
@@ -3,18 +3,17 @@
3
3
  * Evidence only: not a second PEP; never mints principals, never ALLOWs,
4
4
  * DENYs, or blocks anything. Local-first: no network, no account, no key check.
5
5
  */
6
- import { existsSync, mkdirSync, readdirSync, statSync, writeFileSync, } from "node:fs";
6
+ import { mkdirSync, writeFileSync } from "node:fs";
7
7
  import { join, resolve } from "node:path";
8
- import { kyaHome, resolveGateMode } from "../config.js";
9
8
  import { assertNoSecrets } from "../dash/render.js";
10
9
  import { UsageError } from "../errors.js";
11
10
  import { flagBool, flagString } from "../parse-args.js";
12
11
  import { loadCatalog } from "../certify/catalog.js";
13
- import { evaluateRequirement, trailWindow, } from "../certify/evaluate.js";
12
+ import { assembleEvidenceContext } from "../certify/context.js";
13
+ import { computeOverall, countRequirements, DAY_MS, evaluateRequirement, trailStats, trailWindow, } from "../certify/evaluate.js";
14
14
  import { formatCertifyMarkdown, renderCertifyHtml } from "../certify/render.js";
15
- import { loadAttestations, recordAttestation, } from "../certify/attest.js";
16
- import { loadIdentity, loadOrrCard, loadOrrCategoryRatings, loadSandboxes, loadShowbackCard, loadWiredHosts, } from "../receipt/enrich.js";
17
- import { readTrail, receiptsDir } from "../trail.js";
15
+ import { recordAttestation, } from "../certify/attest.js";
16
+ import { loadIdentity } from "../receipt/enrich.js";
18
17
  import { buildEvidenceBundle, loadOrCreateEvidenceKey, } from "../sign/evidence-bundle.js";
19
18
  export function certifyOptionsFromArgs(parsed) {
20
19
  const windowRaw = flagString(parsed.flags, "window");
@@ -64,38 +63,9 @@ export function certifyOptionsFromArgs(parsed) {
64
63
  ...(attest ? { attest } : {}),
65
64
  };
66
65
  }
67
- /** Receipt artifacts (html/json/md) in .kya/receipts. */
68
- export function countReceipts(cwd) {
69
- try {
70
- const dir = receiptsDir(cwd);
71
- if (!existsSync(dir) || !statSync(dir).isDirectory())
72
- return 0;
73
- return readdirSync(dir).filter((n) => /\.(html|json|md)$/i.test(n)).length;
74
- }
75
- catch {
76
- return 0;
77
- }
78
- }
79
- function trailStats(events) {
80
- const verdictMix = { ALLOW: 0, DENY: 0, REQUIRE_APPROVE: 0 };
81
- const modes = { observe: 0, hold: 0, offline: 0 };
82
- for (const e of events) {
83
- const v = e.verdict.toUpperCase();
84
- if (v === "ALLOW")
85
- verdictMix.ALLOW++;
86
- else if (v === "DENY")
87
- verdictMix.DENY++;
88
- else if (v === "REQUIRE_APPROVE")
89
- verdictMix.REQUIRE_APPROVE++;
90
- if (e.mode === "observe")
91
- modes.observe++;
92
- else if (e.mode === "hold")
93
- modes.hold++;
94
- else
95
- modes.offline++;
96
- }
97
- return { eventCount: events.length, verdictMix, modes };
98
- }
66
+ // Lives in certify/context.ts next to the assembly that consumes it;
67
+ // re-exported here to keep the existing import surface stable.
68
+ export { countReceipts } from "../certify/context.js";
99
69
  export function runCertify(options) {
100
70
  const catalog = loadCatalog(options.catalogPath);
101
71
  const now = options.now ?? new Date();
@@ -107,36 +77,12 @@ export function runCertify(options) {
107
77
  }
108
78
  attestationRecorded = recordAttestation(options.cwd, wanted, options.attest.text);
109
79
  }
110
- const events = readTrail(options.cwd, options.env);
111
- const wiredHosts = loadWiredHosts(options.cwd, kyaHome(options.env));
112
- const sandboxes = loadSandboxes(options.cwd, options.env);
113
- const ctx = {
114
- now,
115
- events,
116
- // The shared resolver the gate itself uses (config.ts) — certify can
117
- // never report a mode the gate would not actually run.
118
- gateMode: resolveGateMode({ cwd: options.cwd, env: options.env }),
119
- wiredHostCount: wiredHosts.filter((h) => h.wired !== "none").length,
120
- orr: loadOrrCard(options.cwd),
121
- orrCategories: loadOrrCategoryRatings(options.cwd),
122
- sandboxCount: sandboxes.sandboxes.length,
123
- receiptCount: countReceipts(options.cwd),
124
- showbackPresent: loadShowbackCard(options.cwd) !== undefined,
125
- attestations: loadAttestations(options.cwd),
126
- };
80
+ const ctx = assembleEvidenceContext(options.cwd, options.env, now);
127
81
  const requirements = catalog.requirements.map((r) => evaluateRequirement(r, ctx));
128
- const inWindow = trailWindow(events, options.windowDays, now);
129
- const counts = { pass: 0, gap: 0, insufficientEvidence: 0, attested: 0 };
130
- for (const r of requirements) {
131
- if (r.status === "pass")
132
- counts.pass++;
133
- else if (r.status === "gap")
134
- counts.gap++;
135
- else if (r.status === "attested")
136
- counts.attested++;
137
- else
138
- counts.insufficientEvidence++;
139
- }
82
+ // Report-window stats/bundle filtering stays here (0.6.0): ctx.events is
83
+ // the full trail; per-check windows are owned by the evaluators.
84
+ const inWindow = trailWindow(ctx.events, options.windowDays, now);
85
+ const counts = countRequirements(requirements);
140
86
  const report = {
141
87
  format: "shield-kya-certify-report",
142
88
  version: 1,
@@ -144,17 +90,12 @@ export function runCertify(options) {
144
90
  catalog: { id: catalog.id, version: catalog.version, updated: catalog.updated },
145
91
  window: {
146
92
  days: options.windowDays,
147
- since: new Date(now.getTime() - options.windowDays * 24 * 60 * 60 * 1000).toISOString(),
93
+ since: new Date(now.getTime() - options.windowDays * DAY_MS).toISOString(),
148
94
  until: now.toISOString(),
149
95
  },
150
96
  trail: trailStats(inWindow),
151
97
  requirements,
152
- overall: {
153
- ...counts,
154
- // Fail-closed: zero certifiable evidence (all insufficient_evidence)
155
- // must never headline as pass — a green badge requires real evidence.
156
- result: counts.gap > 0 ? "gap" : counts.pass + counts.attested > 0 ? "pass" : "gap",
157
- },
98
+ overall: computeOverall(counts),
158
99
  };
159
100
  const outDir = resolve(options.cwd, options.out);
160
101
  mkdirSync(outDir, { recursive: true });
@@ -1 +1 @@
1
- {"version":3,"file":"certify.js","sourceRoot":"","sources":["../../src/commands/certify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"certify.js","sourceRoot":"","sources":["../../src/commands/certify.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -23,7 +23,8 @@ export { buildShowback, parseUsageRecords, SHOWBACK_DISCLAIMER, type UsageRecord
23
23
  export { estimateRequestUsd, lookupRate, PUBLISHED_MODEL_RATES } from "./showback/rates.js";
24
24
  export { runCertify, certifyOptionsFromArgs, formatCertifySummary, countReceipts, type CertifyCliOptions, type CertifyOptions, type CertifyResult, } from "./commands/certify.js";
25
25
  export { loadCatalog, validateCatalog, defaultCatalogPath, MAX_CATALOG_BYTES, type Catalog, type CatalogRequirement, type RequirementCheck, type RequirementSeverity, type TrailMatch, } from "./certify/catalog.js";
26
- export { evaluateRequirement, matchEvent, trailWindow, type CertifyReport, type CertifyRequirementResult, type CertifyTrailStats, type EvidenceContext, type RequirementAttestation, type RequirementStatus, } from "./certify/evaluate.js";
26
+ export { evaluateRequirement, computeOverall, countRequirements, matchEvent, trailStats, trailWindow, type CertifyOverallCounts, type CertifyReport, type CertifyRequirementResult, type CertifyTrailStats, type EvidenceContext, type RequirementAttestation, type RequirementStatus, } from "./certify/evaluate.js";
27
+ export { computeLiveCertify } from "./certify/live.js";
27
28
  export { attestationsPath, loadAttestations, recordAttestation, type AttestationRecord, } from "./certify/attest.js";
28
29
  export { formatCertifyMarkdown, renderCertifyHtml } from "./certify/render.js";
29
30
  export { loadOrrCategoryRatings } from "./receipt/enrich.js";