@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 @@
1
+ {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../../src/core/validator/schema-validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Database client using pg (PostgreSQL)
3
+ */
4
+ import { PoolClient, QueryResult } from 'pg';
5
+ declare class DatabaseClient {
6
+ private pool;
7
+ private isConnected;
8
+ constructor();
9
+ /**
10
+ * Execute a query
11
+ */
12
+ query<T extends Record<string, any> = any>(text: string, params?: any[]): Promise<QueryResult<T>>;
13
+ /**
14
+ * Get a client from the pool for transactions
15
+ */
16
+ getClient(): Promise<PoolClient>;
17
+ /**
18
+ * Execute a transaction
19
+ */
20
+ transaction<T>(callback: (client: PoolClient) => Promise<T>): Promise<T>;
21
+ /**
22
+ * Check database connection
23
+ */
24
+ ping(): Promise<boolean>;
25
+ /**
26
+ * Close database connection
27
+ */
28
+ close(): Promise<void>;
29
+ }
30
+ export declare const db: DatabaseClient;
31
+ export default db;
32
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAQ,UAAU,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAKnD,cAAM,cAAc;IAClB,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,WAAW,CAAkB;;IAwBrC;;OAEG;IACG,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAkBvG;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAWtC;;OAEG;IACG,WAAW,CAAC,CAAC,EACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAC3C,OAAO,CAAC,CAAC,CAAC;IAgBb;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAU9B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B;AAGD,eAAO,MAAM,EAAE,gBAAuB,CAAC;AACvC,eAAe,EAAE,CAAC"}
@@ -0,0 +1,108 @@
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.db = void 0;
7
+ /**
8
+ * Database client using pg (PostgreSQL)
9
+ */
10
+ const pg_1 = require("pg");
11
+ const config_1 = require("@utils/config");
12
+ const logger_1 = __importDefault(require("@utils/logger"));
13
+ const errors_1 = require("@utils/errors");
14
+ class DatabaseClient {
15
+ pool;
16
+ isConnected = false;
17
+ constructor() {
18
+ this.pool = new pg_1.Pool({
19
+ connectionString: config_1.config.database.url,
20
+ min: config_1.config.database.poolMin,
21
+ max: config_1.config.database.poolMax,
22
+ ssl: config_1.config.database.ssl ? { rejectUnauthorized: false } : false,
23
+ idleTimeoutMillis: 30000,
24
+ connectionTimeoutMillis: 2000,
25
+ });
26
+ this.pool.on('error', (err) => {
27
+ logger_1.default.error({ error: err }, 'Unexpected database pool error');
28
+ });
29
+ this.pool.on('connect', () => {
30
+ if (!this.isConnected) {
31
+ logger_1.default.info('Database pool connected');
32
+ this.isConnected = true;
33
+ }
34
+ });
35
+ }
36
+ /**
37
+ * Execute a query
38
+ */
39
+ async query(text, params) {
40
+ const start = Date.now();
41
+ try {
42
+ const result = await this.pool.query(text, params);
43
+ const duration = Date.now() - start;
44
+ logger_1.default.debug({ text, duration, rows: result.rowCount }, 'Query executed');
45
+ return result;
46
+ }
47
+ catch (error) {
48
+ logger_1.default.error({ text, params, error }, 'Query failed');
49
+ throw new errors_1.DatabaseError(`Query failed: ${error instanceof Error ? error.message : String(error)}`, { query: text, params });
50
+ }
51
+ }
52
+ /**
53
+ * Get a client from the pool for transactions
54
+ */
55
+ async getClient() {
56
+ try {
57
+ const client = await this.pool.connect();
58
+ return client;
59
+ }
60
+ catch (error) {
61
+ throw new errors_1.DatabaseError(`Failed to get database client: ${error instanceof Error ? error.message : String(error)}`);
62
+ }
63
+ }
64
+ /**
65
+ * Execute a transaction
66
+ */
67
+ async transaction(callback) {
68
+ const client = await this.getClient();
69
+ try {
70
+ await client.query('BEGIN');
71
+ const result = await callback(client);
72
+ await client.query('COMMIT');
73
+ return result;
74
+ }
75
+ catch (error) {
76
+ await client.query('ROLLBACK');
77
+ throw error;
78
+ }
79
+ finally {
80
+ client.release();
81
+ }
82
+ }
83
+ /**
84
+ * Check database connection
85
+ */
86
+ async ping() {
87
+ try {
88
+ await this.query('SELECT 1');
89
+ return true;
90
+ }
91
+ catch (error) {
92
+ logger_1.default.error({ error }, 'Database ping failed');
93
+ return false;
94
+ }
95
+ }
96
+ /**
97
+ * Close database connection
98
+ */
99
+ async close() {
100
+ await this.pool.end();
101
+ this.isConnected = false;
102
+ logger_1.default.info('Database pool closed');
103
+ }
104
+ }
105
+ // Export singleton instance
106
+ exports.db = new DatabaseClient();
107
+ exports.default = exports.db;
108
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ interface Migration {
2
+ version: number;
3
+ name: string;
4
+ up: string;
5
+ down?: string;
6
+ }
7
+ export declare class MigrationRunner {
8
+ /**
9
+ * Run all pending migrations
10
+ */
11
+ up(): Promise<void>;
12
+ /**
13
+ * Rollback last migration
14
+ */
15
+ down(): Promise<void>;
16
+ /**
17
+ * Get migration status
18
+ */
19
+ status(): Promise<{
20
+ applied: Migration[];
21
+ pending: Migration[];
22
+ }>;
23
+ /**
24
+ * Reset database (rollback all migrations)
25
+ */
26
+ reset(): Promise<void>;
27
+ /**
28
+ * Ensure migrations table exists
29
+ */
30
+ private ensureMigrationsTable;
31
+ /**
32
+ * Get list of applied migration versions
33
+ */
34
+ private getAppliedVersions;
35
+ /**
36
+ * Run a single migration
37
+ */
38
+ private runMigration;
39
+ /**
40
+ * Rollback a single migration
41
+ */
42
+ private rollbackMigration;
43
+ }
44
+ export default MigrationRunner;
45
+ //# sourceMappingURL=migrate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/db/migrate.ts"],"names":[],"mappings":"AAQA,UAAU,SAAS;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA+MD,qBAAa,eAAe;IAC1B;;OAEG;IACG,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCzB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B3B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC;QACtB,OAAO,EAAE,SAAS,EAAE,CAAC;QACrB,OAAO,EAAE,SAAS,EAAE,CAAC;KACtB,CAAC;IAsBF;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B5B;;OAEG;YACW,qBAAqB;IAOnC;;OAEG;YACW,kBAAkB;IAUhC;;OAEG;YACW,YAAY;IAoB1B;;OAEG;YACW,iBAAiB;CAuBhC;AA0CD,eAAe,eAAe,CAAC"}
@@ -0,0 +1,407 @@
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.MigrationRunner = void 0;
7
+ /**
8
+ * Database Migration Runner
9
+ * Manages database schema migrations
10
+ */
11
+ const client_1 = require("./client");
12
+ const logger_1 = __importDefault(require("@utils/logger"));
13
+ const errors_1 = require("@utils/errors");
14
+ const migrations = [
15
+ {
16
+ version: 1,
17
+ name: 'create_policies_table',
18
+ up: `
19
+ CREATE TABLE IF NOT EXISTS policies (
20
+ id VARCHAR(255) PRIMARY KEY,
21
+ name VARCHAR(255) NOT NULL,
22
+ description TEXT,
23
+ version VARCHAR(50) NOT NULL,
24
+ namespace VARCHAR(255) NOT NULL,
25
+ tags TEXT[] DEFAULT '{}',
26
+ priority INTEGER DEFAULT 0,
27
+ status VARCHAR(50) NOT NULL,
28
+ rules JSONB NOT NULL,
29
+ created_by VARCHAR(255),
30
+ internal_version INTEGER DEFAULT 1,
31
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
32
+ updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
33
+ );
34
+
35
+ CREATE INDEX idx_policies_namespace ON policies(namespace);
36
+ CREATE INDEX idx_policies_status ON policies(status);
37
+ CREATE INDEX idx_policies_priority ON policies(priority DESC);
38
+ CREATE INDEX idx_policies_created_at ON policies(created_at DESC);
39
+ `,
40
+ down: `
41
+ DROP TABLE IF EXISTS policies;
42
+ `,
43
+ },
44
+ {
45
+ version: 2,
46
+ name: 'create_policy_evaluations_table',
47
+ up: `
48
+ CREATE TABLE IF NOT EXISTS policy_evaluations (
49
+ id SERIAL PRIMARY KEY,
50
+ request_id VARCHAR(255) NOT NULL,
51
+ policy_ids TEXT[] DEFAULT '{}',
52
+ decision VARCHAR(50) NOT NULL,
53
+ allowed BOOLEAN NOT NULL,
54
+ reason TEXT,
55
+ matched_policies TEXT[] DEFAULT '{}',
56
+ matched_rules TEXT[] DEFAULT '{}',
57
+ context JSONB,
58
+ evaluation_time_ms INTEGER,
59
+ cached BOOLEAN DEFAULT false,
60
+ metadata JSONB,
61
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
62
+ );
63
+
64
+ CREATE INDEX idx_evaluations_request_id ON policy_evaluations(request_id);
65
+ CREATE INDEX idx_evaluations_decision ON policy_evaluations(decision);
66
+ CREATE INDEX idx_evaluations_allowed ON policy_evaluations(allowed);
67
+ CREATE INDEX idx_evaluations_created_at ON policy_evaluations(created_at DESC);
68
+ CREATE INDEX idx_evaluations_policy_ids ON policy_evaluations USING GIN(policy_ids);
69
+ `,
70
+ down: `
71
+ DROP TABLE IF EXISTS policy_evaluations;
72
+ `,
73
+ },
74
+ {
75
+ version: 3,
76
+ name: 'create_migrations_table',
77
+ up: `
78
+ CREATE TABLE IF NOT EXISTS schema_migrations (
79
+ version INTEGER PRIMARY KEY,
80
+ name VARCHAR(255) NOT NULL,
81
+ applied_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
82
+ );
83
+ `,
84
+ down: `
85
+ DROP TABLE IF EXISTS schema_migrations;
86
+ `,
87
+ },
88
+ {
89
+ version: 4,
90
+ name: 'add_internal_version_to_policies',
91
+ up: `
92
+ -- Add internal_version column if it doesn't exist
93
+ DO $$
94
+ BEGIN
95
+ IF NOT EXISTS (
96
+ SELECT 1 FROM information_schema.columns
97
+ WHERE table_name = 'policies' AND column_name = 'internal_version'
98
+ ) THEN
99
+ ALTER TABLE policies ADD COLUMN internal_version INTEGER DEFAULT 1;
100
+ END IF;
101
+ END $$;
102
+ `,
103
+ down: `
104
+ ALTER TABLE policies DROP COLUMN IF EXISTS internal_version;
105
+ `,
106
+ },
107
+ {
108
+ version: 5,
109
+ name: 'create_policy_versions_table',
110
+ up: `
111
+ -- Policy version history table
112
+ CREATE TABLE IF NOT EXISTS policy_versions (
113
+ id SERIAL PRIMARY KEY,
114
+ policy_id VARCHAR(255) NOT NULL,
115
+ name VARCHAR(255) NOT NULL,
116
+ description TEXT,
117
+ version VARCHAR(50) NOT NULL,
118
+ namespace VARCHAR(255) NOT NULL,
119
+ tags TEXT[] DEFAULT '{}',
120
+ priority INTEGER DEFAULT 0,
121
+ status VARCHAR(50) NOT NULL,
122
+ rules JSONB NOT NULL,
123
+ created_by VARCHAR(255),
124
+ internal_version INTEGER NOT NULL,
125
+ previous_version_id INTEGER REFERENCES policy_versions(id),
126
+ archived_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
127
+ deleted BOOLEAN DEFAULT FALSE,
128
+ UNIQUE(policy_id, internal_version)
129
+ );
130
+
131
+ CREATE INDEX idx_policy_versions_policy_id ON policy_versions(policy_id);
132
+ CREATE INDEX idx_policy_versions_internal_version ON policy_versions(internal_version DESC);
133
+ CREATE INDEX idx_policy_versions_archived_at ON policy_versions(archived_at DESC);
134
+ CREATE INDEX idx_policy_versions_deleted ON policy_versions(deleted);
135
+ `,
136
+ down: `
137
+ DROP TABLE IF EXISTS policy_versions;
138
+ `,
139
+ },
140
+ {
141
+ version: 6,
142
+ name: 'create_policy_audit_trail_table',
143
+ up: `
144
+ -- Append-only audit trail table
145
+ -- NO UPDATE or DELETE operations allowed - enforced by RLS
146
+ CREATE TABLE IF NOT EXISTS policy_audit_trail (
147
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
148
+ policy_id VARCHAR(255) NOT NULL,
149
+ policy_version INTEGER NOT NULL,
150
+ action VARCHAR(50) NOT NULL CHECK (action IN ('create', 'edit', 'enable', 'disable', 'delete', 'version_update')),
151
+ actor_identity VARCHAR(512) NOT NULL,
152
+ timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
153
+ before_hash VARCHAR(64),
154
+ after_hash VARCHAR(64),
155
+ correlation_id VARCHAR(255) NOT NULL,
156
+ metadata JSONB DEFAULT '{}',
157
+ -- Prevent any modifications after insert
158
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
159
+ );
160
+
161
+ -- Indexes for efficient querying
162
+ CREATE INDEX idx_audit_policy_id ON policy_audit_trail(policy_id);
163
+ CREATE INDEX idx_audit_timestamp ON policy_audit_trail(timestamp DESC);
164
+ CREATE INDEX idx_audit_actor ON policy_audit_trail(actor_identity);
165
+ CREATE INDEX idx_audit_correlation ON policy_audit_trail(correlation_id);
166
+ CREATE INDEX idx_audit_action ON policy_audit_trail(action);
167
+
168
+ -- Create a rule to prevent UPDATE and DELETE on audit trail
169
+ -- This enforces append-only behavior at the database level
170
+ CREATE OR REPLACE RULE audit_no_update AS
171
+ ON UPDATE TO policy_audit_trail
172
+ DO INSTEAD NOTHING;
173
+
174
+ CREATE OR REPLACE RULE audit_no_delete AS
175
+ ON DELETE TO policy_audit_trail
176
+ DO INSTEAD NOTHING;
177
+ `,
178
+ down: `
179
+ DROP RULE IF EXISTS audit_no_delete ON policy_audit_trail;
180
+ DROP RULE IF EXISTS audit_no_update ON policy_audit_trail;
181
+ DROP TABLE IF EXISTS policy_audit_trail;
182
+ `,
183
+ },
184
+ {
185
+ version: 7,
186
+ name: 'create_api_request_log_table',
187
+ up: `
188
+ -- Request logging for observability and debugging
189
+ CREATE TABLE IF NOT EXISTS api_request_log (
190
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
191
+ correlation_id VARCHAR(255) NOT NULL,
192
+ method VARCHAR(10) NOT NULL,
193
+ path VARCHAR(1024) NOT NULL,
194
+ status_code INTEGER,
195
+ actor_identity VARCHAR(512),
196
+ duration_ms INTEGER,
197
+ request_metadata JSONB DEFAULT '{}',
198
+ response_metadata JSONB DEFAULT '{}',
199
+ error_type VARCHAR(255),
200
+ error_message TEXT,
201
+ timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
202
+ );
203
+
204
+ CREATE INDEX idx_request_log_correlation ON api_request_log(correlation_id);
205
+ CREATE INDEX idx_request_log_timestamp ON api_request_log(timestamp DESC);
206
+ CREATE INDEX idx_request_log_actor ON api_request_log(actor_identity);
207
+ CREATE INDEX idx_request_log_path ON api_request_log(path);
208
+ CREATE INDEX idx_request_log_status ON api_request_log(status_code);
209
+
210
+ -- Partition by month for efficient cleanup (optional, for high-volume deployments)
211
+ -- CREATE TABLE api_request_log_partitioned (...) PARTITION BY RANGE (timestamp);
212
+ `,
213
+ down: `
214
+ DROP TABLE IF EXISTS api_request_log;
215
+ `,
216
+ },
217
+ ];
218
+ class MigrationRunner {
219
+ /**
220
+ * Run all pending migrations
221
+ */
222
+ async up() {
223
+ try {
224
+ logger_1.default.info('Starting database migrations');
225
+ // Ensure migrations table exists
226
+ await this.ensureMigrationsTable();
227
+ // Get applied migrations
228
+ const appliedVersions = await this.getAppliedVersions();
229
+ // Find pending migrations
230
+ const pendingMigrations = migrations
231
+ .filter((m) => !appliedVersions.includes(m.version))
232
+ .sort((a, b) => a.version - b.version);
233
+ if (pendingMigrations.length === 0) {
234
+ logger_1.default.info('No pending migrations');
235
+ return;
236
+ }
237
+ // Run each pending migration
238
+ for (const migration of pendingMigrations) {
239
+ await this.runMigration(migration);
240
+ }
241
+ logger_1.default.info({ count: pendingMigrations.length }, 'Database migrations completed successfully');
242
+ }
243
+ catch (error) {
244
+ logger_1.default.error({ error }, 'Database migration failed');
245
+ throw new errors_1.DatabaseError(`Migration failed: ${error instanceof Error ? error.message : String(error)}`);
246
+ }
247
+ }
248
+ /**
249
+ * Rollback last migration
250
+ */
251
+ async down() {
252
+ try {
253
+ logger_1.default.info('Rolling back last migration');
254
+ await this.ensureMigrationsTable();
255
+ const appliedVersions = await this.getAppliedVersions();
256
+ if (appliedVersions.length === 0) {
257
+ logger_1.default.info('No migrations to rollback');
258
+ return;
259
+ }
260
+ const lastVersion = Math.max(...appliedVersions);
261
+ const migration = migrations.find((m) => m.version === lastVersion);
262
+ if (!migration || !migration.down) {
263
+ throw new Error(`Cannot rollback migration version ${lastVersion}`);
264
+ }
265
+ await this.rollbackMigration(migration);
266
+ logger_1.default.info({ version: lastVersion }, 'Migration rolled back successfully');
267
+ }
268
+ catch (error) {
269
+ logger_1.default.error({ error }, 'Migration rollback failed');
270
+ throw new errors_1.DatabaseError(`Rollback failed: ${error instanceof Error ? error.message : String(error)}`);
271
+ }
272
+ }
273
+ /**
274
+ * Get migration status
275
+ */
276
+ async status() {
277
+ try {
278
+ await this.ensureMigrationsTable();
279
+ const appliedVersions = await this.getAppliedVersions();
280
+ const applied = migrations
281
+ .filter((m) => appliedVersions.includes(m.version))
282
+ .sort((a, b) => a.version - b.version);
283
+ const pending = migrations
284
+ .filter((m) => !appliedVersions.includes(m.version))
285
+ .sort((a, b) => a.version - b.version);
286
+ return { applied, pending };
287
+ }
288
+ catch (error) {
289
+ throw new errors_1.DatabaseError(`Failed to get migration status: ${error instanceof Error ? error.message : String(error)}`);
290
+ }
291
+ }
292
+ /**
293
+ * Reset database (rollback all migrations)
294
+ */
295
+ async reset() {
296
+ try {
297
+ logger_1.default.warn('Resetting database - all data will be lost');
298
+ await this.ensureMigrationsTable();
299
+ const appliedVersions = await this.getAppliedVersions();
300
+ const appliedMigrations = migrations
301
+ .filter((m) => appliedVersions.includes(m.version))
302
+ .sort((a, b) => b.version - a.version); // Reverse order for rollback
303
+ for (const migration of appliedMigrations) {
304
+ if (migration.down) {
305
+ await this.rollbackMigration(migration);
306
+ }
307
+ }
308
+ logger_1.default.info('Database reset completed');
309
+ }
310
+ catch (error) {
311
+ logger_1.default.error({ error }, 'Database reset failed');
312
+ throw new errors_1.DatabaseError(`Reset failed: ${error instanceof Error ? error.message : String(error)}`);
313
+ }
314
+ }
315
+ /**
316
+ * Ensure migrations table exists
317
+ */
318
+ async ensureMigrationsTable() {
319
+ const migrationTableMigration = migrations.find((m) => m.name === 'create_migrations_table');
320
+ if (migrationTableMigration) {
321
+ await client_1.db.query(migrationTableMigration.up);
322
+ }
323
+ }
324
+ /**
325
+ * Get list of applied migration versions
326
+ */
327
+ async getAppliedVersions() {
328
+ try {
329
+ const result = await client_1.db.query('SELECT version FROM schema_migrations ORDER BY version');
330
+ return result.rows.map((row) => row.version);
331
+ }
332
+ catch (error) {
333
+ // Table doesn't exist yet
334
+ return [];
335
+ }
336
+ }
337
+ /**
338
+ * Run a single migration
339
+ */
340
+ async runMigration(migration) {
341
+ await client_1.db.transaction(async (client) => {
342
+ logger_1.default.info({ version: migration.version, name: migration.name }, 'Running migration');
343
+ // Execute migration SQL
344
+ await client.query(migration.up);
345
+ // Record migration
346
+ await client.query('INSERT INTO schema_migrations (version, name) VALUES ($1, $2)', [migration.version, migration.name]);
347
+ logger_1.default.info({ version: migration.version, name: migration.name }, 'Migration completed');
348
+ });
349
+ }
350
+ /**
351
+ * Rollback a single migration
352
+ */
353
+ async rollbackMigration(migration) {
354
+ if (!migration.down) {
355
+ throw new Error(`Migration ${migration.name} has no down migration`);
356
+ }
357
+ await client_1.db.transaction(async (client) => {
358
+ logger_1.default.info({ version: migration.version, name: migration.name }, 'Rolling back migration');
359
+ // Execute rollback SQL
360
+ await client.query(migration.down);
361
+ // Remove migration record
362
+ await client.query('DELETE FROM schema_migrations WHERE version = $1', [migration.version]);
363
+ logger_1.default.info({ version: migration.version, name: migration.name }, 'Migration rolled back');
364
+ });
365
+ }
366
+ }
367
+ exports.MigrationRunner = MigrationRunner;
368
+ // CLI interface
369
+ if (require.main === module) {
370
+ const command = process.argv[2] || 'up';
371
+ const runner = new MigrationRunner();
372
+ (async () => {
373
+ try {
374
+ switch (command) {
375
+ case 'up':
376
+ await runner.up();
377
+ break;
378
+ case 'down':
379
+ await runner.down();
380
+ break;
381
+ case 'status':
382
+ const status = await runner.status();
383
+ console.log('\nApplied migrations:');
384
+ status.applied.forEach((m) => console.log(` ✓ ${m.version} - ${m.name}`));
385
+ console.log('\nPending migrations:');
386
+ status.pending.forEach((m) => console.log(` ○ ${m.version} - ${m.name}`));
387
+ break;
388
+ case 'reset':
389
+ await runner.reset();
390
+ break;
391
+ default:
392
+ console.error(`Unknown command: ${command}`);
393
+ console.log('Available commands: up, down, status, reset');
394
+ process.exit(1);
395
+ }
396
+ await client_1.db.close();
397
+ process.exit(0);
398
+ }
399
+ catch (error) {
400
+ console.error('Migration error:', error);
401
+ await client_1.db.close();
402
+ process.exit(1);
403
+ }
404
+ })();
405
+ }
406
+ exports.default = MigrationRunner;
407
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/db/migrate.ts"],"names":[],"mappings":"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"}