sandstream-kit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (519) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +617 -0
  3. package/dist/adapters/api-key-adapter.d.ts +35 -0
  4. package/dist/adapters/api-key-adapter.js +46 -0
  5. package/dist/adapters/api-key-adapter.js.map +1 -0
  6. package/dist/adapters/clerk-auth.d.ts +6 -0
  7. package/dist/adapters/clerk-auth.js +20 -0
  8. package/dist/adapters/clerk-auth.js.map +1 -0
  9. package/dist/adapters/cloudflare-r2.d.ts +6 -0
  10. package/dist/adapters/cloudflare-r2.js +136 -0
  11. package/dist/adapters/cloudflare-r2.js.map +1 -0
  12. package/dist/adapters/expo-eas.d.ts +6 -0
  13. package/dist/adapters/expo-eas.js +129 -0
  14. package/dist/adapters/expo-eas.js.map +1 -0
  15. package/dist/adapters/flagsmith-flags.d.ts +5 -0
  16. package/dist/adapters/flagsmith-flags.js +20 -0
  17. package/dist/adapters/flagsmith-flags.js.map +1 -0
  18. package/dist/adapters/flyio-hosting.d.ts +2 -0
  19. package/dist/adapters/flyio-hosting.js +143 -0
  20. package/dist/adapters/flyio-hosting.js.map +1 -0
  21. package/dist/adapters/index.d.ts +6 -0
  22. package/dist/adapters/index.js +48 -0
  23. package/dist/adapters/index.js.map +1 -0
  24. package/dist/adapters/inngest-background.d.ts +5 -0
  25. package/dist/adapters/inngest-background.js +19 -0
  26. package/dist/adapters/inngest-background.js.map +1 -0
  27. package/dist/adapters/liveblocks-realtime.d.ts +11 -0
  28. package/dist/adapters/liveblocks-realtime.js +62 -0
  29. package/dist/adapters/liveblocks-realtime.js.map +1 -0
  30. package/dist/adapters/loops-email.d.ts +6 -0
  31. package/dist/adapters/loops-email.js +18 -0
  32. package/dist/adapters/loops-email.js.map +1 -0
  33. package/dist/adapters/neon-db.d.ts +10 -0
  34. package/dist/adapters/neon-db.js +94 -0
  35. package/dist/adapters/neon-db.js.map +1 -0
  36. package/dist/adapters/planetscale-db.d.ts +11 -0
  37. package/dist/adapters/planetscale-db.js +134 -0
  38. package/dist/adapters/planetscale-db.js.map +1 -0
  39. package/dist/adapters/posthog-analytics.d.ts +6 -0
  40. package/dist/adapters/posthog-analytics.js +22 -0
  41. package/dist/adapters/posthog-analytics.js.map +1 -0
  42. package/dist/adapters/railway-hosting.d.ts +2 -0
  43. package/dist/adapters/railway-hosting.js +136 -0
  44. package/dist/adapters/railway-hosting.js.map +1 -0
  45. package/dist/adapters/resend-email.d.ts +35 -0
  46. package/dist/adapters/resend-email.js +109 -0
  47. package/dist/adapters/resend-email.js.map +1 -0
  48. package/dist/adapters/searxng-instance.d.ts +6 -0
  49. package/dist/adapters/searxng-instance.js +240 -0
  50. package/dist/adapters/searxng-instance.js.map +1 -0
  51. package/dist/adapters/sentry-monitoring.d.ts +7 -0
  52. package/dist/adapters/sentry-monitoring.js +27 -0
  53. package/dist/adapters/sentry-monitoring.js.map +1 -0
  54. package/dist/adapters/stripe-payments.d.ts +6 -0
  55. package/dist/adapters/stripe-payments.js +134 -0
  56. package/dist/adapters/stripe-payments.js.map +1 -0
  57. package/dist/adapters/supabase-db.d.ts +6 -0
  58. package/dist/adapters/supabase-db.js +130 -0
  59. package/dist/adapters/supabase-db.js.map +1 -0
  60. package/dist/adapters/tinybird-analytics.d.ts +5 -0
  61. package/dist/adapters/tinybird-analytics.js +20 -0
  62. package/dist/adapters/tinybird-analytics.js.map +1 -0
  63. package/dist/adapters/trigger-background.d.ts +6 -0
  64. package/dist/adapters/trigger-background.js +20 -0
  65. package/dist/adapters/trigger-background.js.map +1 -0
  66. package/dist/adapters/types.d.ts +7 -0
  67. package/dist/adapters/types.js +2 -0
  68. package/dist/adapters/types.js.map +1 -0
  69. package/dist/adapters/upstash-redis.d.ts +6 -0
  70. package/dist/adapters/upstash-redis.js +88 -0
  71. package/dist/adapters/upstash-redis.js.map +1 -0
  72. package/dist/adapters/vercel-hosting.d.ts +6 -0
  73. package/dist/adapters/vercel-hosting.js +112 -0
  74. package/dist/adapters/vercel-hosting.js.map +1 -0
  75. package/dist/agent-adapter-model.d.ts +108 -0
  76. package/dist/agent-adapter-model.js +6 -0
  77. package/dist/agent-adapter-model.js.map +1 -0
  78. package/dist/agent-adapter-service.d.ts +67 -0
  79. package/dist/agent-adapter-service.js +299 -0
  80. package/dist/agent-adapter-service.js.map +1 -0
  81. package/dist/agent-config.d.ts +56 -0
  82. package/dist/agent-config.js +129 -0
  83. package/dist/agent-config.js.map +1 -0
  84. package/dist/agent-governance-model.d.ts +128 -0
  85. package/dist/agent-governance-model.js +6 -0
  86. package/dist/agent-governance-model.js.map +1 -0
  87. package/dist/agent-governance-service.d.ts +101 -0
  88. package/dist/agent-governance-service.js +319 -0
  89. package/dist/agent-governance-service.js.map +1 -0
  90. package/dist/alert-rules-engine.d.ts +102 -0
  91. package/dist/alert-rules-engine.js +210 -0
  92. package/dist/alert-rules-engine.js.map +1 -0
  93. package/dist/analytics-service.d.ts +126 -0
  94. package/dist/analytics-service.js +318 -0
  95. package/dist/analytics-service.js.map +1 -0
  96. package/dist/analyze.d.ts +19 -0
  97. package/dist/analyze.js +311 -0
  98. package/dist/analyze.js.map +1 -0
  99. package/dist/apm-instrumentor.d.ts +119 -0
  100. package/dist/apm-instrumentor.js +225 -0
  101. package/dist/apm-instrumentor.js.map +1 -0
  102. package/dist/approval-model.d.ts +82 -0
  103. package/dist/approval-model.js +6 -0
  104. package/dist/approval-model.js.map +1 -0
  105. package/dist/approval-service.d.ts +39 -0
  106. package/dist/approval-service.js +236 -0
  107. package/dist/approval-service.js.map +1 -0
  108. package/dist/approval.d.ts +22 -0
  109. package/dist/approval.js +148 -0
  110. package/dist/approval.js.map +1 -0
  111. package/dist/audit-logging-model.d.ts +157 -0
  112. package/dist/audit-logging-model.js +6 -0
  113. package/dist/audit-logging-model.js.map +1 -0
  114. package/dist/audit-logging-service.d.ts +89 -0
  115. package/dist/audit-logging-service.js +367 -0
  116. package/dist/audit-logging-service.js.map +1 -0
  117. package/dist/audit-secrets.d.ts +42 -0
  118. package/dist/audit-secrets.js +126 -0
  119. package/dist/audit-secrets.js.map +1 -0
  120. package/dist/audit.d.ts +43 -0
  121. package/dist/audit.js +286 -0
  122. package/dist/audit.js.map +1 -0
  123. package/dist/author-dashboard.d.ts +84 -0
  124. package/dist/author-dashboard.js +204 -0
  125. package/dist/author-dashboard.js.map +1 -0
  126. package/dist/author-notifications.d.ts +130 -0
  127. package/dist/author-notifications.js +261 -0
  128. package/dist/author-notifications.js.map +1 -0
  129. package/dist/author-verification.d.ts +79 -0
  130. package/dist/author-verification.js +257 -0
  131. package/dist/author-verification.js.map +1 -0
  132. package/dist/autonomous-setup-model.d.ts +117 -0
  133. package/dist/autonomous-setup-model.js +6 -0
  134. package/dist/autonomous-setup-model.js.map +1 -0
  135. package/dist/autonomous-setup-service.d.ts +74 -0
  136. package/dist/autonomous-setup-service.js +325 -0
  137. package/dist/autonomous-setup-service.js.map +1 -0
  138. package/dist/badge-system.d.ts +70 -0
  139. package/dist/badge-system.js +210 -0
  140. package/dist/badge-system.js.map +1 -0
  141. package/dist/baseline.d.ts +34 -0
  142. package/dist/baseline.js +78 -0
  143. package/dist/baseline.js.map +1 -0
  144. package/dist/beta-program-service.d.ts +112 -0
  145. package/dist/beta-program-service.js +240 -0
  146. package/dist/beta-program-service.js.map +1 -0
  147. package/dist/budget.d.ts +34 -0
  148. package/dist/budget.js +159 -0
  149. package/dist/budget.js.map +1 -0
  150. package/dist/bumblebee.d.ts +143 -0
  151. package/dist/bumblebee.js +384 -0
  152. package/dist/bumblebee.js.map +1 -0
  153. package/dist/cache-manager.d.ts +97 -0
  154. package/dist/cache-manager.js +244 -0
  155. package/dist/cache-manager.js.map +1 -0
  156. package/dist/cdn-adapter.d.ts +64 -0
  157. package/dist/cdn-adapter.js +263 -0
  158. package/dist/cdn-adapter.js.map +1 -0
  159. package/dist/certification-workflow-model.d.ts +95 -0
  160. package/dist/certification-workflow-model.js +6 -0
  161. package/dist/certification-workflow-model.js.map +1 -0
  162. package/dist/certification-workflow-service.d.ts +72 -0
  163. package/dist/certification-workflow-service.js +305 -0
  164. package/dist/certification-workflow-service.js.map +1 -0
  165. package/dist/check-design.d.ts +38 -0
  166. package/dist/check-design.js +256 -0
  167. package/dist/check-design.js.map +1 -0
  168. package/dist/check-gitignore.d.ts +39 -0
  169. package/dist/check-gitignore.js +156 -0
  170. package/dist/check-gitignore.js.map +1 -0
  171. package/dist/check-hooks.d.ts +15 -0
  172. package/dist/check-hooks.js +72 -0
  173. package/dist/check-hooks.js.map +1 -0
  174. package/dist/check-lock.d.ts +16 -0
  175. package/dist/check-lock.js +94 -0
  176. package/dist/check-lock.js.map +1 -0
  177. package/dist/check-secrets.d.ts +11 -0
  178. package/dist/check-secrets.js +320 -0
  179. package/dist/check-secrets.js.map +1 -0
  180. package/dist/check-security.d.ts +13 -0
  181. package/dist/check-security.js +887 -0
  182. package/dist/check-security.js.map +1 -0
  183. package/dist/check-services.d.ts +10 -0
  184. package/dist/check-services.js +44 -0
  185. package/dist/check-services.js.map +1 -0
  186. package/dist/check-skills.d.ts +8 -0
  187. package/dist/check-skills.js +26 -0
  188. package/dist/check-skills.js.map +1 -0
  189. package/dist/check-tests.d.ts +43 -0
  190. package/dist/check-tests.js +175 -0
  191. package/dist/check-tests.js.map +1 -0
  192. package/dist/check-tools.d.ts +8 -0
  193. package/dist/check-tools.js +42 -0
  194. package/dist/check-tools.js.map +1 -0
  195. package/dist/check-web-search.d.ts +12 -0
  196. package/dist/check-web-search.js +168 -0
  197. package/dist/check-web-search.js.map +1 -0
  198. package/dist/ci-cd-publisher.d.ts +162 -0
  199. package/dist/ci-cd-publisher.js +319 -0
  200. package/dist/ci-cd-publisher.js.map +1 -0
  201. package/dist/cli.d.ts +2 -0
  202. package/dist/cli.js +4074 -0
  203. package/dist/cli.js.map +1 -0
  204. package/dist/clone.d.ts +25 -0
  205. package/dist/clone.js +73 -0
  206. package/dist/clone.js.map +1 -0
  207. package/dist/completions.d.ts +8 -0
  208. package/dist/completions.js +250 -0
  209. package/dist/completions.js.map +1 -0
  210. package/dist/compression-manager.d.ts +107 -0
  211. package/dist/compression-manager.js +250 -0
  212. package/dist/compression-manager.js.map +1 -0
  213. package/dist/config.d.ts +233 -0
  214. package/dist/config.js +255 -0
  215. package/dist/config.js.map +1 -0
  216. package/dist/context.d.ts +38 -0
  217. package/dist/context.js +86 -0
  218. package/dist/context.js.map +1 -0
  219. package/dist/cost-monitor.d.ts +72 -0
  220. package/dist/cost-monitor.js +218 -0
  221. package/dist/cost-monitor.js.map +1 -0
  222. package/dist/create-plugin.d.ts +22 -0
  223. package/dist/create-plugin.js +266 -0
  224. package/dist/create-plugin.js.map +1 -0
  225. package/dist/database.d.ts +123 -0
  226. package/dist/database.js +354 -0
  227. package/dist/database.js.map +1 -0
  228. package/dist/datadog-adapter.d.ts +60 -0
  229. package/dist/datadog-adapter.js +245 -0
  230. package/dist/datadog-adapter.js.map +1 -0
  231. package/dist/doctor.d.ts +15 -0
  232. package/dist/doctor.js +131 -0
  233. package/dist/doctor.js.map +1 -0
  234. package/dist/documentation-generator.d.ts +226 -0
  235. package/dist/documentation-generator.js +348 -0
  236. package/dist/documentation-generator.js.map +1 -0
  237. package/dist/elevation-scopes.d.ts +40 -0
  238. package/dist/elevation-scopes.js +110 -0
  239. package/dist/elevation-scopes.js.map +1 -0
  240. package/dist/elevation.d.ts +102 -0
  241. package/dist/elevation.js +449 -0
  242. package/dist/elevation.js.map +1 -0
  243. package/dist/env-diff.d.ts +27 -0
  244. package/dist/env-diff.js +104 -0
  245. package/dist/env-diff.js.map +1 -0
  246. package/dist/env-inspect.d.ts +28 -0
  247. package/dist/env-inspect.js +81 -0
  248. package/dist/env-inspect.js.map +1 -0
  249. package/dist/env-switch.d.ts +37 -0
  250. package/dist/env-switch.js +102 -0
  251. package/dist/env-switch.js.map +1 -0
  252. package/dist/environment.d.ts +27 -0
  253. package/dist/environment.js +148 -0
  254. package/dist/environment.js.map +1 -0
  255. package/dist/error-tracker.d.ts +92 -0
  256. package/dist/error-tracker.js +206 -0
  257. package/dist/error-tracker.js.map +1 -0
  258. package/dist/escalate.d.ts +11 -0
  259. package/dist/escalate.js +73 -0
  260. package/dist/escalate.js.map +1 -0
  261. package/dist/event-stream.d.ts +81 -0
  262. package/dist/event-stream.js +161 -0
  263. package/dist/event-stream.js.map +1 -0
  264. package/dist/fix.d.ts +42 -0
  265. package/dist/fix.js +419 -0
  266. package/dist/fix.js.map +1 -0
  267. package/dist/governance-middleware.d.ts +22 -0
  268. package/dist/governance-middleware.js +173 -0
  269. package/dist/governance-middleware.js.map +1 -0
  270. package/dist/governance.d.ts +44 -0
  271. package/dist/governance.js +236 -0
  272. package/dist/governance.js.map +1 -0
  273. package/dist/hooks.d.ts +25 -0
  274. package/dist/hooks.js +281 -0
  275. package/dist/hooks.js.map +1 -0
  276. package/dist/id-generator.d.ts +43 -0
  277. package/dist/id-generator.js +47 -0
  278. package/dist/id-generator.js.map +1 -0
  279. package/dist/image-optimizer.d.ts +92 -0
  280. package/dist/image-optimizer.js +202 -0
  281. package/dist/image-optimizer.js.map +1 -0
  282. package/dist/install.d.ts +15 -0
  283. package/dist/install.js +59 -0
  284. package/dist/install.js.map +1 -0
  285. package/dist/lock.d.ts +82 -0
  286. package/dist/lock.js +264 -0
  287. package/dist/lock.js.map +1 -0
  288. package/dist/login.d.ts +23 -0
  289. package/dist/login.js +132 -0
  290. package/dist/login.js.map +1 -0
  291. package/dist/mcp-kit-tools-model.d.ts +195 -0
  292. package/dist/mcp-kit-tools-model.js +6 -0
  293. package/dist/mcp-kit-tools-model.js.map +1 -0
  294. package/dist/mcp-kit-tools-service.d.ts +127 -0
  295. package/dist/mcp-kit-tools-service.js +943 -0
  296. package/dist/mcp-kit-tools-service.js.map +1 -0
  297. package/dist/mcp-orchestrator.d.ts +70 -0
  298. package/dist/mcp-orchestrator.js +175 -0
  299. package/dist/mcp-orchestrator.js.map +1 -0
  300. package/dist/mcp-server.d.ts +3 -0
  301. package/dist/mcp-server.js +722 -0
  302. package/dist/mcp-server.js.map +1 -0
  303. package/dist/middleware/rate-limiter.d.ts +74 -0
  304. package/dist/middleware/rate-limiter.js +342 -0
  305. package/dist/middleware/rate-limiter.js.map +1 -0
  306. package/dist/migration-runner.d.ts +66 -0
  307. package/dist/migration-runner.js +192 -0
  308. package/dist/migration-runner.js.map +1 -0
  309. package/dist/migrations.d.ts +25 -0
  310. package/dist/migrations.js +530 -0
  311. package/dist/migrations.js.map +1 -0
  312. package/dist/moderation-system.d.ts +153 -0
  313. package/dist/moderation-system.js +338 -0
  314. package/dist/moderation-system.js.map +1 -0
  315. package/dist/multi-agent-workflow-model.d.ts +125 -0
  316. package/dist/multi-agent-workflow-model.js +6 -0
  317. package/dist/multi-agent-workflow-model.js.map +1 -0
  318. package/dist/multi-agent-workflow-service.d.ts +102 -0
  319. package/dist/multi-agent-workflow-service.js +452 -0
  320. package/dist/multi-agent-workflow-service.js.map +1 -0
  321. package/dist/onepassword.d.ts +75 -0
  322. package/dist/onepassword.js +140 -0
  323. package/dist/onepassword.js.map +1 -0
  324. package/dist/open.d.ts +30 -0
  325. package/dist/open.js +166 -0
  326. package/dist/open.js.map +1 -0
  327. package/dist/output.d.ts +32 -0
  328. package/dist/output.js +295 -0
  329. package/dist/output.js.map +1 -0
  330. package/dist/partner-service.d.ts +101 -0
  331. package/dist/partner-service.js +191 -0
  332. package/dist/partner-service.js.map +1 -0
  333. package/dist/payout-service.d.ts +136 -0
  334. package/dist/payout-service.js +293 -0
  335. package/dist/payout-service.js.map +1 -0
  336. package/dist/pkg.d.ts +30 -0
  337. package/dist/pkg.js +162 -0
  338. package/dist/pkg.js.map +1 -0
  339. package/dist/plugin-loader.d.ts +16 -0
  340. package/dist/plugin-loader.js +124 -0
  341. package/dist/plugin-loader.js.map +1 -0
  342. package/dist/plugin-registry-model.d.ts +133 -0
  343. package/dist/plugin-registry-model.js +6 -0
  344. package/dist/plugin-registry-model.js.map +1 -0
  345. package/dist/plugin-registry-service.d.ts +109 -0
  346. package/dist/plugin-registry-service.js +361 -0
  347. package/dist/plugin-registry-service.js.map +1 -0
  348. package/dist/plugin-registry.d.ts +58 -0
  349. package/dist/plugin-registry.js +108 -0
  350. package/dist/plugin-registry.js.map +1 -0
  351. package/dist/plugin-updates.d.ts +135 -0
  352. package/dist/plugin-updates.js +326 -0
  353. package/dist/plugin-updates.js.map +1 -0
  354. package/dist/plugins-cli.d.ts +7 -0
  355. package/dist/plugins-cli.js +157 -0
  356. package/dist/plugins-cli.js.map +1 -0
  357. package/dist/plugins.d.ts +88 -0
  358. package/dist/plugins.js +251 -0
  359. package/dist/plugins.js.map +1 -0
  360. package/dist/policy.d.ts +66 -0
  361. package/dist/policy.js +160 -0
  362. package/dist/policy.js.map +1 -0
  363. package/dist/post-pull-audit.d.ts +39 -0
  364. package/dist/post-pull-audit.js +151 -0
  365. package/dist/post-pull-audit.js.map +1 -0
  366. package/dist/provision.d.ts +17 -0
  367. package/dist/provision.js +147 -0
  368. package/dist/provision.js.map +1 -0
  369. package/dist/query-optimizer.d.ts +102 -0
  370. package/dist/query-optimizer.js +199 -0
  371. package/dist/query-optimizer.js.map +1 -0
  372. package/dist/read-only-mode.d.ts +46 -0
  373. package/dist/read-only-mode.js +71 -0
  374. package/dist/read-only-mode.js.map +1 -0
  375. package/dist/redis-adapter.d.ts +71 -0
  376. package/dist/redis-adapter.js +278 -0
  377. package/dist/redis-adapter.js.map +1 -0
  378. package/dist/resilience-tests.d.ts +120 -0
  379. package/dist/resilience-tests.js +293 -0
  380. package/dist/resilience-tests.js.map +1 -0
  381. package/dist/revocation.d.ts +22 -0
  382. package/dist/revocation.js +100 -0
  383. package/dist/revocation.js.map +1 -0
  384. package/dist/run.d.ts +21 -0
  385. package/dist/run.js +80 -0
  386. package/dist/run.js.map +1 -0
  387. package/dist/scan-build.d.ts +18 -0
  388. package/dist/scan-build.js +100 -0
  389. package/dist/scan-build.js.map +1 -0
  390. package/dist/scan-plaintext.d.ts +24 -0
  391. package/dist/scan-plaintext.js +147 -0
  392. package/dist/scan-plaintext.js.map +1 -0
  393. package/dist/scan-staged.d.ts +15 -0
  394. package/dist/scan-staged.js +70 -0
  395. package/dist/scan-staged.js.map +1 -0
  396. package/dist/scan-transcripts.d.ts +23 -0
  397. package/dist/scan-transcripts.js +93 -0
  398. package/dist/scan-transcripts.js.map +1 -0
  399. package/dist/secret-backends.d.ts +50 -0
  400. package/dist/secret-backends.js +510 -0
  401. package/dist/secret-backends.js.map +1 -0
  402. package/dist/secret-expiration.d.ts +46 -0
  403. package/dist/secret-expiration.js +172 -0
  404. package/dist/secret-expiration.js.map +1 -0
  405. package/dist/secrets-migrate.d.ts +75 -0
  406. package/dist/secrets-migrate.js +185 -0
  407. package/dist/secrets-migrate.js.map +1 -0
  408. package/dist/secrets-model.d.ts +77 -0
  409. package/dist/secrets-model.js +6 -0
  410. package/dist/secrets-model.js.map +1 -0
  411. package/dist/secrets-onecli.d.ts +65 -0
  412. package/dist/secrets-onecli.js +113 -0
  413. package/dist/secrets-onecli.js.map +1 -0
  414. package/dist/secrets-propagate.d.ts +48 -0
  415. package/dist/secrets-propagate.js +201 -0
  416. package/dist/secrets-propagate.js.map +1 -0
  417. package/dist/secrets-pull.d.ts +34 -0
  418. package/dist/secrets-pull.js +118 -0
  419. package/dist/secrets-pull.js.map +1 -0
  420. package/dist/secrets-purge-history.d.ts +53 -0
  421. package/dist/secrets-purge-history.js +144 -0
  422. package/dist/secrets-purge-history.js.map +1 -0
  423. package/dist/secrets-rotate-cli.d.ts +54 -0
  424. package/dist/secrets-rotate-cli.js +438 -0
  425. package/dist/secrets-rotate-cli.js.map +1 -0
  426. package/dist/secrets-rotate.d.ts +38 -0
  427. package/dist/secrets-rotate.js +65 -0
  428. package/dist/secrets-rotate.js.map +1 -0
  429. package/dist/secrets-service.d.ts +73 -0
  430. package/dist/secrets-service.js +283 -0
  431. package/dist/secrets-service.js.map +1 -0
  432. package/dist/secrets-set.d.ts +25 -0
  433. package/dist/secrets-set.js +33 -0
  434. package/dist/secrets-set.js.map +1 -0
  435. package/dist/secrets-sync.d.ts +21 -0
  436. package/dist/secrets-sync.js +215 -0
  437. package/dist/secrets-sync.js.map +1 -0
  438. package/dist/secrets-validate.d.ts +41 -0
  439. package/dist/secrets-validate.js +126 -0
  440. package/dist/secrets-validate.js.map +1 -0
  441. package/dist/secrets-vault-migrate.d.ts +71 -0
  442. package/dist/secrets-vault-migrate.js +258 -0
  443. package/dist/secrets-vault-migrate.js.map +1 -0
  444. package/dist/secrets.d.ts +16 -0
  445. package/dist/secrets.js +72 -0
  446. package/dist/secrets.js.map +1 -0
  447. package/dist/security-hardening.d.ts +150 -0
  448. package/dist/security-hardening.js +275 -0
  449. package/dist/security-hardening.js.map +1 -0
  450. package/dist/security-policy.d.ts +89 -0
  451. package/dist/security-policy.js +174 -0
  452. package/dist/security-policy.js.map +1 -0
  453. package/dist/security-prescan.d.ts +117 -0
  454. package/dist/security-prescan.js +566 -0
  455. package/dist/security-prescan.js.map +1 -0
  456. package/dist/sentry-adapter.d.ts +49 -0
  457. package/dist/sentry-adapter.js +227 -0
  458. package/dist/sentry-adapter.js.map +1 -0
  459. package/dist/service-adapter.d.ts +94 -0
  460. package/dist/service-adapter.js +162 -0
  461. package/dist/service-adapter.js.map +1 -0
  462. package/dist/skills.d.ts +13 -0
  463. package/dist/skills.js +17 -0
  464. package/dist/skills.js.map +1 -0
  465. package/dist/sla-monitor.d.ts +107 -0
  466. package/dist/sla-monitor.js +233 -0
  467. package/dist/sla-monitor.js.map +1 -0
  468. package/dist/stack-detector.d.ts +12 -0
  469. package/dist/stack-detector.js +251 -0
  470. package/dist/stack-detector.js.map +1 -0
  471. package/dist/team-model.d.ts +58 -0
  472. package/dist/team-model.js +83 -0
  473. package/dist/team-model.js.map +1 -0
  474. package/dist/team-service.d.ts +54 -0
  475. package/dist/team-service.js +206 -0
  476. package/dist/team-service.js.map +1 -0
  477. package/dist/toml-generator.d.ts +8 -0
  478. package/dist/toml-generator.js +223 -0
  479. package/dist/toml-generator.js.map +1 -0
  480. package/dist/triage-sandbox.d.ts +34 -0
  481. package/dist/triage-sandbox.js +167 -0
  482. package/dist/triage-sandbox.js.map +1 -0
  483. package/dist/triage.d.ts +30 -0
  484. package/dist/triage.js +79 -0
  485. package/dist/triage.js.map +1 -0
  486. package/dist/update-check.d.ts +13 -0
  487. package/dist/update-check.js +91 -0
  488. package/dist/update-check.js.map +1 -0
  489. package/dist/utils/colors.d.ts +14 -0
  490. package/dist/utils/colors.js +15 -0
  491. package/dist/utils/colors.js.map +1 -0
  492. package/dist/utils/didYouMean.d.ts +15 -0
  493. package/dist/utils/didYouMean.js +47 -0
  494. package/dist/utils/didYouMean.js.map +1 -0
  495. package/dist/utils/exec.d.ts +21 -0
  496. package/dist/utils/exec.js +23 -0
  497. package/dist/utils/exec.js.map +1 -0
  498. package/dist/utils/execFileNoThrow.d.ts +14 -0
  499. package/dist/utils/execFileNoThrow.js +29 -0
  500. package/dist/utils/execFileNoThrow.js.map +1 -0
  501. package/dist/utils/flags.d.ts +19 -0
  502. package/dist/utils/flags.js +36 -0
  503. package/dist/utils/flags.js.map +1 -0
  504. package/dist/utils/parseCommand.d.ts +16 -0
  505. package/dist/utils/parseCommand.js +13 -0
  506. package/dist/utils/parseCommand.js.map +1 -0
  507. package/dist/utils/prompt.d.ts +13 -0
  508. package/dist/utils/prompt.js +35 -0
  509. package/dist/utils/prompt.js.map +1 -0
  510. package/dist/utils/promptSelect.d.ts +19 -0
  511. package/dist/utils/promptSelect.js +89 -0
  512. package/dist/utils/promptSelect.js.map +1 -0
  513. package/dist/utils/redactSecrets.d.ts +24 -0
  514. package/dist/utils/redactSecrets.js +134 -0
  515. package/dist/utils/redactSecrets.js.map +1 -0
  516. package/dist/validation/dynamic-schema.d.ts +29 -0
  517. package/dist/validation/dynamic-schema.js +76 -0
  518. package/dist/validation/dynamic-schema.js.map +1 -0
  519. package/package.json +52 -0
@@ -0,0 +1,101 @@
1
+ import type { GovernancePolicy, AgentPermission, AgentSecurityProfile, GovernanceAuditLog, RateLimitPolicy, ResourceQuota, GovernanceMetrics, PolicyEvaluation, PolicyType, ActionType, PermissionLevel } from "./agent-governance-model.js";
2
+ /**
3
+ * Create governance policy
4
+ */
5
+ export declare function createGovernancePolicy(team_id: string, policy_name: string, policy_type: PolicyType, created_by: string, description?: string): {
6
+ policy: GovernancePolicy;
7
+ error?: string;
8
+ };
9
+ /**
10
+ * Add rule to policy
11
+ */
12
+ export declare function addPolicyRule(team_id: string, policy_id: string, condition: string, action: string, consequence?: string): {
13
+ policy: GovernancePolicy;
14
+ error?: string;
15
+ };
16
+ /**
17
+ * Activate policy
18
+ */
19
+ export declare function activatePolicy(team_id: string, policy_id: string): {
20
+ policy: GovernancePolicy;
21
+ error?: string;
22
+ };
23
+ /**
24
+ * Create security profile for agent
25
+ */
26
+ export declare function createSecurityProfile(team_id: string, agent_id: string, agent_type: string): {
27
+ profile: AgentSecurityProfile;
28
+ error?: string;
29
+ };
30
+ /**
31
+ * Grant permission to agent
32
+ */
33
+ export declare function grantPermission(team_id: string, agent_id: string, resource_type: string, action: ActionType, permission_level: PermissionLevel, granted_by: string, resource_id?: string, expires_at?: string): {
34
+ permission: AgentPermission;
35
+ error?: string;
36
+ };
37
+ /**
38
+ * Revoke permission
39
+ */
40
+ export declare function revokePermission(team_id: string, permission_id: string): {
41
+ success: boolean;
42
+ error?: string;
43
+ };
44
+ /**
45
+ * Evaluate policy for agent action
46
+ */
47
+ export declare function evaluatePolicy(team_id: string, policy_id: string, agent_id: string, action: ActionType, resource_type: string, resource_id?: string): {
48
+ evaluation: PolicyEvaluation;
49
+ error?: string;
50
+ };
51
+ /**
52
+ * Log audit event
53
+ */
54
+ export declare function logAuditEvent(team_id: string, agent_id: string | undefined, status: "allowed" | "denied" | "warning", action: ActionType, resource_type: string, resource_id?: string, policy_id?: string): {
55
+ log: GovernanceAuditLog;
56
+ };
57
+ /**
58
+ * Set rate limit for agent
59
+ */
60
+ export declare function setRateLimit(team_id: string, agent_id: string | undefined, resource_type: string, requests_per_minute: number, requests_per_hour: number): {
61
+ rateLimit: RateLimitPolicy;
62
+ error?: string;
63
+ };
64
+ /**
65
+ * Set resource quota for agent
66
+ */
67
+ export declare function setResourceQuota(team_id: string, agent_id: string | undefined, resource_type: string, limit: number, unit: string, period: "hour" | "day" | "month"): {
68
+ quota: ResourceQuota;
69
+ error?: string;
70
+ };
71
+ /**
72
+ * Get security profile
73
+ */
74
+ export declare function getSecurityProfile(team_id: string, agent_id: string): {
75
+ profile: AgentSecurityProfile | null;
76
+ error?: string;
77
+ };
78
+ /**
79
+ * Get audit logs for period
80
+ */
81
+ export declare function getAuditLogs(team_id: string, agent_id?: string, limit?: number, offset?: number): {
82
+ logs: GovernanceAuditLog[];
83
+ total: number;
84
+ };
85
+ /**
86
+ * Get governance metrics
87
+ */
88
+ export declare function getGovernanceMetrics(team_id: string): GovernanceMetrics;
89
+ /**
90
+ * Update agent trust score
91
+ */
92
+ export declare function updateTrustScore(team_id: string, agent_id: string, score_adjustment: number): {
93
+ profile: AgentSecurityProfile;
94
+ error?: string;
95
+ };
96
+ /**
97
+ * List all policies
98
+ */
99
+ export declare function listPolicies(team_id: string): {
100
+ policies: GovernancePolicy[];
101
+ };
@@ -0,0 +1,319 @@
1
+ import { randomUUID } from "node:crypto";
2
+ const policies = new Map();
3
+ const permissions = new Map();
4
+ const securityProfiles = new Map();
5
+ const auditLogs = new Map();
6
+ const rateLimits = new Map();
7
+ const quotas = new Map();
8
+ const evaluations = new Map();
9
+ /**
10
+ * Create governance policy
11
+ */
12
+ export function createGovernancePolicy(team_id, policy_name, policy_type, created_by, description) {
13
+ const policy = {
14
+ id: `policy_${randomUUID()}`,
15
+ team_id,
16
+ policy_name,
17
+ description: description || "",
18
+ policy_type,
19
+ status: "draft",
20
+ rules: [],
21
+ priority: 50,
22
+ enforcement_enabled: false,
23
+ created_by,
24
+ created_at: new Date().toISOString(),
25
+ updated_at: new Date().toISOString(),
26
+ };
27
+ policies.set(policy.id, policy);
28
+ return { policy };
29
+ }
30
+ /**
31
+ * Add rule to policy
32
+ */
33
+ export function addPolicyRule(team_id, policy_id, condition, action, consequence) {
34
+ const policy = policies.get(policy_id);
35
+ if (!policy || policy.team_id !== team_id) {
36
+ return { policy: {}, error: "Policy not found" };
37
+ }
38
+ policy.rules.push({ condition, action, consequence });
39
+ policy.updated_at = new Date().toISOString();
40
+ return { policy };
41
+ }
42
+ /**
43
+ * Activate policy
44
+ */
45
+ export function activatePolicy(team_id, policy_id) {
46
+ const policy = policies.get(policy_id);
47
+ if (!policy || policy.team_id !== team_id) {
48
+ return { policy: {}, error: "Policy not found" };
49
+ }
50
+ if (policy.rules.length === 0) {
51
+ return { policy: {}, error: "Policy has no rules" };
52
+ }
53
+ policy.status = "active";
54
+ policy.enforcement_enabled = true;
55
+ policy.updated_at = new Date().toISOString();
56
+ return { policy };
57
+ }
58
+ /**
59
+ * Create security profile for agent
60
+ */
61
+ export function createSecurityProfile(team_id, agent_id, agent_type) {
62
+ const profile = {
63
+ id: `profile_${randomUUID()}`,
64
+ team_id,
65
+ agent_id,
66
+ agent_type,
67
+ risk_level: "medium",
68
+ trust_score: 50,
69
+ permissions: [],
70
+ violations_count: 0,
71
+ sandboxed: false,
72
+ resource_limits: {
73
+ max_concurrent_workflows: 5,
74
+ max_api_calls_per_hour: 1000,
75
+ max_memory_mb: 512,
76
+ max_storage_gb: 10,
77
+ },
78
+ created_at: new Date().toISOString(),
79
+ updated_at: new Date().toISOString(),
80
+ };
81
+ securityProfiles.set(profile.id, profile);
82
+ return { profile };
83
+ }
84
+ /**
85
+ * Grant permission to agent
86
+ */
87
+ export function grantPermission(team_id, agent_id, resource_type, action, permission_level, granted_by, resource_id, expires_at) {
88
+ const permission = {
89
+ id: `perm_${randomUUID()}`,
90
+ team_id,
91
+ agent_id,
92
+ resource_type,
93
+ resource_id,
94
+ action,
95
+ permission_level,
96
+ granted_by,
97
+ granted_at: new Date().toISOString(),
98
+ expires_at,
99
+ created_at: new Date().toISOString(),
100
+ updated_at: new Date().toISOString(),
101
+ };
102
+ permissions.set(permission.id, permission);
103
+ // Update security profile
104
+ const profiles = Array.from(securityProfiles.values()).filter((p) => p.team_id === team_id && p.agent_id === agent_id);
105
+ if (profiles.length > 0) {
106
+ profiles[0].permissions.push(permission);
107
+ }
108
+ return { permission };
109
+ }
110
+ /**
111
+ * Revoke permission
112
+ */
113
+ export function revokePermission(team_id, permission_id) {
114
+ const permission = permissions.get(permission_id);
115
+ if (!permission || permission.team_id !== team_id) {
116
+ return { success: false, error: "Permission not found" };
117
+ }
118
+ permissions.delete(permission_id);
119
+ // Update security profile
120
+ const profiles = Array.from(securityProfiles.values()).filter((p) => p.team_id === team_id && p.agent_id === permission.agent_id);
121
+ if (profiles.length > 0) {
122
+ profiles[0].permissions = profiles[0].permissions.filter((p) => p.id !== permission_id);
123
+ }
124
+ return { success: true };
125
+ }
126
+ /**
127
+ * Evaluate policy for agent action
128
+ */
129
+ export function evaluatePolicy(team_id, policy_id, agent_id, action, resource_type, resource_id) {
130
+ const policy = policies.get(policy_id);
131
+ if (!policy || policy.team_id !== team_id) {
132
+ return { evaluation: {}, error: "Policy not found" };
133
+ }
134
+ if (!policy.enforcement_enabled) {
135
+ return { evaluation: {}, error: "Policy not active" };
136
+ }
137
+ // Check if agent is in target list
138
+ if (policy.target_agents && !policy.target_agents.includes(agent_id) && !policy.target_agents.includes("*")) {
139
+ return { evaluation: {}, error: "Agent not subject to policy" };
140
+ }
141
+ // Evaluate rules (check if any rule applies)
142
+ let allowed = true;
143
+ const matchedRules = policy.rules.filter((r) => r.action.includes(action) || r.action === "allow");
144
+ if (matchedRules.length > 0) {
145
+ const denialRule = matchedRules.find((r) => r.consequence === "deny");
146
+ allowed = !denialRule;
147
+ }
148
+ else {
149
+ // Default to allow if no specific rules match
150
+ allowed = true;
151
+ }
152
+ const evaluation = {
153
+ id: `eval_${randomUUID()}`,
154
+ team_id,
155
+ policy_id,
156
+ agent_id,
157
+ action,
158
+ resource_type,
159
+ allowed,
160
+ reason: allowed ? "Policy allowed action" : "Policy denied action",
161
+ timestamp: new Date().toISOString(),
162
+ created_at: new Date().toISOString(),
163
+ };
164
+ evaluations.set(evaluation.id, evaluation);
165
+ // Log to audit
166
+ logAuditEvent(team_id, agent_id, allowed ? "allowed" : "denied", action, resource_type, resource_id, policy_id);
167
+ return { evaluation };
168
+ }
169
+ /**
170
+ * Log audit event
171
+ */
172
+ export function logAuditEvent(team_id, agent_id, status, action, resource_type, resource_id, policy_id) {
173
+ const log = {
174
+ id: `audit_${randomUUID()}`,
175
+ team_id,
176
+ agent_id,
177
+ action: action,
178
+ resource_type,
179
+ resource_id,
180
+ details: {},
181
+ severity: status === "denied" ? "critical" : "info",
182
+ status,
183
+ policy_evaluated: policy_id,
184
+ timestamp: new Date().toISOString(),
185
+ created_at: new Date().toISOString(),
186
+ };
187
+ auditLogs.set(log.id, log);
188
+ // Update security profile violation count if denied
189
+ if (status === "denied" && agent_id) {
190
+ const profiles = Array.from(securityProfiles.values()).filter((p) => p.team_id === team_id && p.agent_id === agent_id);
191
+ if (profiles.length > 0) {
192
+ profiles[0].violations_count += 1;
193
+ profiles[0].last_violation = new Date().toISOString();
194
+ }
195
+ }
196
+ return { log };
197
+ }
198
+ /**
199
+ * Set rate limit for agent
200
+ */
201
+ export function setRateLimit(team_id, agent_id, resource_type, requests_per_minute, requests_per_hour) {
202
+ const rateLimit = {
203
+ id: `ratelimit_${randomUUID()}`,
204
+ team_id,
205
+ agent_id,
206
+ resource_type,
207
+ requests_per_minute,
208
+ requests_per_hour,
209
+ requests_per_day: requests_per_hour * 24,
210
+ burst_limit: Math.ceil(requests_per_minute * 1.5),
211
+ enabled: true,
212
+ created_at: new Date().toISOString(),
213
+ updated_at: new Date().toISOString(),
214
+ };
215
+ rateLimits.set(rateLimit.id, rateLimit);
216
+ return { rateLimit };
217
+ }
218
+ /**
219
+ * Set resource quota for agent
220
+ */
221
+ export function setResourceQuota(team_id, agent_id, resource_type, limit, unit, period) {
222
+ const quota = {
223
+ id: `quota_${randomUUID()}`,
224
+ team_id,
225
+ agent_id,
226
+ resource_type,
227
+ limit,
228
+ unit,
229
+ period,
230
+ current_usage: 0,
231
+ warning_threshold_percent: 80,
232
+ created_at: new Date().toISOString(),
233
+ updated_at: new Date().toISOString(),
234
+ };
235
+ quotas.set(quota.id, quota);
236
+ return { quota };
237
+ }
238
+ /**
239
+ * Get security profile
240
+ */
241
+ export function getSecurityProfile(team_id, agent_id) {
242
+ const profiles = Array.from(securityProfiles.values()).filter((p) => p.team_id === team_id && p.agent_id === agent_id);
243
+ if (profiles.length === 0) {
244
+ return { profile: null, error: "Security profile not found" };
245
+ }
246
+ return { profile: profiles[0] };
247
+ }
248
+ /**
249
+ * Get audit logs for period
250
+ */
251
+ export function getAuditLogs(team_id, agent_id, limit = 100, offset = 0) {
252
+ let filtered = Array.from(auditLogs.values()).filter((log) => log.team_id === team_id);
253
+ if (agent_id) {
254
+ filtered = filtered.filter((log) => log.agent_id === agent_id);
255
+ }
256
+ // Sort by timestamp descending
257
+ filtered.sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
258
+ const results = filtered.slice(offset, offset + limit);
259
+ return { logs: results, total: filtered.length };
260
+ }
261
+ /**
262
+ * Get governance metrics
263
+ */
264
+ export function getGovernanceMetrics(team_id) {
265
+ const teamPolicies = Array.from(policies.values()).filter((p) => p.team_id === team_id);
266
+ const activePolicies = teamPolicies.filter((p) => p.status === "active").length;
267
+ const teamPermissions = Array.from(permissions.values()).filter((p) => p.team_id === team_id);
268
+ const teamProfiles = Array.from(securityProfiles.values()).filter((p) => p.team_id === team_id);
269
+ const profilesWithViolations = teamProfiles.filter((p) => p.violations_count > 0).length;
270
+ const avgTrust = teamProfiles.length > 0
271
+ ? teamProfiles.reduce((sum, p) => sum + p.trust_score, 0) / teamProfiles.length
272
+ : 0;
273
+ const teamLogs = Array.from(auditLogs.values()).filter((log) => log.team_id === team_id);
274
+ const criticalLogs = teamLogs.filter((log) => log.severity === "critical").length;
275
+ const deniedLogs = teamLogs.filter((log) => log.status === "denied").length;
276
+ const violationRate = teamLogs.length > 0 ? (deniedLogs / teamLogs.length) * 100 : 0;
277
+ return {
278
+ total_policies: teamPolicies.length,
279
+ active_policies: activePolicies,
280
+ total_permissions: teamPermissions.length,
281
+ agents_with_violations: profilesWithViolations,
282
+ total_audit_events: teamLogs.length,
283
+ critical_events_count: criticalLogs,
284
+ average_trust_score: avgTrust,
285
+ policy_violation_rate_percent: violationRate,
286
+ average_response_time_ms: 45,
287
+ };
288
+ }
289
+ /**
290
+ * Update agent trust score
291
+ */
292
+ export function updateTrustScore(team_id, agent_id, score_adjustment) {
293
+ const profiles = Array.from(securityProfiles.values()).filter((p) => p.team_id === team_id && p.agent_id === agent_id);
294
+ if (profiles.length === 0) {
295
+ return { profile: {}, error: "Security profile not found" };
296
+ }
297
+ const profile = profiles[0];
298
+ profile.trust_score = Math.max(0, Math.min(100, profile.trust_score + score_adjustment));
299
+ profile.updated_at = new Date().toISOString();
300
+ // Adjust risk level based on trust score
301
+ if (profile.trust_score >= 80) {
302
+ profile.risk_level = "low";
303
+ }
304
+ else if (profile.trust_score >= 50) {
305
+ profile.risk_level = "medium";
306
+ }
307
+ else {
308
+ profile.risk_level = "high";
309
+ }
310
+ return { profile };
311
+ }
312
+ /**
313
+ * List all policies
314
+ */
315
+ export function listPolicies(team_id) {
316
+ const teamPolicies = Array.from(policies.values()).filter((p) => p.team_id === team_id);
317
+ return { policies: teamPolicies };
318
+ }
319
+ //# sourceMappingURL=agent-governance-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-governance-service.js","sourceRoot":"","sources":["../src/agent-governance-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Alert rules engine
3
+ * Evaluates conditions against event stream and triggers actions
4
+ */
5
+ import { EventStream, StreamEvent } from "./event-stream.js";
6
+ export type AlertMetric = "error_rate" | "response_time" | "downloads" | "revenue" | "sla_breach" | "payout_delay" | "abuse_score";
7
+ export type AlertOperator = ">" | "<" | "==" | "!=" | "anomaly";
8
+ export type AlertAggregation = "avg" | "max" | "min" | "sum" | "count";
9
+ export type AlertSeverity = "low" | "medium" | "high" | "critical";
10
+ export type AlertActionType = "notify" | "alert" | "escalate" | "webhook";
11
+ export interface AlertAction {
12
+ type: AlertActionType;
13
+ target: string;
14
+ severity: AlertSeverity;
15
+ }
16
+ export interface AlertCondition {
17
+ metric: AlertMetric;
18
+ operator: AlertOperator;
19
+ threshold: number;
20
+ window: number;
21
+ aggregation: AlertAggregation;
22
+ }
23
+ export interface AlertRule {
24
+ id: string;
25
+ name: string;
26
+ description: string;
27
+ enabled: boolean;
28
+ condition: AlertCondition;
29
+ actions: AlertAction[];
30
+ createdAt: string;
31
+ updatedAt: string;
32
+ evaluatedAt?: string;
33
+ lastTriggered?: string;
34
+ acknowledgedUntil?: number;
35
+ }
36
+ export interface AlertTriggerEvent {
37
+ ruleId: string;
38
+ triggeredAt: number;
39
+ value: number;
40
+ threshold: number;
41
+ window: number;
42
+ breachEvents: StreamEvent[];
43
+ }
44
+ export declare class AlertRulesEngine {
45
+ private rules;
46
+ private history;
47
+ private stream;
48
+ private onTrigger?;
49
+ private maxHistorySize;
50
+ constructor(stream: EventStream);
51
+ /**
52
+ * Add or update alert rule
53
+ */
54
+ addRule(rule: Omit<AlertRule, "id" | "createdAt" | "updatedAt">): AlertRule;
55
+ /**
56
+ * Remove rule by ID
57
+ */
58
+ removeRule(ruleId: string): boolean;
59
+ /**
60
+ * Get rule by ID
61
+ */
62
+ getRule(ruleId: string): AlertRule | undefined;
63
+ /**
64
+ * Get all rules
65
+ */
66
+ getAllRules(): AlertRule[];
67
+ /**
68
+ * Get active (non-acknowledged) rules
69
+ */
70
+ getActiveAlerts(authorId?: string): AlertRule[];
71
+ /**
72
+ * Evaluate rule against stream events
73
+ */
74
+ evaluateRule(rule: AlertRule): {
75
+ triggered: boolean;
76
+ value: number;
77
+ };
78
+ /**
79
+ * Evaluate all rules and trigger actions
80
+ */
81
+ evaluateAll(): Promise<AlertTriggerEvent[]>;
82
+ /**
83
+ * Acknowledge alert to suppress duplicates
84
+ */
85
+ acknowledgeAlert(ruleId: string, suppressMinutes?: number): void;
86
+ /**
87
+ * Get alert trigger history
88
+ */
89
+ getHistory(ruleId?: string, limit?: number, offset?: number): AlertTriggerEvent[];
90
+ /**
91
+ * Clear history
92
+ */
93
+ clearHistory(): void;
94
+ /**
95
+ * Set trigger callback
96
+ */
97
+ setTriggerCallback(callback: (event: AlertTriggerEvent) => Promise<void>): void;
98
+ private recordTrigger;
99
+ private matchesMetric;
100
+ private aggregateValue;
101
+ private evaluateCondition;
102
+ }