@llm-dev-ops/agentics-cli 1.4.32 → 1.4.34

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 (400) hide show
  1. package/dist/agents/repo-agent-runner.d.ts +10 -0
  2. package/dist/agents/repo-agent-runner.d.ts.map +1 -1
  3. package/dist/agents/repo-agent-runner.js +264 -11
  4. package/dist/agents/repo-agent-runner.js.map +1 -1
  5. package/dist/bundled-agents/analytics-hub-agents/package-lock.json +154 -174
  6. package/dist/bundled-agents/auto-optimizer-agents/package-lock.json +9226 -0
  7. package/dist/bundled-agents/benchmark-exchange-agents/package-lock.json +16 -0
  8. package/dist/bundled-agents/copilot-agents/functions/package-lock.json +5473 -0
  9. package/dist/bundled-agents/copilot-agents/functions/src/claude.ts +71 -0
  10. package/dist/bundled-agents/copilot-agents/package-lock.json +11825 -0
  11. package/dist/bundled-agents/incident-manager-agents/functions/src/claude.ts +71 -0
  12. package/dist/bundled-agents/incident-manager-agents/package-lock.json +48 -3
  13. package/dist/bundled-agents/inference-gateway-agents/package-lock.json +0 -3
  14. package/dist/bundled-agents/latency-lens-agents/package-lock.json +11825 -0
  15. package/dist/bundled-agents/memory-graph-agents/package-lock.json +1 -3
  16. package/dist/bundled-agents/observatory-agents/package-lock.json +1710 -0
  17. package/dist/bundled-agents/orchestrator-agents/package-lock.json +13254 -0
  18. package/dist/bundled-agents/policy-engine-agents/dist/agents/approval-routing/agent.d.ts +144 -0
  19. package/dist/bundled-agents/policy-engine-agents/dist/agents/approval-routing/agent.d.ts.map +1 -0
  20. package/dist/bundled-agents/policy-engine-agents/dist/agents/approval-routing/agent.js +730 -0
  21. package/dist/bundled-agents/policy-engine-agents/dist/agents/approval-routing/agent.js.map +1 -0
  22. package/dist/bundled-agents/policy-engine-agents/dist/agents/approval-routing/handler.d.ts +57 -0
  23. package/dist/bundled-agents/policy-engine-agents/dist/agents/approval-routing/handler.d.ts.map +1 -0
  24. package/dist/bundled-agents/policy-engine-agents/dist/agents/approval-routing/handler.js +286 -0
  25. package/dist/bundled-agents/policy-engine-agents/dist/agents/approval-routing/handler.js.map +1 -0
  26. package/dist/bundled-agents/policy-engine-agents/dist/agents/approval-routing/index.d.ts +5 -0
  27. package/dist/bundled-agents/policy-engine-agents/dist/agents/approval-routing/index.d.ts.map +1 -0
  28. package/dist/bundled-agents/policy-engine-agents/dist/agents/approval-routing/index.js +21 -0
  29. package/dist/bundled-agents/policy-engine-agents/dist/agents/approval-routing/index.js.map +1 -0
  30. package/dist/bundled-agents/policy-engine-agents/dist/agents/constraint-solver/agent.d.ts +106 -0
  31. package/dist/bundled-agents/policy-engine-agents/dist/agents/constraint-solver/agent.d.ts.map +1 -0
  32. package/dist/bundled-agents/policy-engine-agents/dist/agents/constraint-solver/agent.js +552 -0
  33. package/dist/bundled-agents/policy-engine-agents/dist/agents/constraint-solver/agent.js.map +1 -0
  34. package/dist/bundled-agents/policy-engine-agents/dist/agents/constraint-solver/handler.d.ts +51 -0
  35. package/dist/bundled-agents/policy-engine-agents/dist/agents/constraint-solver/handler.d.ts.map +1 -0
  36. package/dist/bundled-agents/policy-engine-agents/dist/agents/constraint-solver/handler.js +209 -0
  37. package/dist/bundled-agents/policy-engine-agents/dist/agents/constraint-solver/handler.js.map +1 -0
  38. package/dist/bundled-agents/policy-engine-agents/dist/agents/constraint-solver/index.d.ts +8 -0
  39. package/dist/bundled-agents/policy-engine-agents/dist/agents/constraint-solver/index.d.ts.map +1 -0
  40. package/dist/bundled-agents/policy-engine-agents/dist/agents/constraint-solver/index.js +20 -0
  41. package/dist/bundled-agents/policy-engine-agents/dist/agents/constraint-solver/index.js.map +1 -0
  42. package/dist/bundled-agents/policy-engine-agents/dist/agents/contracts/approval-routing.d.ts +246 -0
  43. package/dist/bundled-agents/policy-engine-agents/dist/agents/contracts/approval-routing.d.ts.map +1 -0
  44. package/dist/bundled-agents/policy-engine-agents/dist/agents/contracts/approval-routing.js +15 -0
  45. package/dist/bundled-agents/policy-engine-agents/dist/agents/contracts/approval-routing.js.map +1 -0
  46. package/dist/bundled-agents/policy-engine-agents/dist/agents/contracts/constraint-solver.d.ts +131 -0
  47. package/dist/bundled-agents/policy-engine-agents/dist/agents/contracts/constraint-solver.d.ts.map +1 -0
  48. package/dist/bundled-agents/policy-engine-agents/dist/agents/contracts/constraint-solver.js +15 -0
  49. package/dist/bundled-agents/policy-engine-agents/dist/agents/contracts/constraint-solver.js.map +1 -0
  50. package/dist/bundled-agents/policy-engine-agents/dist/agents/contracts/decision-event.d.ts +207 -0
  51. package/dist/bundled-agents/policy-engine-agents/dist/agents/contracts/decision-event.d.ts.map +1 -0
  52. package/dist/bundled-agents/policy-engine-agents/dist/agents/contracts/decision-event.js +14 -0
  53. package/dist/bundled-agents/policy-engine-agents/dist/agents/contracts/decision-event.js.map +1 -0
  54. package/dist/bundled-agents/policy-engine-agents/dist/agents/contracts/index.d.ts +11 -0
  55. package/dist/bundled-agents/policy-engine-agents/dist/agents/contracts/index.d.ts.map +1 -0
  56. package/dist/bundled-agents/policy-engine-agents/dist/agents/contracts/index.js +27 -0
  57. package/dist/bundled-agents/policy-engine-agents/dist/agents/contracts/index.js.map +1 -0
  58. package/dist/bundled-agents/policy-engine-agents/dist/agents/index.d.ts +13 -0
  59. package/dist/bundled-agents/policy-engine-agents/dist/agents/index.d.ts.map +1 -0
  60. package/dist/bundled-agents/policy-engine-agents/dist/agents/index.js +52 -0
  61. package/dist/bundled-agents/policy-engine-agents/dist/agents/index.js.map +1 -0
  62. package/dist/bundled-agents/policy-engine-agents/dist/agents/policy-enforcement/agent.d.ts +97 -0
  63. package/dist/bundled-agents/policy-engine-agents/dist/agents/policy-enforcement/agent.d.ts.map +1 -0
  64. package/dist/bundled-agents/policy-engine-agents/dist/agents/policy-enforcement/agent.js +521 -0
  65. package/dist/bundled-agents/policy-engine-agents/dist/agents/policy-enforcement/agent.js.map +1 -0
  66. package/dist/bundled-agents/policy-engine-agents/dist/agents/policy-enforcement/handler.d.ts +52 -0
  67. package/dist/bundled-agents/policy-engine-agents/dist/agents/policy-enforcement/handler.d.ts.map +1 -0
  68. package/dist/bundled-agents/policy-engine-agents/dist/agents/policy-enforcement/handler.js +216 -0
  69. package/dist/bundled-agents/policy-engine-agents/dist/agents/policy-enforcement/handler.js.map +1 -0
  70. package/dist/bundled-agents/policy-engine-agents/dist/agents/policy-enforcement/index.d.ts +8 -0
  71. package/dist/bundled-agents/policy-engine-agents/dist/agents/policy-enforcement/index.d.ts.map +1 -0
  72. package/dist/bundled-agents/policy-engine-agents/dist/agents/policy-enforcement/index.js +24 -0
  73. package/dist/bundled-agents/policy-engine-agents/dist/agents/policy-enforcement/index.js.map +1 -0
  74. package/dist/bundled-agents/policy-engine-agents/dist/api/middleware/auth.d.ts +39 -0
  75. package/dist/bundled-agents/policy-engine-agents/dist/api/middleware/auth.d.ts.map +1 -0
  76. package/dist/bundled-agents/policy-engine-agents/dist/api/middleware/auth.js +194 -0
  77. package/dist/bundled-agents/policy-engine-agents/dist/api/middleware/auth.js.map +1 -0
  78. package/dist/bundled-agents/policy-engine-agents/dist/api/middleware/error-handler.d.ts +22 -0
  79. package/dist/bundled-agents/policy-engine-agents/dist/api/middleware/error-handler.d.ts.map +1 -0
  80. package/dist/bundled-agents/policy-engine-agents/dist/api/middleware/error-handler.js +124 -0
  81. package/dist/bundled-agents/policy-engine-agents/dist/api/middleware/error-handler.js.map +1 -0
  82. package/dist/bundled-agents/policy-engine-agents/dist/api/middleware/rate-limit.d.ts +40 -0
  83. package/dist/bundled-agents/policy-engine-agents/dist/api/middleware/rate-limit.d.ts.map +1 -0
  84. package/dist/bundled-agents/policy-engine-agents/dist/api/middleware/rate-limit.js +154 -0
  85. package/dist/bundled-agents/policy-engine-agents/dist/api/middleware/rate-limit.js.map +1 -0
  86. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/agents.d.ts +3 -0
  87. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/agents.d.ts.map +1 -0
  88. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/agents.js +111 -0
  89. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/agents.js.map +1 -0
  90. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/approval-routing.d.ts +3 -0
  91. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/approval-routing.d.ts.map +1 -0
  92. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/approval-routing.js +135 -0
  93. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/approval-routing.js.map +1 -0
  94. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/constraint-solver.d.ts +3 -0
  95. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/constraint-solver.d.ts.map +1 -0
  96. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/constraint-solver.js +51 -0
  97. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/constraint-solver.js.map +1 -0
  98. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/evaluations.d.ts +3 -0
  99. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/evaluations.d.ts.map +1 -0
  100. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/evaluations.js +311 -0
  101. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/evaluations.js.map +1 -0
  102. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/internal-evaluate.d.ts +3 -0
  103. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/internal-evaluate.d.ts.map +1 -0
  104. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/internal-evaluate.js +133 -0
  105. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/internal-evaluate.js.map +1 -0
  106. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/policies.d.ts +3 -0
  107. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/policies.d.ts.map +1 -0
  108. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/policies.js +602 -0
  109. package/dist/bundled-agents/policy-engine-agents/dist/api/routes/policies.js.map +1 -0
  110. package/dist/bundled-agents/policy-engine-agents/dist/api/server.d.ts +8 -0
  111. package/dist/bundled-agents/policy-engine-agents/dist/api/server.d.ts.map +1 -0
  112. package/dist/bundled-agents/policy-engine-agents/dist/api/server.js +195 -0
  113. package/dist/bundled-agents/policy-engine-agents/dist/api/server.js.map +1 -0
  114. package/dist/bundled-agents/policy-engine-agents/dist/cache/cache-manager.d.ts +77 -0
  115. package/dist/bundled-agents/policy-engine-agents/dist/cache/cache-manager.d.ts.map +1 -0
  116. package/dist/bundled-agents/policy-engine-agents/dist/cache/cache-manager.js +254 -0
  117. package/dist/bundled-agents/policy-engine-agents/dist/cache/cache-manager.js.map +1 -0
  118. package/dist/bundled-agents/policy-engine-agents/dist/cache/l1/memory-cache.d.ts +68 -0
  119. package/dist/bundled-agents/policy-engine-agents/dist/cache/l1/memory-cache.d.ts.map +1 -0
  120. package/dist/bundled-agents/policy-engine-agents/dist/cache/l1/memory-cache.js +170 -0
  121. package/dist/bundled-agents/policy-engine-agents/dist/cache/l1/memory-cache.js.map +1 -0
  122. package/dist/bundled-agents/policy-engine-agents/dist/cache/l2/redis-cache.d.ts +71 -0
  123. package/dist/bundled-agents/policy-engine-agents/dist/cache/l2/redis-cache.d.ts.map +1 -0
  124. package/dist/bundled-agents/policy-engine-agents/dist/cache/l2/redis-cache.js +260 -0
  125. package/dist/bundled-agents/policy-engine-agents/dist/cache/l2/redis-cache.js.map +1 -0
  126. package/dist/bundled-agents/policy-engine-agents/dist/cli/index.d.ts +3 -0
  127. package/dist/bundled-agents/policy-engine-agents/dist/cli/index.d.ts.map +1 -0
  128. package/dist/bundled-agents/policy-engine-agents/dist/cli/index.js +794 -0
  129. package/dist/bundled-agents/policy-engine-agents/dist/cli/index.js.map +1 -0
  130. package/dist/bundled-agents/policy-engine-agents/dist/commands/agent.d.ts +46 -0
  131. package/dist/bundled-agents/policy-engine-agents/dist/commands/agent.d.ts.map +1 -0
  132. package/dist/bundled-agents/policy-engine-agents/dist/commands/agent.js +278 -0
  133. package/dist/bundled-agents/policy-engine-agents/dist/commands/agent.js.map +1 -0
  134. package/dist/bundled-agents/policy-engine-agents/dist/commands/approval-routing.d.ts +69 -0
  135. package/dist/bundled-agents/policy-engine-agents/dist/commands/approval-routing.d.ts.map +1 -0
  136. package/dist/bundled-agents/policy-engine-agents/dist/commands/approval-routing.js +425 -0
  137. package/dist/bundled-agents/policy-engine-agents/dist/commands/approval-routing.js.map +1 -0
  138. package/dist/bundled-agents/policy-engine-agents/dist/commands/index.d.ts +21 -0
  139. package/dist/bundled-agents/policy-engine-agents/dist/commands/index.d.ts.map +1 -0
  140. package/dist/bundled-agents/policy-engine-agents/dist/commands/index.js +50 -0
  141. package/dist/bundled-agents/policy-engine-agents/dist/commands/index.js.map +1 -0
  142. package/dist/bundled-agents/policy-engine-agents/dist/commands/policy.d.ts +65 -0
  143. package/dist/bundled-agents/policy-engine-agents/dist/commands/policy.d.ts.map +1 -0
  144. package/dist/bundled-agents/policy-engine-agents/dist/commands/policy.js +330 -0
  145. package/dist/bundled-agents/policy-engine-agents/dist/commands/policy.js.map +1 -0
  146. package/dist/bundled-agents/policy-engine-agents/dist/core/engine/policy-engine.d.ts +45 -0
  147. package/dist/bundled-agents/policy-engine-agents/dist/core/engine/policy-engine.d.ts.map +1 -0
  148. package/dist/bundled-agents/policy-engine-agents/dist/core/engine/policy-engine.js +210 -0
  149. package/dist/bundled-agents/policy-engine-agents/dist/core/engine/policy-engine.js.map +1 -0
  150. package/dist/bundled-agents/policy-engine-agents/dist/core/evaluator/condition-evaluator.d.ts +64 -0
  151. package/dist/bundled-agents/policy-engine-agents/dist/core/evaluator/condition-evaluator.d.ts.map +1 -0
  152. package/dist/bundled-agents/policy-engine-agents/dist/core/evaluator/condition-evaluator.js +190 -0
  153. package/dist/bundled-agents/policy-engine-agents/dist/core/evaluator/condition-evaluator.js.map +1 -0
  154. package/dist/bundled-agents/policy-engine-agents/dist/core/index.d.ts +13 -0
  155. package/dist/bundled-agents/policy-engine-agents/dist/core/index.d.ts.map +1 -0
  156. package/dist/bundled-agents/policy-engine-agents/dist/core/index.js +29 -0
  157. package/dist/bundled-agents/policy-engine-agents/dist/core/index.js.map +1 -0
  158. package/dist/bundled-agents/policy-engine-agents/dist/core/parser/index.d.ts +17 -0
  159. package/dist/bundled-agents/policy-engine-agents/dist/core/parser/index.d.ts.map +1 -0
  160. package/dist/bundled-agents/policy-engine-agents/dist/core/parser/index.js +65 -0
  161. package/dist/bundled-agents/policy-engine-agents/dist/core/parser/index.js.map +1 -0
  162. package/dist/bundled-agents/policy-engine-agents/dist/core/parser/json-parser.d.ts +9 -0
  163. package/dist/bundled-agents/policy-engine-agents/dist/core/parser/json-parser.d.ts.map +1 -0
  164. package/dist/bundled-agents/policy-engine-agents/dist/core/parser/json-parser.js +65 -0
  165. package/dist/bundled-agents/policy-engine-agents/dist/core/parser/json-parser.js.map +1 -0
  166. package/dist/bundled-agents/policy-engine-agents/dist/core/parser/yaml-parser.d.ts +6 -0
  167. package/dist/bundled-agents/policy-engine-agents/dist/core/parser/yaml-parser.d.ts.map +1 -0
  168. package/dist/bundled-agents/policy-engine-agents/dist/core/parser/yaml-parser.js +69 -0
  169. package/dist/bundled-agents/policy-engine-agents/dist/core/parser/yaml-parser.js.map +1 -0
  170. package/dist/bundled-agents/policy-engine-agents/dist/core/primitives/cost-calculator.d.ts +52 -0
  171. package/dist/bundled-agents/policy-engine-agents/dist/core/primitives/cost-calculator.d.ts.map +1 -0
  172. package/dist/bundled-agents/policy-engine-agents/dist/core/primitives/cost-calculator.js +169 -0
  173. package/dist/bundled-agents/policy-engine-agents/dist/core/primitives/cost-calculator.js.map +1 -0
  174. package/dist/bundled-agents/policy-engine-agents/dist/core/primitives/index.d.ts +7 -0
  175. package/dist/bundled-agents/policy-engine-agents/dist/core/primitives/index.d.ts.map +1 -0
  176. package/dist/bundled-agents/policy-engine-agents/dist/core/primitives/index.js +23 -0
  177. package/dist/bundled-agents/policy-engine-agents/dist/core/primitives/index.js.map +1 -0
  178. package/dist/bundled-agents/policy-engine-agents/dist/core/primitives/pii-detector.d.ts +43 -0
  179. package/dist/bundled-agents/policy-engine-agents/dist/core/primitives/pii-detector.d.ts.map +1 -0
  180. package/dist/bundled-agents/policy-engine-agents/dist/core/primitives/pii-detector.js +137 -0
  181. package/dist/bundled-agents/policy-engine-agents/dist/core/primitives/pii-detector.js.map +1 -0
  182. package/dist/bundled-agents/policy-engine-agents/dist/core/primitives/token-counter.d.ts +32 -0
  183. package/dist/bundled-agents/policy-engine-agents/dist/core/primitives/token-counter.d.ts.map +1 -0
  184. package/dist/bundled-agents/policy-engine-agents/dist/core/primitives/token-counter.js +90 -0
  185. package/dist/bundled-agents/policy-engine-agents/dist/core/primitives/token-counter.js.map +1 -0
  186. package/dist/bundled-agents/policy-engine-agents/dist/core/validator/schema-validator.d.ts +10 -0
  187. package/dist/bundled-agents/policy-engine-agents/dist/core/validator/schema-validator.d.ts.map +1 -0
  188. package/dist/bundled-agents/policy-engine-agents/dist/core/validator/schema-validator.js +106 -0
  189. package/dist/bundled-agents/policy-engine-agents/dist/core/validator/schema-validator.js.map +1 -0
  190. package/dist/bundled-agents/policy-engine-agents/dist/db/client.d.ts +32 -0
  191. package/dist/bundled-agents/policy-engine-agents/dist/db/client.d.ts.map +1 -0
  192. package/dist/bundled-agents/policy-engine-agents/dist/db/client.js +108 -0
  193. package/dist/bundled-agents/policy-engine-agents/dist/db/client.js.map +1 -0
  194. package/dist/bundled-agents/policy-engine-agents/dist/db/migrate.d.ts +45 -0
  195. package/dist/bundled-agents/policy-engine-agents/dist/db/migrate.d.ts.map +1 -0
  196. package/dist/bundled-agents/policy-engine-agents/dist/db/migrate.js +407 -0
  197. package/dist/bundled-agents/policy-engine-agents/dist/db/migrate.js.map +1 -0
  198. package/dist/bundled-agents/policy-engine-agents/dist/db/models/api-key-repository.d.ts +85 -0
  199. package/dist/bundled-agents/policy-engine-agents/dist/db/models/api-key-repository.d.ts.map +1 -0
  200. package/dist/bundled-agents/policy-engine-agents/dist/db/models/api-key-repository.js +248 -0
  201. package/dist/bundled-agents/policy-engine-agents/dist/db/models/api-key-repository.js.map +1 -0
  202. package/dist/bundled-agents/policy-engine-agents/dist/db/models/evaluation-repository.d.ts +65 -0
  203. package/dist/bundled-agents/policy-engine-agents/dist/db/models/evaluation-repository.d.ts.map +1 -0
  204. package/dist/bundled-agents/policy-engine-agents/dist/db/models/evaluation-repository.js +192 -0
  205. package/dist/bundled-agents/policy-engine-agents/dist/db/models/evaluation-repository.js.map +1 -0
  206. package/dist/bundled-agents/policy-engine-agents/dist/db/models/policy-repository.d.ts +32 -0
  207. package/dist/bundled-agents/policy-engine-agents/dist/db/models/policy-repository.d.ts.map +1 -0
  208. package/dist/bundled-agents/policy-engine-agents/dist/db/models/policy-repository.js +163 -0
  209. package/dist/bundled-agents/policy-engine-agents/dist/db/models/policy-repository.js.map +1 -0
  210. package/dist/bundled-agents/policy-engine-agents/dist/execution/context.d.ts +28 -0
  211. package/dist/bundled-agents/policy-engine-agents/dist/execution/context.d.ts.map +1 -0
  212. package/dist/bundled-agents/policy-engine-agents/dist/execution/context.js +46 -0
  213. package/dist/bundled-agents/policy-engine-agents/dist/execution/context.js.map +1 -0
  214. package/dist/bundled-agents/policy-engine-agents/dist/execution/errors.d.ts +21 -0
  215. package/dist/bundled-agents/policy-engine-agents/dist/execution/errors.d.ts.map +1 -0
  216. package/dist/bundled-agents/policy-engine-agents/dist/execution/errors.js +32 -0
  217. package/dist/bundled-agents/policy-engine-agents/dist/execution/errors.js.map +1 -0
  218. package/dist/bundled-agents/policy-engine-agents/dist/execution/executor.d.ts +45 -0
  219. package/dist/bundled-agents/policy-engine-agents/dist/execution/executor.d.ts.map +1 -0
  220. package/dist/bundled-agents/policy-engine-agents/dist/execution/executor.js +96 -0
  221. package/dist/bundled-agents/policy-engine-agents/dist/execution/executor.js.map +1 -0
  222. package/dist/bundled-agents/policy-engine-agents/dist/execution/index.d.ts +21 -0
  223. package/dist/bundled-agents/policy-engine-agents/dist/execution/index.d.ts.map +1 -0
  224. package/dist/bundled-agents/policy-engine-agents/dist/execution/index.js +40 -0
  225. package/dist/bundled-agents/policy-engine-agents/dist/execution/index.js.map +1 -0
  226. package/dist/bundled-agents/policy-engine-agents/dist/execution/middleware.d.ts +22 -0
  227. package/dist/bundled-agents/policy-engine-agents/dist/execution/middleware.d.ts.map +1 -0
  228. package/dist/bundled-agents/policy-engine-agents/dist/execution/middleware.js +49 -0
  229. package/dist/bundled-agents/policy-engine-agents/dist/execution/middleware.js.map +1 -0
  230. package/dist/bundled-agents/policy-engine-agents/dist/execution/spans.d.ts +34 -0
  231. package/dist/bundled-agents/policy-engine-agents/dist/execution/spans.d.ts.map +1 -0
  232. package/dist/bundled-agents/policy-engine-agents/dist/execution/spans.js +82 -0
  233. package/dist/bundled-agents/policy-engine-agents/dist/execution/spans.js.map +1 -0
  234. package/dist/bundled-agents/policy-engine-agents/dist/execution/types.d.ts +86 -0
  235. package/dist/bundled-agents/policy-engine-agents/dist/execution/types.d.ts.map +1 -0
  236. package/dist/bundled-agents/policy-engine-agents/dist/execution/types.js +10 -0
  237. package/dist/bundled-agents/policy-engine-agents/dist/execution/types.js.map +1 -0
  238. package/dist/bundled-agents/policy-engine-agents/dist/functions/handler.d.ts +2 -0
  239. package/dist/bundled-agents/policy-engine-agents/dist/functions/handler.d.ts.map +1 -0
  240. package/dist/bundled-agents/policy-engine-agents/dist/functions/handler.js +207 -0
  241. package/dist/bundled-agents/policy-engine-agents/dist/functions/handler.js.map +1 -0
  242. package/dist/bundled-agents/policy-engine-agents/dist/governance/contracts/governance-signals.d.ts +234 -0
  243. package/dist/bundled-agents/policy-engine-agents/dist/governance/contracts/governance-signals.d.ts.map +1 -0
  244. package/dist/bundled-agents/policy-engine-agents/dist/governance/contracts/governance-signals.js +40 -0
  245. package/dist/bundled-agents/policy-engine-agents/dist/governance/contracts/governance-signals.js.map +1 -0
  246. package/dist/bundled-agents/policy-engine-agents/dist/governance/contracts/index.d.ts +5 -0
  247. package/dist/bundled-agents/policy-engine-agents/dist/governance/contracts/index.d.ts.map +1 -0
  248. package/dist/bundled-agents/policy-engine-agents/dist/governance/contracts/index.js +21 -0
  249. package/dist/bundled-agents/policy-engine-agents/dist/governance/contracts/index.js.map +1 -0
  250. package/dist/bundled-agents/policy-engine-agents/dist/governance/emitters/governance-signal-emitter.d.ts +137 -0
  251. package/dist/bundled-agents/policy-engine-agents/dist/governance/emitters/governance-signal-emitter.d.ts.map +1 -0
  252. package/dist/bundled-agents/policy-engine-agents/dist/governance/emitters/governance-signal-emitter.js +342 -0
  253. package/dist/bundled-agents/policy-engine-agents/dist/governance/emitters/governance-signal-emitter.js.map +1 -0
  254. package/dist/bundled-agents/policy-engine-agents/dist/governance/emitters/index.d.ts +5 -0
  255. package/dist/bundled-agents/policy-engine-agents/dist/governance/emitters/index.d.ts.map +1 -0
  256. package/dist/bundled-agents/policy-engine-agents/dist/governance/emitters/index.js +10 -0
  257. package/dist/bundled-agents/policy-engine-agents/dist/governance/emitters/index.js.map +1 -0
  258. package/dist/bundled-agents/policy-engine-agents/dist/governance/index.d.ts +49 -0
  259. package/dist/bundled-agents/policy-engine-agents/dist/governance/index.d.ts.map +1 -0
  260. package/dist/bundled-agents/policy-engine-agents/dist/governance/index.js +91 -0
  261. package/dist/bundled-agents/policy-engine-agents/dist/governance/index.js.map +1 -0
  262. package/dist/bundled-agents/policy-engine-agents/dist/grpc/server.d.ts +8 -0
  263. package/dist/bundled-agents/policy-engine-agents/dist/grpc/server.d.ts.map +1 -0
  264. package/dist/bundled-agents/policy-engine-agents/dist/grpc/server.js +137 -0
  265. package/dist/bundled-agents/policy-engine-agents/dist/grpc/server.js.map +1 -0
  266. package/dist/bundled-agents/policy-engine-agents/dist/grpc/services/policy-service.d.ts +47 -0
  267. package/dist/bundled-agents/policy-engine-agents/dist/grpc/services/policy-service.d.ts.map +1 -0
  268. package/dist/bundled-agents/policy-engine-agents/dist/grpc/services/policy-service.js +353 -0
  269. package/dist/bundled-agents/policy-engine-agents/dist/grpc/services/policy-service.js.map +1 -0
  270. package/dist/bundled-agents/policy-engine-agents/dist/index.d.ts +56 -0
  271. package/dist/bundled-agents/policy-engine-agents/dist/index.d.ts.map +1 -0
  272. package/dist/bundled-agents/policy-engine-agents/dist/index.js +130 -0
  273. package/dist/bundled-agents/policy-engine-agents/dist/index.js.map +1 -0
  274. package/dist/bundled-agents/policy-engine-agents/dist/integrations/config-manager/client.d.ts +115 -0
  275. package/dist/bundled-agents/policy-engine-agents/dist/integrations/config-manager/client.d.ts.map +1 -0
  276. package/dist/bundled-agents/policy-engine-agents/dist/integrations/config-manager/client.js +256 -0
  277. package/dist/bundled-agents/policy-engine-agents/dist/integrations/config-manager/client.js.map +1 -0
  278. package/dist/bundled-agents/policy-engine-agents/dist/integrations/config-manager/index.d.ts +6 -0
  279. package/dist/bundled-agents/policy-engine-agents/dist/integrations/config-manager/index.d.ts.map +1 -0
  280. package/dist/bundled-agents/policy-engine-agents/dist/integrations/config-manager/index.js +22 -0
  281. package/dist/bundled-agents/policy-engine-agents/dist/integrations/config-manager/index.js.map +1 -0
  282. package/dist/bundled-agents/policy-engine-agents/dist/integrations/costops/client.d.ts +69 -0
  283. package/dist/bundled-agents/policy-engine-agents/dist/integrations/costops/client.d.ts.map +1 -0
  284. package/dist/bundled-agents/policy-engine-agents/dist/integrations/costops/client.js +179 -0
  285. package/dist/bundled-agents/policy-engine-agents/dist/integrations/costops/client.js.map +1 -0
  286. package/dist/bundled-agents/policy-engine-agents/dist/integrations/edge/client.d.ts +57 -0
  287. package/dist/bundled-agents/policy-engine-agents/dist/integrations/edge/client.d.ts.map +1 -0
  288. package/dist/bundled-agents/policy-engine-agents/dist/integrations/edge/client.js +191 -0
  289. package/dist/bundled-agents/policy-engine-agents/dist/integrations/edge/client.js.map +1 -0
  290. package/dist/bundled-agents/policy-engine-agents/dist/integrations/governance/client.d.ts +63 -0
  291. package/dist/bundled-agents/policy-engine-agents/dist/integrations/governance/client.d.ts.map +1 -0
  292. package/dist/bundled-agents/policy-engine-agents/dist/integrations/governance/client.js +163 -0
  293. package/dist/bundled-agents/policy-engine-agents/dist/integrations/governance/client.js.map +1 -0
  294. package/dist/bundled-agents/policy-engine-agents/dist/integrations/observatory/client.d.ts +174 -0
  295. package/dist/bundled-agents/policy-engine-agents/dist/integrations/observatory/client.d.ts.map +1 -0
  296. package/dist/bundled-agents/policy-engine-agents/dist/integrations/observatory/client.js +243 -0
  297. package/dist/bundled-agents/policy-engine-agents/dist/integrations/observatory/client.js.map +1 -0
  298. package/dist/bundled-agents/policy-engine-agents/dist/integrations/observatory/index.d.ts +6 -0
  299. package/dist/bundled-agents/policy-engine-agents/dist/integrations/observatory/index.d.ts.map +1 -0
  300. package/dist/bundled-agents/policy-engine-agents/dist/integrations/observatory/index.js +22 -0
  301. package/dist/bundled-agents/policy-engine-agents/dist/integrations/observatory/index.js.map +1 -0
  302. package/dist/bundled-agents/policy-engine-agents/dist/integrations/ruvector-service/client.d.ts +164 -0
  303. package/dist/bundled-agents/policy-engine-agents/dist/integrations/ruvector-service/client.d.ts.map +1 -0
  304. package/dist/bundled-agents/policy-engine-agents/dist/integrations/ruvector-service/client.js +293 -0
  305. package/dist/bundled-agents/policy-engine-agents/dist/integrations/ruvector-service/client.js.map +1 -0
  306. package/dist/bundled-agents/policy-engine-agents/dist/integrations/ruvector-service/index.d.ts +7 -0
  307. package/dist/bundled-agents/policy-engine-agents/dist/integrations/ruvector-service/index.d.ts.map +1 -0
  308. package/dist/bundled-agents/policy-engine-agents/dist/integrations/ruvector-service/index.js +23 -0
  309. package/dist/bundled-agents/policy-engine-agents/dist/integrations/ruvector-service/index.js.map +1 -0
  310. package/dist/bundled-agents/policy-engine-agents/dist/integrations/schema-registry/client.d.ts +94 -0
  311. package/dist/bundled-agents/policy-engine-agents/dist/integrations/schema-registry/client.d.ts.map +1 -0
  312. package/dist/bundled-agents/policy-engine-agents/dist/integrations/schema-registry/client.js +174 -0
  313. package/dist/bundled-agents/policy-engine-agents/dist/integrations/schema-registry/client.js.map +1 -0
  314. package/dist/bundled-agents/policy-engine-agents/dist/integrations/schema-registry/index.d.ts +6 -0
  315. package/dist/bundled-agents/policy-engine-agents/dist/integrations/schema-registry/index.d.ts.map +1 -0
  316. package/dist/bundled-agents/policy-engine-agents/dist/integrations/schema-registry/index.js +22 -0
  317. package/dist/bundled-agents/policy-engine-agents/dist/integrations/schema-registry/index.js.map +1 -0
  318. package/dist/bundled-agents/policy-engine-agents/dist/integrations/shield/client.d.ts +40 -0
  319. package/dist/bundled-agents/policy-engine-agents/dist/integrations/shield/client.d.ts.map +1 -0
  320. package/dist/bundled-agents/policy-engine-agents/dist/integrations/shield/client.js +125 -0
  321. package/dist/bundled-agents/policy-engine-agents/dist/integrations/shield/client.js.map +1 -0
  322. package/dist/bundled-agents/policy-engine-agents/dist/observability/metrics.d.ts +66 -0
  323. package/dist/bundled-agents/policy-engine-agents/dist/observability/metrics.d.ts.map +1 -0
  324. package/dist/bundled-agents/policy-engine-agents/dist/observability/metrics.js +197 -0
  325. package/dist/bundled-agents/policy-engine-agents/dist/observability/metrics.js.map +1 -0
  326. package/dist/bundled-agents/policy-engine-agents/dist/observability/tracing.d.ts +52 -0
  327. package/dist/bundled-agents/policy-engine-agents/dist/observability/tracing.d.ts.map +1 -0
  328. package/dist/bundled-agents/policy-engine-agents/dist/observability/tracing.js +219 -0
  329. package/dist/bundled-agents/policy-engine-agents/dist/observability/tracing.js.map +1 -0
  330. package/dist/bundled-agents/policy-engine-agents/dist/security/agentics-identity.d.ts +69 -0
  331. package/dist/bundled-agents/policy-engine-agents/dist/security/agentics-identity.d.ts.map +1 -0
  332. package/dist/bundled-agents/policy-engine-agents/dist/security/agentics-identity.js +280 -0
  333. package/dist/bundled-agents/policy-engine-agents/dist/security/agentics-identity.js.map +1 -0
  334. package/dist/bundled-agents/policy-engine-agents/dist/security/audit-trail.d.ts +82 -0
  335. package/dist/bundled-agents/policy-engine-agents/dist/security/audit-trail.d.ts.map +1 -0
  336. package/dist/bundled-agents/policy-engine-agents/dist/security/audit-trail.js +234 -0
  337. package/dist/bundled-agents/policy-engine-agents/dist/security/audit-trail.js.map +1 -0
  338. package/dist/bundled-agents/policy-engine-agents/dist/security/index.d.ts +18 -0
  339. package/dist/bundled-agents/policy-engine-agents/dist/security/index.d.ts.map +1 -0
  340. package/dist/bundled-agents/policy-engine-agents/dist/security/index.js +71 -0
  341. package/dist/bundled-agents/policy-engine-agents/dist/security/index.js.map +1 -0
  342. package/dist/bundled-agents/policy-engine-agents/dist/security/metrics.d.ts +96 -0
  343. package/dist/bundled-agents/policy-engine-agents/dist/security/metrics.d.ts.map +1 -0
  344. package/dist/bundled-agents/policy-engine-agents/dist/security/metrics.js +189 -0
  345. package/dist/bundled-agents/policy-engine-agents/dist/security/metrics.js.map +1 -0
  346. package/dist/bundled-agents/policy-engine-agents/dist/security/policy-governance.d.ts +69 -0
  347. package/dist/bundled-agents/policy-engine-agents/dist/security/policy-governance.d.ts.map +1 -0
  348. package/dist/bundled-agents/policy-engine-agents/dist/security/policy-governance.js +327 -0
  349. package/dist/bundled-agents/policy-engine-agents/dist/security/policy-governance.js.map +1 -0
  350. package/dist/bundled-agents/policy-engine-agents/dist/security/rate-limiter.d.ts +40 -0
  351. package/dist/bundled-agents/policy-engine-agents/dist/security/rate-limiter.d.ts.map +1 -0
  352. package/dist/bundled-agents/policy-engine-agents/dist/security/rate-limiter.js +147 -0
  353. package/dist/bundled-agents/policy-engine-agents/dist/security/rate-limiter.js.map +1 -0
  354. package/dist/bundled-agents/policy-engine-agents/dist/security/versioned-policy-repository.d.ts +70 -0
  355. package/dist/bundled-agents/policy-engine-agents/dist/security/versioned-policy-repository.d.ts.map +1 -0
  356. package/dist/bundled-agents/policy-engine-agents/dist/security/versioned-policy-repository.js +336 -0
  357. package/dist/bundled-agents/policy-engine-agents/dist/security/versioned-policy-repository.js.map +1 -0
  358. package/dist/bundled-agents/policy-engine-agents/dist/synthesis/builder.d.ts +80 -0
  359. package/dist/bundled-agents/policy-engine-agents/dist/synthesis/builder.d.ts.map +1 -0
  360. package/dist/bundled-agents/policy-engine-agents/dist/synthesis/builder.js +756 -0
  361. package/dist/bundled-agents/policy-engine-agents/dist/synthesis/builder.js.map +1 -0
  362. package/dist/bundled-agents/policy-engine-agents/dist/synthesis/index.d.ts +7 -0
  363. package/dist/bundled-agents/policy-engine-agents/dist/synthesis/index.d.ts.map +1 -0
  364. package/dist/bundled-agents/policy-engine-agents/dist/synthesis/index.js +23 -0
  365. package/dist/bundled-agents/policy-engine-agents/dist/synthesis/index.js.map +1 -0
  366. package/dist/bundled-agents/policy-engine-agents/dist/synthesis/types.d.ts +162 -0
  367. package/dist/bundled-agents/policy-engine-agents/dist/synthesis/types.d.ts.map +1 -0
  368. package/dist/bundled-agents/policy-engine-agents/dist/synthesis/types.js +7 -0
  369. package/dist/bundled-agents/policy-engine-agents/dist/synthesis/types.js.map +1 -0
  370. package/dist/bundled-agents/policy-engine-agents/dist/test/setup.d.ts +15 -0
  371. package/dist/bundled-agents/policy-engine-agents/dist/test/setup.d.ts.map +1 -0
  372. package/dist/bundled-agents/policy-engine-agents/dist/test/setup.js +138 -0
  373. package/dist/bundled-agents/policy-engine-agents/dist/test/setup.js.map +1 -0
  374. package/dist/bundled-agents/policy-engine-agents/dist/types/config.d.ts +69 -0
  375. package/dist/bundled-agents/policy-engine-agents/dist/types/config.d.ts.map +1 -0
  376. package/dist/bundled-agents/policy-engine-agents/dist/types/config.js +6 -0
  377. package/dist/bundled-agents/policy-engine-agents/dist/types/config.js.map +1 -0
  378. package/dist/bundled-agents/policy-engine-agents/dist/types/policy.d.ts +152 -0
  379. package/dist/bundled-agents/policy-engine-agents/dist/types/policy.d.ts.map +1 -0
  380. package/dist/bundled-agents/policy-engine-agents/dist/types/policy.js +38 -0
  381. package/dist/bundled-agents/policy-engine-agents/dist/types/policy.js.map +1 -0
  382. package/dist/bundled-agents/policy-engine-agents/dist/utils/config.d.ts +4 -0
  383. package/dist/bundled-agents/policy-engine-agents/dist/utils/config.d.ts.map +1 -0
  384. package/dist/bundled-agents/policy-engine-agents/dist/utils/config.js +71 -0
  385. package/dist/bundled-agents/policy-engine-agents/dist/utils/config.js.map +1 -0
  386. package/dist/bundled-agents/policy-engine-agents/dist/utils/errors.d.ts +37 -0
  387. package/dist/bundled-agents/policy-engine-agents/dist/utils/errors.d.ts.map +1 -0
  388. package/dist/bundled-agents/policy-engine-agents/dist/utils/errors.js +84 -0
  389. package/dist/bundled-agents/policy-engine-agents/dist/utils/errors.js.map +1 -0
  390. package/dist/bundled-agents/policy-engine-agents/dist/utils/logger.d.ts +8 -0
  391. package/dist/bundled-agents/policy-engine-agents/dist/utils/logger.d.ts.map +1 -0
  392. package/dist/bundled-agents/policy-engine-agents/dist/utils/logger.js +36 -0
  393. package/dist/bundled-agents/policy-engine-agents/dist/utils/logger.js.map +1 -0
  394. package/dist/bundled-agents/policy-engine-agents/package-lock.json +15388 -0
  395. package/dist/bundled-agents/registry-agents/functions/src/claude.ts +71 -0
  396. package/dist/bundled-agents/schema-registry-agents/package-lock.json +3 -0
  397. package/dist/bundled-agents/sentinel-agents/package-lock.json +2 -438
  398. package/dist/bundled-agents/simulator-agents/package-lock.json +0 -428
  399. package/dist/bundled-agents/test-bench-agents/package-lock.json +0 -3
  400. package/package.json +1 -1
@@ -0,0 +1,730 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ApprovalRoutingAgent = exports.DECISION_TYPE = exports.AGENT_VERSION = exports.AGENT_ID = void 0;
7
+ /**
8
+ * Approval Routing Agent
9
+ *
10
+ * CLASSIFICATION: APPROVAL GATING
11
+ *
12
+ * PURPOSE:
13
+ * Determine required approval paths for policy-gated actions. Routes
14
+ * approval requests to appropriate approvers based on configured rules.
15
+ *
16
+ * SCOPE:
17
+ * - Evaluate approval rules against action context
18
+ * - Determine required approvers
19
+ * - Build approval chains for multi-step workflows
20
+ * - Handle escalation paths
21
+ * - Check auto-approval conditions
22
+ *
23
+ * DECISION_TYPE: "approval_routing_decision"
24
+ *
25
+ * NON-RESPONSIBILITIES (MUST NOT):
26
+ * - Execute approval workflows
27
+ * - Send notifications directly
28
+ * - Store approval state
29
+ * - Modify approval rules at runtime
30
+ * - Access user management systems directly
31
+ * - Connect directly to databases
32
+ * - Execute SQL queries
33
+ * - Track approval progress
34
+ *
35
+ * This agent follows the LLM-Policy-Engine Agent Infrastructure Constitution.
36
+ */
37
+ const crypto_1 = require("crypto");
38
+ const uuid_1 = require("uuid");
39
+ const ruvector_service_1 = require("../../integrations/ruvector-service");
40
+ const observatory_1 = require("../../integrations/observatory");
41
+ const logger_1 = __importDefault(require("@utils/logger"));
42
+ const config_1 = require("@utils/config");
43
+ /**
44
+ * Agent metadata constants
45
+ */
46
+ exports.AGENT_ID = 'approval-routing-agent';
47
+ exports.AGENT_VERSION = '1.0.0';
48
+ exports.DECISION_TYPE = 'approval_routing_decision';
49
+ /**
50
+ * Default approval rules (loaded from configuration in production)
51
+ */
52
+ const DEFAULT_RULES = [
53
+ {
54
+ rule_id: 'high-value-model-access',
55
+ rule_name: 'High-Value Model Access',
56
+ description: 'Requires approval for access to premium LLM models',
57
+ condition: {
58
+ match: [
59
+ { field: 'resource_type', operator: 'equals', value: 'model' },
60
+ { field: 'details.tier', operator: 'equals', value: 'premium' },
61
+ ],
62
+ operator: 'all',
63
+ },
64
+ required_approvers: 1,
65
+ approver_pool: [],
66
+ timeout_seconds: 3600,
67
+ escalation_config: {
68
+ enabled: true,
69
+ levels: [],
70
+ max_escalations: 2,
71
+ final_action: 'deny',
72
+ },
73
+ priority: 100,
74
+ active: true,
75
+ },
76
+ ];
77
+ /**
78
+ * Approval Routing Agent
79
+ *
80
+ * Stateless agent that evaluates approval requirements and produces
81
+ * ApprovalDecisionEvents.
82
+ */
83
+ class ApprovalRoutingAgent {
84
+ rules;
85
+ environment;
86
+ constructor(rules = DEFAULT_RULES) {
87
+ this.rules = rules;
88
+ this.environment = config_1.config.environment || 'development';
89
+ }
90
+ /**
91
+ * Load approval rules
92
+ */
93
+ loadRules(rules) {
94
+ this.rules = rules;
95
+ }
96
+ /**
97
+ * Add a single rule
98
+ */
99
+ addRule(rule) {
100
+ this.rules.push(rule);
101
+ }
102
+ /**
103
+ * PRIMARY ENTRY POINT: Evaluate approval requirements
104
+ *
105
+ * This method:
106
+ * 1. Validates inputs
107
+ * 2. Evaluates approval rules
108
+ * 3. Determines required approvers
109
+ * 4. Builds approval chain
110
+ * 5. Calculates confidence
111
+ * 6. Emits exactly ONE ApprovalDecisionEvent to ruvector-service
112
+ * 7. Emits telemetry to Observatory
113
+ * 8. Returns deterministic, machine-readable output
114
+ */
115
+ async evaluate(input) {
116
+ const startTime = performance.now();
117
+ const eventId = (0, uuid_1.v4)();
118
+ const traceId = (0, uuid_1.v4)();
119
+ logger_1.default.info({ eventId, requestId: input.request_id, traceId }, 'Approval Routing Agent: Starting evaluation');
120
+ try {
121
+ // Find matching rules
122
+ const matchedRules = this.findMatchingRules(input);
123
+ // Determine routing outcome
124
+ const output = this.buildRoutingOutput(input, matchedRules, startTime);
125
+ // Calculate confidence score
126
+ const confidence = this.calculateConfidence(matchedRules, output);
127
+ // Create inputs hash for deduplication
128
+ const inputsHash = this.hashInputs(input);
129
+ // Build DecisionEvent
130
+ const decisionEvent = {
131
+ event_id: eventId,
132
+ agent_id: exports.AGENT_ID,
133
+ agent_version: exports.AGENT_VERSION,
134
+ decision_type: exports.DECISION_TYPE,
135
+ inputs_hash: inputsHash,
136
+ outputs: output,
137
+ confidence,
138
+ rules_applied: matchedRules,
139
+ execution_ref: {
140
+ request_id: input.request_id,
141
+ trace_id: traceId,
142
+ span_id: (0, uuid_1.v4)(),
143
+ environment: this.environment,
144
+ },
145
+ timestamp: new Date().toISOString(),
146
+ metadata: {
147
+ cached: false,
148
+ engine_version: exports.AGENT_VERSION,
149
+ mode: input.dry_run ? 'dry-run' : 'real-time',
150
+ source: 'approval-routing-agent',
151
+ sla_tier: input.priority || 'normal',
152
+ },
153
+ };
154
+ // Persist DecisionEvent to ruvector-service (async, non-blocking)
155
+ this.persistDecisionEvent(decisionEvent).catch((error) => {
156
+ logger_1.default.error({ error, eventId }, 'Failed to persist ApprovalDecisionEvent');
157
+ });
158
+ // Emit telemetry to Observatory (async, non-blocking)
159
+ this.emitTelemetry(decisionEvent, startTime).catch((error) => {
160
+ logger_1.default.error({ error, eventId }, 'Failed to emit telemetry');
161
+ });
162
+ logger_1.default.info({
163
+ eventId,
164
+ decision: output.decision,
165
+ requiredApprovers: output.required_approvers.length,
166
+ chainSteps: output.approval_chain.length,
167
+ confidence,
168
+ evaluationTimeMs: output.evaluation_time_ms,
169
+ }, 'Approval Routing Agent: Evaluation completed');
170
+ return decisionEvent;
171
+ }
172
+ catch (error) {
173
+ // On failure, still emit a DecisionEvent with error state
174
+ const errorEvent = this.createErrorDecisionEvent(eventId, input, error, startTime);
175
+ this.persistDecisionEvent(errorEvent).catch((persistError) => {
176
+ logger_1.default.error({ persistError, eventId }, 'Failed to persist error DecisionEvent');
177
+ });
178
+ throw error;
179
+ }
180
+ }
181
+ /**
182
+ * ROUTE: Determine approval routing for an action
183
+ */
184
+ async route(input) {
185
+ return this.evaluate(input);
186
+ }
187
+ /**
188
+ * RESOLVE: Resolve approval conflicts
189
+ */
190
+ async resolve(input) {
191
+ // Resolution uses the same evaluation logic but may add trace info
192
+ return this.evaluate({ ...input, trace: true });
193
+ }
194
+ /**
195
+ * Get approval status for a request
196
+ * @param requestId - The approval request ID to look up
197
+ */
198
+ async getStatus(requestId) {
199
+ // In production, this would query ruvector-service
200
+ logger_1.default.info({ requestId }, 'Getting approval status');
201
+ return null;
202
+ }
203
+ /**
204
+ * Find rules that match the input
205
+ */
206
+ findMatchingRules(input) {
207
+ const matched = [];
208
+ for (const rule of this.rules) {
209
+ if (!rule.active)
210
+ continue;
211
+ // Check if rule IDs filter is specified
212
+ if (input.approval_rules && !input.approval_rules.includes(rule.rule_id)) {
213
+ continue;
214
+ }
215
+ // Evaluate rule conditions
216
+ if (this.evaluateRuleConditions(rule, input)) {
217
+ matched.push(rule);
218
+ }
219
+ }
220
+ // Sort by priority (higher priority first)
221
+ return matched.sort((a, b) => b.priority - a.priority);
222
+ }
223
+ /**
224
+ * Evaluate rule conditions against input
225
+ */
226
+ evaluateRuleConditions(rule, input) {
227
+ const { match, operator } = rule.condition;
228
+ const results = match.map((condition) => {
229
+ const value = this.getFieldValue(input, condition.field);
230
+ return this.evaluateCondition(value, condition.operator, condition.value);
231
+ });
232
+ if (operator === 'all') {
233
+ return results.every((r) => r);
234
+ }
235
+ else {
236
+ return results.some((r) => r);
237
+ }
238
+ }
239
+ /**
240
+ * Get field value from input using dot notation
241
+ */
242
+ getFieldValue(input, field) {
243
+ const parts = field.split('.');
244
+ let value = input.action_context;
245
+ for (const part of parts) {
246
+ if (value && typeof value === 'object' && part in value) {
247
+ value = value[part];
248
+ }
249
+ else {
250
+ return undefined;
251
+ }
252
+ }
253
+ return value;
254
+ }
255
+ /**
256
+ * Evaluate a single condition
257
+ */
258
+ evaluateCondition(value, operator, expected) {
259
+ switch (operator) {
260
+ case 'equals':
261
+ return value === expected;
262
+ case 'not_equals':
263
+ return value !== expected;
264
+ case 'contains':
265
+ if (typeof value === 'string' && typeof expected === 'string') {
266
+ return value.includes(expected);
267
+ }
268
+ if (Array.isArray(value)) {
269
+ return value.includes(expected);
270
+ }
271
+ return false;
272
+ case 'greater_than':
273
+ return typeof value === 'number' && typeof expected === 'number' && value > expected;
274
+ case 'less_than':
275
+ return typeof value === 'number' && typeof expected === 'number' && value < expected;
276
+ case 'in':
277
+ return Array.isArray(expected) && expected.includes(value);
278
+ case 'not_in':
279
+ return Array.isArray(expected) && !expected.includes(value);
280
+ case 'matches':
281
+ if (typeof value === 'string' && typeof expected === 'string') {
282
+ try {
283
+ return new RegExp(expected).test(value);
284
+ }
285
+ catch {
286
+ return false;
287
+ }
288
+ }
289
+ return false;
290
+ default:
291
+ return false;
292
+ }
293
+ }
294
+ /**
295
+ * Build the routing output from matched rules
296
+ */
297
+ buildRoutingOutput(input, matchedRules, startTime) {
298
+ // Check for auto-approval first
299
+ const autoApproveResult = this.checkAutoApproval(input, matchedRules);
300
+ if (autoApproveResult) {
301
+ return {
302
+ decision: 'auto_approved',
303
+ required_approvers: [],
304
+ approval_chain: [],
305
+ timeout_seconds: 0,
306
+ escalation_path: [],
307
+ justification_required: false,
308
+ routing_metadata: {
309
+ rules_evaluated: this.rules.map((r) => r.rule_id),
310
+ rules_matched: matchedRules.map((r) => r.rule_id),
311
+ auto_approve_reason: autoApproveResult,
312
+ },
313
+ evaluation_time_ms: performance.now() - startTime,
314
+ };
315
+ }
316
+ // If no rules matched, approve by default (bypass)
317
+ if (matchedRules.length === 0) {
318
+ return {
319
+ decision: 'approval_bypassed',
320
+ required_approvers: [],
321
+ approval_chain: [],
322
+ timeout_seconds: 0,
323
+ escalation_path: [],
324
+ justification_required: false,
325
+ routing_metadata: {
326
+ rules_evaluated: this.rules.map((r) => r.rule_id),
327
+ rules_matched: [],
328
+ bypass_reason: 'No matching approval rules',
329
+ },
330
+ evaluation_time_ms: performance.now() - startTime,
331
+ };
332
+ }
333
+ // Build approval chain from matched rules
334
+ const approvalChain = this.buildApprovalChain(matchedRules);
335
+ const requiredApprovers = this.collectRequiredApprovers(matchedRules);
336
+ const escalationPath = this.buildEscalationPath(matchedRules);
337
+ const totalTimeout = this.calculateTotalTimeout(matchedRules);
338
+ // Determine decision based on priority
339
+ const decision = this.isHighPriority(input)
340
+ ? 'escalation_required'
341
+ : 'approval_required';
342
+ return {
343
+ decision,
344
+ required_approvers: requiredApprovers,
345
+ approval_chain: approvalChain,
346
+ timeout_seconds: totalTimeout,
347
+ escalation_path: escalationPath,
348
+ justification_required: this.requiresJustification(matchedRules),
349
+ routing_metadata: {
350
+ rules_evaluated: this.rules.map((r) => r.rule_id),
351
+ rules_matched: matchedRules.map((r) => r.rule_id),
352
+ risk_score: this.calculateRiskScore(input, matchedRules),
353
+ compliance_tags: this.getComplianceTags(matchedRules),
354
+ },
355
+ evaluation_time_ms: performance.now() - startTime,
356
+ };
357
+ }
358
+ /**
359
+ * Check if auto-approval conditions are met
360
+ */
361
+ checkAutoApproval(input, matchedRules) {
362
+ for (const rule of matchedRules) {
363
+ if (!rule.auto_approve_conditions)
364
+ continue;
365
+ const conditions = rule.auto_approve_conditions;
366
+ // Check allowed roles
367
+ if (conditions.allowed_roles && conditions.allowed_roles.length > 0) {
368
+ const hasAllowedRole = input.requester.roles.some((role) => conditions.allowed_roles.includes(role));
369
+ if (hasAllowedRole) {
370
+ return `Requester has auto-approve role: ${input.requester.roles.join(', ')}`;
371
+ }
372
+ }
373
+ // Check allowed resource types
374
+ if (conditions.allowed_resource_types && conditions.allowed_resource_types.length > 0) {
375
+ if (conditions.allowed_resource_types.includes(input.action_context.resource_type)) {
376
+ return `Resource type ${input.action_context.resource_type} is auto-approved`;
377
+ }
378
+ }
379
+ // Check allowed operations
380
+ if (conditions.allowed_operations && conditions.allowed_operations.length > 0) {
381
+ if (conditions.allowed_operations.includes(input.action_context.operation)) {
382
+ return `Operation ${input.action_context.operation} is auto-approved`;
383
+ }
384
+ }
385
+ // Check max_value
386
+ if (conditions.max_value !== undefined) {
387
+ const value = this.getFieldValue(input, 'details.value');
388
+ if (typeof value === 'number' && value <= conditions.max_value) {
389
+ return `Value ${value} is within auto-approve threshold of ${conditions.max_value}`;
390
+ }
391
+ }
392
+ // Check time restrictions
393
+ if (conditions.time_restrictions) {
394
+ const now = new Date();
395
+ const hour = now.getHours();
396
+ const { start_hour, end_hour, business_days_only } = conditions.time_restrictions;
397
+ const isBusinessHours = hour >= start_hour && hour < end_hour;
398
+ const isBusinessDay = now.getDay() !== 0 && now.getDay() !== 6;
399
+ if (isBusinessHours && (!business_days_only || isBusinessDay)) {
400
+ return `Auto-approved during business hours`;
401
+ }
402
+ }
403
+ }
404
+ return null;
405
+ }
406
+ /**
407
+ * Build approval chain from rules
408
+ */
409
+ buildApprovalChain(rules) {
410
+ const chain = [];
411
+ let stepOrder = 1;
412
+ for (const rule of rules) {
413
+ if (rule.approver_pool.length === 0)
414
+ continue;
415
+ chain.push({
416
+ step_id: (0, uuid_1.v4)(),
417
+ step_order: stepOrder++,
418
+ step_type: rule.required_approvers > 1 ? 'parallel' : 'any_of',
419
+ step_name: rule.rule_name,
420
+ approvers: rule.approver_pool.filter((a) => a.available !== false),
421
+ required_approvals: rule.required_approvers,
422
+ timeout_seconds: rule.timeout_seconds,
423
+ escalation_on_timeout: rule.escalation_config.enabled,
424
+ source_rule_id: rule.rule_id,
425
+ instructions: rule.description,
426
+ });
427
+ }
428
+ return chain;
429
+ }
430
+ /**
431
+ * Collect all required approvers from rules
432
+ */
433
+ collectRequiredApprovers(rules) {
434
+ const approvers = new Map();
435
+ for (const rule of rules) {
436
+ for (const approver of rule.approver_pool) {
437
+ if (approver.available !== false && !approvers.has(approver.id)) {
438
+ approvers.set(approver.id, approver);
439
+ }
440
+ }
441
+ }
442
+ return Array.from(approvers.values());
443
+ }
444
+ /**
445
+ * Build escalation path from rules
446
+ */
447
+ buildEscalationPath(rules) {
448
+ const levels = new Map();
449
+ for (const rule of rules) {
450
+ if (!rule.escalation_config.enabled)
451
+ continue;
452
+ for (const level of rule.escalation_config.levels) {
453
+ const existing = levels.get(level.level);
454
+ if (!existing) {
455
+ levels.set(level.level, { ...level });
456
+ }
457
+ else {
458
+ // Merge approvers at the same level
459
+ const existingIds = new Set(existing.approvers.map((a) => a.id));
460
+ for (const approver of level.approvers) {
461
+ if (!existingIds.has(approver.id)) {
462
+ existing.approvers.push(approver);
463
+ }
464
+ }
465
+ // Use shorter timeout
466
+ existing.timeout_seconds = Math.min(existing.timeout_seconds, level.timeout_seconds);
467
+ }
468
+ }
469
+ }
470
+ return Array.from(levels.values()).sort((a, b) => a.level - b.level);
471
+ }
472
+ /**
473
+ * Calculate total timeout from rules
474
+ */
475
+ calculateTotalTimeout(rules) {
476
+ let total = 0;
477
+ for (const rule of rules) {
478
+ total += rule.timeout_seconds;
479
+ // Add escalation timeouts
480
+ if (rule.escalation_config.enabled) {
481
+ for (const level of rule.escalation_config.levels) {
482
+ total += level.timeout_seconds;
483
+ }
484
+ }
485
+ }
486
+ return total;
487
+ }
488
+ /**
489
+ * Check if request is high priority
490
+ */
491
+ isHighPriority(input) {
492
+ return input.priority === 'critical' || input.priority === 'high' || input.priority === 'emergency';
493
+ }
494
+ /**
495
+ * Check if justification is required
496
+ */
497
+ requiresJustification(rules) {
498
+ // Require justification for high-priority rules (priority >= 80)
499
+ return rules.some((r) => r.priority >= 80);
500
+ }
501
+ /**
502
+ * Calculate risk score based on action and rules
503
+ */
504
+ calculateRiskScore(input, rules) {
505
+ let score = 0;
506
+ // Base score from operation type
507
+ const operation = input.action_context.operation;
508
+ if (operation === 'delete')
509
+ score += 30;
510
+ else if (operation === 'update')
511
+ score += 20;
512
+ else if (operation === 'execute')
513
+ score += 25;
514
+ else if (operation === 'create')
515
+ score += 15;
516
+ // Add score based on matched rules
517
+ score += rules.length * 10;
518
+ // Add score based on rule priority
519
+ for (const rule of rules) {
520
+ score += Math.floor(rule.priority / 10);
521
+ }
522
+ // Cap at 100
523
+ return Math.min(100, score);
524
+ }
525
+ /**
526
+ * Get compliance tags from rules
527
+ */
528
+ getComplianceTags(rules) {
529
+ const tags = new Set();
530
+ for (const rule of rules) {
531
+ if (rule.tags) {
532
+ for (const tag of rule.tags) {
533
+ tags.add(tag);
534
+ }
535
+ }
536
+ }
537
+ return Array.from(tags);
538
+ }
539
+ /**
540
+ * Calculate confidence score
541
+ *
542
+ * Confidence is based on:
543
+ * - Number of rules evaluated
544
+ * - Clarity of decision (single rule vs. multiple)
545
+ * - Auto-approval certainty
546
+ */
547
+ calculateConfidence(rules, output) {
548
+ let confidence = 1.0;
549
+ // Reduce confidence if no rules matched (default bypass)
550
+ if (rules.length === 0) {
551
+ confidence *= 0.85;
552
+ }
553
+ // Reduce confidence for multiple conflicting rules
554
+ if (rules.length > 3) {
555
+ confidence *= 0.95;
556
+ }
557
+ // Reduce confidence for escalation decisions
558
+ if (output.decision === 'escalation_required') {
559
+ confidence *= 0.9;
560
+ }
561
+ // Increase confidence for auto-approval with clear reason
562
+ if (output.decision === 'auto_approved' && output.routing_metadata.auto_approve_reason) {
563
+ confidence = Math.min(confidence * 1.05, 0.98);
564
+ }
565
+ // Reduce confidence if approvers are unavailable
566
+ const totalApprovers = rules.reduce((sum, r) => sum + r.approver_pool.length, 0);
567
+ const availableApprovers = rules.reduce((sum, r) => sum + r.approver_pool.filter((a) => a.available !== false).length, 0);
568
+ if (totalApprovers > 0 && availableApprovers < totalApprovers) {
569
+ confidence *= availableApprovers / totalApprovers;
570
+ }
571
+ return Math.max(0, Math.min(1, confidence));
572
+ }
573
+ /**
574
+ * Create SHA256 hash of inputs for deduplication
575
+ */
576
+ hashInputs(input) {
577
+ const serialized = JSON.stringify({
578
+ request_id: input.request_id,
579
+ action_context: input.action_context,
580
+ requester: input.requester,
581
+ approval_rules: input.approval_rules,
582
+ });
583
+ return (0, crypto_1.createHash)('sha256').update(serialized).digest('hex').substring(0, 16);
584
+ }
585
+ /**
586
+ * Persist DecisionEvent to ruvector-service
587
+ */
588
+ async persistDecisionEvent(event) {
589
+ // Cast to base DecisionEvent type for persistence
590
+ const baseEvent = event;
591
+ const ack = await ruvector_service_1.ruvectorServiceClient.persistDecisionEvent(baseEvent);
592
+ if (!ack.accepted) {
593
+ logger_1.default.warn({ event_id: event.event_id, error: ack.error }, 'ApprovalDecisionEvent persistence was not accepted');
594
+ }
595
+ }
596
+ /**
597
+ * Emit telemetry to Observatory
598
+ */
599
+ async emitTelemetry(event, startTime) {
600
+ const telemetryEvent = {
601
+ eventId: event.event_id,
602
+ timestamp: event.timestamp,
603
+ traceId: event.execution_ref.trace_id,
604
+ spanId: event.execution_ref.span_id,
605
+ policyId: event.rules_applied[0]?.rule_id || 'none',
606
+ ruleId: event.rules_applied[0]?.rule_id,
607
+ decision: this.mapDecisionToTelemetry(event.outputs.decision),
608
+ durationMs: performance.now() - startTime,
609
+ cached: event.metadata?.cached || false,
610
+ context: {
611
+ agent_id: event.agent_id,
612
+ environment: event.execution_ref.environment,
613
+ },
614
+ labels: {
615
+ agent_version: event.agent_version,
616
+ decision_type: event.decision_type,
617
+ priority: event.metadata?.sla_tier || 'normal',
618
+ },
619
+ };
620
+ await observatory_1.observatoryClient.emitEvaluationEvent(telemetryEvent);
621
+ }
622
+ /**
623
+ * Map ApprovalDecisionOutcome to Observatory DecisionOutcome
624
+ */
625
+ mapDecisionToTelemetry(decision) {
626
+ switch (decision) {
627
+ case 'auto_approved':
628
+ case 'approval_bypassed':
629
+ return 'allow';
630
+ case 'approval_required':
631
+ case 'pending_approval':
632
+ return 'warn';
633
+ case 'escalation_required':
634
+ return 'modify';
635
+ default:
636
+ return 'warn';
637
+ }
638
+ }
639
+ /**
640
+ * Create error DecisionEvent for failure cases
641
+ */
642
+ createErrorDecisionEvent(eventId, input, error, startTime) {
643
+ const errorMessage = error instanceof Error ? error.message : String(error);
644
+ return {
645
+ event_id: eventId,
646
+ agent_id: exports.AGENT_ID,
647
+ agent_version: exports.AGENT_VERSION,
648
+ decision_type: exports.DECISION_TYPE,
649
+ inputs_hash: this.hashInputs(input),
650
+ outputs: {
651
+ decision: 'pending_approval',
652
+ required_approvers: [],
653
+ approval_chain: [],
654
+ timeout_seconds: 3600,
655
+ escalation_path: [],
656
+ justification_required: false,
657
+ routing_metadata: {
658
+ rules_evaluated: [],
659
+ rules_matched: [],
660
+ escalation_reason: `Evaluation error: ${errorMessage}`,
661
+ },
662
+ evaluation_time_ms: performance.now() - startTime,
663
+ },
664
+ confidence: 0,
665
+ rules_applied: [],
666
+ execution_ref: {
667
+ request_id: input.request_id,
668
+ trace_id: (0, uuid_1.v4)(),
669
+ environment: this.environment,
670
+ },
671
+ timestamp: new Date().toISOString(),
672
+ metadata: {
673
+ cached: false,
674
+ engine_version: exports.AGENT_VERSION,
675
+ mode: input.dry_run ? 'dry-run' : 'real-time',
676
+ source: 'approval-routing-agent',
677
+ },
678
+ };
679
+ }
680
+ /**
681
+ * Get agent registration metadata
682
+ */
683
+ static getRegistration() {
684
+ return {
685
+ agent_id: exports.AGENT_ID,
686
+ agent_version: exports.AGENT_VERSION,
687
+ agent_type: 'approval_gating',
688
+ agent_name: 'Approval Routing Agent',
689
+ description: 'Determine required approval paths for policy-gated actions. Routes approval requests to appropriate approvers based on configured rules.',
690
+ input_schema: 'ApprovalRoutingInput',
691
+ output_schema: 'ApprovalDecisionEvent',
692
+ decision_types: [exports.DECISION_TYPE],
693
+ cli_contract: {
694
+ command: 'agent',
695
+ subcommands: ['evaluate', 'route', 'resolve'],
696
+ required_flags: ['--action-context', '--requester', '--request-id'],
697
+ optional_flags: ['--rules', '--priority', '--dry-run', '--trace', '--json'],
698
+ },
699
+ consumers: [
700
+ 'llm-orchestrator',
701
+ 'approval-workflow-service',
702
+ 'notification-service',
703
+ 'audit-service',
704
+ 'governance-systems',
705
+ ],
706
+ non_responsibilities: [
707
+ 'Execute approval workflows',
708
+ 'Send notifications directly',
709
+ 'Store approval state',
710
+ 'Modify approval rules at runtime',
711
+ 'Access user management systems directly',
712
+ 'Track approval progress',
713
+ 'Connect directly to databases',
714
+ 'Execute SQL queries',
715
+ ],
716
+ failure_modes: [
717
+ 'Rule evaluation timeout',
718
+ 'Invalid action context format',
719
+ 'Missing required fields',
720
+ 'Rule parsing error',
721
+ 'ruvector-service unavailable (graceful degradation)',
722
+ 'Observatory unavailable (graceful degradation)',
723
+ 'No approvers available',
724
+ ],
725
+ registered_at: new Date().toISOString(),
726
+ };
727
+ }
728
+ }
729
+ exports.ApprovalRoutingAgent = ApprovalRoutingAgent;
730
+ //# sourceMappingURL=agent.js.map