@dcyfr/ai 1.0.4 → 2.1.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 (411) hide show
  1. package/CHANGELOG.md +106 -0
  2. package/README.md +381 -9
  3. package/dist/ai/agents/agent-loader.d.ts +12 -0
  4. package/dist/ai/agents/agent-loader.d.ts.map +1 -1
  5. package/dist/ai/agents/agent-loader.js +74 -65
  6. package/dist/ai/agents/agent-loader.js.map +1 -1
  7. package/dist/ai/agents/agent-registry.d.ts +2 -0
  8. package/dist/ai/agents/agent-registry.d.ts.map +1 -1
  9. package/dist/ai/agents/agent-registry.js +15 -14
  10. package/dist/ai/agents/agent-registry.js.map +1 -1
  11. package/dist/ai/agents/agent-router.d.ts +20 -5
  12. package/dist/ai/agents/agent-router.d.ts.map +1 -1
  13. package/dist/ai/agents/agent-router.js +89 -43
  14. package/dist/ai/agents/agent-router.js.map +1 -1
  15. package/dist/ai/agents/index.d.ts +6 -1
  16. package/dist/ai/agents/index.d.ts.map +1 -1
  17. package/dist/ai/agents/index.js +9 -3
  18. package/dist/ai/agents/index.js.map +1 -1
  19. package/dist/ai/agents/instruction-template.d.ts +45 -0
  20. package/dist/ai/agents/instruction-template.d.ts.map +1 -0
  21. package/dist/ai/agents/instruction-template.js +197 -0
  22. package/dist/ai/agents/instruction-template.js.map +1 -0
  23. package/dist/ai/agents/persona-resolver.d.ts +90 -0
  24. package/dist/ai/agents/persona-resolver.d.ts.map +1 -0
  25. package/dist/ai/agents/persona-resolver.js +121 -0
  26. package/dist/ai/agents/persona-resolver.js.map +1 -0
  27. package/dist/ai/agents/schema.d.ts +166 -0
  28. package/dist/ai/agents/schema.d.ts.map +1 -0
  29. package/dist/ai/agents/schema.js +94 -0
  30. package/dist/ai/agents/schema.js.map +1 -0
  31. package/dist/ai/agents/types.d.ts +102 -0
  32. package/dist/ai/agents/types.d.ts.map +1 -1
  33. package/dist/ai/agents-builtin/architecture/index.js +3 -3
  34. package/dist/ai/agents-builtin/content/index.js +1 -1
  35. package/dist/ai/agents-builtin/data/index.js +1 -1
  36. package/dist/ai/agents-builtin/development/index.js +4 -4
  37. package/dist/ai/agents-builtin/devops/index.js +1 -1
  38. package/dist/ai/agents-builtin/index.js +33 -33
  39. package/dist/ai/agents-builtin/performance/index.js +1 -1
  40. package/dist/ai/agents-builtin/research/index.js +1 -1
  41. package/dist/ai/agents-builtin/security/index.js +1 -1
  42. package/dist/ai/agents-builtin/testing/index.js +2 -2
  43. package/dist/ai/config/loader.d.ts.map +1 -1
  44. package/dist/ai/config/loader.js +6 -3
  45. package/dist/ai/config/loader.js.map +1 -1
  46. package/dist/ai/config/schema.d.ts +242 -1156
  47. package/dist/ai/config/schema.d.ts.map +1 -1
  48. package/dist/ai/config/schema.js +69 -20
  49. package/dist/ai/config/schema.js.map +1 -1
  50. package/dist/ai/core/provider-registry.d.ts +32 -0
  51. package/dist/ai/core/provider-registry.d.ts.map +1 -1
  52. package/dist/ai/core/provider-registry.js +189 -14
  53. package/dist/ai/core/provider-registry.js.map +1 -1
  54. package/dist/ai/core/telemetry-engine.d.ts +26 -0
  55. package/dist/ai/core/telemetry-engine.d.ts.map +1 -1
  56. package/dist/ai/core/telemetry-engine.js +81 -1
  57. package/dist/ai/core/telemetry-engine.js.map +1 -1
  58. package/dist/ai/delegation/agent-registry.d.ts +143 -0
  59. package/dist/ai/delegation/agent-registry.d.ts.map +1 -0
  60. package/dist/ai/delegation/agent-registry.js +231 -0
  61. package/dist/ai/delegation/agent-registry.js.map +1 -0
  62. package/dist/ai/delegation/blast-radius-tracker.d.ts +65 -0
  63. package/dist/ai/delegation/blast-radius-tracker.d.ts.map +1 -0
  64. package/dist/ai/delegation/blast-radius-tracker.js +81 -0
  65. package/dist/ai/delegation/blast-radius-tracker.js.map +1 -0
  66. package/dist/ai/delegation/capability-bootstrap.d.ts +40 -0
  67. package/dist/ai/delegation/capability-bootstrap.d.ts.map +1 -0
  68. package/dist/ai/delegation/capability-bootstrap.js +431 -0
  69. package/dist/ai/delegation/capability-bootstrap.js.map +1 -0
  70. package/dist/ai/delegation/capability-registry.d.ts +81 -0
  71. package/dist/ai/delegation/capability-registry.d.ts.map +1 -0
  72. package/dist/ai/delegation/capability-registry.js +339 -0
  73. package/dist/ai/delegation/capability-registry.js.map +1 -0
  74. package/dist/ai/delegation/chain-tracker.d.ts +152 -0
  75. package/dist/ai/delegation/chain-tracker.d.ts.map +1 -0
  76. package/dist/ai/delegation/chain-tracker.js +336 -0
  77. package/dist/ai/delegation/chain-tracker.js.map +1 -0
  78. package/dist/ai/delegation/circuit-breaker.d.ts +59 -0
  79. package/dist/ai/delegation/circuit-breaker.d.ts.map +1 -0
  80. package/dist/ai/delegation/circuit-breaker.js +153 -0
  81. package/dist/ai/delegation/circuit-breaker.js.map +1 -0
  82. package/dist/ai/delegation/contract-manager.d.ts +415 -0
  83. package/dist/ai/delegation/contract-manager.d.ts.map +1 -0
  84. package/dist/ai/delegation/contract-manager.js +1258 -0
  85. package/dist/ai/delegation/contract-manager.js.map +1 -0
  86. package/dist/ai/delegation/delegation-manager.d.ts +505 -0
  87. package/dist/ai/delegation/delegation-manager.d.ts.map +1 -0
  88. package/dist/ai/delegation/delegation-manager.js +773 -0
  89. package/dist/ai/delegation/delegation-manager.js.map +1 -0
  90. package/dist/ai/delegation/event-schemas.d.ts +101 -0
  91. package/dist/ai/delegation/event-schemas.d.ts.map +1 -0
  92. package/dist/ai/delegation/event-schemas.js +59 -0
  93. package/dist/ai/delegation/event-schemas.js.map +1 -0
  94. package/dist/ai/delegation/execution-mode-dashboard.d.ts +109 -0
  95. package/dist/ai/delegation/execution-mode-dashboard.d.ts.map +1 -0
  96. package/dist/ai/delegation/execution-mode-dashboard.js +167 -0
  97. package/dist/ai/delegation/execution-mode-dashboard.js.map +1 -0
  98. package/dist/ai/delegation/feature-flags.d.ts +191 -0
  99. package/dist/ai/delegation/feature-flags.d.ts.map +1 -0
  100. package/dist/ai/delegation/feature-flags.js +332 -0
  101. package/dist/ai/delegation/feature-flags.js.map +1 -0
  102. package/dist/ai/delegation/index.d.ts +51 -0
  103. package/dist/ai/delegation/index.d.ts.map +1 -0
  104. package/dist/ai/delegation/index.js +39 -0
  105. package/dist/ai/delegation/index.js.map +1 -0
  106. package/dist/ai/delegation/middleware/chain-depth-middleware.d.ts +39 -0
  107. package/dist/ai/delegation/middleware/chain-depth-middleware.d.ts.map +1 -0
  108. package/dist/ai/delegation/middleware/chain-depth-middleware.js +77 -0
  109. package/dist/ai/delegation/middleware/chain-depth-middleware.js.map +1 -0
  110. package/dist/ai/delegation/middleware/chain-tracker-middleware.d.ts +46 -0
  111. package/dist/ai/delegation/middleware/chain-tracker-middleware.d.ts.map +1 -0
  112. package/dist/ai/delegation/middleware/chain-tracker-middleware.js +89 -0
  113. package/dist/ai/delegation/middleware/chain-tracker-middleware.js.map +1 -0
  114. package/dist/ai/delegation/middleware/content-policy-middleware.d.ts +31 -0
  115. package/dist/ai/delegation/middleware/content-policy-middleware.d.ts.map +1 -0
  116. package/dist/ai/delegation/middleware/content-policy-middleware.js +82 -0
  117. package/dist/ai/delegation/middleware/content-policy-middleware.js.map +1 -0
  118. package/dist/ai/delegation/middleware/feature-flag-middleware.d.ts +46 -0
  119. package/dist/ai/delegation/middleware/feature-flag-middleware.d.ts.map +1 -0
  120. package/dist/ai/delegation/middleware/feature-flag-middleware.js +59 -0
  121. package/dist/ai/delegation/middleware/feature-flag-middleware.js.map +1 -0
  122. package/dist/ai/delegation/middleware/identity-middleware.d.ts +23 -0
  123. package/dist/ai/delegation/middleware/identity-middleware.d.ts.map +1 -0
  124. package/dist/ai/delegation/middleware/identity-middleware.js +64 -0
  125. package/dist/ai/delegation/middleware/identity-middleware.js.map +1 -0
  126. package/dist/ai/delegation/middleware/permissions-middleware.d.ts +48 -0
  127. package/dist/ai/delegation/middleware/permissions-middleware.d.ts.map +1 -0
  128. package/dist/ai/delegation/middleware/permissions-middleware.js +107 -0
  129. package/dist/ai/delegation/middleware/permissions-middleware.js.map +1 -0
  130. package/dist/ai/delegation/middleware/rate-limiter-middleware.d.ts +38 -0
  131. package/dist/ai/delegation/middleware/rate-limiter-middleware.d.ts.map +1 -0
  132. package/dist/ai/delegation/middleware/rate-limiter-middleware.js +65 -0
  133. package/dist/ai/delegation/middleware/rate-limiter-middleware.js.map +1 -0
  134. package/dist/ai/delegation/middleware/reputation-middleware.d.ts +39 -0
  135. package/dist/ai/delegation/middleware/reputation-middleware.d.ts.map +1 -0
  136. package/dist/ai/delegation/middleware/reputation-middleware.js +75 -0
  137. package/dist/ai/delegation/middleware/reputation-middleware.js.map +1 -0
  138. package/dist/ai/delegation/middleware/resource-limiter-middleware.d.ts +52 -0
  139. package/dist/ai/delegation/middleware/resource-limiter-middleware.d.ts.map +1 -0
  140. package/dist/ai/delegation/middleware/resource-limiter-middleware.js +112 -0
  141. package/dist/ai/delegation/middleware/resource-limiter-middleware.js.map +1 -0
  142. package/dist/ai/delegation/middleware/threat-validator-middleware.d.ts +23 -0
  143. package/dist/ai/delegation/middleware/threat-validator-middleware.d.ts.map +1 -0
  144. package/dist/ai/delegation/middleware/threat-validator-middleware.js +83 -0
  145. package/dist/ai/delegation/middleware/threat-validator-middleware.js.map +1 -0
  146. package/dist/ai/delegation/middleware/tlp-middleware.d.ts +23 -0
  147. package/dist/ai/delegation/middleware/tlp-middleware.d.ts.map +1 -0
  148. package/dist/ai/delegation/middleware/tlp-middleware.js +59 -0
  149. package/dist/ai/delegation/middleware/tlp-middleware.js.map +1 -0
  150. package/dist/ai/delegation/monitoring.d.ts +298 -0
  151. package/dist/ai/delegation/monitoring.d.ts.map +1 -0
  152. package/dist/ai/delegation/monitoring.js +584 -0
  153. package/dist/ai/delegation/monitoring.js.map +1 -0
  154. package/dist/ai/delegation/security-middleware-chain.d.ts +71 -0
  155. package/dist/ai/delegation/security-middleware-chain.d.ts.map +1 -0
  156. package/dist/ai/delegation/security-middleware-chain.js +163 -0
  157. package/dist/ai/delegation/security-middleware-chain.js.map +1 -0
  158. package/dist/ai/delegation/session-checkpoint.d.ts +77 -0
  159. package/dist/ai/delegation/session-checkpoint.d.ts.map +1 -0
  160. package/dist/ai/delegation/session-checkpoint.js +131 -0
  161. package/dist/ai/delegation/session-checkpoint.js.map +1 -0
  162. package/dist/ai/delegation/session-manager.d.ts +131 -0
  163. package/dist/ai/delegation/session-manager.d.ts.map +1 -0
  164. package/dist/ai/delegation/session-manager.js +243 -0
  165. package/dist/ai/delegation/session-manager.js.map +1 -0
  166. package/dist/ai/delegation/session-queue.d.ts +95 -0
  167. package/dist/ai/delegation/session-queue.d.ts.map +1 -0
  168. package/dist/ai/delegation/session-queue.js +136 -0
  169. package/dist/ai/delegation/session-queue.js.map +1 -0
  170. package/dist/ai/delegation/timeout-watchdog.d.ts +60 -0
  171. package/dist/ai/delegation/timeout-watchdog.d.ts.map +1 -0
  172. package/dist/ai/delegation/timeout-watchdog.js +100 -0
  173. package/dist/ai/delegation/timeout-watchdog.js.map +1 -0
  174. package/dist/ai/examples/integration-demo.d.ts +27 -0
  175. package/dist/ai/examples/integration-demo.d.ts.map +1 -0
  176. package/dist/ai/examples/integration-demo.js +536 -0
  177. package/dist/ai/examples/integration-demo.js.map +1 -0
  178. package/dist/ai/index.d.ts +25 -0
  179. package/dist/ai/index.d.ts.map +1 -1
  180. package/dist/ai/index.js +31 -11
  181. package/dist/ai/index.js.map +1 -1
  182. package/dist/ai/mcp/servers/analytics/index.js +67 -11
  183. package/dist/ai/mcp/servers/analytics/index.js.map +1 -1
  184. package/dist/ai/mcp/servers/content-manager/index.d.ts.map +1 -1
  185. package/dist/ai/mcp/servers/content-manager/index.js +50 -4
  186. package/dist/ai/mcp/servers/content-manager/index.js.map +1 -1
  187. package/dist/ai/mcp/servers/delegation-monitor/index.d.ts +36 -0
  188. package/dist/ai/mcp/servers/delegation-monitor/index.d.ts.map +1 -0
  189. package/dist/ai/mcp/servers/delegation-monitor/index.js +757 -0
  190. package/dist/ai/mcp/servers/delegation-monitor/index.js.map +1 -0
  191. package/dist/ai/mcp/servers/design-tokens/index.d.ts.map +1 -1
  192. package/dist/ai/mcp/servers/design-tokens/index.js +62 -39
  193. package/dist/ai/mcp/servers/design-tokens/index.js.map +1 -1
  194. package/dist/ai/mcp/servers/promptintel/index.js +15 -3
  195. package/dist/ai/mcp/servers/promptintel/index.js.map +1 -1
  196. package/dist/ai/mcp/servers/shared/rate-limiter.d.ts.map +1 -1
  197. package/dist/ai/mcp/servers/shared/rate-limiter.js +3 -1
  198. package/dist/ai/mcp/servers/shared/rate-limiter.js.map +1 -1
  199. package/dist/ai/mcp/servers/shared/redis-client.d.ts.map +1 -1
  200. package/dist/ai/mcp/servers/shared/redis-client.js +54 -47
  201. package/dist/ai/mcp/servers/shared/redis-client.js.map +1 -1
  202. package/dist/ai/mcp/servers/shared/types.d.ts +9 -0
  203. package/dist/ai/mcp/servers/shared/types.d.ts.map +1 -1
  204. package/dist/ai/mcp/servers/shared/utils.d.ts +9 -1
  205. package/dist/ai/mcp/servers/shared/utils.d.ts.map +1 -1
  206. package/dist/ai/mcp/servers/shared/utils.js +52 -2
  207. package/dist/ai/mcp/servers/shared/utils.js.map +1 -1
  208. package/dist/ai/memory/config.d.ts +18 -3
  209. package/dist/ai/memory/config.d.ts.map +1 -1
  210. package/dist/ai/memory/config.js +61 -15
  211. package/dist/ai/memory/config.js.map +1 -1
  212. package/dist/ai/memory/dcyfr-memory.d.ts +4 -0
  213. package/dist/ai/memory/dcyfr-memory.d.ts.map +1 -1
  214. package/dist/ai/memory/dcyfr-memory.js +44 -6
  215. package/dist/ai/memory/dcyfr-memory.js.map +1 -1
  216. package/dist/ai/memory/mem0-client.d.ts.map +1 -1
  217. package/dist/ai/memory/mem0-client.js +53 -14
  218. package/dist/ai/memory/mem0-client.js.map +1 -1
  219. package/dist/ai/permissions/attenuation-engine.d.ts +159 -0
  220. package/dist/ai/permissions/attenuation-engine.d.ts.map +1 -0
  221. package/dist/ai/permissions/attenuation-engine.js +511 -0
  222. package/dist/ai/permissions/attenuation-engine.js.map +1 -0
  223. package/dist/ai/plugins/plugin-loader.d.ts +4 -0
  224. package/dist/ai/plugins/plugin-loader.d.ts.map +1 -1
  225. package/dist/ai/plugins/plugin-loader.js +28 -28
  226. package/dist/ai/plugins/plugin-loader.js.map +1 -1
  227. package/dist/ai/reputation/execution-mode-reputation.d.ts +104 -0
  228. package/dist/ai/reputation/execution-mode-reputation.d.ts.map +1 -0
  229. package/dist/ai/reputation/execution-mode-reputation.js +142 -0
  230. package/dist/ai/reputation/execution-mode-reputation.js.map +1 -0
  231. package/dist/ai/reputation/reputation-engine.d.ts +204 -0
  232. package/dist/ai/reputation/reputation-engine.d.ts.map +1 -0
  233. package/dist/ai/reputation/reputation-engine.js +426 -0
  234. package/dist/ai/reputation/reputation-engine.js.map +1 -0
  235. package/dist/ai/runtime/agent-runtime.d.ts +193 -0
  236. package/dist/ai/runtime/agent-runtime.d.ts.map +1 -0
  237. package/dist/ai/runtime/agent-runtime.js +1009 -0
  238. package/dist/ai/runtime/agent-runtime.js.map +1 -0
  239. package/dist/ai/runtime/index.d.ts +11 -0
  240. package/dist/ai/runtime/index.d.ts.map +1 -0
  241. package/dist/ai/runtime/index.js +9 -0
  242. package/dist/ai/runtime/index.js.map +1 -0
  243. package/dist/ai/runtime/telemetry-schema.d.ts +192 -0
  244. package/dist/ai/runtime/telemetry-schema.d.ts.map +1 -0
  245. package/dist/ai/runtime/telemetry-schema.js +200 -0
  246. package/dist/ai/runtime/telemetry-schema.js.map +1 -0
  247. package/dist/ai/runtime/types.d.ts +236 -0
  248. package/dist/ai/runtime/types.d.ts.map +1 -0
  249. package/dist/ai/runtime/types.js +10 -0
  250. package/dist/ai/runtime/types.js.map +1 -0
  251. package/dist/ai/src/batch-processor.d.ts +298 -0
  252. package/dist/ai/src/batch-processor.d.ts.map +1 -0
  253. package/dist/ai/src/batch-processor.js +520 -0
  254. package/dist/ai/src/batch-processor.js.map +1 -0
  255. package/dist/ai/src/capability-bootstrap.d.ts +222 -0
  256. package/dist/ai/src/capability-bootstrap.d.ts.map +1 -0
  257. package/dist/ai/src/capability-bootstrap.js +421 -0
  258. package/dist/ai/src/capability-bootstrap.js.map +1 -0
  259. package/dist/ai/src/capability-manifest-generator.d.ts +52 -0
  260. package/dist/ai/src/capability-manifest-generator.d.ts.map +1 -0
  261. package/dist/ai/src/capability-manifest-generator.js +691 -0
  262. package/dist/ai/src/capability-manifest-generator.js.map +1 -0
  263. package/dist/ai/src/capability-registry.d.ts +157 -0
  264. package/dist/ai/src/capability-registry.d.ts.map +1 -0
  265. package/dist/ai/src/capability-registry.js +577 -0
  266. package/dist/ai/src/capability-registry.js.map +1 -0
  267. package/dist/ai/src/cli/telemetry-dashboard.d.ts +132 -0
  268. package/dist/ai/src/cli/telemetry-dashboard.d.ts.map +1 -0
  269. package/dist/ai/src/cli/telemetry-dashboard.js +565 -0
  270. package/dist/ai/src/cli/telemetry-dashboard.js.map +1 -0
  271. package/dist/ai/src/delegation/feature-flags.d.ts +213 -0
  272. package/dist/ai/src/delegation/feature-flags.d.ts.map +1 -0
  273. package/dist/ai/src/delegation/feature-flags.js +395 -0
  274. package/dist/ai/src/delegation/feature-flags.js.map +1 -0
  275. package/dist/ai/src/delegation/liability-firebreak.d.ts +303 -0
  276. package/dist/ai/src/delegation/liability-firebreak.d.ts.map +1 -0
  277. package/dist/ai/src/delegation/liability-firebreak.js +643 -0
  278. package/dist/ai/src/delegation/liability-firebreak.js.map +1 -0
  279. package/dist/ai/src/delegation/security-threat-model.d.ts +171 -0
  280. package/dist/ai/src/delegation/security-threat-model.d.ts.map +1 -0
  281. package/dist/ai/src/delegation/security-threat-model.js +723 -0
  282. package/dist/ai/src/delegation/security-threat-model.js.map +1 -0
  283. package/dist/ai/src/delegation/tlp-enforcement.d.ts +146 -0
  284. package/dist/ai/src/delegation/tlp-enforcement.d.ts.map +1 -0
  285. package/dist/ai/src/delegation/tlp-enforcement.js +382 -0
  286. package/dist/ai/src/delegation/tlp-enforcement.js.map +1 -0
  287. package/dist/ai/src/delegation-capability-integration.d.ts +154 -0
  288. package/dist/ai/src/delegation-capability-integration.d.ts.map +1 -0
  289. package/dist/ai/src/delegation-capability-integration.js +351 -0
  290. package/dist/ai/src/delegation-capability-integration.js.map +1 -0
  291. package/dist/ai/src/end-to-end-workflow-orchestrator.d.ts +325 -0
  292. package/dist/ai/src/end-to-end-workflow-orchestrator.d.ts.map +1 -0
  293. package/dist/ai/src/end-to-end-workflow-orchestrator.js +801 -0
  294. package/dist/ai/src/end-to-end-workflow-orchestrator.js.map +1 -0
  295. package/dist/ai/src/enhanced-capability-detection.d.ts +237 -0
  296. package/dist/ai/src/enhanced-capability-detection.d.ts.map +1 -0
  297. package/dist/ai/src/enhanced-capability-detection.js +448 -0
  298. package/dist/ai/src/enhanced-capability-detection.js.map +1 -0
  299. package/dist/ai/src/intelligent-cache-manager.d.ts +327 -0
  300. package/dist/ai/src/intelligent-cache-manager.d.ts.map +1 -0
  301. package/dist/ai/src/intelligent-cache-manager.js +634 -0
  302. package/dist/ai/src/intelligent-cache-manager.js.map +1 -0
  303. package/dist/ai/src/mcp-auto-configuration.d.ts +232 -0
  304. package/dist/ai/src/mcp-auto-configuration.d.ts.map +1 -0
  305. package/dist/ai/src/mcp-auto-configuration.js +445 -0
  306. package/dist/ai/src/mcp-auto-configuration.js.map +1 -0
  307. package/dist/ai/src/performance-profiler.d.ts +351 -0
  308. package/dist/ai/src/performance-profiler.d.ts.map +1 -0
  309. package/dist/ai/src/performance-profiler.js +475 -0
  310. package/dist/ai/src/performance-profiler.js.map +1 -0
  311. package/dist/ai/src/personas/hooks/before-llm-call.d.ts +96 -0
  312. package/dist/ai/src/personas/hooks/before-llm-call.d.ts.map +1 -0
  313. package/dist/ai/src/personas/hooks/before-llm-call.js +83 -0
  314. package/dist/ai/src/personas/hooks/before-llm-call.js.map +1 -0
  315. package/dist/ai/src/personas/index.d.ts +10 -0
  316. package/dist/ai/src/personas/index.d.ts.map +1 -0
  317. package/dist/ai/src/personas/index.js +10 -0
  318. package/dist/ai/src/personas/index.js.map +1 -0
  319. package/dist/ai/src/personas/persona-loader.d.ts +42 -0
  320. package/dist/ai/src/personas/persona-loader.d.ts.map +1 -0
  321. package/dist/ai/src/personas/persona-loader.js +162 -0
  322. package/dist/ai/src/personas/persona-loader.js.map +1 -0
  323. package/dist/ai/src/personas/types.d.ts +199 -0
  324. package/dist/ai/src/personas/types.d.ts.map +1 -0
  325. package/dist/ai/src/personas/types.js +7 -0
  326. package/dist/ai/src/personas/types.js.map +1 -0
  327. package/dist/ai/src/personas/voice-resolver.d.ts +40 -0
  328. package/dist/ai/src/personas/voice-resolver.d.ts.map +1 -0
  329. package/dist/ai/src/personas/voice-resolver.js +201 -0
  330. package/dist/ai/src/personas/voice-resolver.js.map +1 -0
  331. package/dist/ai/src/resource-monitor.d.ts +311 -0
  332. package/dist/ai/src/resource-monitor.d.ts.map +1 -0
  333. package/dist/ai/src/resource-monitor.js +475 -0
  334. package/dist/ai/src/resource-monitor.js.map +1 -0
  335. package/dist/ai/src/runtime/agent-runtime.d.ts +340 -0
  336. package/dist/ai/src/runtime/agent-runtime.d.ts.map +1 -0
  337. package/dist/ai/src/runtime/agent-runtime.js +1084 -0
  338. package/dist/ai/src/runtime/agent-runtime.js.map +1 -0
  339. package/dist/ai/src/telemetry/delegation-telemetry.d.ts +287 -0
  340. package/dist/ai/src/telemetry/delegation-telemetry.d.ts.map +1 -0
  341. package/dist/ai/src/telemetry/delegation-telemetry.js +389 -0
  342. package/dist/ai/src/telemetry/delegation-telemetry.js.map +1 -0
  343. package/dist/ai/src/telemetry/index.d.ts +48 -0
  344. package/dist/ai/src/telemetry/index.d.ts.map +1 -0
  345. package/dist/ai/src/telemetry/index.js +48 -0
  346. package/dist/ai/src/telemetry/index.js.map +1 -0
  347. package/dist/ai/src/telemetry/runtime-telemetry-integration.d.ts +67 -0
  348. package/dist/ai/src/telemetry/runtime-telemetry-integration.d.ts.map +1 -0
  349. package/dist/ai/src/telemetry/runtime-telemetry-integration.js +415 -0
  350. package/dist/ai/src/telemetry/runtime-telemetry-integration.js.map +1 -0
  351. package/dist/ai/src/telemetry/telemetry-utils.d.ts +119 -0
  352. package/dist/ai/src/telemetry/telemetry-utils.d.ts.map +1 -0
  353. package/dist/ai/src/telemetry/telemetry-utils.js +250 -0
  354. package/dist/ai/src/telemetry/telemetry-utils.js.map +1 -0
  355. package/dist/ai/src/types/agent-capabilities.d.ts +227 -0
  356. package/dist/ai/src/types/agent-capabilities.d.ts.map +1 -0
  357. package/dist/ai/src/types/agent-capabilities.js +11 -0
  358. package/dist/ai/src/types/agent-capabilities.js.map +1 -0
  359. package/dist/ai/src/types/context-verification.d.ts +158 -0
  360. package/dist/ai/src/types/context-verification.d.ts.map +1 -0
  361. package/dist/ai/src/types/context-verification.js +73 -0
  362. package/dist/ai/src/types/context-verification.js.map +1 -0
  363. package/dist/ai/src/types/delegation-contracts.d.ts +296 -0
  364. package/dist/ai/src/types/delegation-contracts.d.ts.map +1 -0
  365. package/dist/ai/src/types/delegation-contracts.js +17 -0
  366. package/dist/ai/src/types/delegation-contracts.js.map +1 -0
  367. package/dist/ai/src/validation-pipeline-integration.d.ts +266 -0
  368. package/dist/ai/src/validation-pipeline-integration.d.ts.map +1 -0
  369. package/dist/ai/src/validation-pipeline-integration.js +695 -0
  370. package/dist/ai/src/validation-pipeline-integration.js.map +1 -0
  371. package/dist/ai/src/verification/multi-modal-formatters.d.ts +57 -0
  372. package/dist/ai/src/verification/multi-modal-formatters.d.ts.map +1 -0
  373. package/dist/ai/src/verification/multi-modal-formatters.js +655 -0
  374. package/dist/ai/src/verification/multi-modal-formatters.js.map +1 -0
  375. package/dist/ai/src/verification/output-formatter.d.ts +186 -0
  376. package/dist/ai/src/verification/output-formatter.d.ts.map +1 -0
  377. package/dist/ai/src/verification/output-formatter.js +296 -0
  378. package/dist/ai/src/verification/output-formatter.js.map +1 -0
  379. package/dist/ai/src/verification/parser-integration.d.ts +137 -0
  380. package/dist/ai/src/verification/parser-integration.d.ts.map +1 -0
  381. package/dist/ai/src/verification/parser-integration.js +273 -0
  382. package/dist/ai/src/verification/parser-integration.js.map +1 -0
  383. package/dist/ai/types/agent-capabilities.d.ts +387 -0
  384. package/dist/ai/types/agent-capabilities.d.ts.map +1 -0
  385. package/dist/ai/types/agent-capabilities.js +32 -0
  386. package/dist/ai/types/agent-capabilities.js.map +1 -0
  387. package/dist/ai/types/delegation-contracts.d.ts +291 -0
  388. package/dist/ai/types/delegation-contracts.d.ts.map +1 -0
  389. package/dist/ai/types/delegation-contracts.js +14 -0
  390. package/dist/ai/types/delegation-contracts.js.map +1 -0
  391. package/dist/ai/types/index.d.ts +4 -1
  392. package/dist/ai/types/index.d.ts.map +1 -1
  393. package/dist/ai/types/index.js +4 -1
  394. package/dist/ai/types/index.js.map +1 -1
  395. package/dist/ai/types/permission-tokens.d.ts +365 -0
  396. package/dist/ai/types/permission-tokens.d.ts.map +1 -0
  397. package/dist/ai/types/permission-tokens.js +13 -0
  398. package/dist/ai/types/permission-tokens.js.map +1 -0
  399. package/dist/ai/types/security-middleware.d.ts +130 -0
  400. package/dist/ai/types/security-middleware.d.ts.map +1 -0
  401. package/dist/ai/types/security-middleware.js +13 -0
  402. package/dist/ai/types/security-middleware.js.map +1 -0
  403. package/dist/ai/utils/storage.d.ts.map +1 -1
  404. package/dist/ai/utils/storage.js +6 -3
  405. package/dist/ai/utils/storage.js.map +1 -1
  406. package/dist/ai/validation/validation-framework.js +1 -1
  407. package/dist/ai/verification/policy-framework.d.ts +161 -0
  408. package/dist/ai/verification/policy-framework.d.ts.map +1 -0
  409. package/dist/ai/verification/policy-framework.js +436 -0
  410. package/dist/ai/verification/policy-framework.js.map +1 -0
  411. package/package.json +35 -7
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Chain Depth + Fan-Out Middleware
3
+ * TLP:AMBER - Internal Use Only
4
+ *
5
+ * Enforces:
6
+ * 1. Maximum delegation chain depth (default: 5)
7
+ * 2. Maximum fan-out per delegator in a single session (default: 10)
8
+ *
9
+ * Both limits are configurable and gated by the `chain_tracking` feature flag.
10
+ *
11
+ * @module delegation/middleware/chain-depth-middleware
12
+ * @version 1.0.0
13
+ * @date 2026-02-24
14
+ */
15
+ import type { SecurityMiddleware, SecurityContext, SecurityVerdict, SecurityOperationType } from '../../types/security-middleware.js';
16
+ export interface ChainDepthMiddlewareOptions {
17
+ /** Maximum delegation chain depth before blocking (inclusive). Default: 5 */
18
+ maxDepth?: number;
19
+ /** Maximum direct delegations from one agent in one session. Default: 10 */
20
+ maxFanOut?: number;
21
+ }
22
+ export declare class ChainDepthMiddleware implements SecurityMiddleware {
23
+ readonly name = "chain-depth";
24
+ readonly featureFlag = "chain_tracking";
25
+ readonly appliesTo: SecurityOperationType[];
26
+ private readonly maxDepth;
27
+ private readonly maxFanOut;
28
+ /**
29
+ * Per-delegator fan-out counter: agent_id → count of active delegations
30
+ * Managed by contract-manager which calls `incrementFanOut` / `decrementFanOut`.
31
+ */
32
+ private readonly fanOutCounters;
33
+ constructor(options?: ChainDepthMiddlewareOptions);
34
+ evaluate(context: SecurityContext): Promise<SecurityVerdict>;
35
+ incrementFanOut(delegatorId: string): void;
36
+ decrementFanOut(delegatorId: string): void;
37
+ getFanOut(delegatorId: string): number;
38
+ }
39
+ //# sourceMappingURL=chain-depth-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-depth-middleware.d.ts","sourceRoot":"","sources":["../../../../packages/ai/delegation/middleware/chain-depth-middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEtI,MAAM,WAAW,2BAA2B;IAC1C,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,oBAAqB,YAAW,kBAAkB;IAC7D,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,oBAAoB;IACxC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,EAAE,CAAc;IAEzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;gBAEhD,OAAO,GAAE,2BAAgC;IAK/C,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAoClE,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAI1C,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAS1C,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAGvC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Chain Depth + Fan-Out Middleware
3
+ * TLP:AMBER - Internal Use Only
4
+ *
5
+ * Enforces:
6
+ * 1. Maximum delegation chain depth (default: 5)
7
+ * 2. Maximum fan-out per delegator in a single session (default: 10)
8
+ *
9
+ * Both limits are configurable and gated by the `chain_tracking` feature flag.
10
+ *
11
+ * @module delegation/middleware/chain-depth-middleware
12
+ * @version 1.0.0
13
+ * @date 2026-02-24
14
+ */
15
+ export class ChainDepthMiddleware {
16
+ name = 'chain-depth';
17
+ featureFlag = 'chain_tracking';
18
+ appliesTo = ['create'];
19
+ maxDepth;
20
+ maxFanOut;
21
+ /**
22
+ * Per-delegator fan-out counter: agent_id → count of active delegations
23
+ * Managed by contract-manager which calls `incrementFanOut` / `decrementFanOut`.
24
+ */
25
+ fanOutCounters = new Map();
26
+ constructor(options = {}) {
27
+ this.maxDepth = options.maxDepth ?? 5;
28
+ this.maxFanOut = options.maxFanOut ?? 10;
29
+ }
30
+ async evaluate(context) {
31
+ const depth = context.contract.delegation_depth ?? 0;
32
+ // Block if depth exceeds limit
33
+ if (depth > this.maxDepth) {
34
+ return {
35
+ action: 'block',
36
+ reason: `Delegation chain depth ${depth} exceeds maximum allowed depth of ${this.maxDepth}.`,
37
+ threat_type: 'chain_depth_exceeded',
38
+ severity: 'critical',
39
+ evidence: { depth, max_depth: this.maxDepth },
40
+ };
41
+ }
42
+ // Check fan-out for the delegating agent
43
+ const delegatorId = context.delegator_auth?.agent_id ?? context.contract.delegator?.agent_id;
44
+ if (delegatorId) {
45
+ const current = this.fanOutCounters.get(delegatorId) ?? 0;
46
+ if (current >= this.maxFanOut) {
47
+ return {
48
+ action: 'block',
49
+ reason: `Agent '${delegatorId}' has reached the fan-out limit of ${this.maxFanOut} concurrent delegations.`,
50
+ threat_type: 'fan_out_exceeded',
51
+ severity: 'high',
52
+ evidence: { delegator_id: delegatorId, current_fan_out: current, max_fan_out: this.maxFanOut },
53
+ };
54
+ }
55
+ }
56
+ return { action: 'allow' };
57
+ }
58
+ // ──────────────────────────────────────────────────────────────────────────
59
+ // Fan-out counter management (called by contract-manager lifecycle hooks)
60
+ // ──────────────────────────────────────────────────────────────────────────
61
+ incrementFanOut(delegatorId) {
62
+ this.fanOutCounters.set(delegatorId, (this.fanOutCounters.get(delegatorId) ?? 0) + 1);
63
+ }
64
+ decrementFanOut(delegatorId) {
65
+ const current = this.fanOutCounters.get(delegatorId) ?? 0;
66
+ if (current <= 1) {
67
+ this.fanOutCounters.delete(delegatorId);
68
+ }
69
+ else {
70
+ this.fanOutCounters.set(delegatorId, current - 1);
71
+ }
72
+ }
73
+ getFanOut(delegatorId) {
74
+ return this.fanOutCounters.get(delegatorId) ?? 0;
75
+ }
76
+ }
77
+ //# sourceMappingURL=chain-depth-middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-depth-middleware.js","sourceRoot":"","sources":["../../../../packages/ai/delegation/middleware/chain-depth-middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,MAAM,OAAO,oBAAoB;IACtB,IAAI,GAAG,aAAa,CAAC;IACrB,WAAW,GAAG,gBAAgB,CAAC;IAC/B,SAAS,GAA4B,CAAC,QAAQ,CAAC,CAAC;IAExC,QAAQ,CAAS;IACjB,SAAS,CAAS;IAEnC;;;OAGG;IACc,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5D,YAAY,UAAuC,EAAE;QACnD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAErD,+BAA+B;QAC/B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,0BAA0B,KAAK,qCAAqC,IAAI,CAAC,QAAQ,GAAG;gBAC5F,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE;aAC9C,CAAC;QACJ,CAAC;QAED,yCAAyC;QACzC,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC7F,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC9B,OAAO;oBACL,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,UAAU,WAAW,sCAAsC,IAAI,CAAC,SAAS,0BAA0B;oBAC3G,WAAW,EAAE,kBAAkB;oBAC/B,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE;iBAC/F,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,6EAA6E;IAC7E,0EAA0E;IAC1E,6EAA6E;IAE7E,eAAe,CAAC,WAAmB;QACjC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,eAAe,CAAC,WAAmB;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,SAAS,CAAC,WAAmB;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;CACF"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * DCYFR Chain Tracker Middleware
3
+ * TLP:CLEAR
4
+ *
5
+ * SecurityMiddleware that wraps DelegationChainTracker to enforce loop detection
6
+ * and delegation chain depth limits as an automatic guard during contract creation.
7
+ *
8
+ * @module delegation/middleware/chain-tracker-middleware
9
+ * @version 1.0.0
10
+ * @date 2026-02-24
11
+ */
12
+ import type { DelegationContract } from '../../types/delegation-contracts.js';
13
+ import type { SecurityMiddleware, SecurityContext, SecurityVerdict, SecurityOperationType } from '../../types/security-middleware.js';
14
+ /**
15
+ * Minimal contract provider interface required by DelegationChainTracker.
16
+ */
17
+ export interface ChainContractProvider {
18
+ getContract(contract_id: string): DelegationContract | null;
19
+ }
20
+ /**
21
+ * ChainTrackerMiddleware — loop detection and depth validation guard.
22
+ *
23
+ * This middleware fires only during contract CREATION (`appliesTo: ['create']`).
24
+ * Before the new contract is persisted it:
25
+ *
26
+ * 1. Builds the existing delegation chain from the `parent_contract_id` using
27
+ * `DelegationChainTracker.buildChain()`.
28
+ * 2. Blocks if the proposed delegatee (or delegator) is already present in the
29
+ * existing chain — indicating a loop.
30
+ * 3. Blocks if the resulting chain depth (parent depth + 1) would exceed
31
+ * `maxChainDepth`.
32
+ *
33
+ * Gate: `chain_tracking` feature flag.
34
+ */
35
+ export declare class ChainTrackerMiddleware implements SecurityMiddleware {
36
+ readonly name = "chain-tracker";
37
+ readonly featureFlag = "chain_tracking";
38
+ readonly appliesTo: SecurityOperationType[];
39
+ private readonly tracker;
40
+ private readonly maxChainDepth;
41
+ constructor(provider: ChainContractProvider, options?: {
42
+ maxChainDepth?: number;
43
+ });
44
+ evaluate(context: SecurityContext): Promise<SecurityVerdict>;
45
+ }
46
+ //# sourceMappingURL=chain-tracker-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-tracker-middleware.d.ts","sourceRoot":"","sources":["../../../../packages/ai/delegation/middleware/chain-tracker-middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,qBAAqB,EACtB,MAAM,oCAAoC,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAAC;CAC7D;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,WAAW,oBAAoB;IACxC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,EAAE,CAAc;IAEzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,QAAQ,EAAE,qBAAqB,EAAE,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAO;IAU/E,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;CAiDnE"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * DCYFR Chain Tracker Middleware
3
+ * TLP:CLEAR
4
+ *
5
+ * SecurityMiddleware that wraps DelegationChainTracker to enforce loop detection
6
+ * and delegation chain depth limits as an automatic guard during contract creation.
7
+ *
8
+ * @module delegation/middleware/chain-tracker-middleware
9
+ * @version 1.0.0
10
+ * @date 2026-02-24
11
+ */
12
+ import { DelegationChainTracker } from '../chain-tracker.js';
13
+ /**
14
+ * ChainTrackerMiddleware — loop detection and depth validation guard.
15
+ *
16
+ * This middleware fires only during contract CREATION (`appliesTo: ['create']`).
17
+ * Before the new contract is persisted it:
18
+ *
19
+ * 1. Builds the existing delegation chain from the `parent_contract_id` using
20
+ * `DelegationChainTracker.buildChain()`.
21
+ * 2. Blocks if the proposed delegatee (or delegator) is already present in the
22
+ * existing chain — indicating a loop.
23
+ * 3. Blocks if the resulting chain depth (parent depth + 1) would exceed
24
+ * `maxChainDepth`.
25
+ *
26
+ * Gate: `chain_tracking` feature flag.
27
+ */
28
+ export class ChainTrackerMiddleware {
29
+ name = 'chain-tracker';
30
+ featureFlag = 'chain_tracking';
31
+ appliesTo = ['create'];
32
+ tracker;
33
+ maxChainDepth;
34
+ constructor(provider, options = {}) {
35
+ this.maxChainDepth = options.maxChainDepth ?? 5;
36
+ // Cast the minimal provider to the full ContractManager type expected by chain-tracker.
37
+ // ChainTrackerMiddleware only needs getContract() — DelegationContractManager satisfies this.
38
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
39
+ this.tracker = new DelegationChainTracker(provider, {
40
+ maxChainDepth: this.maxChainDepth,
41
+ });
42
+ }
43
+ async evaluate(context) {
44
+ const parentContractId = context.contract.parent_contract_id;
45
+ // Root delegation — nothing to track against
46
+ if (!parentContractId) {
47
+ return { action: 'allow' };
48
+ }
49
+ let chain;
50
+ try {
51
+ chain = await this.tracker.buildChain(parentContractId);
52
+ }
53
+ catch {
54
+ // Parent contract not found — let downstream validation handle it
55
+ return { action: 'allow' };
56
+ }
57
+ // ── 1. Loop detection ──────────────────────────────────────────────────
58
+ // Only block on a genuine circular parent_contract_id reference.
59
+ // Agent-ID reuse at different chain levels is intentional (retries, sub-tasks)
60
+ // and must NOT be treated as a loop — post-hoc analyzeChain() handles that.
61
+ if (chain.has_loops) {
62
+ return {
63
+ action: 'block',
64
+ reason: `Delegation loop detected in existing chain (parent: ${parentContractId})`,
65
+ threat_type: 'chain_depth_exceeded',
66
+ severity: 'critical',
67
+ evidence: { parent_contract_id: parentContractId, chain_depth: chain.depth },
68
+ };
69
+ }
70
+ // ── 2. Depth validation ────────────────────────────────────────────────
71
+ const resultingDepth = chain.depth + 1;
72
+ if (resultingDepth > this.maxChainDepth) {
73
+ return {
74
+ action: 'block',
75
+ reason: `Chain depth ${resultingDepth} would exceed the limit of ${this.maxChainDepth}`,
76
+ threat_type: 'chain_depth_exceeded',
77
+ severity: 'critical',
78
+ evidence: {
79
+ parent_contract_id: parentContractId,
80
+ current_depth: chain.depth,
81
+ resulting_depth: resultingDepth,
82
+ max_chain_depth: this.maxChainDepth,
83
+ },
84
+ };
85
+ }
86
+ return { action: 'allow' };
87
+ }
88
+ }
89
+ //# sourceMappingURL=chain-tracker-middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-tracker-middleware.js","sourceRoot":"","sources":["../../../../packages/ai/delegation/middleware/chain-tracker-middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAgB7D;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,sBAAsB;IACxB,IAAI,GAAG,eAAe,CAAC;IACvB,WAAW,GAAG,gBAAgB,CAAC;IAC/B,SAAS,GAA4B,CAAC,QAAQ,CAAC,CAAC;IAExC,OAAO,CAAyB;IAChC,aAAa,CAAS;IAEvC,YAAY,QAA+B,EAAE,UAAsC,EAAE;QACnF,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;QAChD,wFAAwF;QACxF,8FAA8F;QAC9F,8DAA8D;QAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,sBAAsB,CAAC,QAA0B,EAAE;YACpE,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAE7D,6CAA6C;QAC7C,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC7B,CAAC;QAED,IAAI,KAAgE,CAAC;QACrE,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC7B,CAAC;QAED,0EAA0E;QAC1E,iEAAiE;QACjE,+EAA+E;QAC/E,4EAA4E;QAC5E,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,uDAAuD,gBAAgB,GAAG;gBAClF,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE;aAC7E,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QACvC,IAAI,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,eAAe,cAAc,8BAA8B,IAAI,CAAC,aAAa,EAAE;gBACvF,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE;oBACR,kBAAkB,EAAE,gBAAgB;oBACpC,aAAa,EAAE,KAAK,CAAC,KAAK;oBAC1B,eAAe,EAAE,cAAc;oBAC/B,eAAe,EAAE,IAAI,CAAC,aAAa;iBACpC;aACF,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Content Policy Middleware — task instruction sanitization
3
+ * TLP:AMBER - Internal Use Only
4
+ *
5
+ * Checks `context.task_content` for prompt-injection patterns and content-policy
6
+ * violations. Only fires when `content_security` feature flag is enabled and
7
+ * task_content is provided.
8
+ *
9
+ * @module delegation/middleware/content-policy-middleware
10
+ * @version 1.0.0
11
+ * @date 2026-02-24
12
+ */
13
+ import type { SecurityMiddleware, SecurityContext, SecurityVerdict } from '../../types/security-middleware.js';
14
+ /**
15
+ * Configurable content policy rules.
16
+ * Each rule is a named regex pattern that blocks or warns depending on severity.
17
+ */
18
+ export interface ContentRule {
19
+ name: string;
20
+ pattern: RegExp;
21
+ severity: 'block' | 'warn';
22
+ message: string;
23
+ }
24
+ export declare class ContentPolicyMiddleware implements SecurityMiddleware {
25
+ readonly name = "content-policy";
26
+ readonly featureFlag = "content_security";
27
+ private readonly rules;
28
+ constructor(rules?: ContentRule[]);
29
+ evaluate(context: SecurityContext): Promise<SecurityVerdict>;
30
+ }
31
+ //# sourceMappingURL=content-policy-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-policy-middleware.d.ts","sourceRoot":"","sources":["../../../../packages/ai/delegation/middleware/content-policy-middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAE/G;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAoCD,qBAAa,uBAAwB,YAAW,kBAAkB;IAChE,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,WAAW,sBAAsB;IAE1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;gBAE1B,KAAK,CAAC,EAAE,WAAW,EAAE;IAI3B,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;CA8BnE"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Content Policy Middleware — task instruction sanitization
3
+ * TLP:AMBER - Internal Use Only
4
+ *
5
+ * Checks `context.task_content` for prompt-injection patterns and content-policy
6
+ * violations. Only fires when `content_security` feature flag is enabled and
7
+ * task_content is provided.
8
+ *
9
+ * @module delegation/middleware/content-policy-middleware
10
+ * @version 1.0.0
11
+ * @date 2026-02-24
12
+ */
13
+ /** Default rules targeting common prompt injection vectors */
14
+ const DEFAULT_RULES = [
15
+ {
16
+ name: 'ignore_previous_instructions',
17
+ pattern: /ignore\s+(all\s+)?previous\s+(instructions|constraints|rules)/i,
18
+ severity: 'block',
19
+ message: 'Prompt injection attempt: ignore-previous-instructions pattern detected.',
20
+ },
21
+ {
22
+ name: 'system_override',
23
+ pattern: /\[SYSTEM[^\]]*\]|\[OVERRIDE\]|\[ADMIN\]|\[ROOT\]|SYSTEM\s*:\s*(override|disable|bypass)/i,
24
+ severity: 'block',
25
+ message: 'Prompt injection attempt: system-override tag detected.',
26
+ },
27
+ {
28
+ name: 'jailbreak_phrase',
29
+ pattern: /DAN mode|jailbreak|developer mode enabled/i,
30
+ severity: 'block',
31
+ message: 'Prompt injection attempt: known jailbreak phrase detected.',
32
+ },
33
+ {
34
+ name: 'exfiltrate_credentials',
35
+ pattern: /exfiltrate|steal\s+(api\s+)?key|dump\s+credentials/i,
36
+ severity: 'block',
37
+ message: 'Content policy violation: credential-exfiltration language detected.',
38
+ },
39
+ {
40
+ name: 'eval_execute_shell',
41
+ pattern: /\beval\s*\(|\bexec\s*\(|\bspawn\s*\(|subprocess\.run/i,
42
+ severity: 'warn',
43
+ message: 'Advisory: instruction contains execution-like language — review carefully.',
44
+ },
45
+ ];
46
+ export class ContentPolicyMiddleware {
47
+ name = 'content-policy';
48
+ featureFlag = 'content_security';
49
+ rules;
50
+ constructor(rules) {
51
+ this.rules = rules ?? DEFAULT_RULES;
52
+ }
53
+ async evaluate(context) {
54
+ const tc = context.task_content;
55
+ if (!tc)
56
+ return { action: 'allow' };
57
+ const target = [tc.instruction, tc.context].filter(Boolean).join('\n');
58
+ for (const rule of this.rules) {
59
+ if (rule.pattern.test(target)) {
60
+ if (rule.severity === 'block') {
61
+ return {
62
+ action: 'block',
63
+ reason: rule.message,
64
+ threat_type: 'content_policy_violation',
65
+ severity: 'high',
66
+ evidence: { rule: rule.name },
67
+ };
68
+ }
69
+ // warn — keep checking other rules
70
+ return {
71
+ action: 'warn',
72
+ reason: rule.message,
73
+ threat_type: 'content_policy_violation',
74
+ severity: 'medium',
75
+ evidence: { rule: rule.name },
76
+ };
77
+ }
78
+ }
79
+ return { action: 'allow' };
80
+ }
81
+ }
82
+ //# sourceMappingURL=content-policy-middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-policy-middleware.js","sourceRoot":"","sources":["../../../../packages/ai/delegation/middleware/content-policy-middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAeH,8DAA8D;AAC9D,MAAM,aAAa,GAAkB;IACnC;QACE,IAAI,EAAE,8BAA8B;QACpC,OAAO,EAAE,gEAAgE;QACzE,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,0EAA0E;KACpF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,0FAA0F;QACnG,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,yDAAyD;KACnE;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,4CAA4C;QACrD,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,4DAA4D;KACtE;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,qDAAqD;QAC9D,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,sEAAsE;KAChF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,uDAAuD;QAChE,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,4EAA4E;KACtF;CACF,CAAC;AAEF,MAAM,OAAO,uBAAuB;IACzB,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GAAG,kBAAkB,CAAC;IAEzB,KAAK,CAAgB;IAEtC,YAAY,KAAqB;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,aAAa,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;QAChC,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAEpC,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;oBAC9B,OAAO;wBACL,MAAM,EAAE,OAAO;wBACf,MAAM,EAAE,IAAI,CAAC,OAAO;wBACpB,WAAW,EAAE,0BAA0B;wBACvC,QAAQ,EAAE,MAAM;wBAChB,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;qBAC9B,CAAC;gBACJ,CAAC;gBACD,mCAAmC;gBACnC,OAAO;oBACL,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,IAAI,CAAC,OAAO;oBACpB,WAAW,EAAE,0BAA0B;oBACvC,QAAQ,EAAE,QAAQ;oBAClB,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;iBAC9B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * DCYFR Feature Flag Middleware
3
+ * TLP:CLEAR
4
+ *
5
+ * First-in-chain kill-switch middleware. Blocks all delegation operations when
6
+ * the `delegation_enabled` feature flag is disabled via FeatureFlagManager.
7
+ *
8
+ * Unlike other middleware this one intentionally has NO `featureFlag` property —
9
+ * it IS the gate and gating itself would be circular.
10
+ *
11
+ * @module delegation/middleware/feature-flag-middleware
12
+ * @version 1.0.0
13
+ * @date 2026-02-24
14
+ */
15
+ import { FeatureFlagManager } from '../feature-flags.js';
16
+ import type { SecurityMiddleware, SecurityContext, SecurityVerdict } from '../../types/security-middleware.js';
17
+ /**
18
+ * Thrown when delegation is attempted while the `delegation_enabled` flag is
19
+ * set to `false`. Extends Error so catch-blocks can distinguish it from other
20
+ * security rejections.
21
+ */
22
+ export declare class DelegationDisabledError extends Error {
23
+ constructor();
24
+ }
25
+ /**
26
+ * FeatureFlagMiddleware — master kill-switch for the delegation framework.
27
+ *
28
+ * Registers as the first middleware in every `SecurityMiddlewareChain` so that
29
+ * all downstream guards are skipped when delegation is administratively disabled.
30
+ *
31
+ * Usage:
32
+ * ```ts
33
+ * const chain = new SecurityMiddlewareChain();
34
+ * chain.use(new FeatureFlagMiddleware(flagManager)); // must come first
35
+ * chain.use(new IdentityMiddleware(agentRegistry));
36
+ * // …
37
+ * ```
38
+ */
39
+ export declare class FeatureFlagMiddleware implements SecurityMiddleware {
40
+ /** Unique name used in chain events and audit logs */
41
+ readonly name = "feature-flag";
42
+ private readonly flagManager;
43
+ constructor(flagManager: FeatureFlagManager);
44
+ evaluate(_context: SecurityContext): Promise<SecurityVerdict>;
45
+ }
46
+ //# sourceMappingURL=feature-flag-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-flag-middleware.d.ts","sourceRoot":"","sources":["../../../../packages/ai/delegation/middleware/feature-flag-middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAE5C;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;;CAKjD;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAsB,YAAW,kBAAkB;IAC9D,sDAAsD;IACtD,QAAQ,CAAC,IAAI,kBAAkB;IAK/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;gBAErC,WAAW,EAAE,kBAAkB;IAIrC,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;CASpE"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * DCYFR Feature Flag Middleware
3
+ * TLP:CLEAR
4
+ *
5
+ * First-in-chain kill-switch middleware. Blocks all delegation operations when
6
+ * the `delegation_enabled` feature flag is disabled via FeatureFlagManager.
7
+ *
8
+ * Unlike other middleware this one intentionally has NO `featureFlag` property —
9
+ * it IS the gate and gating itself would be circular.
10
+ *
11
+ * @module delegation/middleware/feature-flag-middleware
12
+ * @version 1.0.0
13
+ * @date 2026-02-24
14
+ */
15
+ /**
16
+ * Thrown when delegation is attempted while the `delegation_enabled` flag is
17
+ * set to `false`. Extends Error so catch-blocks can distinguish it from other
18
+ * security rejections.
19
+ */
20
+ export class DelegationDisabledError extends Error {
21
+ constructor() {
22
+ super('Delegation is disabled via feature flag (delegation_enabled=false)');
23
+ this.name = 'DelegationDisabledError';
24
+ }
25
+ }
26
+ /**
27
+ * FeatureFlagMiddleware — master kill-switch for the delegation framework.
28
+ *
29
+ * Registers as the first middleware in every `SecurityMiddlewareChain` so that
30
+ * all downstream guards are skipped when delegation is administratively disabled.
31
+ *
32
+ * Usage:
33
+ * ```ts
34
+ * const chain = new SecurityMiddlewareChain();
35
+ * chain.use(new FeatureFlagMiddleware(flagManager)); // must come first
36
+ * chain.use(new IdentityMiddleware(agentRegistry));
37
+ * // …
38
+ * ```
39
+ */
40
+ export class FeatureFlagMiddleware {
41
+ /** Unique name used in chain events and audit logs */
42
+ name = 'feature-flag';
43
+ // Intentionally NO `featureFlag` property — this is the kill-switch itself
44
+ // and must always execute regardless of feature-flag state.
45
+ flagManager;
46
+ constructor(flagManager) {
47
+ this.flagManager = flagManager;
48
+ }
49
+ async evaluate(_context) {
50
+ const evaluation = this.flagManager.isEnabled('delegation_enabled');
51
+ if (!evaluation.enabled) {
52
+ // Throw a typed error so unit tests can assert on `DelegationDisabledError`.
53
+ // The SecurityMiddlewareChain catches this and converts it to a 'block' verdict.
54
+ throw new DelegationDisabledError();
55
+ }
56
+ return { action: 'allow' };
57
+ }
58
+ }
59
+ //# sourceMappingURL=feature-flag-middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-flag-middleware.js","sourceRoot":"","sources":["../../../../packages/ai/delegation/middleware/feature-flag-middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AASH;;;;GAIG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD;QACE,KAAK,CAAC,oEAAoE,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,qBAAqB;IAChC,sDAAsD;IAC7C,IAAI,GAAG,cAAc,CAAC;IAE/B,2EAA2E;IAC3E,4DAA4D;IAE3C,WAAW,CAAqB;IAEjD,YAAY,WAA+B;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAyB;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,6EAA6E;YAC7E,iFAAiF;YACjF,MAAM,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Identity Middleware — HMAC-SHA256 token verification
3
+ * TLP:AMBER - Internal Use Only
4
+ *
5
+ * Verifies that delegator and delegatee have valid auth tokens before allowing
6
+ * a delegation operation. When the `identity_auth` feature flag is disabled
7
+ * (default in legacy environments) the middleware is a no-op pass-through.
8
+ *
9
+ * @module delegation/middleware/identity-middleware
10
+ * @version 1.0.0
11
+ * @date 2026-02-24
12
+ */
13
+ import type { SecurityMiddleware, SecurityContext, SecurityVerdict } from '../../types/security-middleware.js';
14
+ import { AgentRegistry } from '../agent-registry.js';
15
+ export declare class IdentityMiddleware implements SecurityMiddleware {
16
+ private readonly registry;
17
+ readonly name = "identity";
18
+ readonly featureFlag = "identity_auth";
19
+ constructor(registry: AgentRegistry);
20
+ evaluate(context: SecurityContext): Promise<SecurityVerdict>;
21
+ private verify;
22
+ }
23
+ //# sourceMappingURL=identity-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-middleware.d.ts","sourceRoot":"","sources":["../../../../packages/ai/delegation/middleware/identity-middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC/G,OAAO,EACL,aAAa,EAId,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,kBAAmB,YAAW,kBAAkB;IAI/C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAHrC,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,WAAW,mBAAmB;gBAEV,QAAQ,EAAE,aAAa;IAE9C,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IA0BlE,OAAO,CAAC,MAAM;CAoBf"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Identity Middleware — HMAC-SHA256 token verification
3
+ * TLP:AMBER - Internal Use Only
4
+ *
5
+ * Verifies that delegator and delegatee have valid auth tokens before allowing
6
+ * a delegation operation. When the `identity_auth` feature flag is disabled
7
+ * (default in legacy environments) the middleware is a no-op pass-through.
8
+ *
9
+ * @module delegation/middleware/identity-middleware
10
+ * @version 1.0.0
11
+ * @date 2026-02-24
12
+ */
13
+ import { AuthenticationFailedError, AuthenticationExpiredError, AgentNotFoundError, } from '../agent-registry.js';
14
+ export class IdentityMiddleware {
15
+ registry;
16
+ name = 'identity';
17
+ featureFlag = 'identity_auth';
18
+ constructor(registry) {
19
+ this.registry = registry;
20
+ }
21
+ async evaluate(context) {
22
+ const errors = [];
23
+ // Verify delegator if auth fields are present
24
+ if (context.delegator_auth) {
25
+ const err = this.verify(context.delegator_auth, 'delegator');
26
+ if (err)
27
+ errors.push(err);
28
+ }
29
+ // Verify delegatee if auth fields are present
30
+ if (context.delegatee_auth) {
31
+ const err = this.verify(context.delegatee_auth, 'delegatee');
32
+ if (err)
33
+ errors.push(err);
34
+ }
35
+ if (errors.length === 0)
36
+ return { action: 'allow' };
37
+ return {
38
+ action: 'block',
39
+ reason: `Identity verification failed: ${errors.join('; ')}`,
40
+ threat_type: 'identity_failure',
41
+ severity: 'critical',
42
+ evidence: { errors },
43
+ };
44
+ }
45
+ verify(agent, role) {
46
+ if (!agent.auth_token || !agent.auth_timestamp || !agent.key_id) {
47
+ return `${role} '${agent.agent_id}' is missing auth credentials`;
48
+ }
49
+ try {
50
+ this.registry.verifyToken(agent.auth_token, agent.agent_id, agent.auth_timestamp, agent.key_id);
51
+ return null;
52
+ }
53
+ catch (err) {
54
+ if (err instanceof AuthenticationExpiredError) {
55
+ return `${role} token expired for '${agent.agent_id}'`;
56
+ }
57
+ if (err instanceof AuthenticationFailedError || err instanceof AgentNotFoundError) {
58
+ return `${role} auth failed for '${agent.agent_id}': ${err.message}`;
59
+ }
60
+ return `${role} auth error for '${agent.agent_id}': ${err.message}`;
61
+ }
62
+ }
63
+ }
64
+ //# sourceMappingURL=identity-middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-middleware.js","sourceRoot":"","sources":["../../../../packages/ai/delegation/middleware/identity-middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAEL,yBAAyB,EACzB,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,OAAO,kBAAkB;IAIA;IAHpB,IAAI,GAAG,UAAU,CAAC;IAClB,WAAW,GAAG,eAAe,CAAC;IAEvC,YAA6B,QAAuB;QAAvB,aAAQ,GAAR,QAAQ,CAAe;IAAG,CAAC;IAExD,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,8CAA8C;QAC9C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC7D,IAAI,GAAG;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QAED,8CAA8C;QAC9C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC7D,IAAI,GAAG;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAEpD,OAAO;YACL,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,iCAAiC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC5D,WAAW,EAAE,kBAAkB;YAC/B,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,EAAE,MAAM,EAAE;SACrB,CAAC;IACJ,CAAC;IAEO,MAAM,CACZ,KAA0F,EAC1F,IAAY;QAEZ,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAChE,OAAO,GAAG,IAAI,KAAK,KAAK,CAAC,QAAQ,+BAA+B,CAAC;QACnE,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAChG,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,0BAA0B,EAAE,CAAC;gBAC9C,OAAO,GAAG,IAAI,uBAAuB,KAAK,CAAC,QAAQ,GAAG,CAAC;YACzD,CAAC;YACD,IAAI,GAAG,YAAY,yBAAyB,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;gBAClF,OAAO,GAAG,IAAI,qBAAqB,KAAK,CAAC,QAAQ,MAAO,GAAa,CAAC,OAAO,EAAE,CAAC;YAClF,CAAC;YACD,OAAO,GAAG,IAAI,oBAAoB,KAAK,CAAC,QAAQ,MAAO,GAAa,CAAC,OAAO,EAAE,CAAC;QACjF,CAAC;IACH,CAAC;CACF"}