@shield-agent/kya 0.32.7 → 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 (306) 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 +232 -17
  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 +237 -53
  13. package/dist/cli.js.map +1 -1
  14. package/dist/client.d.ts +2 -0
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +1 -1
  17. package/dist/client.js.map +1 -1
  18. package/dist/commands/connect.d.ts +1 -1
  19. package/dist/commands/connect.d.ts.map +1 -1
  20. package/dist/commands/connect.js +11 -3
  21. package/dist/commands/connect.js.map +1 -1
  22. package/dist/commands/dash.d.ts.map +1 -1
  23. package/dist/commands/dash.js +25 -1
  24. package/dist/commands/dash.js.map +1 -1
  25. package/dist/commands/doctor.d.ts +8 -0
  26. package/dist/commands/doctor.d.ts.map +1 -0
  27. package/dist/commands/doctor.js +26 -0
  28. package/dist/commands/doctor.js.map +1 -0
  29. package/dist/commands/eval-tool.d.ts +3 -0
  30. package/dist/commands/eval-tool.d.ts.map +1 -1
  31. package/dist/commands/eval-tool.js +2 -1
  32. package/dist/commands/eval-tool.js.map +1 -1
  33. package/dist/commands/export.d.ts +33 -0
  34. package/dist/commands/export.d.ts.map +1 -0
  35. package/dist/commands/export.js +121 -0
  36. package/dist/commands/export.js.map +1 -0
  37. package/dist/commands/hook.d.ts.map +1 -1
  38. package/dist/commands/hook.js +135 -26
  39. package/dist/commands/hook.js.map +1 -1
  40. package/dist/commands/hosted-hook.d.ts +8 -1
  41. package/dist/commands/hosted-hook.d.ts.map +1 -1
  42. package/dist/commands/hosted-hook.js +15 -5
  43. package/dist/commands/hosted-hook.js.map +1 -1
  44. package/dist/commands/login.d.ts +34 -0
  45. package/dist/commands/login.d.ts.map +1 -0
  46. package/dist/commands/login.js +74 -0
  47. package/dist/commands/login.js.map +1 -0
  48. package/dist/commands/map.d.ts +21 -0
  49. package/dist/commands/map.d.ts.map +1 -0
  50. package/dist/commands/map.js +76 -0
  51. package/dist/commands/map.js.map +1 -0
  52. package/dist/commands/notify-flush.d.ts.map +1 -1
  53. package/dist/commands/notify-flush.js +7 -1
  54. package/dist/commands/notify-flush.js.map +1 -1
  55. package/dist/commands/posture.d.ts +21 -0
  56. package/dist/commands/posture.d.ts.map +1 -0
  57. package/dist/commands/posture.js +177 -0
  58. package/dist/commands/posture.js.map +1 -0
  59. package/dist/commands/receipt-serve.d.ts +7 -0
  60. package/dist/commands/receipt-serve.d.ts.map +1 -1
  61. package/dist/commands/receipt-serve.js +50 -0
  62. package/dist/commands/receipt-serve.js.map +1 -1
  63. package/dist/commands/start.d.ts.map +1 -1
  64. package/dist/commands/start.js +5 -1
  65. package/dist/commands/start.js.map +1 -1
  66. package/dist/commands/team.d.ts.map +1 -1
  67. package/dist/commands/team.js +30 -11
  68. package/dist/commands/team.js.map +1 -1
  69. package/dist/commands/wire-hooks.d.ts +5 -1
  70. package/dist/commands/wire-hooks.d.ts.map +1 -1
  71. package/dist/commands/wire-hooks.js +23 -8
  72. package/dist/commands/wire-hooks.js.map +1 -1
  73. package/dist/commands/wrap.d.ts +38 -1
  74. package/dist/commands/wrap.d.ts.map +1 -1
  75. package/dist/commands/wrap.js +82 -6
  76. package/dist/commands/wrap.js.map +1 -1
  77. package/dist/config.d.ts +2 -0
  78. package/dist/config.d.ts.map +1 -1
  79. package/dist/config.js.map +1 -1
  80. package/dist/cta.d.ts +23 -0
  81. package/dist/cta.d.ts.map +1 -0
  82. package/dist/cta.js +86 -0
  83. package/dist/cta.js.map +1 -0
  84. package/dist/daily-slot.d.ts +2 -0
  85. package/dist/daily-slot.d.ts.map +1 -0
  86. package/dist/daily-slot.js +29 -0
  87. package/dist/daily-slot.js.map +1 -0
  88. package/dist/dash/dash.d.ts.map +1 -1
  89. package/dist/dash/dash.js +10 -0
  90. package/dist/dash/dash.js.map +1 -1
  91. package/dist/dash/entitlement.d.ts +1 -1
  92. package/dist/dash/entitlement.d.ts.map +1 -1
  93. package/dist/dash/entitlement.js +1 -0
  94. package/dist/dash/entitlement.js.map +1 -1
  95. package/dist/dash/input.d.ts +1 -1
  96. package/dist/dash/input.d.ts.map +1 -1
  97. package/dist/dash/input.js +3 -0
  98. package/dist/dash/input.js.map +1 -1
  99. package/dist/dash/render.js +1 -1
  100. package/dist/dash/render.js.map +1 -1
  101. package/dist/dash/screens/free.js +1 -1
  102. package/dist/dash/screens/free.js.map +1 -1
  103. package/dist/device-id.d.ts +5 -0
  104. package/dist/device-id.d.ts.map +1 -0
  105. package/dist/device-id.js +78 -0
  106. package/dist/device-id.js.map +1 -0
  107. package/dist/fs-atomic.d.ts +15 -3
  108. package/dist/fs-atomic.d.ts.map +1 -1
  109. package/dist/fs-atomic.js +31 -14
  110. package/dist/fs-atomic.js.map +1 -1
  111. package/dist/gate/config-gen.d.ts +26 -2
  112. package/dist/gate/config-gen.d.ts.map +1 -1
  113. package/dist/gate/config-gen.js +53 -4
  114. package/dist/gate/config-gen.js.map +1 -1
  115. package/dist/gate/otlp-receiver.d.ts.map +1 -1
  116. package/dist/gate/otlp-receiver.js +3 -1
  117. package/dist/gate/otlp-receiver.js.map +1 -1
  118. package/dist/guard-pack.d.ts +58 -0
  119. package/dist/guard-pack.d.ts.map +1 -0
  120. package/dist/guard-pack.js +753 -0
  121. package/dist/guard-pack.js.map +1 -0
  122. package/dist/ioc/exec.d.ts +19 -0
  123. package/dist/ioc/exec.d.ts.map +1 -0
  124. package/dist/ioc/exec.js +49 -0
  125. package/dist/ioc/exec.js.map +1 -0
  126. package/dist/ioc/format.d.ts +4 -0
  127. package/dist/ioc/format.d.ts.map +1 -0
  128. package/dist/ioc/format.js +23 -0
  129. package/dist/ioc/format.js.map +1 -0
  130. package/dist/ioc/list.d.ts +29 -0
  131. package/dist/ioc/list.d.ts.map +1 -0
  132. package/dist/ioc/list.js +25 -0
  133. package/dist/ioc/list.js.map +1 -0
  134. package/dist/ioc/result.d.ts +18 -0
  135. package/dist/ioc/result.d.ts.map +1 -0
  136. package/dist/ioc/result.js +26 -0
  137. package/dist/ioc/result.js.map +1 -0
  138. package/dist/ioc/scan.d.ts +21 -0
  139. package/dist/ioc/scan.d.ts.map +1 -0
  140. package/dist/ioc/scan.js +247 -0
  141. package/dist/ioc/scan.js.map +1 -0
  142. package/dist/ioc/spawn.d.ts +26 -0
  143. package/dist/ioc/spawn.d.ts.map +1 -0
  144. package/dist/ioc/spawn.js +52 -0
  145. package/dist/ioc/spawn.js.map +1 -0
  146. package/dist/login/credentials.d.ts +17 -0
  147. package/dist/login/credentials.d.ts.map +1 -0
  148. package/dist/login/credentials.js +64 -0
  149. package/dist/login/credentials.js.map +1 -0
  150. package/dist/login/device-flow.d.ts +44 -0
  151. package/dist/login/device-flow.d.ts.map +1 -0
  152. package/dist/login/device-flow.js +205 -0
  153. package/dist/login/device-flow.js.map +1 -0
  154. package/dist/map/build.d.ts +58 -0
  155. package/dist/map/build.d.ts.map +1 -0
  156. package/dist/map/build.js +439 -0
  157. package/dist/map/build.js.map +1 -0
  158. package/dist/map/heat.d.ts +44 -0
  159. package/dist/map/heat.d.ts.map +1 -0
  160. package/dist/map/heat.js +96 -0
  161. package/dist/map/heat.js.map +1 -0
  162. package/dist/map/load.d.ts +38 -0
  163. package/dist/map/load.d.ts.map +1 -0
  164. package/dist/map/load.js +38 -0
  165. package/dist/map/load.js.map +1 -0
  166. package/dist/map/page.d.ts +90 -0
  167. package/dist/map/page.d.ts.map +1 -0
  168. package/dist/map/page.js +374 -0
  169. package/dist/map/page.js.map +1 -0
  170. package/dist/map/target-class.d.ts +22 -0
  171. package/dist/map/target-class.d.ts.map +1 -0
  172. package/dist/map/target-class.js +151 -0
  173. package/dist/map/target-class.js.map +1 -0
  174. package/dist/map/types.d.ts +102 -0
  175. package/dist/map/types.d.ts.map +1 -0
  176. package/dist/map/types.js +3 -0
  177. package/dist/map/types.js.map +1 -0
  178. package/dist/mcp/protocol.d.ts.map +1 -1
  179. package/dist/mcp/protocol.js +16 -5
  180. package/dist/mcp/protocol.js.map +1 -1
  181. package/dist/never-code.d.ts +7 -0
  182. package/dist/never-code.d.ts.map +1 -0
  183. package/dist/never-code.js +9 -0
  184. package/dist/never-code.js.map +1 -0
  185. package/dist/never-list-input.d.ts +92 -0
  186. package/dist/never-list-input.d.ts.map +1 -0
  187. package/dist/never-list-input.js +1889 -0
  188. package/dist/never-list-input.js.map +1 -0
  189. package/dist/notify/dispatch.d.ts +4 -0
  190. package/dist/notify/dispatch.d.ts.map +1 -1
  191. package/dist/notify/dispatch.js +3 -1
  192. package/dist/notify/dispatch.js.map +1 -1
  193. package/dist/offline-evaluate.d.ts +42 -5
  194. package/dist/offline-evaluate.d.ts.map +1 -1
  195. package/dist/offline-evaluate.js +96 -9
  196. package/dist/offline-evaluate.js.map +1 -1
  197. package/dist/otel/exporter.d.ts +15 -2
  198. package/dist/otel/exporter.d.ts.map +1 -1
  199. package/dist/otel/exporter.js +52 -6
  200. package/dist/otel/exporter.js.map +1 -1
  201. package/dist/otel/map-attrs-optin.d.ts +39 -0
  202. package/dist/otel/map-attrs-optin.d.ts.map +1 -0
  203. package/dist/otel/map-attrs-optin.js +109 -0
  204. package/dist/otel/map-attrs-optin.js.map +1 -0
  205. package/dist/otel.d.ts +8 -2
  206. package/dist/otel.d.ts.map +1 -1
  207. package/dist/otel.js +32 -16
  208. package/dist/otel.js.map +1 -1
  209. package/dist/parse-args.d.ts +2 -0
  210. package/dist/parse-args.d.ts.map +1 -1
  211. package/dist/parse-args.js +4 -2
  212. package/dist/parse-args.js.map +1 -1
  213. package/dist/posture/card.d.ts +26 -0
  214. package/dist/posture/card.d.ts.map +1 -0
  215. package/dist/posture/card.js +46 -0
  216. package/dist/posture/card.js.map +1 -0
  217. package/dist/posture/collect.d.ts +19 -0
  218. package/dist/posture/collect.d.ts.map +1 -0
  219. package/dist/posture/collect.js +182 -0
  220. package/dist/posture/collect.js.map +1 -0
  221. package/dist/posture/send.d.ts +24 -0
  222. package/dist/posture/send.d.ts.map +1 -0
  223. package/dist/posture/send.js +162 -0
  224. package/dist/posture/send.js.map +1 -0
  225. package/dist/posture/spawn.d.ts +20 -0
  226. package/dist/posture/spawn.d.ts.map +1 -0
  227. package/dist/posture/spawn.js +33 -0
  228. package/dist/posture/spawn.js.map +1 -0
  229. package/dist/posture/store.d.ts +34 -0
  230. package/dist/posture/store.d.ts.map +1 -0
  231. package/dist/posture/store.js +107 -0
  232. package/dist/posture/store.js.map +1 -0
  233. package/dist/posture/validate.d.ts +33 -0
  234. package/dist/posture/validate.d.ts.map +1 -0
  235. package/dist/posture/validate.js +232 -0
  236. package/dist/posture/validate.js.map +1 -0
  237. package/dist/project-policy.d.ts +23 -0
  238. package/dist/project-policy.d.ts.map +1 -0
  239. package/dist/project-policy.js +95 -0
  240. package/dist/project-policy.js.map +1 -0
  241. package/dist/receipt/daemon.d.ts +9 -9
  242. package/dist/receipt/daemon.d.ts.map +1 -1
  243. package/dist/receipt/daemon.js +26 -11
  244. package/dist/receipt/daemon.js.map +1 -1
  245. package/dist/receipt/embeddings.d.ts +29 -7
  246. package/dist/receipt/embeddings.d.ts.map +1 -1
  247. package/dist/receipt/embeddings.js +282 -33
  248. package/dist/receipt/embeddings.js.map +1 -1
  249. package/dist/receipt/gate-page.d.ts.map +1 -1
  250. package/dist/receipt/gate-page.js +5 -22
  251. package/dist/receipt/gate-page.js.map +1 -1
  252. package/dist/receipt/live-server.d.ts +8 -0
  253. package/dist/receipt/live-server.d.ts.map +1 -1
  254. package/dist/receipt/live-server.js +136 -4
  255. package/dist/receipt/live-server.js.map +1 -1
  256. package/dist/receipt/render-receipt.d.ts +7 -1
  257. package/dist/receipt/render-receipt.d.ts.map +1 -1
  258. package/dist/receipt/render-receipt.js +101 -13
  259. package/dist/receipt/render-receipt.js.map +1 -1
  260. package/dist/receipt/search.d.ts +5 -0
  261. package/dist/receipt/search.d.ts.map +1 -1
  262. package/dist/receipt/search.js +23 -2
  263. package/dist/receipt/search.js.map +1 -1
  264. package/dist/receipt/semantic-setup.d.ts +21 -0
  265. package/dist/receipt/semantic-setup.d.ts.map +1 -0
  266. package/dist/receipt/semantic-setup.js +111 -0
  267. package/dist/receipt/semantic-setup.js.map +1 -0
  268. package/dist/receipt/semantic-status.d.ts +7 -0
  269. package/dist/receipt/semantic-status.d.ts.map +1 -0
  270. package/dist/receipt/semantic-status.js +26 -0
  271. package/dist/receipt/semantic-status.js.map +1 -0
  272. package/dist/sdk/govern.d.ts.map +1 -1
  273. package/dist/sdk/govern.js +7 -3
  274. package/dist/sdk/govern.js.map +1 -1
  275. package/dist/telemetry.d.ts.map +1 -1
  276. package/dist/telemetry.js +3 -23
  277. package/dist/telemetry.js.map +1 -1
  278. package/dist/trail-map-fields.d.ts +10 -0
  279. package/dist/trail-map-fields.d.ts.map +1 -0
  280. package/dist/trail-map-fields.js +53 -0
  281. package/dist/trail-map-fields.js.map +1 -0
  282. package/dist/trail-summary.d.ts.map +1 -1
  283. package/dist/trail-summary.js +11 -3
  284. package/dist/trail-summary.js.map +1 -1
  285. package/dist/trail.d.ts +13 -1
  286. package/dist/trail.d.ts.map +1 -1
  287. package/dist/trail.js +38 -1
  288. package/dist/trail.js.map +1 -1
  289. package/droid/README.md +1 -1
  290. package/droid/mcp.example.json +1 -1
  291. package/gemini/settings.example.json +1 -1
  292. package/grok/README.md +1 -1
  293. package/kilo/kilo.example.json +1 -1
  294. package/kimi/mcp.example.json +1 -1
  295. package/kiro/mcp.example.json +1 -1
  296. package/manifest.json +1 -1
  297. package/mastracode/mcp.example.json +1 -1
  298. package/mcp.json +1 -1
  299. package/openai/codex.config.example.toml +1 -1
  300. package/opencode/opencode.example.json +1 -1
  301. package/package.json +8 -7
  302. package/qwen/settings.example.json +1 -1
  303. package/server.json +2 -2
  304. package/vendor/cytoscape/LICENSE +19 -0
  305. package/vendor/cytoscape/README.md +7 -0
  306. package/vendor/cytoscape/cytoscape.min.js +31 -0
@@ -1 +1 @@
1
- {"version":3,"file":"dash.js","sourceRoot":"","sources":["../../src/dash/dash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dash.js","sourceRoot":"","sources":["../../src/dash/dash.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  export type DashPlan = "free" | "enterprise";
6
6
  export declare const ENTERPRISE_PANES: readonly ["dashboard", "cases", "metrics", "edge", "settings"];
7
- export declare const FREE_PANES: readonly ["home", "policy", "agents", "approvals", "sessions", "orr", "mcp", "sandbox"];
7
+ export declare const FREE_PANES: readonly ["home", "policy", "agents", "approvals", "sessions", "orr", "mcp", "sandbox", "ioc"];
8
8
  export type FreePane = (typeof FREE_PANES)[number];
9
9
  export type EnterprisePane = (typeof ENTERPRISE_PANES)[number];
10
10
  export type DashPane = FreePane | EnterprisePane;
@@ -1 +1 @@
1
- {"version":3,"file":"entitlement.d.ts","sourceRoot":"","sources":["../../src/dash/entitlement.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,YAAY,CAAC;AAE7C,eAAO,MAAM,gBAAgB,gEAAiE,CAAC;AAC/F,eAAO,MAAM,UAAU,yFASb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AACnD,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,cAAc,CAAC;AAEjD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,4EAA4E;AAC5E,eAAO,MAAM,0BAA0B,yHAGtC,CAAC;AAIF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,cAAc,CAErE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAGrE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,WAAW,CAkC9E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAKvE;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,IAAI,EACT,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CA6BT"}
1
+ {"version":3,"file":"entitlement.d.ts","sourceRoot":"","sources":["../../src/dash/entitlement.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,YAAY,CAAC;AAE7C,eAAO,MAAM,gBAAgB,gEAAiE,CAAC;AAC/F,eAAO,MAAM,UAAU,gGAUb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AACnD,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,cAAc,CAAC;AAEjD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,4EAA4E;AAC5E,eAAO,MAAM,0BAA0B,yHAGtC,CAAC;AAIF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,cAAc,CAErE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAGrE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,WAAW,CAkC9E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAKvE;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,IAAI,EACT,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CA6BT"}
@@ -15,6 +15,7 @@ export const FREE_PANES = [
15
15
  "orr",
16
16
  "mcp",
17
17
  "sandbox",
18
+ "ioc",
18
19
  ];
19
20
  /** Placeholder verify key - real issuers replace via KYA_LICENSE_PUBKEY. */
20
21
  export const DEFAULT_LICENSE_PUBKEY_PEM = `-----BEGIN PUBLIC KEY-----
@@ -1 +1 @@
1
- {"version":3,"file":"entitlement.js","sourceRoot":"","sources":["../../src/dash/entitlement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entitlement.js","sourceRoot":"","sources":["../../src/dash/entitlement.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { DashPane } from "./entitlement.js";
2
2
  export interface KeyAction {
3
- readonly type: "pane" | "refresh" | "offline" | "quit" | "help" | "up" | "down" | "wrap" | "kill" | "register-hint" | "invoke" | "shrink-build" | "shrink-read" | "orr-run" | "decide-approve" | "decide-reject" | "force-policy-eval" | "toggle-auto-refresh" | "confirm-yes" | "confirm-no" | "passport" | "noop";
3
+ readonly type: "pane" | "refresh" | "offline" | "quit" | "help" | "up" | "down" | "wrap" | "kill" | "register-hint" | "invoke" | "shrink-build" | "shrink-read" | "orr-run" | "decide-approve" | "decide-reject" | "force-policy-eval" | "toggle-auto-refresh" | "posture-toggle" | "confirm-yes" | "confirm-no" | "passport" | "noop";
4
4
  readonly pane?: DashPane;
5
5
  }
6
6
  export declare function mapKey(raw: string): KeyAction;
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/dash/input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EACT,MAAM,GACN,SAAS,GACT,SAAS,GACT,MAAM,GACN,MAAM,GACN,IAAI,GACJ,MAAM,GACN,MAAM,GACN,MAAM,GACN,eAAe,GACf,QAAQ,GACR,cAAc,GACd,aAAa,GACb,SAAS,GACT,gBAAgB,GAChB,eAAe,GACf,mBAAmB,GACnB,qBAAqB,GACrB,aAAa,GACb,YAAY,GACZ,UAAU,GACV,MAAM,CAAC;IACX,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAqBD,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CA2B7C"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/dash/input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EACT,MAAM,GACN,SAAS,GACT,SAAS,GACT,MAAM,GACN,MAAM,GACN,IAAI,GACJ,MAAM,GACN,MAAM,GACN,MAAM,GACN,eAAe,GACf,QAAQ,GACR,cAAc,GACd,aAAa,GACb,SAAS,GACT,gBAAgB,GAChB,eAAe,GACf,mBAAmB,GACnB,qBAAqB,GACrB,gBAAgB,GAChB,aAAa,GACb,YAAY,GACZ,UAAU,GACV,MAAM,CAAC;IACX,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAsBD,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CA4B7C"}
@@ -7,6 +7,7 @@ const DIGIT = {
7
7
  "6": "orr",
8
8
  "7": "mcp",
9
9
  "8": "sandbox",
10
+ "9": "ioc",
10
11
  };
11
12
  const LETTER = {
12
13
  d: "dashboard",
@@ -44,6 +45,8 @@ export function mapKey(raw) {
44
45
  return { type: "force-policy-eval" };
45
46
  if (raw === "p")
46
47
  return { type: "toggle-auto-refresh" };
48
+ if (raw === "P")
49
+ return { type: "posture-toggle" };
47
50
  if (raw === "t")
48
51
  return { type: "passport" };
49
52
  if (raw === "y")
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/dash/input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/dash/input.ts"],"names":[],"mappings":"AA8BA,MAAM,KAAK,GAA6B;IACtC,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,MAAM,MAAM,GAA6B;IACvC,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,UAAU;CACd,CAAC;AAEF,MAAM,UAAU,MAAM,CAAC,GAAW;IAChC,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7D,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC5C,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC5C,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC5C,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACzC,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACzC,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IAClD,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC3C,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;IACjD,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAChD,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACnD,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IAClD,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;IACtD,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;IACxD,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACnD,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC7C,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAChD,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAC/C,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACxD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3D,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxC,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAClD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC"}
@@ -65,7 +65,7 @@ export function frame(status, ent, body, confirmLine) {
65
65
  : [];
66
66
  const foot = [
67
67
  hline(),
68
- clip("1-8 panes j/k e eval p refresh w wrap i/k/b decide (y) o orr t passport O offline q"),
68
+ clip("1-9 panes j/k e eval p refresh P posture w wrap i/k/b decide (y) o orr t passport O offline q"),
69
69
  ];
70
70
  return [...head, ...body.map((l) => clip(l)), ...confirm, ...foot].join("\n");
71
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/dash/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/dash/render.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export function homeBody(input) {
14
14
  "",
15
15
  "2 policy (e force-eval / w wrap) 3 agents (k kill, confirm y)",
16
16
  "4 approvals (i invoke) 5 sessions (b/R shrink, confirm y)",
17
- "6 orr (first_party) · 7 mcp · 8 sandbox · p refresh · t passport · O offline",
17
+ "6 orr (first_party) · 7 mcp · 8 sandbox · 9 ioc · p refresh · t passport · O offline",
18
18
  "a/x decide needs JWT (sk_* refused) · y confirms kill/shrink/invoke/wrap/decide",
19
19
  ];
20
20
  if (input.lastEval) {
@@ -1 +1 @@
1
- {"version":3,"file":"free.js","sourceRoot":"","sources":["../../../src/dash/screens/free.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"free.js","sourceRoot":"","sources":["../../../src/dash/screens/free.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** The per-install salt (64 hex) that `deviceId` hashes, or undefined when it cannot be read or written. Never throws. */
2
+ export declare function installSalt(env?: NodeJS.ProcessEnv): string | undefined;
3
+ /** First 16 hex chars of sha256(salt|constant). Undefined when the salt cannot be read or written. Never throws. */
4
+ export declare function deviceId(env?: NodeJS.ProcessEnv): string | undefined;
5
+ //# sourceMappingURL=device-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-id.d.ts","sourceRoot":"","sources":["../src/device-id.ts"],"names":[],"mappings":"AAkDA,0HAA0H;AAC1H,wBAAgB,WAAW,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,SAAS,CAMpF;AAED,oHAAoH;AACpH,wBAAgB,QAAQ,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,SAAS,CAWjF"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Stable, hashed id of this install for trail rows (`deviceId`). The id is sha256 of a random per-install salt
3
+ * and a constant. It never contains the host name, user name, MAC address or any path.
4
+ */
5
+ import { createHash, randomBytes } from "node:crypto";
6
+ import { linkSync, lstatSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
7
+ import { join } from "node:path";
8
+ import { globalConfigDir } from "./config.js";
9
+ const SALT_FILE = "device-salt";
10
+ const CONSTANT = "kya-device-id-v1";
11
+ const SALT_HEX = /^[0-9a-f]{64}$/;
12
+ /** Per global config dir, so one process can serve more than one KYA_HOME. */
13
+ const cache = new Map();
14
+ function readSalt(path) {
15
+ try {
16
+ // A salt that other users can read (or that another user owns) cannot keep session ids private: no id.
17
+ const st = lstatSync(path);
18
+ if (!st.isFile())
19
+ return undefined;
20
+ if (process.platform !== "win32" && ((st.mode & 0o077) !== 0 || (typeof process.getuid === "function" && st.uid !== process.getuid())))
21
+ return undefined;
22
+ const value = readFileSync(path, "utf8").trim();
23
+ return SALT_HEX.test(value) ? value : undefined;
24
+ }
25
+ catch {
26
+ return undefined;
27
+ }
28
+ }
29
+ /** Read the salt, or create it once. Creation is a no-overwrite link, so a lost race keeps the winner's salt. */
30
+ function loadSalt(dir) {
31
+ const path = join(dir, SALT_FILE);
32
+ const existing = readSalt(path);
33
+ if (existing !== undefined)
34
+ return existing;
35
+ mkdirSync(dir, { recursive: true, mode: 0o700 });
36
+ const tmp = `${path}.${process.pid}.${randomBytes(6).toString("hex")}.tmp`;
37
+ try {
38
+ writeFileSync(tmp, randomBytes(32).toString("hex"), { mode: 0o600, flag: "wx" });
39
+ linkSync(tmp, path);
40
+ }
41
+ catch {
42
+ /* lost the race, or the dir is not writable: read whatever is there */
43
+ }
44
+ finally {
45
+ try {
46
+ unlinkSync(tmp);
47
+ }
48
+ catch {
49
+ /* temp file already gone */
50
+ }
51
+ }
52
+ return readSalt(path);
53
+ }
54
+ /** The per-install salt (64 hex) that `deviceId` hashes, or undefined when it cannot be read or written. Never throws. */
55
+ export function installSalt(env = process.env) {
56
+ try {
57
+ return loadSalt(globalConfigDir(env));
58
+ }
59
+ catch {
60
+ return undefined;
61
+ }
62
+ }
63
+ /** First 16 hex chars of sha256(salt|constant). Undefined when the salt cannot be read or written. Never throws. */
64
+ export function deviceId(env = process.env) {
65
+ try {
66
+ const dir = globalConfigDir(env);
67
+ if (cache.has(dir))
68
+ return cache.get(dir);
69
+ const salt = loadSalt(dir);
70
+ const id = salt === undefined ? undefined : createHash("sha256").update(`${salt}|${CONSTANT}`, "utf8").digest("hex").slice(0, 16);
71
+ cache.set(dir, id);
72
+ return id;
73
+ }
74
+ catch {
75
+ return undefined;
76
+ }
77
+ }
78
+ //# sourceMappingURL=device-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-id.js","sourceRoot":"","sources":["../src/device-id.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,13 @@ import { KyaError } from "./errors.js";
11
11
  * regular target's mode is carried over - a rename would otherwise turn a 0600
12
12
  * config into the umask default.
13
13
  */
14
- export declare function atomicWriteSync(target: string, content: string, beforeRename?: () => void): void;
14
+ export declare function atomicWriteSync(target: string, content: string | Uint8Array, beforeRename?: () => void): void;
15
+ /**
16
+ * Same crash-safe write, but the file is always mode 0600 (owner read and write only), both
17
+ * when created and when it already existed. Used for hosted credentials. The mode is set at
18
+ * create (open flag) and again with fchmod on the fd, so there is no window with a wider mode.
19
+ */
20
+ export declare function atomicWriteSecretSync(target: string, content: string): void;
15
21
  /** A project-scope write refused because its path leaves the project (exit 1, never a silent skip). */
16
22
  export declare class ProjectPathError extends KyaError {
17
23
  constructor(message: string);
@@ -39,7 +45,13 @@ export declare function ensureProjectDir(dir: string, root: string, mode?: numbe
39
45
  * re-check and the rename (TOCTOU); the temp file is O_EXCL and the rename
40
46
  * replaces a link instead of following it. Returns the path written.
41
47
  */
42
- export declare function writeProjectFile(target: string, content: string, root: string): string;
48
+ export declare function writeProjectFile(target: string, content: string, root: string, forceMode?: number): string;
49
+ /**
50
+ * Whether an output path goes through the project: lexically inside root, or
51
+ * one of its existing ancestors is the project itself reached through an
52
+ * alias (a symlinked path to the repo). Decides which output rule applies.
53
+ */
54
+ export declare function underRoot(path: string, root: string): boolean;
43
55
  /**
44
56
  * Report/output dir (kya certify --out, kya orr --out, kya receipt --out-dir):
45
57
  * inside the project it gets the project rules, outside it is the user's
@@ -50,5 +62,5 @@ export declare function ensureOutDir(dir: string, root: string): void;
50
62
  * Report/output file: project rules inside root; outside, an atomic write
51
63
  * that replaces a planted leaf link instead of following it.
52
64
  */
53
- export declare function writeOutFile(path: string, content: string, root: string): void;
65
+ export declare function writeOutFile(path: string, content: string, root: string, forceMode?: number): void;
54
66
  //# sourceMappingURL=fs-atomic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fs-atomic.d.ts","sourceRoot":"","sources":["../src/fs-atomic.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CA0ChG;AAED,uGAAuG;AACvG,qBAAa,gBAAiB,SAAQ,QAAQ;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAUD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAQ,GAAG,MAAM,CA8ClF;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAE/E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAStF;AAuBD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAG5D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAG9E"}
1
+ {"version":3,"file":"fs-atomic.d.ts","sourceRoot":"","sources":["../src/fs-atomic.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,YAAY,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAE7G;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE3E;AAmDD,uGAAuG;AACvG,qBAAa,gBAAiB,SAAQ,QAAQ;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAUD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAQ,GAAG,MAAM,CA8ClF;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAE/E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAY1G;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAc7D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAG5D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAGlG"}
package/dist/fs-atomic.js CHANGED
@@ -3,7 +3,7 @@
3
3
  * team init, gate config, telemetry state and the certify attestation store.
4
4
  */
5
5
  import { randomBytes } from "node:crypto";
6
- import { closeSync, fchmodSync, lstatSync, mkdirSync, openSync, realpathSync, renameSync, rmSync, writeSync, } from "node:fs";
6
+ import { closeSync, fchmodSync, lstatSync, mkdirSync, openSync, realpathSync, renameSync, rmSync, writeFileSync, writeSync, } from "node:fs";
7
7
  import { dirname, isAbsolute, relative, resolve, sep } from "node:path";
8
8
  import { KyaError } from "./errors.js";
9
9
  /**
@@ -19,11 +19,22 @@ import { KyaError } from "./errors.js";
19
19
  * config into the umask default.
20
20
  */
21
21
  export function atomicWriteSync(target, content, beforeRename) {
22
+ writeAtomic(target, content, { beforeRename });
23
+ }
24
+ /**
25
+ * Same crash-safe write, but the file is always mode 0600 (owner read and write only), both
26
+ * when created and when it already existed. Used for hosted credentials. The mode is set at
27
+ * create (open flag) and again with fchmod on the fd, so there is no window with a wider mode.
28
+ */
29
+ export function atomicWriteSecretSync(target, content) {
30
+ writeAtomic(target, content, { forceMode: 0o600 });
31
+ }
32
+ function writeAtomic(target, content, opts) {
22
33
  const tmp = `${target}.kya-tmp-${randomBytes(16).toString("hex")}`;
23
- let mode;
34
+ let mode = opts.forceMode;
24
35
  try {
25
36
  const st = lstatSync(target);
26
- if (st.isFile())
37
+ if (st.isFile() && mode === undefined)
27
38
  mode = st.mode & 0o7777;
28
39
  }
29
40
  catch {
@@ -42,10 +53,13 @@ export function atomicWriteSync(target, content, beforeRename) {
42
53
  /* win32 chmod semantics differ; POSIX correctness is what matters */
43
54
  }
44
55
  }
45
- writeSync(fd, content, null, "utf8");
56
+ if (typeof content === "string")
57
+ writeSync(fd, content, null, "utf8");
58
+ else
59
+ writeFileSync(fd, content); // loops over short writes of a large buffer
46
60
  closeSync(fd);
47
61
  fd = undefined;
48
- beforeRename?.();
62
+ opts.beforeRename?.();
49
63
  renameSync(tmp, target);
50
64
  }
51
65
  catch (err) {
@@ -150,13 +164,16 @@ export function ensureProjectDir(dir, root, mode) {
150
164
  * re-check and the rename (TOCTOU); the temp file is O_EXCL and the rename
151
165
  * replaces a link instead of following it. Returns the path written.
152
166
  */
153
- export function writeProjectFile(target, content, root) {
167
+ export function writeProjectFile(target, content, root, forceMode) {
154
168
  const out = projectWritePath(target, root);
155
169
  mkdirSync(dirname(out), { recursive: true });
156
- atomicWriteSync(out, content, () => {
157
- if (projectWritePath(target, root) !== out) {
158
- throw new ProjectPathError(`${target} changed while writing; nothing was written`);
159
- }
170
+ writeAtomic(out, content, {
171
+ forceMode,
172
+ beforeRename: () => {
173
+ if (projectWritePath(target, root) !== out) {
174
+ throw new ProjectPathError(`${target} changed while writing; nothing was written`);
175
+ }
176
+ },
160
177
  });
161
178
  return out;
162
179
  }
@@ -165,7 +182,7 @@ export function writeProjectFile(target, content, root) {
165
182
  * one of its existing ancestors is the project itself reached through an
166
183
  * alias (a symlinked path to the repo). Decides which output rule applies.
167
184
  */
168
- function underRoot(path, root) {
185
+ export function underRoot(path, root) {
169
186
  const r = relative(resolve(root), resolve(path));
170
187
  if (r === "" || (r !== ".." && !r.startsWith(`..${sep}`) && !isAbsolute(r)))
171
188
  return true;
@@ -199,10 +216,10 @@ export function ensureOutDir(dir, root) {
199
216
  * Report/output file: project rules inside root; outside, an atomic write
200
217
  * that replaces a planted leaf link instead of following it.
201
218
  */
202
- export function writeOutFile(path, content, root) {
219
+ export function writeOutFile(path, content, root, forceMode) {
203
220
  if (underRoot(path, root))
204
- writeProjectFile(path, content, root);
221
+ writeProjectFile(path, content, root, forceMode);
205
222
  else
206
- atomicWriteSync(path, content);
223
+ writeAtomic(path, content, { forceMode });
207
224
  }
208
225
  //# sourceMappingURL=fs-atomic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fs-atomic.js","sourceRoot":"","sources":["../src/fs-atomic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fs-atomic.js","sourceRoot":"","sources":["../src/fs-atomic.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,25 @@
1
1
  import type { GatewayServer, GatewaysConfig } from "./config.js";
2
- /** Destructive-name family denied on every target, registry or not. */
3
- export declare const DESTRUCTIVE_PATTERN = "(?:^|_)(?:drop|truncate|purge|transfer)(?:_|$)";
2
+ /**
3
+ * Destructive-name family denied on every target, registry or not. The verb must be a whole
4
+ * word of the name: snake_case, kebab-case, dotted and camelCase/PascalCase all split into
5
+ * words (`drop_table`, `drop-table`, `dropTable`, `DropTable`, `DROP_TABLE`). The gateway
6
+ * engine has no lookaround and no `(?i)`, so each verb is spelled lower, Capitalized and
7
+ * UPPER. A verb inside a longer word (`dropdown`, `purgeable`, `transferable`) is not a word.
8
+ */
9
+ export declare const DESTRUCTIVE_PATTERN: string;
10
+ /**
11
+ * Whole names that carry a destructive verb as a word but are not destructive: the UI
12
+ * gesture `drag_and_drop` (with at most one prefix word: `appium_drag_and_drop`,
13
+ * `appiumDragAndDrop`) and the ML term `transfer_learn(ing)` (no prefix). Exact match
14
+ * only, so a second verb or any other suffix (`drag_and_drop_table`) stays denied. Lifts
15
+ * the destructive family only, never a server's ADMIN rules.
16
+ */
17
+ export declare const DESTRUCTIVE_SAFE_PATTERN = "^(?:(?:[A-Za-z0-9]+[_-]|[a-z0-9]+)?(?:[Dd]rag[_-]?[Aa]nd[_-]?[Dd]rop|DRAG[_-]?AND[_-]?DROP)|[Tt]ransfer[_-]?[Ll]earn(?:ing)?|TRANSFER[_-]?LEARN(?:ING)?)$";
18
+ /**
19
+ * The prefix word of a drag-and-drop name must not be a destructive verb itself
20
+ * (`drop_drag_and_drop`, `dropDragAndDrop`): the safe exception does not apply then.
21
+ */
22
+ export declare const DESTRUCTIVE_PREFIX_PATTERN: string;
4
23
  /** Loopback-only L4 rule for the (wildcard-bound) MCP listener. */
5
24
  export declare const LOOPBACK_RULE = "cidr(\"127.0.0.0/8\").containsIP(source.address) || source.address == \"::1\"";
6
25
  /** Deny patterns for one server: destructive family + its ADMIN registry rules. */
@@ -12,6 +31,11 @@ export declare function denyPatternsFor(serverId: string): readonly string[];
12
31
  * observe gateway), subject to the destructive deny.
13
32
  */
14
33
  export declare function unmatchedAllowed(serverId: string): boolean;
34
+ /**
35
+ * Whether the generated gateway policy denies this tool name on this server (same rule as
36
+ * the CEL below, for the report and tests). A bad pattern never denies.
37
+ */
38
+ export declare function gatewayDenies(serverId: string, toolName: string): boolean;
15
39
  /** The OR-allow CEL rule for one server target. */
16
40
  export declare function celAllowRule(server: GatewayServer): string;
17
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config-gen.d.ts","sourceRoot":"","sources":["../../src/gate/config-gen.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjE,uEAAuE;AACvE,eAAO,MAAM,mBAAmB,mDAAmD,CAAC;AAEpF,mEAAmE;AACnE,eAAO,MAAM,aAAa,kFACmD,CAAC;AAE9E,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAGnE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D;AAMD,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAS1D;AA0CD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA0ClE"}
1
+ {"version":3,"file":"config-gen.d.ts","sourceRoot":"","sources":["../../src/gate/config-gen.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIjE;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,QAOjB,CAAC;AAEhB;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,8JACwH,CAAC;AAE9J;;;GAGG;AACH,eAAO,MAAM,0BAA0B,QAA4I,CAAC;AAKpL,mEAAmE;AACnE,eAAO,MAAM,aAAa,kFACmD,CAAC;AAE9E,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAGnE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D;AAMD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CASzE;AAED,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAa1D;AA0CD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA0ClE"}
@@ -24,8 +24,36 @@
24
24
  * noise (and upstream build strings) stays out of gate.log.
25
25
  */
26
26
  import { mcpServerAdminPatterns, mcpServerDefaultTier, } from "../mcp-servers.js";
27
- /** Destructive-name family denied on every target, registry or not. */
28
- export const DESTRUCTIVE_PATTERN = "(?:^|_)(?:drop|truncate|purge|transfer)(?:_|$)";
27
+ const DESTRUCTIVE_VERBS = ["drop", "truncate", "purge", "transfer"];
28
+ /**
29
+ * Destructive-name family denied on every target, registry or not. The verb must be a whole
30
+ * word of the name: snake_case, kebab-case, dotted and camelCase/PascalCase all split into
31
+ * words (`drop_table`, `drop-table`, `dropTable`, `DropTable`, `DROP_TABLE`). The gateway
32
+ * engine has no lookaround and no `(?i)`, so each verb is spelled lower, Capitalized and
33
+ * UPPER. A verb inside a longer word (`dropdown`, `purgeable`, `transferable`) is not a word.
34
+ */
35
+ export const DESTRUCTIVE_PATTERN = `(?:${DESTRUCTIVE_VERBS.flatMap((v) => {
36
+ const cap = v[0].toUpperCase() + v.slice(1);
37
+ return [
38
+ `(?:^|[^A-Za-z])${v}(?:[^a-z]|$)`,
39
+ `(?:^|[^A-Za-z]|[a-z])${cap}(?:[^a-z]|$)`,
40
+ `(?:^|[^A-Za-z])${v.toUpperCase()}(?:[^A-Za-z]|$)`,
41
+ ];
42
+ }).join("|")})`;
43
+ /**
44
+ * Whole names that carry a destructive verb as a word but are not destructive: the UI
45
+ * gesture `drag_and_drop` (with at most one prefix word: `appium_drag_and_drop`,
46
+ * `appiumDragAndDrop`) and the ML term `transfer_learn(ing)` (no prefix). Exact match
47
+ * only, so a second verb or any other suffix (`drag_and_drop_table`) stays denied. Lifts
48
+ * the destructive family only, never a server's ADMIN rules.
49
+ */
50
+ export const DESTRUCTIVE_SAFE_PATTERN = "^(?:(?:[A-Za-z0-9]+[_-]|[a-z0-9]+)?(?:[Dd]rag[_-]?[Aa]nd[_-]?[Dd]rop|DRAG[_-]?AND[_-]?DROP)|[Tt]ransfer[_-]?[Ll]earn(?:ing)?|TRANSFER[_-]?LEARN(?:ING)?)$";
51
+ /**
52
+ * The prefix word of a drag-and-drop name must not be a destructive verb itself
53
+ * (`drop_drag_and_drop`, `dropDragAndDrop`): the safe exception does not apply then.
54
+ */
55
+ export const DESTRUCTIVE_PREFIX_PATTERN = `^(?:${DESTRUCTIVE_VERBS.flatMap((v) => [v, v[0].toUpperCase() + v.slice(1), v.toUpperCase()]).join("|")})(?:[^a-z].*)?(?:[Dd]rag|DRAG)`;
56
+ const safeException = (name) => `(${name}.matches(${celString(DESTRUCTIVE_SAFE_PATTERN)}) && !${name}.matches(${celString(DESTRUCTIVE_PREFIX_PATTERN)}))`;
29
57
  /** Loopback-only L4 rule for the (wildcard-bound) MCP listener. */
30
58
  export const LOOPBACK_RULE = 'cidr("127.0.0.0/8").containsIP(source.address) || source.address == "::1"';
31
59
  /** Deny patterns for one server: destructive family + its ADMIN registry rules. */
@@ -45,16 +73,37 @@ export function unmatchedAllowed(serverId) {
45
73
  function celString(s) {
46
74
  return `'${s.replace(/\\/g, "\\\\").replace(/'/g, "\\'")}'`;
47
75
  }
76
+ /**
77
+ * Whether the generated gateway policy denies this tool name on this server (same rule as
78
+ * the CEL below, for the report and tests). A bad pattern never denies.
79
+ */
80
+ export function gatewayDenies(serverId, toolName) {
81
+ try {
82
+ const [, ...admin] = denyPatternsFor(serverId);
83
+ if (admin.length > 0 && new RegExp(admin.join("|")).test(toolName))
84
+ return true;
85
+ if (!new RegExp(DESTRUCTIVE_PATTERN).test(toolName))
86
+ return false;
87
+ return !new RegExp(DESTRUCTIVE_SAFE_PATTERN).test(toolName) || new RegExp(DESTRUCTIVE_PREFIX_PATTERN).test(toolName);
88
+ }
89
+ catch {
90
+ return false;
91
+ }
92
+ }
48
93
  /** The OR-allow CEL rule for one server target. */
49
94
  export function celAllowRule(server) {
50
95
  const target = `mcp.tool.target == ${celString(server.id)}`;
51
- const deny = denyPatternsFor(server.id).join("|");
52
96
  if (!unmatchedAllowed(server.id)) {
53
97
  // ADMIN defaultTier: only explicitly non-denied, non-admin tools may run -
54
98
  // allow nothing unmatched (no registered server has this today).
55
99
  return `${target} && false`;
56
100
  }
57
- return `${target} && !mcp.tool.name.matches(${celString(deny)})`;
101
+ const [, ...admin] = denyPatternsFor(server.id);
102
+ const name = "mcp.tool.name";
103
+ const destructive = `(!${name}.matches(${celString(DESTRUCTIVE_PATTERN)}) || ${safeException(name)})`;
104
+ return admin.length > 0
105
+ ? `${target} && ${destructive} && !${name}.matches(${celString(admin.join("|"))})`
106
+ : `${target} && ${destructive}`;
58
107
  }
59
108
  function q(s) {
60
109
  return JSON.stringify(s);