governance-sdk 0.5.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 (387) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +559 -0
  3. package/dist/agent-identity-ed25519.d.ts +80 -0
  4. package/dist/agent-identity-ed25519.d.ts.map +1 -0
  5. package/dist/agent-identity-ed25519.js +134 -0
  6. package/dist/agent-identity-ed25519.js.map +1 -0
  7. package/dist/agent-identity.d.ts +65 -0
  8. package/dist/agent-identity.d.ts.map +1 -0
  9. package/dist/agent-identity.js +85 -0
  10. package/dist/agent-identity.js.map +1 -0
  11. package/dist/audit-integrity.d.ts +78 -0
  12. package/dist/audit-integrity.d.ts.map +1 -0
  13. package/dist/audit-integrity.js +173 -0
  14. package/dist/audit-integrity.js.map +1 -0
  15. package/dist/behavioral-scorer.d.ts +72 -0
  16. package/dist/behavioral-scorer.d.ts.map +1 -0
  17. package/dist/behavioral-scorer.js +223 -0
  18. package/dist/behavioral-scorer.js.map +1 -0
  19. package/dist/cli/init.d.ts +11 -0
  20. package/dist/cli/init.d.ts.map +1 -0
  21. package/dist/cli/init.js +217 -0
  22. package/dist/cli/init.js.map +1 -0
  23. package/dist/compliance-articles.d.ts +71 -0
  24. package/dist/compliance-articles.d.ts.map +1 -0
  25. package/dist/compliance-articles.js +201 -0
  26. package/dist/compliance-articles.js.map +1 -0
  27. package/dist/compliance.d.ts +24 -0
  28. package/dist/compliance.d.ts.map +1 -0
  29. package/dist/compliance.js +183 -0
  30. package/dist/compliance.js.map +1 -0
  31. package/dist/conditions/builtins.d.ts +17 -0
  32. package/dist/conditions/builtins.d.ts.map +1 -0
  33. package/dist/conditions/builtins.js +213 -0
  34. package/dist/conditions/builtins.js.map +1 -0
  35. package/dist/conditions/postprocess.d.ts +12 -0
  36. package/dist/conditions/postprocess.d.ts.map +1 -0
  37. package/dist/conditions/postprocess.js +33 -0
  38. package/dist/conditions/postprocess.js.map +1 -0
  39. package/dist/conditions/preprocess.d.ts +12 -0
  40. package/dist/conditions/preprocess.d.ts.map +1 -0
  41. package/dist/conditions/preprocess.js +47 -0
  42. package/dist/conditions/preprocess.js.map +1 -0
  43. package/dist/conditions/process.d.ts +14 -0
  44. package/dist/conditions/process.d.ts.map +1 -0
  45. package/dist/conditions/process.js +78 -0
  46. package/dist/conditions/process.js.map +1 -0
  47. package/dist/conditions/sensitive-patterns.d.ts +13 -0
  48. package/dist/conditions/sensitive-patterns.d.ts.map +1 -0
  49. package/dist/conditions/sensitive-patterns.js +42 -0
  50. package/dist/conditions/sensitive-patterns.js.map +1 -0
  51. package/dist/dry-run.d.ts +85 -0
  52. package/dist/dry-run.d.ts.map +1 -0
  53. package/dist/dry-run.js +132 -0
  54. package/dist/dry-run.js.map +1 -0
  55. package/dist/eval-red-team.d.ts +69 -0
  56. package/dist/eval-red-team.d.ts.map +1 -0
  57. package/dist/eval-red-team.js +205 -0
  58. package/dist/eval-red-team.js.map +1 -0
  59. package/dist/eval-scorer.d.ts +56 -0
  60. package/dist/eval-scorer.d.ts.map +1 -0
  61. package/dist/eval-scorer.js +148 -0
  62. package/dist/eval-scorer.js.map +1 -0
  63. package/dist/eval-trace.d.ts +30 -0
  64. package/dist/eval-trace.d.ts.map +1 -0
  65. package/dist/eval-trace.js +129 -0
  66. package/dist/eval-trace.js.map +1 -0
  67. package/dist/eval-types.d.ts +108 -0
  68. package/dist/eval-types.d.ts.map +1 -0
  69. package/dist/eval-types.js +14 -0
  70. package/dist/eval-types.js.map +1 -0
  71. package/dist/events.d.ts +57 -0
  72. package/dist/events.d.ts.map +1 -0
  73. package/dist/events.js +81 -0
  74. package/dist/events.js.map +1 -0
  75. package/dist/federation-types.d.ts +58 -0
  76. package/dist/federation-types.d.ts.map +1 -0
  77. package/dist/federation-types.js +8 -0
  78. package/dist/federation-types.js.map +1 -0
  79. package/dist/federation.d.ts +42 -0
  80. package/dist/federation.d.ts.map +1 -0
  81. package/dist/federation.js +158 -0
  82. package/dist/federation.js.map +1 -0
  83. package/dist/index.d.ts +142 -0
  84. package/dist/index.d.ts.map +1 -0
  85. package/dist/index.js +273 -0
  86. package/dist/index.js.map +1 -0
  87. package/dist/injection-benchmark.d.ts +62 -0
  88. package/dist/injection-benchmark.d.ts.map +1 -0
  89. package/dist/injection-benchmark.js +201 -0
  90. package/dist/injection-benchmark.js.map +1 -0
  91. package/dist/injection-classifier.d.ts +69 -0
  92. package/dist/injection-classifier.d.ts.map +1 -0
  93. package/dist/injection-classifier.js +98 -0
  94. package/dist/injection-classifier.js.map +1 -0
  95. package/dist/injection-detect.d.ts +59 -0
  96. package/dist/injection-detect.d.ts.map +1 -0
  97. package/dist/injection-detect.js +175 -0
  98. package/dist/injection-detect.js.map +1 -0
  99. package/dist/injection-patterns-ext.d.ts +7 -0
  100. package/dist/injection-patterns-ext.d.ts.map +1 -0
  101. package/dist/injection-patterns-ext.js +71 -0
  102. package/dist/injection-patterns-ext.js.map +1 -0
  103. package/dist/injection-patterns.d.ts +15 -0
  104. package/dist/injection-patterns.d.ts.map +1 -0
  105. package/dist/injection-patterns.js +361 -0
  106. package/dist/injection-patterns.js.map +1 -0
  107. package/dist/iso-42001-articles.d.ts +34 -0
  108. package/dist/iso-42001-articles.d.ts.map +1 -0
  109. package/dist/iso-42001-articles.js +147 -0
  110. package/dist/iso-42001-articles.js.map +1 -0
  111. package/dist/iso-42001.d.ts +18 -0
  112. package/dist/iso-42001.d.ts.map +1 -0
  113. package/dist/iso-42001.js +156 -0
  114. package/dist/iso-42001.js.map +1 -0
  115. package/dist/kill-switch.d.ts +56 -0
  116. package/dist/kill-switch.d.ts.map +1 -0
  117. package/dist/kill-switch.js +173 -0
  118. package/dist/kill-switch.js.map +1 -0
  119. package/dist/metrics.d.ts +58 -0
  120. package/dist/metrics.d.ts.map +1 -0
  121. package/dist/metrics.js +81 -0
  122. package/dist/metrics.js.map +1 -0
  123. package/dist/monorepo-detect.d.ts +30 -0
  124. package/dist/monorepo-detect.d.ts.map +1 -0
  125. package/dist/monorepo-detect.js +107 -0
  126. package/dist/monorepo-detect.js.map +1 -0
  127. package/dist/nist-ai-rmf-articles.d.ts +40 -0
  128. package/dist/nist-ai-rmf-articles.d.ts.map +1 -0
  129. package/dist/nist-ai-rmf-articles.js +156 -0
  130. package/dist/nist-ai-rmf-articles.js.map +1 -0
  131. package/dist/nist-ai-rmf.d.ts +20 -0
  132. package/dist/nist-ai-rmf.d.ts.map +1 -0
  133. package/dist/nist-ai-rmf.js +176 -0
  134. package/dist/nist-ai-rmf.js.map +1 -0
  135. package/dist/otel-hooks.d.ts +67 -0
  136. package/dist/otel-hooks.d.ts.map +1 -0
  137. package/dist/otel-hooks.js +100 -0
  138. package/dist/otel-hooks.js.map +1 -0
  139. package/dist/owasp-agentic-articles.d.ts +42 -0
  140. package/dist/owasp-agentic-articles.d.ts.map +1 -0
  141. package/dist/owasp-agentic-articles.js +236 -0
  142. package/dist/owasp-agentic-articles.js.map +1 -0
  143. package/dist/owasp-agentic.d.ts +20 -0
  144. package/dist/owasp-agentic.d.ts.map +1 -0
  145. package/dist/owasp-agentic.js +205 -0
  146. package/dist/owasp-agentic.js.map +1 -0
  147. package/dist/plugins/a2a-types.d.ts +241 -0
  148. package/dist/plugins/a2a-types.d.ts.map +1 -0
  149. package/dist/plugins/a2a-types.js +14 -0
  150. package/dist/plugins/a2a-types.js.map +1 -0
  151. package/dist/plugins/a2a.d.ts +37 -0
  152. package/dist/plugins/a2a.d.ts.map +1 -0
  153. package/dist/plugins/a2a.js +160 -0
  154. package/dist/plugins/a2a.js.map +1 -0
  155. package/dist/plugins/anthropic-types.d.ts +188 -0
  156. package/dist/plugins/anthropic-types.d.ts.map +1 -0
  157. package/dist/plugins/anthropic-types.js +8 -0
  158. package/dist/plugins/anthropic-types.js.map +1 -0
  159. package/dist/plugins/anthropic.d.ts +32 -0
  160. package/dist/plugins/anthropic.d.ts.map +1 -0
  161. package/dist/plugins/anthropic.js +131 -0
  162. package/dist/plugins/anthropic.js.map +1 -0
  163. package/dist/plugins/autogen-types.d.ts +121 -0
  164. package/dist/plugins/autogen-types.d.ts.map +1 -0
  165. package/dist/plugins/autogen-types.js +13 -0
  166. package/dist/plugins/autogen-types.js.map +1 -0
  167. package/dist/plugins/autogen.d.ts +41 -0
  168. package/dist/plugins/autogen.d.ts.map +1 -0
  169. package/dist/plugins/autogen.js +131 -0
  170. package/dist/plugins/autogen.js.map +1 -0
  171. package/dist/plugins/bedrock-types.d.ts +246 -0
  172. package/dist/plugins/bedrock-types.d.ts.map +1 -0
  173. package/dist/plugins/bedrock-types.js +8 -0
  174. package/dist/plugins/bedrock-types.js.map +1 -0
  175. package/dist/plugins/bedrock.d.ts +43 -0
  176. package/dist/plugins/bedrock.d.ts.map +1 -0
  177. package/dist/plugins/bedrock.js +155 -0
  178. package/dist/plugins/bedrock.js.map +1 -0
  179. package/dist/plugins/cloudflare-ai-types.d.ts +85 -0
  180. package/dist/plugins/cloudflare-ai-types.d.ts.map +1 -0
  181. package/dist/plugins/cloudflare-ai-types.js +10 -0
  182. package/dist/plugins/cloudflare-ai-types.js.map +1 -0
  183. package/dist/plugins/cloudflare-ai.d.ts +32 -0
  184. package/dist/plugins/cloudflare-ai.d.ts.map +1 -0
  185. package/dist/plugins/cloudflare-ai.js +108 -0
  186. package/dist/plugins/cloudflare-ai.js.map +1 -0
  187. package/dist/plugins/composio-types.d.ts +96 -0
  188. package/dist/plugins/composio-types.d.ts.map +1 -0
  189. package/dist/plugins/composio-types.js +13 -0
  190. package/dist/plugins/composio-types.js.map +1 -0
  191. package/dist/plugins/composio.d.ts +37 -0
  192. package/dist/plugins/composio.d.ts.map +1 -0
  193. package/dist/plugins/composio.js +118 -0
  194. package/dist/plugins/composio.js.map +1 -0
  195. package/dist/plugins/crewai-types.d.ts +153 -0
  196. package/dist/plugins/crewai-types.d.ts.map +1 -0
  197. package/dist/plugins/crewai-types.js +10 -0
  198. package/dist/plugins/crewai-types.js.map +1 -0
  199. package/dist/plugins/crewai.d.ts +37 -0
  200. package/dist/plugins/crewai.d.ts.map +1 -0
  201. package/dist/plugins/crewai.js +127 -0
  202. package/dist/plugins/crewai.js.map +1 -0
  203. package/dist/plugins/deno-types.d.ts +68 -0
  204. package/dist/plugins/deno-types.d.ts.map +1 -0
  205. package/dist/plugins/deno-types.js +8 -0
  206. package/dist/plugins/deno-types.js.map +1 -0
  207. package/dist/plugins/deno.d.ts +37 -0
  208. package/dist/plugins/deno.d.ts.map +1 -0
  209. package/dist/plugins/deno.js +129 -0
  210. package/dist/plugins/deno.js.map +1 -0
  211. package/dist/plugins/e2b-types.d.ts +140 -0
  212. package/dist/plugins/e2b-types.d.ts.map +1 -0
  213. package/dist/plugins/e2b-types.js +8 -0
  214. package/dist/plugins/e2b-types.js.map +1 -0
  215. package/dist/plugins/e2b.d.ts +43 -0
  216. package/dist/plugins/e2b.d.ts.map +1 -0
  217. package/dist/plugins/e2b.js +157 -0
  218. package/dist/plugins/e2b.js.map +1 -0
  219. package/dist/plugins/genkit-types.d.ts +88 -0
  220. package/dist/plugins/genkit-types.d.ts.map +1 -0
  221. package/dist/plugins/genkit-types.js +11 -0
  222. package/dist/plugins/genkit-types.js.map +1 -0
  223. package/dist/plugins/genkit.d.ts +35 -0
  224. package/dist/plugins/genkit.d.ts.map +1 -0
  225. package/dist/plugins/genkit.js +143 -0
  226. package/dist/plugins/genkit.js.map +1 -0
  227. package/dist/plugins/langchain.d.ts +130 -0
  228. package/dist/plugins/langchain.d.ts.map +1 -0
  229. package/dist/plugins/langchain.js +172 -0
  230. package/dist/plugins/langchain.js.map +1 -0
  231. package/dist/plugins/llamaindex-types.d.ts +86 -0
  232. package/dist/plugins/llamaindex-types.d.ts.map +1 -0
  233. package/dist/plugins/llamaindex-types.js +11 -0
  234. package/dist/plugins/llamaindex-types.js.map +1 -0
  235. package/dist/plugins/llamaindex.d.ts +36 -0
  236. package/dist/plugins/llamaindex.d.ts.map +1 -0
  237. package/dist/plugins/llamaindex.js +131 -0
  238. package/dist/plugins/llamaindex.js.map +1 -0
  239. package/dist/plugins/mastra-processor-types.d.ts +126 -0
  240. package/dist/plugins/mastra-processor-types.d.ts.map +1 -0
  241. package/dist/plugins/mastra-processor-types.js +11 -0
  242. package/dist/plugins/mastra-processor-types.js.map +1 -0
  243. package/dist/plugins/mastra-processor.d.ts +32 -0
  244. package/dist/plugins/mastra-processor.d.ts.map +1 -0
  245. package/dist/plugins/mastra-processor.js +126 -0
  246. package/dist/plugins/mastra-processor.js.map +1 -0
  247. package/dist/plugins/mastra.d.ts +100 -0
  248. package/dist/plugins/mastra.d.ts.map +1 -0
  249. package/dist/plugins/mastra.js +143 -0
  250. package/dist/plugins/mastra.js.map +1 -0
  251. package/dist/plugins/mcp-annotations.d.ts +54 -0
  252. package/dist/plugins/mcp-annotations.d.ts.map +1 -0
  253. package/dist/plugins/mcp-annotations.js +110 -0
  254. package/dist/plugins/mcp-annotations.js.map +1 -0
  255. package/dist/plugins/mcp-chain-audit.d.ts +74 -0
  256. package/dist/plugins/mcp-chain-audit.d.ts.map +1 -0
  257. package/dist/plugins/mcp-chain-audit.js +134 -0
  258. package/dist/plugins/mcp-chain-audit.js.map +1 -0
  259. package/dist/plugins/mcp-trust.d.ts +59 -0
  260. package/dist/plugins/mcp-trust.d.ts.map +1 -0
  261. package/dist/plugins/mcp-trust.js +100 -0
  262. package/dist/plugins/mcp-trust.js.map +1 -0
  263. package/dist/plugins/mcp-types.d.ts +183 -0
  264. package/dist/plugins/mcp-types.d.ts.map +1 -0
  265. package/dist/plugins/mcp-types.js +12 -0
  266. package/dist/plugins/mcp-types.js.map +1 -0
  267. package/dist/plugins/mcp.d.ts +41 -0
  268. package/dist/plugins/mcp.d.ts.map +1 -0
  269. package/dist/plugins/mcp.js +228 -0
  270. package/dist/plugins/mcp.js.map +1 -0
  271. package/dist/plugins/mistral-types.d.ts +72 -0
  272. package/dist/plugins/mistral-types.d.ts.map +1 -0
  273. package/dist/plugins/mistral-types.js +8 -0
  274. package/dist/plugins/mistral-types.js.map +1 -0
  275. package/dist/plugins/mistral.d.ts +32 -0
  276. package/dist/plugins/mistral.d.ts.map +1 -0
  277. package/dist/plugins/mistral.js +133 -0
  278. package/dist/plugins/mistral.js.map +1 -0
  279. package/dist/plugins/ollama-types.d.ts +76 -0
  280. package/dist/plugins/ollama-types.d.ts.map +1 -0
  281. package/dist/plugins/ollama-types.js +8 -0
  282. package/dist/plugins/ollama-types.js.map +1 -0
  283. package/dist/plugins/ollama.d.ts +32 -0
  284. package/dist/plugins/ollama.d.ts.map +1 -0
  285. package/dist/plugins/ollama.js +130 -0
  286. package/dist/plugins/ollama.js.map +1 -0
  287. package/dist/plugins/openai-agents-types.d.ts +130 -0
  288. package/dist/plugins/openai-agents-types.d.ts.map +1 -0
  289. package/dist/plugins/openai-agents-types.js +12 -0
  290. package/dist/plugins/openai-agents-types.js.map +1 -0
  291. package/dist/plugins/openai-agents.d.ts +37 -0
  292. package/dist/plugins/openai-agents.d.ts.map +1 -0
  293. package/dist/plugins/openai-agents.js +151 -0
  294. package/dist/plugins/openai-agents.js.map +1 -0
  295. package/dist/plugins/semantic-kernel-types.d.ts +103 -0
  296. package/dist/plugins/semantic-kernel-types.d.ts.map +1 -0
  297. package/dist/plugins/semantic-kernel-types.js +13 -0
  298. package/dist/plugins/semantic-kernel-types.js.map +1 -0
  299. package/dist/plugins/semantic-kernel.d.ts +37 -0
  300. package/dist/plugins/semantic-kernel.d.ts.map +1 -0
  301. package/dist/plugins/semantic-kernel.js +149 -0
  302. package/dist/plugins/semantic-kernel.js.map +1 -0
  303. package/dist/plugins/vercel-ai.d.ts +134 -0
  304. package/dist/plugins/vercel-ai.d.ts.map +1 -0
  305. package/dist/plugins/vercel-ai.js +130 -0
  306. package/dist/plugins/vercel-ai.js.map +1 -0
  307. package/dist/policy-builder.d.ts +52 -0
  308. package/dist/policy-builder.d.ts.map +1 -0
  309. package/dist/policy-builder.js +108 -0
  310. package/dist/policy-builder.js.map +1 -0
  311. package/dist/policy-compose-presets.d.ts +18 -0
  312. package/dist/policy-compose-presets.d.ts.map +1 -0
  313. package/dist/policy-compose-presets.js +52 -0
  314. package/dist/policy-compose-presets.js.map +1 -0
  315. package/dist/policy-compose.d.ts +66 -0
  316. package/dist/policy-compose.d.ts.map +1 -0
  317. package/dist/policy-compose.js +163 -0
  318. package/dist/policy-compose.js.map +1 -0
  319. package/dist/policy-presets-extended.d.ts +35 -0
  320. package/dist/policy-presets-extended.d.ts.map +1 -0
  321. package/dist/policy-presets-extended.js +137 -0
  322. package/dist/policy-presets-extended.js.map +1 -0
  323. package/dist/policy-presets.d.ts +77 -0
  324. package/dist/policy-presets.d.ts.map +1 -0
  325. package/dist/policy-presets.js +164 -0
  326. package/dist/policy-presets.js.map +1 -0
  327. package/dist/policy-stage-defaults.d.ts +8 -0
  328. package/dist/policy-stage-defaults.d.ts.map +1 -0
  329. package/dist/policy-stage-defaults.js +34 -0
  330. package/dist/policy-stage-defaults.js.map +1 -0
  331. package/dist/policy-yaml.d.ts +23 -0
  332. package/dist/policy-yaml.d.ts.map +1 -0
  333. package/dist/policy-yaml.js +216 -0
  334. package/dist/policy-yaml.js.map +1 -0
  335. package/dist/policy.d.ts +124 -0
  336. package/dist/policy.d.ts.map +1 -0
  337. package/dist/policy.js +161 -0
  338. package/dist/policy.js.map +1 -0
  339. package/dist/remote-enforce.d.ts +44 -0
  340. package/dist/remote-enforce.d.ts.map +1 -0
  341. package/dist/remote-enforce.js +99 -0
  342. package/dist/remote-enforce.js.map +1 -0
  343. package/dist/repo-patterns.d.ts +32 -0
  344. package/dist/repo-patterns.d.ts.map +1 -0
  345. package/dist/repo-patterns.js +222 -0
  346. package/dist/repo-patterns.js.map +1 -0
  347. package/dist/sandbox.d.ts +68 -0
  348. package/dist/sandbox.d.ts.map +1 -0
  349. package/dist/sandbox.js +124 -0
  350. package/dist/sandbox.js.map +1 -0
  351. package/dist/scorer-dimensions.d.ts +10 -0
  352. package/dist/scorer-dimensions.d.ts.map +1 -0
  353. package/dist/scorer-dimensions.js +184 -0
  354. package/dist/scorer-dimensions.js.map +1 -0
  355. package/dist/scorer.d.ts +27 -0
  356. package/dist/scorer.d.ts.map +1 -0
  357. package/dist/scorer.js +138 -0
  358. package/dist/scorer.js.map +1 -0
  359. package/dist/storage-postgres-schema.d.ts +47 -0
  360. package/dist/storage-postgres-schema.d.ts.map +1 -0
  361. package/dist/storage-postgres-schema.js +134 -0
  362. package/dist/storage-postgres-schema.js.map +1 -0
  363. package/dist/storage-postgres.d.ts +41 -0
  364. package/dist/storage-postgres.d.ts.map +1 -0
  365. package/dist/storage-postgres.js +180 -0
  366. package/dist/storage-postgres.js.map +1 -0
  367. package/dist/storage.d.ts +65 -0
  368. package/dist/storage.d.ts.map +1 -0
  369. package/dist/storage.js +85 -0
  370. package/dist/storage.js.map +1 -0
  371. package/dist/supply-chain-sbom.d.ts +72 -0
  372. package/dist/supply-chain-sbom.d.ts.map +1 -0
  373. package/dist/supply-chain-sbom.js +73 -0
  374. package/dist/supply-chain-sbom.js.map +1 -0
  375. package/dist/supply-chain.d.ts +61 -0
  376. package/dist/supply-chain.d.ts.map +1 -0
  377. package/dist/supply-chain.js +95 -0
  378. package/dist/supply-chain.js.map +1 -0
  379. package/dist/token-types.d.ts +77 -0
  380. package/dist/token-types.d.ts.map +1 -0
  381. package/dist/token-types.js +31 -0
  382. package/dist/token-types.js.map +1 -0
  383. package/dist/types.d.ts +71 -0
  384. package/dist/types.d.ts.map +1 -0
  385. package/dist/types.js +6 -0
  386. package/dist/types.js.map +1 -0
  387. package/package.json +361 -0
@@ -0,0 +1,73 @@
1
+ /**
2
+ * governance-sdk — Agent Software Bill of Materials (SBOM)
3
+ *
4
+ * Generates a JSON manifest of agent capabilities, dependencies,
5
+ * and governance posture. Compatible with CycloneDX concepts.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { generateAgentSBOM } from 'governance-sdk/supply-chain-sbom';
10
+ *
11
+ * const sbom = generateAgentSBOM({
12
+ * agent: storedAgent,
13
+ * dependencies: { tools: ['search'], mcpServers: ['mcp://files'] },
14
+ * governanceScore: 87,
15
+ * governanceLevel: 4,
16
+ * complianceFrameworks: ['eu-ai-act', 'owasp-agentic'],
17
+ * });
18
+ * ```
19
+ */
20
+ // ─── Implementation ─────────────────────────────────────────
21
+ export function generateAgentSBOM(input) {
22
+ const { agent, dependencies, governanceScore, governanceLevel, complianceFrameworks, policies } = input;
23
+ return {
24
+ bomFormat: "LuaAgentSBOM",
25
+ specVersion: "1.0",
26
+ serialNumber: `urn:uuid:${generateUUID()}`,
27
+ generatedAt: new Date().toISOString(),
28
+ component: {
29
+ type: "agent",
30
+ name: agent.name,
31
+ version: agent.version ?? "0.0.0",
32
+ description: agent.description ?? "",
33
+ supplier: agent.owner ?? "unknown",
34
+ properties: {
35
+ "agent:id": agent.id,
36
+ "agent:framework": agent.framework ?? "unknown",
37
+ },
38
+ },
39
+ dependencies: {
40
+ tools: dependencies?.tools ?? [],
41
+ mcpServers: dependencies?.mcpServers ?? [],
42
+ apiEndpoints: dependencies?.apiEndpoints ?? [],
43
+ agents: dependencies?.agents ?? [],
44
+ },
45
+ governance: {
46
+ score: governanceScore ?? 0,
47
+ level: governanceLevel ?? 0,
48
+ complianceFrameworks: complianceFrameworks ?? [],
49
+ policyCount: policies?.length ?? 0,
50
+ policies: policies ?? [],
51
+ },
52
+ };
53
+ }
54
+ // ─── Utilities ──────────────────────────────────────────────
55
+ function generateUUID() {
56
+ if (typeof globalThis.crypto !== "undefined" && globalThis.crypto.randomUUID) {
57
+ return globalThis.crypto.randomUUID();
58
+ }
59
+ // Fallback for environments without randomUUID
60
+ const bytes = new Uint8Array(16);
61
+ if (typeof globalThis.crypto !== "undefined" && globalThis.crypto.getRandomValues) {
62
+ globalThis.crypto.getRandomValues(bytes);
63
+ }
64
+ else {
65
+ for (let i = 0; i < 16; i++)
66
+ bytes[i] = Math.floor(Math.random() * 256);
67
+ }
68
+ bytes[6] = (bytes[6] & 0x0f) | 0x40; // version 4
69
+ bytes[8] = (bytes[8] & 0x3f) | 0x80; // variant 1
70
+ const hex = Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
71
+ return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
72
+ }
73
+ //# sourceMappingURL=supply-chain-sbom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supply-chain-sbom.js","sourceRoot":"","sources":["../src/supply-chain-sbom.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAkDH,+DAA+D;AAE/D,MAAM,UAAU,iBAAiB,CAAC,KAAqB;IACrD,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,oBAAoB,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAExG,OAAO;QACL,SAAS,EAAE,cAAc;QACzB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,YAAY,YAAY,EAAE,EAAE;QAC1C,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,SAAS,EAAE;YACT,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,OAAO;YACjC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;YACpC,QAAQ,EAAE,KAAK,CAAC,KAAK,IAAI,SAAS;YAClC,UAAU,EAAE;gBACV,UAAU,EAAE,KAAK,CAAC,EAAE;gBACpB,iBAAiB,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS;aAChD;SACF;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;YAChC,UAAU,EAAE,YAAY,EAAE,UAAU,IAAI,EAAE;YAC1C,YAAY,EAAE,YAAY,EAAE,YAAY,IAAI,EAAE;YAC9C,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,EAAE;SACnC;QACD,UAAU,EAAE;YACV,KAAK,EAAE,eAAe,IAAI,CAAC;YAC3B,KAAK,EAAE,eAAe,IAAI,CAAC;YAC3B,oBAAoB,EAAE,oBAAoB,IAAI,EAAE;YAChD,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;YAClC,QAAQ,EAAE,QAAQ,IAAI,EAAE;SACzB;KACF,CAAC;AACJ,CAAC;AAED,+DAA+D;AAE/D,SAAS,YAAY;IACnB,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC7E,OAAO,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IACxC,CAAC;IACD,+CAA+C;IAC/C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAClF,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IAC1E,CAAC;IACD,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,YAAY;IACjD,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,YAAY;IACjD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/E,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7G,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * governance-sdk — Agent Supply Chain Security
3
+ *
4
+ * Declare agent dependencies, validate against approved registries,
5
+ * and enforce supply chain policies. Addresses OWASP AA-03.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { createSupplyChainPolicy, declareAgentDependencies } from 'governance-sdk/supply-chain';
10
+ *
11
+ * const deps = declareAgentDependencies({
12
+ * tools: ['web_search', 'email_send'],
13
+ * mcpServers: ['mcp://files.company.com'],
14
+ * apiEndpoints: ['https://api.internal.com'],
15
+ * });
16
+ *
17
+ * const policy = createSupplyChainPolicy({
18
+ * approvedTools: ['web_search', 'email_send', 'calendar_read'],
19
+ * approvedMcpServers: ['mcp://files.company.com'],
20
+ * });
21
+ * governance.addRule(policy);
22
+ * ```
23
+ */
24
+ import type { PolicyRule } from "./policy.js";
25
+ /** Declared dependencies for an agent */
26
+ export interface AgentDependencies {
27
+ tools?: string[];
28
+ mcpServers?: string[];
29
+ apiEndpoints?: string[];
30
+ agents?: string[];
31
+ }
32
+ /** Approved supply chain registry */
33
+ export interface ApprovedRegistry {
34
+ approvedTools?: string[];
35
+ approvedMcpServers?: string[];
36
+ approvedApiEndpoints?: string[];
37
+ approvedAgents?: string[];
38
+ }
39
+ /** Validation result for a single agent's supply chain */
40
+ export interface SupplyChainValidation {
41
+ valid: boolean;
42
+ violations: SupplyChainViolation[];
43
+ }
44
+ export interface SupplyChainViolation {
45
+ type: "tool" | "mcp_server" | "api_endpoint" | "agent";
46
+ name: string;
47
+ reason: string;
48
+ }
49
+ /** Declare and normalize an agent's dependency set */
50
+ export declare function declareAgentDependencies(deps: AgentDependencies): AgentDependencies;
51
+ /** Validate agent dependencies against an approved registry */
52
+ export declare function validateSupplyChain(deps: AgentDependencies, registry: ApprovedRegistry): SupplyChainValidation;
53
+ /**
54
+ * Create a policy rule that blocks agents using unapproved tools.
55
+ * Checks the tool being called against the approved registry.
56
+ */
57
+ export declare function createSupplyChainPolicy(registry: ApprovedRegistry, opts?: {
58
+ priority?: number;
59
+ id?: string;
60
+ }): PolicyRule;
61
+ //# sourceMappingURL=supply-chain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supply-chain.d.ts","sourceRoot":"","sources":["../src/supply-chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,0DAA0D;AAC1D,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,oBAAoB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,cAAc,GAAG,OAAO,CAAC;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAID,sDAAsD;AACtD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,CAOnF;AAID,+DAA+D;AAC/D,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,iBAAiB,EACvB,QAAQ,EAAE,gBAAgB,GACzB,qBAAqB,CAoCvB;AAID;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC,UAAU,CAqBZ"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * governance-sdk — Agent Supply Chain Security
3
+ *
4
+ * Declare agent dependencies, validate against approved registries,
5
+ * and enforce supply chain policies. Addresses OWASP AA-03.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { createSupplyChainPolicy, declareAgentDependencies } from 'governance-sdk/supply-chain';
10
+ *
11
+ * const deps = declareAgentDependencies({
12
+ * tools: ['web_search', 'email_send'],
13
+ * mcpServers: ['mcp://files.company.com'],
14
+ * apiEndpoints: ['https://api.internal.com'],
15
+ * });
16
+ *
17
+ * const policy = createSupplyChainPolicy({
18
+ * approvedTools: ['web_search', 'email_send', 'calendar_read'],
19
+ * approvedMcpServers: ['mcp://files.company.com'],
20
+ * });
21
+ * governance.addRule(policy);
22
+ * ```
23
+ */
24
+ // ─── Dependency Declaration ─────────────────────────────────
25
+ /** Declare and normalize an agent's dependency set */
26
+ export function declareAgentDependencies(deps) {
27
+ return {
28
+ tools: deps.tools ? [...new Set(deps.tools)].sort() : [],
29
+ mcpServers: deps.mcpServers ? [...new Set(deps.mcpServers)].sort() : [],
30
+ apiEndpoints: deps.apiEndpoints ? [...new Set(deps.apiEndpoints)].sort() : [],
31
+ agents: deps.agents ? [...new Set(deps.agents)].sort() : [],
32
+ };
33
+ }
34
+ // ─── Validation ─────────────────────────────────────────────
35
+ /** Validate agent dependencies against an approved registry */
36
+ export function validateSupplyChain(deps, registry) {
37
+ const violations = [];
38
+ if (registry.approvedTools) {
39
+ for (const tool of deps.tools ?? []) {
40
+ if (!registry.approvedTools.includes(tool)) {
41
+ violations.push({ type: "tool", name: tool, reason: `Tool "${tool}" not in approved registry` });
42
+ }
43
+ }
44
+ }
45
+ if (registry.approvedMcpServers) {
46
+ for (const server of deps.mcpServers ?? []) {
47
+ if (!registry.approvedMcpServers.includes(server)) {
48
+ violations.push({ type: "mcp_server", name: server, reason: `MCP server "${server}" not approved` });
49
+ }
50
+ }
51
+ }
52
+ if (registry.approvedApiEndpoints) {
53
+ for (const ep of deps.apiEndpoints ?? []) {
54
+ if (!registry.approvedApiEndpoints.includes(ep)) {
55
+ violations.push({ type: "api_endpoint", name: ep, reason: `API endpoint "${ep}" not approved` });
56
+ }
57
+ }
58
+ }
59
+ if (registry.approvedAgents) {
60
+ for (const agent of deps.agents ?? []) {
61
+ if (!registry.approvedAgents.includes(agent)) {
62
+ violations.push({ type: "agent", name: agent, reason: `Agent "${agent}" not in approved list` });
63
+ }
64
+ }
65
+ }
66
+ return { valid: violations.length === 0, violations };
67
+ }
68
+ // ─── Policy Rule ────────────────────────────────────────────
69
+ /**
70
+ * Create a policy rule that blocks agents using unapproved tools.
71
+ * Checks the tool being called against the approved registry.
72
+ */
73
+ export function createSupplyChainPolicy(registry, opts) {
74
+ const approvedTools = new Set(registry.approvedTools ?? []);
75
+ return {
76
+ id: opts?.id ?? "supply-chain-tool-check",
77
+ name: "Supply chain: block unapproved tools",
78
+ condition: {
79
+ type: "custom",
80
+ params: {
81
+ evaluate: (ctx) => {
82
+ if (!ctx.tool)
83
+ return false;
84
+ return approvedTools.size > 0 && !approvedTools.has(ctx.tool);
85
+ },
86
+ },
87
+ },
88
+ outcome: "block",
89
+ reason: "Tool not in approved supply chain registry",
90
+ priority: opts?.priority ?? 105,
91
+ enabled: true,
92
+ stage: "process",
93
+ };
94
+ }
95
+ //# sourceMappingURL=supply-chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supply-chain.js","sourceRoot":"","sources":["../src/supply-chain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Shared token type definitions for Propolis → Honeycomb JWT exchange.
3
+ *
4
+ * Zero dependencies. These types define the JWT payload structure.
5
+ *
6
+ * DESIGN PRINCIPLE: The JWT carries identity, trust level, and scope.
7
+ * It does NOT carry tool permissions — those are enforced by governance
8
+ * policies via the policy engine. The JWT tells Honeycomb WHO the agent
9
+ * is and WHAT DATA it can see. Governance tells the agent WHAT ACTIONS
10
+ * it can take.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * import type { HoneycombAgentToken, TokenRequest } from 'governance-sdk/token-types';
15
+ * ```
16
+ */
17
+ /** RS256 JWT payload issued by Propolis for Honeycomb authentication. */
18
+ export interface HoneycombAgentToken {
19
+ /** Issuer — always "propolis" */
20
+ iss: "propolis";
21
+ /** Audience — always "honeycomb" */
22
+ aud: "honeycomb";
23
+ /** Subject — agentId */
24
+ sub: string;
25
+ /** Issued-at (unix seconds) */
26
+ iat: number;
27
+ /** Expiry (unix seconds) */
28
+ exp: number;
29
+ /** Unique token ID (UUID) — for revocation and audit correlation */
30
+ jti: string;
31
+ agentName: string;
32
+ orgId: string;
33
+ /** Governance level (0-4) from composite score */
34
+ governanceLevel: number;
35
+ /** Composite governance score (0-100) */
36
+ compositeScore: number;
37
+ /** Allowed Honeycomb namespaces */
38
+ namespaces: string[];
39
+ /** Allowed access level values */
40
+ accessLevels: ("public" | "namespace" | "restricted")[];
41
+ /** Maximum extraction tier (0=none, 1=slim, 2=full) */
42
+ maxExtractionTier: 0 | 1 | 2;
43
+ /** Maximum concurrent namespaces */
44
+ maxNamespaces: number;
45
+ /** Honeycomb tools this agent is allowed to call */
46
+ allowedTools: string[];
47
+ /** Search across all namespaces */
48
+ allowCrossNamespace?: boolean;
49
+ /** Restrict entity recall by type (undefined = all types) */
50
+ allowedEntityTypes?: string[];
51
+ }
52
+ /** Request body for POST /api/v1/token */
53
+ export interface TokenRequest {
54
+ agentId: string;
55
+ agentName: string;
56
+ requestedNamespaces?: string[];
57
+ }
58
+ /** Response body from POST /api/v1/token */
59
+ export interface TokenResponse {
60
+ token: string;
61
+ /** Expiry as unix seconds */
62
+ expiresAt: number;
63
+ }
64
+ /** Resource allocation limits by governance level. */
65
+ export interface ResourceLimits {
66
+ maxNamespaces: number;
67
+ maxExtractionTier: 0 | 1 | 2;
68
+ }
69
+ /**
70
+ * Maps governance level → resource limits.
71
+ *
72
+ * These control COMPUTE COST (extraction depth, data breadth).
73
+ * Authorization (which tools, which actions) is handled by
74
+ * the governance policy engine — NOT by this table.
75
+ */
76
+ export declare const RESOURCE_LIMITS_BY_LEVEL: Record<number, ResourceLimits>;
77
+ //# sourceMappingURL=token-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-types.d.ts","sourceRoot":"","sources":["../src/token-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IAElC,iCAAiC;IACjC,GAAG,EAAE,UAAU,CAAC;IAChB,oCAAoC;IACpC,GAAG,EAAE,WAAW,CAAC;IACjB,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,GAAG,EAAE,MAAM,CAAC;IAGZ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IAGd,kDAAkD;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,cAAc,EAAE,MAAM,CAAC;IAGvB,mCAAmC;IACnC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,kCAAkC;IAClC,YAAY,EAAE,CAAC,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC;IAGxD,uDAAuD;IACvD,iBAAiB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IAGtB,oDAAoD;IACpD,YAAY,EAAE,MAAM,EAAE,CAAC;IAGvB,mCAAmC;IACnC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAID,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,4CAA4C;AAC5C,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,sDAAsD;AACtD,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAMnE,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Shared token type definitions for Propolis → Honeycomb JWT exchange.
3
+ *
4
+ * Zero dependencies. These types define the JWT payload structure.
5
+ *
6
+ * DESIGN PRINCIPLE: The JWT carries identity, trust level, and scope.
7
+ * It does NOT carry tool permissions — those are enforced by governance
8
+ * policies via the policy engine. The JWT tells Honeycomb WHO the agent
9
+ * is and WHAT DATA it can see. Governance tells the agent WHAT ACTIONS
10
+ * it can take.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * import type { HoneycombAgentToken, TokenRequest } from 'governance-sdk/token-types';
15
+ * ```
16
+ */
17
+ /**
18
+ * Maps governance level → resource limits.
19
+ *
20
+ * These control COMPUTE COST (extraction depth, data breadth).
21
+ * Authorization (which tools, which actions) is handled by
22
+ * the governance policy engine — NOT by this table.
23
+ */
24
+ export const RESOURCE_LIMITS_BY_LEVEL = {
25
+ 0: { maxNamespaces: 1, maxExtractionTier: 0 },
26
+ 1: { maxNamespaces: 3, maxExtractionTier: 1 },
27
+ 2: { maxNamespaces: 10, maxExtractionTier: 1 },
28
+ 3: { maxNamespaces: 50, maxExtractionTier: 2 },
29
+ 4: { maxNamespaces: Infinity, maxExtractionTier: 2 },
30
+ };
31
+ //# sourceMappingURL=token-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-types.js","sourceRoot":"","sources":["../src/token-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA6EH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAmC;IACtE,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,EAAS,iBAAiB,EAAE,CAAC,EAAE;IACpD,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,EAAS,iBAAiB,EAAE,CAAC,EAAE;IACpD,CAAC,EAAE,EAAE,aAAa,EAAE,EAAE,EAAQ,iBAAiB,EAAE,CAAC,EAAE;IACpD,CAAC,EAAE,EAAE,aAAa,EAAE,EAAE,EAAQ,iBAAiB,EAAE,CAAC,EAAE;IACpD,CAAC,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EAAE;CACrD,CAAC"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * governance-sdk — Core type system for agent governance.
3
+ * Framework-agnostic types for agent registration, scoring, and fleet management.
4
+ */
5
+ /** Supported agent frameworks */
6
+ export type AgentFramework = "mastra" | "langchain" | "crewai" | "autogen" | "openai" | "vercel-ai" | "mcp" | "bedrock" | "genkit" | "semantic-kernel" | "anthropic" | "mistral" | "ollama" | "e2b" | "composio" | "custom" | "unknown";
7
+ /** Agent lifecycle status */
8
+ export type AgentStatus = "registered" | "assessed" | "approved" | "flagged" | "deprecated" | "quarantined";
9
+ /** The seven governance dimensions */
10
+ export type ScoreDimension = "identity" | "permissions" | "observability" | "guardrails" | "auditability" | "compliance" | "lifecycle";
11
+ /** Governance level mapped from composite score */
12
+ export interface GovernanceLevel {
13
+ level: 0 | 1 | 2 | 3 | 4;
14
+ label: string;
15
+ autonomy: string;
16
+ minScore: number;
17
+ maxScore: number;
18
+ }
19
+ /** Individual dimension scoring result */
20
+ export interface DimensionResult {
21
+ dimension: ScoreDimension;
22
+ score: number;
23
+ weight: number;
24
+ evidence: Record<string, boolean | number | string>;
25
+ }
26
+ /** Complete governance assessment for an agent */
27
+ export interface GovernanceAssessment {
28
+ agentId: string;
29
+ agentName: string;
30
+ compositeScore: number;
31
+ level: GovernanceLevel;
32
+ dimensions: DimensionResult[];
33
+ status: AgentStatus;
34
+ assessedAt: string;
35
+ recommendations: string[];
36
+ }
37
+ /** Agent registration input */
38
+ export interface AgentRegistration {
39
+ name: string;
40
+ framework: AgentFramework;
41
+ description?: string;
42
+ owner: string;
43
+ version?: string;
44
+ channels?: string[];
45
+ tools?: string[];
46
+ hasAuth?: boolean;
47
+ hasGuardrails?: boolean;
48
+ hasObservability?: boolean;
49
+ hasAuditLog?: boolean;
50
+ permissions?: Record<string, unknown>;
51
+ metadata?: Record<string, unknown>;
52
+ }
53
+ /** Fleet-level governance summary */
54
+ export interface FleetSummary {
55
+ totalAgents: number;
56
+ averageScore: number;
57
+ fleetLevel: GovernanceLevel;
58
+ byStatus: Record<AgentStatus, number>;
59
+ byFramework: Record<AgentFramework, number>;
60
+ byLevel: Record<number, number>;
61
+ highestScoring: {
62
+ name: string;
63
+ score: number;
64
+ } | null;
65
+ lowestScoring: {
66
+ name: string;
67
+ score: number;
68
+ } | null;
69
+ recommendations: string[];
70
+ }
71
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,6 @@
1
+ /**
2
+ * governance-sdk — Core type system for agent governance.
3
+ * Framework-agnostic types for agent registration, scoring, and fleet management.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}