@shield-agent/kya 0.32.9 → 0.33.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.
Files changed (279) hide show
  1. package/.cursor-plugin/plugin.json +1 -1
  2. package/.mcp.json +1 -1
  3. package/LIMITATIONS.md +2 -2
  4. package/README.md +178 -12
  5. package/amp/settings.example.json +1 -1
  6. package/claude/claude_desktop_config.example.json +1 -1
  7. package/cline/cline_mcp_settings.example.json +1 -1
  8. package/copilot/mcp-config.example.json +1 -1
  9. package/data/iocs.json +17 -0
  10. package/dist/cli.d.ts +1 -1
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +149 -16
  13. package/dist/cli.js.map +1 -1
  14. package/dist/commands/connect.d.ts +1 -1
  15. package/dist/commands/connect.d.ts.map +1 -1
  16. package/dist/commands/connect.js +11 -3
  17. package/dist/commands/connect.js.map +1 -1
  18. package/dist/commands/dash.d.ts.map +1 -1
  19. package/dist/commands/dash.js +25 -1
  20. package/dist/commands/dash.js.map +1 -1
  21. package/dist/commands/doctor.d.ts +8 -0
  22. package/dist/commands/doctor.d.ts.map +1 -0
  23. package/dist/commands/doctor.js +26 -0
  24. package/dist/commands/doctor.js.map +1 -0
  25. package/dist/commands/eval-tool.d.ts +3 -0
  26. package/dist/commands/eval-tool.d.ts.map +1 -1
  27. package/dist/commands/eval-tool.js +2 -1
  28. package/dist/commands/eval-tool.js.map +1 -1
  29. package/dist/commands/export.d.ts +33 -0
  30. package/dist/commands/export.d.ts.map +1 -0
  31. package/dist/commands/export.js +121 -0
  32. package/dist/commands/export.js.map +1 -0
  33. package/dist/commands/hook.d.ts.map +1 -1
  34. package/dist/commands/hook.js +120 -26
  35. package/dist/commands/hook.js.map +1 -1
  36. package/dist/commands/hosted-hook.d.ts +8 -1
  37. package/dist/commands/hosted-hook.d.ts.map +1 -1
  38. package/dist/commands/hosted-hook.js +15 -5
  39. package/dist/commands/hosted-hook.js.map +1 -1
  40. package/dist/commands/map.d.ts +21 -0
  41. package/dist/commands/map.d.ts.map +1 -0
  42. package/dist/commands/map.js +76 -0
  43. package/dist/commands/map.js.map +1 -0
  44. package/dist/commands/notify-flush.d.ts.map +1 -1
  45. package/dist/commands/notify-flush.js +7 -1
  46. package/dist/commands/notify-flush.js.map +1 -1
  47. package/dist/commands/posture.d.ts +21 -0
  48. package/dist/commands/posture.d.ts.map +1 -0
  49. package/dist/commands/posture.js +177 -0
  50. package/dist/commands/posture.js.map +1 -0
  51. package/dist/commands/receipt-serve.d.ts +7 -0
  52. package/dist/commands/receipt-serve.d.ts.map +1 -1
  53. package/dist/commands/receipt-serve.js +50 -0
  54. package/dist/commands/receipt-serve.js.map +1 -1
  55. package/dist/commands/start.d.ts.map +1 -1
  56. package/dist/commands/start.js +5 -1
  57. package/dist/commands/start.js.map +1 -1
  58. package/dist/commands/team.d.ts.map +1 -1
  59. package/dist/commands/team.js +30 -11
  60. package/dist/commands/team.js.map +1 -1
  61. package/dist/commands/wire-hooks.d.ts +5 -1
  62. package/dist/commands/wire-hooks.d.ts.map +1 -1
  63. package/dist/commands/wire-hooks.js +23 -8
  64. package/dist/commands/wire-hooks.js.map +1 -1
  65. package/dist/commands/wrap.d.ts +38 -1
  66. package/dist/commands/wrap.d.ts.map +1 -1
  67. package/dist/commands/wrap.js +82 -6
  68. package/dist/commands/wrap.js.map +1 -1
  69. package/dist/daily-slot.d.ts +2 -0
  70. package/dist/daily-slot.d.ts.map +1 -0
  71. package/dist/daily-slot.js +29 -0
  72. package/dist/daily-slot.js.map +1 -0
  73. package/dist/dash/dash.d.ts.map +1 -1
  74. package/dist/dash/dash.js +10 -0
  75. package/dist/dash/dash.js.map +1 -1
  76. package/dist/dash/entitlement.d.ts +1 -1
  77. package/dist/dash/entitlement.d.ts.map +1 -1
  78. package/dist/dash/entitlement.js +1 -0
  79. package/dist/dash/entitlement.js.map +1 -1
  80. package/dist/dash/input.d.ts +1 -1
  81. package/dist/dash/input.d.ts.map +1 -1
  82. package/dist/dash/input.js +3 -0
  83. package/dist/dash/input.js.map +1 -1
  84. package/dist/dash/render.js +1 -1
  85. package/dist/dash/render.js.map +1 -1
  86. package/dist/dash/screens/free.js +1 -1
  87. package/dist/dash/screens/free.js.map +1 -1
  88. package/dist/device-id.d.ts +5 -0
  89. package/dist/device-id.d.ts.map +1 -0
  90. package/dist/device-id.js +78 -0
  91. package/dist/device-id.js.map +1 -0
  92. package/dist/fs-atomic.d.ts +9 -3
  93. package/dist/fs-atomic.d.ts.map +1 -1
  94. package/dist/fs-atomic.js +17 -11
  95. package/dist/fs-atomic.js.map +1 -1
  96. package/dist/gate/config-gen.d.ts +26 -2
  97. package/dist/gate/config-gen.d.ts.map +1 -1
  98. package/dist/gate/config-gen.js +53 -4
  99. package/dist/gate/config-gen.js.map +1 -1
  100. package/dist/gate/otlp-receiver.d.ts.map +1 -1
  101. package/dist/gate/otlp-receiver.js +3 -1
  102. package/dist/gate/otlp-receiver.js.map +1 -1
  103. package/dist/guard-pack.d.ts +58 -0
  104. package/dist/guard-pack.d.ts.map +1 -0
  105. package/dist/guard-pack.js +753 -0
  106. package/dist/guard-pack.js.map +1 -0
  107. package/dist/ioc/exec.d.ts +19 -0
  108. package/dist/ioc/exec.d.ts.map +1 -0
  109. package/dist/ioc/exec.js +49 -0
  110. package/dist/ioc/exec.js.map +1 -0
  111. package/dist/ioc/format.d.ts +4 -0
  112. package/dist/ioc/format.d.ts.map +1 -0
  113. package/dist/ioc/format.js +23 -0
  114. package/dist/ioc/format.js.map +1 -0
  115. package/dist/ioc/list.d.ts +29 -0
  116. package/dist/ioc/list.d.ts.map +1 -0
  117. package/dist/ioc/list.js +25 -0
  118. package/dist/ioc/list.js.map +1 -0
  119. package/dist/ioc/result.d.ts +18 -0
  120. package/dist/ioc/result.d.ts.map +1 -0
  121. package/dist/ioc/result.js +26 -0
  122. package/dist/ioc/result.js.map +1 -0
  123. package/dist/ioc/scan.d.ts +21 -0
  124. package/dist/ioc/scan.d.ts.map +1 -0
  125. package/dist/ioc/scan.js +247 -0
  126. package/dist/ioc/scan.js.map +1 -0
  127. package/dist/ioc/spawn.d.ts +26 -0
  128. package/dist/ioc/spawn.d.ts.map +1 -0
  129. package/dist/ioc/spawn.js +52 -0
  130. package/dist/ioc/spawn.js.map +1 -0
  131. package/dist/map/build.d.ts +58 -0
  132. package/dist/map/build.d.ts.map +1 -0
  133. package/dist/map/build.js +439 -0
  134. package/dist/map/build.js.map +1 -0
  135. package/dist/map/heat.d.ts +44 -0
  136. package/dist/map/heat.d.ts.map +1 -0
  137. package/dist/map/heat.js +96 -0
  138. package/dist/map/heat.js.map +1 -0
  139. package/dist/map/load.d.ts +38 -0
  140. package/dist/map/load.d.ts.map +1 -0
  141. package/dist/map/load.js +38 -0
  142. package/dist/map/load.js.map +1 -0
  143. package/dist/map/page.d.ts +90 -0
  144. package/dist/map/page.d.ts.map +1 -0
  145. package/dist/map/page.js +374 -0
  146. package/dist/map/page.js.map +1 -0
  147. package/dist/map/target-class.d.ts +22 -0
  148. package/dist/map/target-class.d.ts.map +1 -0
  149. package/dist/map/target-class.js +151 -0
  150. package/dist/map/target-class.js.map +1 -0
  151. package/dist/map/types.d.ts +102 -0
  152. package/dist/map/types.d.ts.map +1 -0
  153. package/dist/map/types.js +3 -0
  154. package/dist/map/types.js.map +1 -0
  155. package/dist/mcp/protocol.d.ts.map +1 -1
  156. package/dist/mcp/protocol.js +16 -5
  157. package/dist/mcp/protocol.js.map +1 -1
  158. package/dist/never-code.d.ts +7 -0
  159. package/dist/never-code.d.ts.map +1 -0
  160. package/dist/never-code.js +9 -0
  161. package/dist/never-code.js.map +1 -0
  162. package/dist/never-list-input.d.ts +48 -12
  163. package/dist/never-list-input.d.ts.map +1 -1
  164. package/dist/never-list-input.js +696 -29
  165. package/dist/never-list-input.js.map +1 -1
  166. package/dist/notify/dispatch.d.ts +4 -0
  167. package/dist/notify/dispatch.d.ts.map +1 -1
  168. package/dist/notify/dispatch.js +3 -1
  169. package/dist/notify/dispatch.js.map +1 -1
  170. package/dist/offline-evaluate.d.ts +26 -1
  171. package/dist/offline-evaluate.d.ts.map +1 -1
  172. package/dist/offline-evaluate.js +33 -4
  173. package/dist/offline-evaluate.js.map +1 -1
  174. package/dist/otel/exporter.d.ts +15 -2
  175. package/dist/otel/exporter.d.ts.map +1 -1
  176. package/dist/otel/exporter.js +52 -6
  177. package/dist/otel/exporter.js.map +1 -1
  178. package/dist/otel/map-attrs-optin.d.ts +39 -0
  179. package/dist/otel/map-attrs-optin.d.ts.map +1 -0
  180. package/dist/otel/map-attrs-optin.js +109 -0
  181. package/dist/otel/map-attrs-optin.js.map +1 -0
  182. package/dist/parse-args.d.ts +2 -0
  183. package/dist/parse-args.d.ts.map +1 -1
  184. package/dist/parse-args.js +4 -2
  185. package/dist/parse-args.js.map +1 -1
  186. package/dist/posture/card.d.ts +26 -0
  187. package/dist/posture/card.d.ts.map +1 -0
  188. package/dist/posture/card.js +46 -0
  189. package/dist/posture/card.js.map +1 -0
  190. package/dist/posture/collect.d.ts +19 -0
  191. package/dist/posture/collect.d.ts.map +1 -0
  192. package/dist/posture/collect.js +182 -0
  193. package/dist/posture/collect.js.map +1 -0
  194. package/dist/posture/send.d.ts +24 -0
  195. package/dist/posture/send.d.ts.map +1 -0
  196. package/dist/posture/send.js +162 -0
  197. package/dist/posture/send.js.map +1 -0
  198. package/dist/posture/spawn.d.ts +20 -0
  199. package/dist/posture/spawn.d.ts.map +1 -0
  200. package/dist/posture/spawn.js +33 -0
  201. package/dist/posture/spawn.js.map +1 -0
  202. package/dist/posture/store.d.ts +34 -0
  203. package/dist/posture/store.d.ts.map +1 -0
  204. package/dist/posture/store.js +107 -0
  205. package/dist/posture/store.js.map +1 -0
  206. package/dist/posture/validate.d.ts +33 -0
  207. package/dist/posture/validate.d.ts.map +1 -0
  208. package/dist/posture/validate.js +232 -0
  209. package/dist/posture/validate.js.map +1 -0
  210. package/dist/project-policy.d.ts +23 -0
  211. package/dist/project-policy.d.ts.map +1 -0
  212. package/dist/project-policy.js +95 -0
  213. package/dist/project-policy.js.map +1 -0
  214. package/dist/receipt/daemon.d.ts +9 -9
  215. package/dist/receipt/daemon.d.ts.map +1 -1
  216. package/dist/receipt/daemon.js +26 -11
  217. package/dist/receipt/daemon.js.map +1 -1
  218. package/dist/receipt/embeddings.d.ts +28 -10
  219. package/dist/receipt/embeddings.d.ts.map +1 -1
  220. package/dist/receipt/embeddings.js +221 -35
  221. package/dist/receipt/embeddings.js.map +1 -1
  222. package/dist/receipt/gate-page.d.ts.map +1 -1
  223. package/dist/receipt/gate-page.js +5 -22
  224. package/dist/receipt/gate-page.js.map +1 -1
  225. package/dist/receipt/live-server.d.ts +8 -0
  226. package/dist/receipt/live-server.d.ts.map +1 -1
  227. package/dist/receipt/live-server.js +136 -4
  228. package/dist/receipt/live-server.js.map +1 -1
  229. package/dist/receipt/render-receipt.d.ts +7 -1
  230. package/dist/receipt/render-receipt.d.ts.map +1 -1
  231. package/dist/receipt/render-receipt.js +101 -13
  232. package/dist/receipt/render-receipt.js.map +1 -1
  233. package/dist/receipt/search.d.ts +5 -0
  234. package/dist/receipt/search.d.ts.map +1 -1
  235. package/dist/receipt/search.js +23 -2
  236. package/dist/receipt/search.js.map +1 -1
  237. package/dist/receipt/semantic-setup.d.ts +21 -0
  238. package/dist/receipt/semantic-setup.d.ts.map +1 -0
  239. package/dist/receipt/semantic-setup.js +111 -0
  240. package/dist/receipt/semantic-setup.js.map +1 -0
  241. package/dist/receipt/semantic-status.d.ts +7 -0
  242. package/dist/receipt/semantic-status.d.ts.map +1 -0
  243. package/dist/receipt/semantic-status.js +26 -0
  244. package/dist/receipt/semantic-status.js.map +1 -0
  245. package/dist/sdk/govern.d.ts.map +1 -1
  246. package/dist/sdk/govern.js +7 -3
  247. package/dist/sdk/govern.js.map +1 -1
  248. package/dist/telemetry.d.ts.map +1 -1
  249. package/dist/telemetry.js +3 -23
  250. package/dist/telemetry.js.map +1 -1
  251. package/dist/trail-map-fields.d.ts +10 -0
  252. package/dist/trail-map-fields.d.ts.map +1 -0
  253. package/dist/trail-map-fields.js +53 -0
  254. package/dist/trail-map-fields.js.map +1 -0
  255. package/dist/trail-summary.d.ts.map +1 -1
  256. package/dist/trail-summary.js +11 -3
  257. package/dist/trail-summary.js.map +1 -1
  258. package/dist/trail.d.ts +9 -1
  259. package/dist/trail.d.ts.map +1 -1
  260. package/dist/trail.js +24 -1
  261. package/dist/trail.js.map +1 -1
  262. package/droid/README.md +1 -1
  263. package/droid/mcp.example.json +1 -1
  264. package/gemini/settings.example.json +1 -1
  265. package/grok/README.md +1 -1
  266. package/kilo/kilo.example.json +1 -1
  267. package/kimi/mcp.example.json +1 -1
  268. package/kiro/mcp.example.json +1 -1
  269. package/manifest.json +1 -1
  270. package/mastracode/mcp.example.json +1 -1
  271. package/mcp.json +1 -1
  272. package/openai/codex.config.example.toml +1 -1
  273. package/opencode/opencode.example.json +1 -1
  274. package/package.json +8 -4
  275. package/qwen/settings.example.json +1 -1
  276. package/server.json +2 -2
  277. package/vendor/cytoscape/LICENSE +19 -0
  278. package/vendor/cytoscape/README.md +7 -0
  279. package/vendor/cytoscape/cytoscape.min.js +31 -0
@@ -3,7 +3,7 @@
3
3
  * (Claude Code, Codex, Grok, Kimi Code; Gemini CLI BeforeTool). Default: offline local evaluate only, no
4
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. With --plane-config (beta) it evaluates on the hosted plane and
6
+ * --strict. With --plane-config (preview) it evaluates on the hosted plane and
7
7
  * fails closed (runHostedHook below; --plane-shadow records without blocking).
8
8
  */
9
9
  import { createHash } from "node:crypto";
@@ -12,9 +12,12 @@ import { isAbsolute, join } from "node:path";
12
12
  import { configFilePath, globalConfigDir, resolveConfig } from "../config.js";
13
13
  import { runEvalTool } from "./eval-tool.js";
14
14
  import { appendTrail, defaultSessionId, hostToProduct } from "../trail.js";
15
+ import { trailMapFields } from "../trail-map-fields.js";
15
16
  import { deriveWireChangeFields } from "../diff-preview.js";
16
17
  import { matchesNeverList } from "../offline-evaluate.js";
17
18
  import { neverListInputMatch } from "../never-list-input.js";
19
+ import { GUARD_DEFAULTS, guardContextFrom, guardHint, guardPackMatch, readGuardConfig } from "../guard-pack.js";
20
+ import { isNeverCode } from "../never-code.js";
18
21
  import { maybeSpawnNotifyFlush } from "../notify/dispatch.js";
19
22
  import { computeArgsHash } from "../hash.js";
20
23
  import { evaluateHosted, hostedDecision, hostedEnvProblem, loadPlaneConfig, PlaneError, scrubNetworkEnv } from "./hosted-hook.js";
@@ -55,7 +58,23 @@ function geminiMcpToolId(raw) {
55
58
  const isBeforeTool = (event) => /^BeforeTool$/i.test(event ?? "");
56
59
  /** Gemini CLI reads the decision from stdout JSON (`decision`), not hookSpecificOutput: `--host gemini` or a BeforeTool payload. */
57
60
  const geminiShape = (input, p) => input.host.trim().toLowerCase() === "gemini" || isBeforeTool(p?.event);
58
- /** Accept snake_case (Claude/Kimi) and camelCase (Grok) envelopes. */
61
+ /**
62
+ * Copilot CLI camelCase preToolUse sends `toolArgs` as a JSON string. Parse it so the
63
+ * input rules and the trail see an object; a bad string stays a string (the rules then
64
+ * fail open, as for any unparseable input). No size cap: the whole payload was already
65
+ * parsed above, and a cap here would let padding turn a long command into an allow.
66
+ */
67
+ function parseToolArgs(v) {
68
+ if (typeof v !== "string")
69
+ return v;
70
+ try {
71
+ return JSON.parse(v);
72
+ }
73
+ catch {
74
+ return v;
75
+ }
76
+ }
77
+ /** Accept snake_case (Claude/Kimi) and camelCase (Grok, Copilot) envelopes. */
59
78
  function parsePayload(stdinText) {
60
79
  let raw;
61
80
  try {
@@ -88,16 +107,26 @@ function parsePayload(stdinText) {
88
107
  toolUseId: (typeof p.tool_use_id === "string" && p.tool_use_id) ||
89
108
  (typeof p.toolUseId === "string" && p.toolUseId) ||
90
109
  undefined,
91
- toolInput: p.tool_input ?? p.toolInput,
110
+ toolInput: p.tool_input ?? p.toolInput ?? parseToolArgs(p.toolArgs),
92
111
  usage: readUsageShape(p.usage) ?? readUsageShape(toolResponse?.usage),
93
112
  };
94
113
  }
95
114
  const ALLOW = { exitCode: 0, stdout: "", stderr: "" };
96
- /** Deny text. An input-rule hit names its rule id; the never-list cannot be overridden. */
115
+ /**
116
+ * Deny text. An input-rule hit names its rule id; the never-list cannot be overridden. A guard pack
117
+ * hit names its rule id and says what to do instead. It does not say where the allowlist lives: that file
118
+ * is writable by the agent, so the text points at the docs for the person. Never carries command text,
119
+ * a path or a matched secret.
120
+ */
97
121
  function denyReason(toolName, reasonCode, ruleId) {
98
- return reasonCode === "NEVER_EVENT" && ruleId
99
- ? `KYA denied ${toolName}: NEVER_EVENT (rule ${ruleId}; never-list rules cannot be overridden)`
100
- : `KYA denied ${toolName}: ${reasonCode}`;
122
+ if (reasonCode === "NEVER_EVENT" && ruleId) {
123
+ return `KYA denied ${toolName}: NEVER_EVENT (rule ${ruleId}; never-list rules cannot be overridden)`;
124
+ }
125
+ if (isNeverCode(reasonCode) && reasonCode !== "NEVER_EVENT" && ruleId) {
126
+ const hint = guardHint(ruleId);
127
+ return `KYA denied ${toolName}: ${reasonCode} (${ruleId}).${hint ? ` ${hint}` : ""} Ask the user; see docs/guard-pack.md.`;
128
+ }
129
+ return `KYA denied ${toolName}: ${reasonCode}`;
101
130
  }
102
131
  function deny(reason, gemini = false) {
103
132
  // Gemini parses stdout JSON whatever the exit code, and a JSON body without `decision` means allow.
@@ -205,18 +234,50 @@ function auditedDeny(reason, reasonCode, input, payload, dedupe = false, ruleId)
205
234
  verdict: "DENY",
206
235
  reasonCode,
207
236
  mode: "offline",
208
- neverEvent: reasonCode === "NEVER_EVENT",
237
+ neverEvent: isNeverCode(reasonCode),
209
238
  ...(ruleId ? { neverRule: ruleId } : {}),
239
+ ...trailMapFields(payload?.toolName ?? "unknown", payload?.toolInput, trailCwd, input.env),
210
240
  };
211
241
  try {
212
242
  appendTrail(trailCwd, ev, input.env);
213
243
  }
214
244
  catch { /* audit is best effort */ }
215
- maybeSpawnNotifyFlush({ env: input.env, cwd: trailCwd, event: ev });
245
+ maybeSpawnNotifyFlush({ env: input.env, cwd: trailCwd, event: ev, projectDir: trailCwd });
216
246
  }
217
247
  catch { /* never block the deny itself */ }
218
248
  return deny(reason, geminiShape(input, payload));
219
249
  }
250
+ /** cwd and env for the guard pack: the host's cwd when it sent an absolute one, else the hook's. */
251
+ function guardContextFor(payload, input) {
252
+ const c = payload?.cwd?.trim();
253
+ return guardContextFrom(c && isAbsolute(c) ? c : input.cwd, input.env);
254
+ }
255
+ /**
256
+ * A malformed guard config falls back to the defaults. Say so once an hour in the trail, so a person
257
+ * who edited `~/.kya/config.json` and sees no effect can find out why. Never throws.
258
+ */
259
+ function noteGuardConfigProblem(ctx, input, payload) {
260
+ try {
261
+ const { problem } = readGuardConfig(ctx.home);
262
+ if (!problem)
263
+ return;
264
+ const hour = new Date().toISOString().slice(0, 13);
265
+ if (!claimToolUse(`guard-config:${hour}`, undefined, input.env))
266
+ return;
267
+ appendTrail(payload?.cwd?.trim() || input.cwd, {
268
+ ts: new Date().toISOString(),
269
+ sessionId: payload?.sessionId ?? defaultSessionId(input.env),
270
+ host: "ide",
271
+ product: hostToProduct(input.host),
272
+ toolId: "kya:guard-config",
273
+ verdict: "ALLOW",
274
+ reasonCode: "GUARD_CONFIG_INVALID",
275
+ mode: "offline",
276
+ summary: `guard config ignored (${problem}); defaults in force`,
277
+ }, input.env);
278
+ }
279
+ catch { /* best effort */ }
280
+ }
220
281
  // Non-PreToolUse hook events that legitimately carry no gate decision.
221
282
  const OTHER_EVENT = /^(post[_-]?tool[_-]?use.*|stop|subagent[_-]?(start|stop)|permission[_-]?request|elicitation.*|session[_-]?(start|end)|user[_-]?prompt[_-]?submit|notification|pre[_-]?compact)$/i;
222
283
  export async function runHook(input) {
@@ -256,8 +317,10 @@ export async function runHook(input) {
256
317
  config = resolve({ host: "ide" });
257
318
  }
258
319
  const cfg = config;
320
+ const guardCtx = guardContextFor(payload, input);
321
+ noteGuardConfigProblem(guardCtx, input, payload);
259
322
  const evaluate = input.evaluate ??
260
- (async (toolId, args) => (await runEvalTool(cfg, { toolId, args, offline: true })).response);
323
+ (async (toolId, args) => (await runEvalTool(cfg, { toolId, args, offline: true, guard: guardCtx })).response);
261
324
  const evaluating = Promise.resolve().then(() => evaluate(toolName, payload?.toolInput ?? {}));
262
325
  const response = input.failClosed
263
326
  ? await withTimeout(evaluating, input.evalTimeoutMs ?? 4000)
@@ -269,9 +332,12 @@ export async function runHook(input) {
269
332
  // payload.cwd is host-supplied and only feeds the project-basename stamp;
270
333
  // the trail path itself comes from env/KYA_HOME - no traversal risk.
271
334
  const trailCwd = payload.cwd?.trim() || input.cwd;
335
+ // Map fields come from the raw input, before the secret strip below: a never deny or a secret read keeps its class.
336
+ const mapFields = trailMapFields(toolName, payload.toolInput ?? {}, trailCwd, input.env);
272
337
  // Wire change fields (summary, diffPreview, targetPath) feed the receipt's
273
338
  // Changes tab; redaction + opt-out live inside deriveWireChangeFields.
274
- const changeFields = deriveWireChangeFields(toolName, payload.toolInput ?? {}, input.env);
339
+ // A secret-shaped write is denied because its text is a secret: no preview of that text reaches the trail.
340
+ const changeFields = response.reasonCode === "NEVER_SECRET_WRITE" ? undefined : deriveWireChangeFields(toolName, payload.toolInput ?? {}, input.env);
275
341
  const trailEvent = {
276
342
  ts: new Date().toISOString(),
277
343
  sessionId: payload.sessionId ?? defaultSessionId(input.env),
@@ -281,9 +347,10 @@ export async function runHook(input) {
281
347
  verdict: response.verdict,
282
348
  reasonCode: response.reasonCode ?? "",
283
349
  mode: "offline",
284
- neverEvent: response.reasonCode === "NEVER_EVENT",
350
+ neverEvent: isNeverCode(response.reasonCode),
285
351
  ...(response.ruleId ? { neverRule: response.ruleId } : {}),
286
352
  argsHash: response.argsHash,
353
+ ...mapFields,
287
354
  ...(changeFields ?? {}),
288
355
  ...(payload.usage?.tokensIn !== undefined ? { tokensIn: payload.usage.tokensIn } : {}),
289
356
  ...(payload.usage?.tokensOut !== undefined ? { tokensOut: payload.usage.tokensOut } : {}),
@@ -298,7 +365,7 @@ export async function runHook(input) {
298
365
  }
299
366
  // Webhooks + OTLP export ride a detached helper; the hook never waits on
300
367
  // the network. No-op unless a sink is configured.
301
- maybeSpawnNotifyFlush({ env: input.env, cwd: trailCwd, event: trailEvent });
368
+ maybeSpawnNotifyFlush({ env: input.env, cwd: trailCwd, event: trailEvent, projectDir: trailCwd });
302
369
  }
303
370
  }
304
371
  catch {
@@ -321,10 +388,15 @@ export async function runHook(input) {
321
388
  try {
322
389
  // A never-list tool is logged as such in both modes (hosted counts stay right).
323
390
  if (payload?.toolName) {
324
- const inputHit = neverListInputMatch(payload.toolName, payload.toolInput);
391
+ const inputHit = neverListInputMatch(payload.toolName, payload.toolInput, undefined, payload.cwd?.trim() || input.cwd);
325
392
  if (inputHit || matchesNeverList(payload.toolName)) {
326
393
  return auditedDeny(denyReason(payload.toolName, "NEVER_EVENT", inputHit?.rule), "NEVER_EVENT", input, payload, true, inputHit?.rule);
327
394
  }
395
+ // Guard pack with its defaults: the fallback never reads config, so a broken or hostile one cannot lift a deny here.
396
+ const guardHit = guardPackMatch(payload.toolName, payload.toolInput, guardContextFor(payload, input), GUARD_DEFAULTS);
397
+ if (guardHit) {
398
+ return auditedDeny(denyReason(payload.toolName, guardHit.code, guardHit.rule), guardHit.code, input, payload, true, guardHit.rule);
399
+ }
328
400
  }
329
401
  }
330
402
  catch { /* fall through */ }
@@ -337,8 +409,10 @@ export async function runHook(input) {
337
409
  /** Env that steers the OSS hook and is ignored in hosted mode (design T2/T3). */
338
410
  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"];
339
411
  /**
340
- * Hosted mode. Order: payload, local never-list, env and config checks, plane
341
- * call, then a raise-only merge in which the local never-list always wins.
412
+ * Hosted mode. Order: payload, local never-list, local guard pack, env and config checks, plane
413
+ * call, then a raise-only merge in which the local never-list, then the guard pack, always win.
414
+ * The guard pack has the same rules, codes and user-level config as the local hook; only the
415
+ * failure stance differs (hosted fails closed).
342
416
  * Every failure is a deny (fail-closed) unless --plane-shadow, which records
343
417
  * the would-be verdict and allows. Nothing here reads resolveConfig, the repo's
344
418
  * .kya/config.json or KYA_* env, so none of them can downgrade this path.
@@ -362,6 +436,8 @@ async function runHostedHook(input, plane) {
362
436
  stderrNotes.push("KYA hosted mode: KYA_* env and the project .kya/config.json are ignored");
363
437
  // Crash path state: unknown until the local never-list has been evaluated below.
364
438
  hostedDecision.neverList = "unknown";
439
+ hostedDecision.code = undefined;
440
+ hostedDecision.rule = undefined;
365
441
  let payload;
366
442
  let verdict;
367
443
  let response;
@@ -380,16 +456,27 @@ async function runHostedHook(input, plane) {
380
456
  const toolName = payload?.toolName;
381
457
  let neverListed = false;
382
458
  let neverRule;
383
- // The local never-list runs first, before any env, config or plane code, and is stored so a
384
- // crash later can never lower it (crashDecision). A throw leaves it "unknown", which denies.
459
+ let guardHit;
460
+ // The local never-list and the guard pack run first, before any env, config or plane code, and
461
+ // are stored so a crash later can never lower them (crashDecision). A throw leaves it "unknown",
462
+ // which denies. The guard config is the user-level file under the hosted $HOME only.
385
463
  try {
386
464
  if (toolName) {
387
- neverRule = neverListInputMatch(toolName, payload?.toolInput)?.rule;
465
+ neverRule = neverListInputMatch(toolName, payload?.toolInput, undefined, payload?.cwd?.trim() || input.cwd)?.rule;
388
466
  neverListed = matchesNeverList(toolName) || neverRule !== undefined;
389
- hostedDecision.neverList = neverListed ? "deny" : "clear";
467
+ if (!neverListed) {
468
+ const ctx = guardContextFor(payload, input);
469
+ guardHit = guardPackMatch(toolName, payload?.toolInput, ctx, readGuardConfig(ctx.home).config);
470
+ if (homeOk)
471
+ noteGuardConfigProblem(ctx, { ...input, env: stateEnv }, payload);
472
+ }
473
+ hostedDecision.neverList = neverListed || guardHit ? "deny" : "clear";
474
+ hostedDecision.code = neverListed ? "NEVER_EVENT" : guardHit?.code;
475
+ hostedDecision.rule = neverListed ? neverRule : guardHit?.rule;
390
476
  }
391
477
  }
392
478
  catch { /* stays unknown */ }
479
+ const localDeny = neverListed || guardHit !== undefined;
393
480
  if (!payload || !toolName) {
394
481
  verdict = {
395
482
  verdict: "DENY",
@@ -427,6 +514,7 @@ async function runHostedHook(input, plane) {
427
514
  now: plane.now,
428
515
  sleep: plane.sleep,
429
516
  random: plane.random,
517
+ withholdChange: guardHit?.code === "NEVER_SECRET_WRITE",
430
518
  });
431
519
  }
432
520
  catch (e) {
@@ -438,6 +526,9 @@ async function runHostedHook(input, plane) {
438
526
  if (neverListed) {
439
527
  verdict = { verdict: "DENY", reasonCode: "NEVER_EVENT", reason: denyReason(toolName, "NEVER_EVENT", neverRule), dedupe: true, ruleId: neverRule };
440
528
  }
529
+ else if (guardHit) {
530
+ verdict = { verdict: "DENY", reasonCode: guardHit.code, reason: denyReason(toolName, guardHit.code, guardHit.rule), dedupe: true, ruleId: guardHit.rule };
531
+ }
441
532
  else if (failure || !response) {
442
533
  const f = failure ?? { code: "FAIL_CLOSED", message: "internal error" };
443
534
  verdict = {
@@ -456,9 +547,9 @@ async function runHostedHook(input, plane) {
456
547
  }
457
548
  const blocks = verdict.verdict === "DENY" ||
458
549
  (input.strict && verdict.verdict === "REQUIRE_APPROVE");
459
- // Shadow never blocks, except the LOCAL never-list. Keyed to the local evaluation, never to the
460
- // plane's reason code: the plane answers NEVER_EVENT for every registered DENY-tier tool.
461
- const enforce = blocks && (!plane.shadow || neverListed);
550
+ // Shadow never blocks, except the LOCAL never-list and guard pack. Keyed to the local evaluation,
551
+ // never to the plane's reason code: the plane answers NEVER_EVENT for every registered DENY-tier tool.
552
+ const enforce = blocks && (!plane.shadow || localDeny);
462
553
  let firstSeen = true;
463
554
  try {
464
555
  firstSeen = recordHostedRow(input, stateEnv, homeOk, home, payload, verdict, response, plane.shadow, configIgnored);
@@ -496,7 +587,8 @@ function recordHostedRow(input, stateEnv, homeOk, home, payload, verdict, respon
496
587
  let changeFields;
497
588
  try {
498
589
  argsHash ??= payload?.toolName ? computeArgsHash(payload.toolInput ?? {}) : undefined;
499
- changeFields = payload?.toolName ? deriveWireChangeFields(toolName, payload.toolInput ?? {}, input.env) : undefined;
590
+ // A secret-shaped write is denied because its text is a secret: no preview of that text reaches the trail.
591
+ changeFields = payload?.toolName && verdict.reasonCode !== "NEVER_SECRET_WRITE" ? deriveWireChangeFields(toolName, payload.toolInput ?? {}, input.env) : undefined;
500
592
  }
501
593
  catch { /* row without hash or preview */ }
502
594
  const ev = {
@@ -508,9 +600,10 @@ function recordHostedRow(input, stateEnv, homeOk, home, payload, verdict, respon
508
600
  verdict: verdict.verdict,
509
601
  reasonCode: verdict.reasonCode,
510
602
  mode: input.strict ? "hold" : "observe",
511
- neverEvent: verdict.reasonCode === "NEVER_EVENT",
603
+ neverEvent: isNeverCode(verdict.reasonCode),
512
604
  ...(verdict.ruleId ? { neverRule: verdict.ruleId } : {}),
513
605
  ...(argsHash ? { argsHash } : {}),
606
+ ...trailMapFields(toolName, payload?.toolInput, payload?.cwd?.trim() || input.cwd, stateEnv),
514
607
  ...(changeFields ?? {}),
515
608
  ...(payload?.usage?.tokensIn !== undefined ? { tokensIn: payload.usage.tokensIn } : {}),
516
609
  ...(payload?.usage?.tokensOut !== undefined ? { tokensOut: payload.usage.tokensOut } : {}),
@@ -522,7 +615,8 @@ function recordHostedRow(input, stateEnv, homeOk, home, payload, verdict, respon
522
615
  }
523
616
  catch { /* best effort */ }
524
617
  // cwd = home: only the user-level notify config applies, never a repo's sinks.
525
- maybeSpawnNotifyFlush({ env: stateEnv, cwd: home, event: ev });
618
+ // projectDir is the call's project, so the map-attribute opt-in check sees the repo even though cwd is home.
619
+ maybeSpawnNotifyFlush({ env: stateEnv, cwd: home, event: ev, projectDir: payload?.cwd?.trim() || input.cwd });
526
620
  return true;
527
621
  }
528
622
  //# 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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"}
@@ -15,9 +15,14 @@ export declare const loadedSecrets: Set<string>;
15
15
  * prints the key; this covers anything else that might.
16
16
  */
17
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. */
18
+ /**
19
+ * What the hook knows before any plane code runs; the crash path never lowers it. "deny" covers the
20
+ * never-list and the guard pack (both local, both win in shadow); `code` and `rule` then name which one.
21
+ */
19
22
  export declare const hostedDecision: {
20
23
  neverList: "deny" | "clear" | "unknown";
24
+ code?: string;
25
+ rule?: string;
21
26
  };
22
27
  /**
23
28
  * Crash decision. The local never-list (evaluated before any plane code) wins
@@ -137,6 +142,8 @@ export interface HostedEvaluateInput {
137
142
  readonly now?: () => number;
138
143
  readonly sleep?: (ms: number) => Promise<void>;
139
144
  readonly random?: () => number;
145
+ /** Leave summary, diffPreview and targetPath off the wire (a secret-shaped write: its text is the secret). */
146
+ readonly withholdChange?: boolean;
140
147
  }
141
148
  export declare const BACKOFF_BASE_MS = 200;
142
149
  export declare const BACKOFF_CAP_MS = 1600;
@@ -1 +1 @@
1
- {"version":3,"file":"hosted-hook.d.ts","sourceRoot":"","sources":["../../src/commands/hosted-hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hosted-hook.d.ts","sourceRoot":"","sources":["../../src/commands/hosted-hook.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Hosted-plane mode for `kya hook` (beta): `--plane-config <absolute path>`.
2
+ * Hosted-plane mode for `kya hook` (preview): `--plane-config <absolute path>`.
3
3
  *
4
4
  * The API key, base URL and agent id come ONLY from that one user-owned file.
5
5
  * Env (KYA_OFFLINE, KYA_BASE_URL, KYA_API_KEY, SHIELD_API_KEY, KYA_AGENT_ID,
@@ -80,7 +80,10 @@ export function guardStream(stream) {
80
80
  }
81
81
  });
82
82
  }
83
- /** What the hook knows before any plane code runs; the crash path never lowers it. */
83
+ /**
84
+ * What the hook knows before any plane code runs; the crash path never lowers it. "deny" covers the
85
+ * never-list and the guard pack (both local, both win in shadow); `code` and `rule` then name which one.
86
+ */
84
87
  export const hostedDecision = { neverList: "unknown" };
85
88
  /**
86
89
  * Crash decision. The local never-list (evaluated before any plane code) wins
@@ -90,6 +93,10 @@ export const hostedDecision = { neverList: "unknown" };
90
93
  */
91
94
  export function crashDecision(shadow) {
92
95
  if (hostedDecision.neverList === "deny") {
96
+ const { code, rule } = hostedDecision;
97
+ if (code && code !== "NEVER_EVENT" && /^NEVER_[A-Z_]+$/.test(code) && rule && /^[a-z0-9-]+$/.test(rule)) {
98
+ return { code: 2, reason: `KYA denied: ${code} (${rule}; internal error after the local guard pack matched)` };
99
+ }
93
100
  return { code: 2, reason: "KYA denied: NEVER_EVENT (internal error after the local never-list matched)" };
94
101
  }
95
102
  if (shadow && hostedDecision.neverList === "clear") {
@@ -254,7 +261,7 @@ export function loadPlaneConfig(path, opts) {
254
261
  throw new PlaneError("PLANE_CONFIG", `plane config ${why}`);
255
262
  };
256
263
  if (process.platform === "win32")
257
- bad("is not supported on Windows in this beta (no POSIX owner and mode check)");
264
+ bad("is not supported on Windows in this preview (no POSIX owner and mode check)");
258
265
  if (!path || !isAbsolute(path))
259
266
  bad("path must be absolute");
260
267
  // lstat first: a FIFO or device would block or misbehave on open.
@@ -491,7 +498,7 @@ const VERDICTS = new Set(["ALLOW", "DENY", "REQUIRE_APPROVE"]);
491
498
  */
492
499
  export function hostedEvaluateBody(input) {
493
500
  const sample = findSampleTool(input.toolName);
494
- const change = deriveWireChangeFields(input.toolName, input.args, input.env);
501
+ const change = input.withholdChange ? undefined : deriveWireChangeFields(input.toolName, input.args, input.env);
495
502
  return {
496
503
  toolId: input.toolName,
497
504
  action: input.toolName,
@@ -596,7 +603,10 @@ export async function evaluateHosted(input) {
596
603
  catch (e) {
597
604
  if (e instanceof PlaneError)
598
605
  throw e;
599
- last = e?.name === "TimeoutError" || e?.name === "AbortError" || deadline - now() <= 0
606
+ // The code names what happened, not when it was noticed: only an abort at the budget is a timeout.
607
+ // A refused connection that arrives after the deadline (a slow host, a closed port that used the whole
608
+ // budget in retries) is still PLANE_UNREACHABLE. Both fail closed; only the reason text differs.
609
+ last = e?.name === "TimeoutError" || e?.name === "AbortError"
600
610
  ? new PlaneError("PLANE_TIMEOUT", "hosted plane did not answer within the budget")
601
611
  : new PlaneError("PLANE_UNREACHABLE", "hosted plane unreachable");
602
612
  wait = backoffMs(attempt, random);