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

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,85 @@
1
+ export interface APIKey {
2
+ id: string;
3
+ name: string;
4
+ key_hash: string;
5
+ key_prefix: string;
6
+ permissions: string[];
7
+ rate_limit: number;
8
+ expires_at: Date | null;
9
+ last_used_at: Date | null;
10
+ created_at: Date;
11
+ created_by: string | null;
12
+ revoked: boolean;
13
+ }
14
+ export interface CreateAPIKeyParams {
15
+ name: string;
16
+ permissions: string[];
17
+ rateLimit?: number;
18
+ expiresAt?: Date;
19
+ createdBy?: string;
20
+ }
21
+ export interface GeneratedAPIKey {
22
+ apiKey: APIKey;
23
+ rawKey: string;
24
+ }
25
+ /**
26
+ * API Key Repository
27
+ */
28
+ export declare class APIKeyRepository {
29
+ /**
30
+ * Generate a secure API key
31
+ * Format: llmpe_<random_bytes_hex>
32
+ */
33
+ private generateSecureKey;
34
+ /**
35
+ * Extract key prefix for identification (first 12 chars)
36
+ */
37
+ private extractKeyPrefix;
38
+ /**
39
+ * Hash API key using bcrypt
40
+ */
41
+ hashApiKey(key: string): Promise<string>;
42
+ /**
43
+ * Validate API key against stored hash
44
+ */
45
+ private compareKey;
46
+ /**
47
+ * Create a new API key
48
+ */
49
+ createApiKey(params: CreateAPIKeyParams): Promise<GeneratedAPIKey>;
50
+ /**
51
+ * Validate API key and return key details if valid
52
+ * Returns null if key is invalid, expired, or revoked
53
+ */
54
+ validateApiKey(key: string): Promise<APIKey | null>;
55
+ /**
56
+ * Update last_used_at timestamp for API key
57
+ */
58
+ updateLastUsed(id: string): Promise<void>;
59
+ /**
60
+ * Revoke an API key
61
+ */
62
+ revokeApiKey(id: string): Promise<void>;
63
+ /**
64
+ * Get API key by ID
65
+ */
66
+ getApiKeyById(id: string): Promise<APIKey | null>;
67
+ /**
68
+ * List all API keys (excluding hashes)
69
+ */
70
+ listApiKeys(filters?: {
71
+ revoked?: boolean;
72
+ createdBy?: string;
73
+ }): Promise<Omit<APIKey, 'key_hash'>[]>;
74
+ /**
75
+ * Delete an API key permanently
76
+ */
77
+ deleteApiKey(id: string): Promise<void>;
78
+ /**
79
+ * Rotate an API key (revoke old, create new)
80
+ */
81
+ rotateApiKey(id: string): Promise<GeneratedAPIKey>;
82
+ }
83
+ export declare const apiKeyRepository: APIKeyRepository;
84
+ export default apiKeyRepository;
85
+ //# sourceMappingURL=api-key-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key-repository.d.ts","sourceRoot":"","sources":["../../../src/db/models/api-key-repository.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAU9C;;OAEG;YACW,UAAU;IASxB;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;IAiDxE;;;OAGG;IACG,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkDzD;;OAEG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/C;;OAEG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB7C;;OAEG;IACG,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAevD;;OAEG;IACG,WAAW,CAAC,OAAO,CAAC,EAAE;QAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;IAgCvC;;OAEG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB7C;;OAEG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;CA0BzD;AAGD,eAAO,MAAM,gBAAgB,kBAAyB,CAAC;AACvD,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,248 @@
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.apiKeyRepository = exports.APIKeyRepository = void 0;
7
+ /**
8
+ * API Key Repository
9
+ * Database operations for API key management with bcrypt hashing
10
+ */
11
+ const bcrypt_1 = __importDefault(require("bcrypt"));
12
+ const crypto_1 = require("crypto");
13
+ const client_1 = require("../client");
14
+ const logger_1 = __importDefault(require("@utils/logger"));
15
+ const errors_1 = require("@utils/errors");
16
+ const BCRYPT_ROUNDS = 12;
17
+ const API_KEY_LENGTH = 32; // 256 bits
18
+ const API_KEY_PREFIX = 'llmpe_'; // LLM Policy Engine prefix
19
+ /**
20
+ * API Key Repository
21
+ */
22
+ class APIKeyRepository {
23
+ /**
24
+ * Generate a secure API key
25
+ * Format: llmpe_<random_bytes_hex>
26
+ */
27
+ generateSecureKey() {
28
+ const randomBytesHex = (0, crypto_1.randomBytes)(API_KEY_LENGTH).toString('hex');
29
+ return `${API_KEY_PREFIX}${randomBytesHex}`;
30
+ }
31
+ /**
32
+ * Extract key prefix for identification (first 12 chars)
33
+ */
34
+ extractKeyPrefix(key) {
35
+ return key.substring(0, 12);
36
+ }
37
+ /**
38
+ * Hash API key using bcrypt
39
+ */
40
+ async hashApiKey(key) {
41
+ try {
42
+ return await bcrypt_1.default.hash(key, BCRYPT_ROUNDS);
43
+ }
44
+ catch (error) {
45
+ throw new errors_1.DatabaseError(`Failed to hash API key: ${error instanceof Error ? error.message : String(error)}`);
46
+ }
47
+ }
48
+ /**
49
+ * Validate API key against stored hash
50
+ */
51
+ async compareKey(key, hash) {
52
+ try {
53
+ return await bcrypt_1.default.compare(key, hash);
54
+ }
55
+ catch (error) {
56
+ logger_1.default.error({ error }, 'Failed to compare API key');
57
+ return false;
58
+ }
59
+ }
60
+ /**
61
+ * Create a new API key
62
+ */
63
+ async createApiKey(params) {
64
+ const rawKey = this.generateSecureKey();
65
+ const keyHash = await this.hashApiKey(rawKey);
66
+ const keyPrefix = this.extractKeyPrefix(rawKey);
67
+ try {
68
+ const result = await client_1.db.query(`INSERT INTO api_keys (
69
+ name, key_hash, key_prefix, permissions, rate_limit, expires_at, created_by
70
+ ) VALUES ($1, $2, $3, $4, $5, $6, $7)
71
+ RETURNING *`, [
72
+ params.name,
73
+ keyHash,
74
+ keyPrefix,
75
+ params.permissions,
76
+ params.rateLimit || 100,
77
+ params.expiresAt || null,
78
+ params.createdBy || null,
79
+ ]);
80
+ if (result.rows.length === 0) {
81
+ throw new errors_1.DatabaseError('Failed to create API key');
82
+ }
83
+ const apiKey = result.rows[0];
84
+ logger_1.default.info({
85
+ keyId: apiKey.id,
86
+ name: apiKey.name,
87
+ keyPrefix: apiKey.key_prefix,
88
+ permissions: apiKey.permissions,
89
+ }, 'API key created');
90
+ return {
91
+ apiKey,
92
+ rawKey, // Only returned once, never stored
93
+ };
94
+ }
95
+ catch (error) {
96
+ throw new errors_1.DatabaseError(`Failed to create API key: ${error instanceof Error ? error.message : String(error)}`);
97
+ }
98
+ }
99
+ /**
100
+ * Validate API key and return key details if valid
101
+ * Returns null if key is invalid, expired, or revoked
102
+ */
103
+ async validateApiKey(key) {
104
+ // Validate key format
105
+ if (!key || !key.startsWith(API_KEY_PREFIX)) {
106
+ logger_1.default.debug('Invalid API key format');
107
+ return null;
108
+ }
109
+ const keyPrefix = this.extractKeyPrefix(key);
110
+ try {
111
+ // Find API keys with matching prefix
112
+ const result = await client_1.db.query(`SELECT * FROM api_keys
113
+ WHERE key_prefix = $1
114
+ AND revoked = false
115
+ AND (expires_at IS NULL OR expires_at > NOW())`, [keyPrefix]);
116
+ // Check each matching key with bcrypt
117
+ for (const apiKey of result.rows) {
118
+ const isValid = await this.compareKey(key, apiKey.key_hash);
119
+ if (isValid) {
120
+ // Update last_used_at timestamp asynchronously
121
+ this.updateLastUsed(apiKey.id).catch((err) => {
122
+ logger_1.default.warn({ error: err, keyId: apiKey.id }, 'Failed to update last_used_at');
123
+ });
124
+ logger_1.default.debug({
125
+ keyId: apiKey.id,
126
+ keyPrefix: apiKey.key_prefix,
127
+ permissions: apiKey.permissions,
128
+ }, 'API key validated successfully');
129
+ return apiKey;
130
+ }
131
+ }
132
+ logger_1.default.debug({ keyPrefix }, 'API key validation failed');
133
+ return null;
134
+ }
135
+ catch (error) {
136
+ logger_1.default.error({ error, keyPrefix }, 'Error validating API key');
137
+ return null;
138
+ }
139
+ }
140
+ /**
141
+ * Update last_used_at timestamp for API key
142
+ */
143
+ async updateLastUsed(id) {
144
+ try {
145
+ await client_1.db.query(`UPDATE api_keys SET last_used_at = NOW() WHERE id = $1`, [id]);
146
+ }
147
+ catch (error) {
148
+ throw new errors_1.DatabaseError(`Failed to update last_used_at: ${error instanceof Error ? error.message : String(error)}`);
149
+ }
150
+ }
151
+ /**
152
+ * Revoke an API key
153
+ */
154
+ async revokeApiKey(id) {
155
+ try {
156
+ const result = await client_1.db.query(`UPDATE api_keys SET revoked = true WHERE id = $1 RETURNING *`, [id]);
157
+ if (result.rowCount === 0) {
158
+ throw new errors_1.DatabaseError(`API key not found: ${id}`);
159
+ }
160
+ logger_1.default.info({ keyId: id }, 'API key revoked');
161
+ }
162
+ catch (error) {
163
+ throw new errors_1.DatabaseError(`Failed to revoke API key: ${error instanceof Error ? error.message : String(error)}`);
164
+ }
165
+ }
166
+ /**
167
+ * Get API key by ID
168
+ */
169
+ async getApiKeyById(id) {
170
+ try {
171
+ const result = await client_1.db.query(`SELECT * FROM api_keys WHERE id = $1`, [id]);
172
+ return result.rows[0] || null;
173
+ }
174
+ catch (error) {
175
+ throw new errors_1.DatabaseError(`Failed to get API key: ${error instanceof Error ? error.message : String(error)}`);
176
+ }
177
+ }
178
+ /**
179
+ * List all API keys (excluding hashes)
180
+ */
181
+ async listApiKeys(filters) {
182
+ try {
183
+ let query = `SELECT
184
+ id, name, key_prefix, permissions, rate_limit,
185
+ expires_at, last_used_at, created_at, created_by, revoked
186
+ FROM api_keys WHERE 1=1`;
187
+ const params = [];
188
+ let paramCount = 1;
189
+ if (filters?.revoked !== undefined) {
190
+ query += ` AND revoked = $${paramCount}`;
191
+ params.push(filters.revoked);
192
+ paramCount++;
193
+ }
194
+ if (filters?.createdBy) {
195
+ query += ` AND created_by = $${paramCount}`;
196
+ params.push(filters.createdBy);
197
+ paramCount++;
198
+ }
199
+ query += ` ORDER BY created_at DESC`;
200
+ const result = await client_1.db.query(query, params);
201
+ return result.rows;
202
+ }
203
+ catch (error) {
204
+ throw new errors_1.DatabaseError(`Failed to list API keys: ${error instanceof Error ? error.message : String(error)}`);
205
+ }
206
+ }
207
+ /**
208
+ * Delete an API key permanently
209
+ */
210
+ async deleteApiKey(id) {
211
+ try {
212
+ const result = await client_1.db.query(`DELETE FROM api_keys WHERE id = $1 RETURNING *`, [id]);
213
+ if (result.rowCount === 0) {
214
+ throw new errors_1.DatabaseError(`API key not found: ${id}`);
215
+ }
216
+ logger_1.default.info({ keyId: id }, 'API key deleted');
217
+ }
218
+ catch (error) {
219
+ throw new errors_1.DatabaseError(`Failed to delete API key: ${error instanceof Error ? error.message : String(error)}`);
220
+ }
221
+ }
222
+ /**
223
+ * Rotate an API key (revoke old, create new)
224
+ */
225
+ async rotateApiKey(id) {
226
+ const oldKey = await this.getApiKeyById(id);
227
+ if (!oldKey) {
228
+ throw new errors_1.DatabaseError(`API key not found: ${id}`);
229
+ }
230
+ // Create new key with same properties
231
+ const newKey = await this.createApiKey({
232
+ name: `${oldKey.name} (rotated)`,
233
+ permissions: oldKey.permissions,
234
+ rateLimit: oldKey.rate_limit,
235
+ expiresAt: oldKey.expires_at || undefined,
236
+ createdBy: oldKey.created_by || undefined,
237
+ });
238
+ // Revoke old key
239
+ await this.revokeApiKey(id);
240
+ logger_1.default.info({ oldKeyId: id, newKeyId: newKey.apiKey.id }, 'API key rotated');
241
+ return newKey;
242
+ }
243
+ }
244
+ exports.APIKeyRepository = APIKeyRepository;
245
+ // Export singleton instance
246
+ exports.apiKeyRepository = new APIKeyRepository();
247
+ exports.default = exports.apiKeyRepository;
248
+ //# sourceMappingURL=api-key-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key-repository.js","sourceRoot":"","sources":["../../../src/db/models/api-key-repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { PolicyEvaluationRequest, PolicyEvaluationResponse, DecisionType } from '../../types/policy';
2
+ export interface EvaluationLog {
3
+ id: string;
4
+ requestId: string;
5
+ policyIds: string[];
6
+ decision: DecisionType;
7
+ allowed: boolean;
8
+ reason?: string;
9
+ matchedPolicies: string[];
10
+ matchedRules: string[];
11
+ context: any;
12
+ evaluationTimeMs: number;
13
+ cached: boolean;
14
+ createdAt: Date;
15
+ metadata?: any;
16
+ }
17
+ export interface EvaluationFilters {
18
+ requestId?: string;
19
+ policyIds?: string[];
20
+ decision?: DecisionType;
21
+ allowed?: boolean;
22
+ startDate?: Date;
23
+ endDate?: Date;
24
+ limit?: number;
25
+ offset?: number;
26
+ }
27
+ export declare class EvaluationRepository {
28
+ /**
29
+ * Log a policy evaluation
30
+ */
31
+ log(request: PolicyEvaluationRequest, response: PolicyEvaluationResponse): Promise<EvaluationLog>;
32
+ /**
33
+ * Get evaluation by request ID
34
+ */
35
+ findByRequestId(requestId: string): Promise<EvaluationLog | null>;
36
+ /**
37
+ * Find evaluations with filters
38
+ */
39
+ find(filters: EvaluationFilters): Promise<EvaluationLog[]>;
40
+ /**
41
+ * Get evaluations by policy ID
42
+ */
43
+ findByPolicyId(policyId: string, limit?: number): Promise<EvaluationLog[]>;
44
+ /**
45
+ * Get evaluation statistics
46
+ */
47
+ getStats(startDate?: Date, endDate?: Date): Promise<{
48
+ total: number;
49
+ allowed: number;
50
+ denied: number;
51
+ warned: number;
52
+ modified: number;
53
+ avgEvaluationTimeMs: number;
54
+ cacheHitRate: number;
55
+ }>;
56
+ /**
57
+ * Delete old evaluations
58
+ */
59
+ deleteOlderThan(days: number): Promise<number>;
60
+ /**
61
+ * Map database row to EvaluationLog object
62
+ */
63
+ private mapRowToEvaluationLog;
64
+ }
65
+ //# sourceMappingURL=evaluation-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluation-repository.d.ts","sourceRoot":"","sources":["../../../src/db/models/evaluation-repository.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIrG,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,GAAG,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,oBAAoB;IAC/B;;OAEG;IACG,GAAG,CACP,OAAO,EAAE,uBAAuB,EAChC,QAAQ,EAAE,wBAAwB,GACjC,OAAO,CAAC,aAAa,CAAC;IAkCzB;;OAEG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAoBvE;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA4DhE;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAY,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIrF;;OAEG;IACG,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;QACxD,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAkDF;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBpD;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAiB9B"}
@@ -0,0 +1,192 @@
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.EvaluationRepository = void 0;
7
+ /**
8
+ * Evaluation Repository - Audit log repository for policy evaluations
9
+ */
10
+ const client_1 = require("../client");
11
+ const errors_1 = require("@utils/errors");
12
+ const logger_1 = __importDefault(require("@utils/logger"));
13
+ class EvaluationRepository {
14
+ /**
15
+ * Log a policy evaluation
16
+ */
17
+ async log(request, response) {
18
+ try {
19
+ const result = await client_1.db.query(`INSERT INTO policy_evaluations (
20
+ request_id, policy_ids, decision, allowed, reason,
21
+ matched_policies, matched_rules, context, evaluation_time_ms, cached, metadata
22
+ ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11)
23
+ RETURNING *`, [
24
+ response.requestId,
25
+ request.policies || [],
26
+ response.decision.decision,
27
+ response.decision.allowed,
28
+ response.decision.reason,
29
+ response.decision.matchedPolicies,
30
+ response.decision.matchedRules,
31
+ JSON.stringify(request.context),
32
+ response.decision.evaluationTimeMs,
33
+ response.cached || false,
34
+ JSON.stringify(response.decision.metadata || {}),
35
+ ]);
36
+ logger_1.default.debug({ requestId: response.requestId }, 'Evaluation logged to database');
37
+ return this.mapRowToEvaluationLog(result.rows[0]);
38
+ }
39
+ catch (error) {
40
+ throw new errors_1.DatabaseError(`Failed to log evaluation: ${error instanceof Error ? error.message : String(error)}`, { requestId: request.requestId });
41
+ }
42
+ }
43
+ /**
44
+ * Get evaluation by request ID
45
+ */
46
+ async findByRequestId(requestId) {
47
+ try {
48
+ const result = await client_1.db.query('SELECT * FROM policy_evaluations WHERE request_id = $1', [requestId]);
49
+ if (result.rows.length === 0) {
50
+ return null;
51
+ }
52
+ return this.mapRowToEvaluationLog(result.rows[0]);
53
+ }
54
+ catch (error) {
55
+ throw new errors_1.DatabaseError(`Failed to find evaluation: ${error instanceof Error ? error.message : String(error)}`, { requestId });
56
+ }
57
+ }
58
+ /**
59
+ * Find evaluations with filters
60
+ */
61
+ async find(filters) {
62
+ try {
63
+ const conditions = [];
64
+ const params = [];
65
+ let paramCount = 1;
66
+ if (filters.requestId) {
67
+ conditions.push(`request_id = $${paramCount++}`);
68
+ params.push(filters.requestId);
69
+ }
70
+ if (filters.policyIds && filters.policyIds.length > 0) {
71
+ conditions.push(`policy_ids && $${paramCount++}`);
72
+ params.push(filters.policyIds);
73
+ }
74
+ if (filters.decision) {
75
+ conditions.push(`decision = $${paramCount++}`);
76
+ params.push(filters.decision);
77
+ }
78
+ if (filters.allowed !== undefined) {
79
+ conditions.push(`allowed = $${paramCount++}`);
80
+ params.push(filters.allowed);
81
+ }
82
+ if (filters.startDate) {
83
+ conditions.push(`created_at >= $${paramCount++}`);
84
+ params.push(filters.startDate);
85
+ }
86
+ if (filters.endDate) {
87
+ conditions.push(`created_at <= $${paramCount++}`);
88
+ params.push(filters.endDate);
89
+ }
90
+ const whereClause = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : '';
91
+ const limit = filters.limit || 100;
92
+ const offset = filters.offset || 0;
93
+ const query = `
94
+ SELECT * FROM policy_evaluations
95
+ ${whereClause}
96
+ ORDER BY created_at DESC
97
+ LIMIT $${paramCount++} OFFSET $${paramCount++}
98
+ `;
99
+ params.push(limit, offset);
100
+ const result = await client_1.db.query(query, params);
101
+ return result.rows.map((row) => this.mapRowToEvaluationLog(row));
102
+ }
103
+ catch (error) {
104
+ throw new errors_1.DatabaseError(`Failed to find evaluations: ${error instanceof Error ? error.message : String(error)}`, { filters });
105
+ }
106
+ }
107
+ /**
108
+ * Get evaluations by policy ID
109
+ */
110
+ async findByPolicyId(policyId, limit = 100) {
111
+ return this.find({ policyIds: [policyId], limit });
112
+ }
113
+ /**
114
+ * Get evaluation statistics
115
+ */
116
+ async getStats(startDate, endDate) {
117
+ try {
118
+ const conditions = [];
119
+ const params = [];
120
+ let paramCount = 1;
121
+ if (startDate) {
122
+ conditions.push(`created_at >= $${paramCount++}`);
123
+ params.push(startDate);
124
+ }
125
+ if (endDate) {
126
+ conditions.push(`created_at <= $${paramCount++}`);
127
+ params.push(endDate);
128
+ }
129
+ const whereClause = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : '';
130
+ const result = await client_1.db.query(`SELECT
131
+ COUNT(*) as total,
132
+ SUM(CASE WHEN allowed = true THEN 1 ELSE 0 END) as allowed,
133
+ SUM(CASE WHEN decision = 'deny' THEN 1 ELSE 0 END) as denied,
134
+ SUM(CASE WHEN decision = 'warn' THEN 1 ELSE 0 END) as warned,
135
+ SUM(CASE WHEN decision = 'modify' THEN 1 ELSE 0 END) as modified,
136
+ AVG(evaluation_time_ms) as avg_evaluation_time_ms,
137
+ SUM(CASE WHEN cached = true THEN 1 ELSE 0 END)::float / NULLIF(COUNT(*), 0) as cache_hit_rate
138
+ FROM policy_evaluations
139
+ ${whereClause}`, params);
140
+ const row = result.rows[0];
141
+ return {
142
+ total: parseInt(row.total, 10),
143
+ allowed: parseInt(row.allowed, 10),
144
+ denied: parseInt(row.denied, 10),
145
+ warned: parseInt(row.warned, 10),
146
+ modified: parseInt(row.modified, 10),
147
+ avgEvaluationTimeMs: parseFloat(row.avg_evaluation_time_ms) || 0,
148
+ cacheHitRate: parseFloat(row.cache_hit_rate) || 0,
149
+ };
150
+ }
151
+ catch (error) {
152
+ throw new errors_1.DatabaseError(`Failed to get evaluation stats: ${error instanceof Error ? error.message : String(error)}`);
153
+ }
154
+ }
155
+ /**
156
+ * Delete old evaluations
157
+ */
158
+ async deleteOlderThan(days) {
159
+ try {
160
+ const cutoffDate = new Date();
161
+ cutoffDate.setDate(cutoffDate.getDate() - days);
162
+ const result = await client_1.db.query('DELETE FROM policy_evaluations WHERE created_at < $1', [cutoffDate]);
163
+ logger_1.default.info({ deletedCount: result.rowCount, days }, 'Old evaluations deleted from database');
164
+ return result.rowCount || 0;
165
+ }
166
+ catch (error) {
167
+ throw new errors_1.DatabaseError(`Failed to delete old evaluations: ${error instanceof Error ? error.message : String(error)}`, { days });
168
+ }
169
+ }
170
+ /**
171
+ * Map database row to EvaluationLog object
172
+ */
173
+ mapRowToEvaluationLog(row) {
174
+ return {
175
+ id: row.id,
176
+ requestId: row.request_id,
177
+ policyIds: row.policy_ids || [],
178
+ decision: row.decision,
179
+ allowed: row.allowed,
180
+ reason: row.reason,
181
+ matchedPolicies: row.matched_policies || [],
182
+ matchedRules: row.matched_rules || [],
183
+ context: row.context,
184
+ evaluationTimeMs: row.evaluation_time_ms,
185
+ cached: row.cached,
186
+ createdAt: row.created_at,
187
+ metadata: row.metadata,
188
+ };
189
+ }
190
+ }
191
+ exports.EvaluationRepository = EvaluationRepository;
192
+ //# sourceMappingURL=evaluation-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluation-repository.js","sourceRoot":"","sources":["../../../src/db/models/evaluation-repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { Policy } from '../../types/policy';
2
+ export declare class PolicyRepository {
3
+ /**
4
+ * Create a new policy
5
+ */
6
+ create(policy: Policy, createdBy?: string): Promise<Policy>;
7
+ /**
8
+ * Get policy by ID
9
+ */
10
+ findById(id: string): Promise<Policy | null>;
11
+ /**
12
+ * Get all active policies
13
+ */
14
+ findActive(): Promise<Policy[]>;
15
+ /**
16
+ * Get policies by namespace
17
+ */
18
+ findByNamespace(namespace: string): Promise<Policy[]>;
19
+ /**
20
+ * Update policy
21
+ */
22
+ update(id: string, updates: Partial<Policy>): Promise<Policy>;
23
+ /**
24
+ * Delete policy
25
+ */
26
+ delete(id: string): Promise<void>;
27
+ /**
28
+ * Map database row to Policy object
29
+ */
30
+ private mapRowToPolicy;
31
+ }
32
+ //# sourceMappingURL=policy-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-repository.d.ts","sourceRoot":"","sources":["../../../src/db/models/policy-repository.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAgB,MAAM,oBAAoB,CAAC;AAI1D,qBAAa,gBAAgB;IAC3B;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgCjE;;OAEG;IACG,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoBlD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAerC;;OAEG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgB3D;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAiDnE;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvC;;OAEG;IACH,OAAO,CAAC,cAAc;CAkBvB"}