beddel 0.2.3 → 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 (542) hide show
  1. package/README.md +138 -595
  2. package/dist/client.d.ts +10 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +9 -0
  5. package/dist/core/parser.d.ts +25 -0
  6. package/dist/core/parser.d.ts.map +1 -0
  7. package/dist/core/parser.js +31 -0
  8. package/dist/core/variable-resolver.d.ts +23 -0
  9. package/dist/core/variable-resolver.d.ts.map +1 -0
  10. package/dist/core/variable-resolver.js +98 -0
  11. package/dist/core/workflow.d.ts +39 -0
  12. package/dist/core/workflow.d.ts.map +1 -0
  13. package/dist/core/workflow.js +64 -0
  14. package/dist/index.d.ts +14 -36
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +15 -130
  17. package/dist/primitives/index.d.ts +37 -0
  18. package/dist/primitives/index.d.ts.map +1 -0
  19. package/dist/primitives/index.js +72 -0
  20. package/dist/primitives/llm.d.ts +56 -0
  21. package/dist/primitives/llm.d.ts.map +1 -0
  22. package/dist/primitives/llm.js +156 -0
  23. package/dist/primitives/output.d.ts +28 -0
  24. package/dist/primitives/output.d.ts.map +1 -0
  25. package/dist/primitives/output.js +39 -0
  26. package/dist/server/handler.d.ts +7 -0
  27. package/dist/server/handler.d.ts.map +1 -0
  28. package/dist/server/handler.js +55 -0
  29. package/dist/server.d.ts +10 -0
  30. package/dist/server.d.ts.map +1 -0
  31. package/dist/server.js +9 -0
  32. package/dist/tools/index.d.ts +49 -0
  33. package/dist/tools/index.d.ts.map +1 -0
  34. package/dist/tools/index.js +96 -0
  35. package/dist/types/index.d.ts +54 -0
  36. package/dist/types/index.d.ts.map +1 -0
  37. package/dist/types/index.js +5 -0
  38. package/docs/architecture/api-reference.md +307 -0
  39. package/docs/architecture/components.md +246 -0
  40. package/docs/architecture/core-workflows.md +236 -0
  41. package/docs/architecture/high-level-architecture.md +76 -0
  42. package/docs/architecture/index.md +31 -0
  43. package/docs/architecture/source-tree.md +92 -0
  44. package/docs/architecture/tech-stack.md +25 -0
  45. package/docs/prd/epic-list.md +101 -0
  46. package/docs/prd/goals-context.md +23 -0
  47. package/docs/prd/index.md +21 -0
  48. package/docs/prd/requirements.md +25 -0
  49. package/docs/prd/technical-assumptions.md +35 -0
  50. package/package.json +31 -118
  51. package/src/client.ts +18 -0
  52. package/src/core/parser.ts +36 -0
  53. package/src/core/variable-resolver.ts +114 -0
  54. package/src/core/workflow.ts +77 -0
  55. package/src/index.ts +25 -159
  56. package/src/primitives/index.ts +83 -0
  57. package/src/primitives/llm.ts +210 -0
  58. package/src/primitives/output.ts +65 -0
  59. package/src/server/handler.ts +80 -0
  60. package/src/server.ts +10 -0
  61. package/src/tools/index.ts +118 -0
  62. package/src/types/index.ts +62 -0
  63. package/tsconfig.json +27 -0
  64. package/CHANGELOG.md +0 -78
  65. package/LICENSE +0 -21
  66. package/dist/agents/chat/chat.handler.d.ts +0 -12
  67. package/dist/agents/chat/chat.handler.d.ts.map +0 -1
  68. package/dist/agents/chat/chat.handler.js +0 -143
  69. package/dist/agents/chat/chat.handler.js.map +0 -1
  70. package/dist/agents/chat/chat.schema.d.ts +0 -38
  71. package/dist/agents/chat/chat.schema.d.ts.map +0 -1
  72. package/dist/agents/chat/chat.schema.js +0 -31
  73. package/dist/agents/chat/chat.schema.js.map +0 -1
  74. package/dist/agents/chat/chat.types.d.ts +0 -42
  75. package/dist/agents/chat/chat.types.d.ts.map +0 -1
  76. package/dist/agents/chat/chat.types.js +0 -6
  77. package/dist/agents/chat/chat.types.js.map +0 -1
  78. package/dist/agents/chat/chat.yaml +0 -150
  79. package/dist/agents/chat/index.d.ts +0 -16
  80. package/dist/agents/chat/index.d.ts.map +0 -1
  81. package/dist/agents/chat/index.js +0 -21
  82. package/dist/agents/chat/index.js.map +0 -1
  83. package/dist/agents/chromadb/chromadb.handler.d.ts +0 -12
  84. package/dist/agents/chromadb/chromadb.handler.d.ts.map +0 -1
  85. package/dist/agents/chromadb/chromadb.handler.js +0 -139
  86. package/dist/agents/chromadb/chromadb.handler.js.map +0 -1
  87. package/dist/agents/chromadb/chromadb.schema.d.ts +0 -36
  88. package/dist/agents/chromadb/chromadb.schema.d.ts.map +0 -1
  89. package/dist/agents/chromadb/chromadb.schema.js +0 -33
  90. package/dist/agents/chromadb/chromadb.schema.js.map +0 -1
  91. package/dist/agents/chromadb/chromadb.types.d.ts +0 -49
  92. package/dist/agents/chromadb/chromadb.types.d.ts.map +0 -1
  93. package/dist/agents/chromadb/chromadb.types.js +0 -6
  94. package/dist/agents/chromadb/chromadb.types.js.map +0 -1
  95. package/dist/agents/chromadb/chromadb.yaml +0 -128
  96. package/dist/agents/chromadb/index.d.ts +0 -15
  97. package/dist/agents/chromadb/index.d.ts.map +0 -1
  98. package/dist/agents/chromadb/index.js +0 -20
  99. package/dist/agents/chromadb/index.js.map +0 -1
  100. package/dist/agents/gemini-vectorize/gemini-vectorize.handler.d.ts +0 -8
  101. package/dist/agents/gemini-vectorize/gemini-vectorize.handler.d.ts.map +0 -1
  102. package/dist/agents/gemini-vectorize/gemini-vectorize.handler.js +0 -58
  103. package/dist/agents/gemini-vectorize/gemini-vectorize.handler.js.map +0 -1
  104. package/dist/agents/gemini-vectorize/gemini-vectorize.schema.d.ts +0 -22
  105. package/dist/agents/gemini-vectorize/gemini-vectorize.schema.d.ts.map +0 -1
  106. package/dist/agents/gemini-vectorize/gemini-vectorize.schema.js +0 -20
  107. package/dist/agents/gemini-vectorize/gemini-vectorize.schema.js.map +0 -1
  108. package/dist/agents/gemini-vectorize/gemini-vectorize.types.d.ts +0 -32
  109. package/dist/agents/gemini-vectorize/gemini-vectorize.types.d.ts.map +0 -1
  110. package/dist/agents/gemini-vectorize/gemini-vectorize.types.js +0 -6
  111. package/dist/agents/gemini-vectorize/gemini-vectorize.types.js.map +0 -1
  112. package/dist/agents/gemini-vectorize/gemini-vectorize.yaml +0 -84
  113. package/dist/agents/gemini-vectorize/index.d.ts +0 -15
  114. package/dist/agents/gemini-vectorize/index.d.ts.map +0 -1
  115. package/dist/agents/gemini-vectorize/index.js +0 -20
  116. package/dist/agents/gemini-vectorize/index.js.map +0 -1
  117. package/dist/agents/gitmcp/gitmcp.handler.d.ts +0 -12
  118. package/dist/agents/gitmcp/gitmcp.handler.d.ts.map +0 -1
  119. package/dist/agents/gitmcp/gitmcp.handler.js +0 -95
  120. package/dist/agents/gitmcp/gitmcp.handler.js.map +0 -1
  121. package/dist/agents/gitmcp/gitmcp.schema.d.ts +0 -17
  122. package/dist/agents/gitmcp/gitmcp.schema.d.ts.map +0 -1
  123. package/dist/agents/gitmcp/gitmcp.schema.js +0 -18
  124. package/dist/agents/gitmcp/gitmcp.schema.js.map +0 -1
  125. package/dist/agents/gitmcp/gitmcp.types.d.ts +0 -31
  126. package/dist/agents/gitmcp/gitmcp.types.d.ts.map +0 -1
  127. package/dist/agents/gitmcp/gitmcp.types.js +0 -6
  128. package/dist/agents/gitmcp/gitmcp.types.js.map +0 -1
  129. package/dist/agents/gitmcp/gitmcp.yaml +0 -71
  130. package/dist/agents/gitmcp/index.d.ts +0 -16
  131. package/dist/agents/gitmcp/index.d.ts.map +0 -1
  132. package/dist/agents/gitmcp/index.js +0 -21
  133. package/dist/agents/gitmcp/index.js.map +0 -1
  134. package/dist/agents/image/image.handler.d.ts +0 -8
  135. package/dist/agents/image/image.handler.d.ts.map +0 -1
  136. package/dist/agents/image/image.handler.js +0 -66
  137. package/dist/agents/image/image.handler.js.map +0 -1
  138. package/dist/agents/image/image.schema.d.ts +0 -29
  139. package/dist/agents/image/image.schema.d.ts.map +0 -1
  140. package/dist/agents/image/image.schema.js +0 -26
  141. package/dist/agents/image/image.schema.js.map +0 -1
  142. package/dist/agents/image/image.types.d.ts +0 -42
  143. package/dist/agents/image/image.types.d.ts.map +0 -1
  144. package/dist/agents/image/image.types.js +0 -6
  145. package/dist/agents/image/image.types.js.map +0 -1
  146. package/dist/agents/image/image.yaml +0 -86
  147. package/dist/agents/image/index.d.ts +0 -14
  148. package/dist/agents/image/index.d.ts.map +0 -1
  149. package/dist/agents/image/index.js +0 -19
  150. package/dist/agents/image/index.js.map +0 -1
  151. package/dist/agents/index.d.ts +0 -95
  152. package/dist/agents/index.d.ts.map +0 -1
  153. package/dist/agents/index.js +0 -76
  154. package/dist/agents/index.js.map +0 -1
  155. package/dist/agents/joker/index.d.ts +0 -14
  156. package/dist/agents/joker/index.d.ts.map +0 -1
  157. package/dist/agents/joker/index.js +0 -19
  158. package/dist/agents/joker/index.js.map +0 -1
  159. package/dist/agents/joker/joker.handler.d.ts +0 -8
  160. package/dist/agents/joker/joker.handler.d.ts.map +0 -1
  161. package/dist/agents/joker/joker.handler.js +0 -48
  162. package/dist/agents/joker/joker.handler.js.map +0 -1
  163. package/dist/agents/joker/joker.schema.d.ts +0 -12
  164. package/dist/agents/joker/joker.schema.d.ts.map +0 -1
  165. package/dist/agents/joker/joker.schema.js +0 -13
  166. package/dist/agents/joker/joker.schema.js.map +0 -1
  167. package/dist/agents/joker/joker.types.d.ts +0 -35
  168. package/dist/agents/joker/joker.types.d.ts.map +0 -1
  169. package/dist/agents/joker/joker.types.js +0 -6
  170. package/dist/agents/joker/joker.types.js.map +0 -1
  171. package/dist/agents/joker/joker.yaml +0 -47
  172. package/dist/agents/mcp-tool/index.d.ts +0 -14
  173. package/dist/agents/mcp-tool/index.d.ts.map +0 -1
  174. package/dist/agents/mcp-tool/index.js +0 -19
  175. package/dist/agents/mcp-tool/index.js.map +0 -1
  176. package/dist/agents/mcp-tool/mcp-tool.handler.d.ts +0 -12
  177. package/dist/agents/mcp-tool/mcp-tool.handler.d.ts.map +0 -1
  178. package/dist/agents/mcp-tool/mcp-tool.handler.js +0 -116
  179. package/dist/agents/mcp-tool/mcp-tool.handler.js.map +0 -1
  180. package/dist/agents/mcp-tool/mcp-tool.schema.d.ts +0 -19
  181. package/dist/agents/mcp-tool/mcp-tool.schema.d.ts.map +0 -1
  182. package/dist/agents/mcp-tool/mcp-tool.schema.js +0 -20
  183. package/dist/agents/mcp-tool/mcp-tool.schema.js.map +0 -1
  184. package/dist/agents/mcp-tool/mcp-tool.types.d.ts +0 -31
  185. package/dist/agents/mcp-tool/mcp-tool.types.d.ts.map +0 -1
  186. package/dist/agents/mcp-tool/mcp-tool.types.js +0 -6
  187. package/dist/agents/mcp-tool/mcp-tool.types.js.map +0 -1
  188. package/dist/agents/mcp-tool/mcp-tool.yaml +0 -71
  189. package/dist/agents/rag/index.d.ts +0 -15
  190. package/dist/agents/rag/index.d.ts.map +0 -1
  191. package/dist/agents/rag/index.js +0 -20
  192. package/dist/agents/rag/index.js.map +0 -1
  193. package/dist/agents/rag/rag.handler.d.ts +0 -8
  194. package/dist/agents/rag/rag.handler.d.ts.map +0 -1
  195. package/dist/agents/rag/rag.handler.js +0 -101
  196. package/dist/agents/rag/rag.handler.js.map +0 -1
  197. package/dist/agents/rag/rag.schema.d.ts +0 -27
  198. package/dist/agents/rag/rag.schema.d.ts.map +0 -1
  199. package/dist/agents/rag/rag.schema.js +0 -24
  200. package/dist/agents/rag/rag.schema.js.map +0 -1
  201. package/dist/agents/rag/rag.types.d.ts +0 -47
  202. package/dist/agents/rag/rag.types.d.ts.map +0 -1
  203. package/dist/agents/rag/rag.types.js +0 -6
  204. package/dist/agents/rag/rag.types.js.map +0 -1
  205. package/dist/agents/rag/rag.yaml +0 -89
  206. package/dist/agents/registry/agentRegistry.d.ts +0 -117
  207. package/dist/agents/registry/agentRegistry.d.ts.map +0 -1
  208. package/dist/agents/registry/agentRegistry.js +0 -551
  209. package/dist/agents/registry/agentRegistry.js.map +0 -1
  210. package/dist/agents/registry/index.d.ts +0 -6
  211. package/dist/agents/registry/index.d.ts.map +0 -1
  212. package/dist/agents/registry/index.js +0 -10
  213. package/dist/agents/registry/index.js.map +0 -1
  214. package/dist/agents/translator/index.d.ts +0 -14
  215. package/dist/agents/translator/index.d.ts.map +0 -1
  216. package/dist/agents/translator/index.js +0 -19
  217. package/dist/agents/translator/index.js.map +0 -1
  218. package/dist/agents/translator/translator.handler.d.ts +0 -8
  219. package/dist/agents/translator/translator.handler.d.ts.map +0 -1
  220. package/dist/agents/translator/translator.handler.js +0 -83
  221. package/dist/agents/translator/translator.handler.js.map +0 -1
  222. package/dist/agents/translator/translator.schema.d.ts +0 -27
  223. package/dist/agents/translator/translator.schema.d.ts.map +0 -1
  224. package/dist/agents/translator/translator.schema.js +0 -28
  225. package/dist/agents/translator/translator.schema.js.map +0 -1
  226. package/dist/agents/translator/translator.types.d.ts +0 -40
  227. package/dist/agents/translator/translator.types.d.ts.map +0 -1
  228. package/dist/agents/translator/translator.types.js +0 -6
  229. package/dist/agents/translator/translator.types.js.map +0 -1
  230. package/dist/agents/translator/translator.yaml +0 -80
  231. package/dist/audit/auditTrail.d.ts +0 -55
  232. package/dist/audit/auditTrail.d.ts.map +0 -1
  233. package/dist/audit/auditTrail.js +0 -93
  234. package/dist/audit/auditTrail.js.map +0 -1
  235. package/dist/client/index.d.ts +0 -89
  236. package/dist/client/index.d.ts.map +0 -1
  237. package/dist/client/index.js +0 -93
  238. package/dist/client/index.js.map +0 -1
  239. package/dist/client/types.d.ts +0 -17
  240. package/dist/client/types.d.ts.map +0 -1
  241. package/dist/client/types.js +0 -7
  242. package/dist/client/types.js.map +0 -1
  243. package/dist/compliance/gdprEngine.d.ts +0 -44
  244. package/dist/compliance/gdprEngine.d.ts.map +0 -1
  245. package/dist/compliance/gdprEngine.js +0 -178
  246. package/dist/compliance/gdprEngine.js.map +0 -1
  247. package/dist/compliance/lgpdEngine.d.ts +0 -51
  248. package/dist/compliance/lgpdEngine.d.ts.map +0 -1
  249. package/dist/compliance/lgpdEngine.js +0 -221
  250. package/dist/compliance/lgpdEngine.js.map +0 -1
  251. package/dist/config.d.ts +0 -78
  252. package/dist/config.d.ts.map +0 -1
  253. package/dist/config.js +0 -77
  254. package/dist/config.js.map +0 -1
  255. package/dist/errors.d.ts +0 -17
  256. package/dist/errors.d.ts.map +0 -1
  257. package/dist/errors.js +0 -40
  258. package/dist/errors.js.map +0 -1
  259. package/dist/firebase/tenantManager.d.ts +0 -116
  260. package/dist/firebase/tenantManager.d.ts.map +0 -1
  261. package/dist/firebase/tenantManager.js +0 -444
  262. package/dist/firebase/tenantManager.js.map +0 -1
  263. package/dist/index.js.map +0 -1
  264. package/dist/integration/secure-yaml-runtime.d.ts +0 -68
  265. package/dist/integration/secure-yaml-runtime.d.ts.map +0 -1
  266. package/dist/integration/secure-yaml-runtime.js +0 -245
  267. package/dist/integration/secure-yaml-runtime.js.map +0 -1
  268. package/dist/parser/secure-yaml-parser.d.ts +0 -62
  269. package/dist/parser/secure-yaml-parser.d.ts.map +0 -1
  270. package/dist/parser/secure-yaml-parser.js +0 -234
  271. package/dist/parser/secure-yaml-parser.js.map +0 -1
  272. package/dist/performance/autoscaling.d.ts +0 -100
  273. package/dist/performance/autoscaling.d.ts.map +0 -1
  274. package/dist/performance/autoscaling.js +0 -339
  275. package/dist/performance/autoscaling.js.map +0 -1
  276. package/dist/performance/benchmark.d.ts +0 -104
  277. package/dist/performance/benchmark.d.ts.map +0 -1
  278. package/dist/performance/benchmark.js +0 -514
  279. package/dist/performance/benchmark.js.map +0 -1
  280. package/dist/performance/index.d.ts +0 -14
  281. package/dist/performance/index.d.ts.map +0 -1
  282. package/dist/performance/index.js +0 -35
  283. package/dist/performance/index.js.map +0 -1
  284. package/dist/performance/monitor.d.ts +0 -126
  285. package/dist/performance/monitor.d.ts.map +0 -1
  286. package/dist/performance/monitor.js +0 -324
  287. package/dist/performance/monitor.js.map +0 -1
  288. package/dist/performance/streaming.d.ts +0 -82
  289. package/dist/performance/streaming.d.ts.map +0 -1
  290. package/dist/performance/streaming.js +0 -287
  291. package/dist/performance/streaming.js.map +0 -1
  292. package/dist/runtime/audit.d.ts +0 -240
  293. package/dist/runtime/audit.d.ts.map +0 -1
  294. package/dist/runtime/audit.js +0 -641
  295. package/dist/runtime/audit.js.map +0 -1
  296. package/dist/runtime/declarativeAgentRuntime.d.ts +0 -92
  297. package/dist/runtime/declarativeAgentRuntime.d.ts.map +0 -1
  298. package/dist/runtime/declarativeAgentRuntime.js +0 -512
  299. package/dist/runtime/declarativeAgentRuntime.js.map +0 -1
  300. package/dist/runtime/index.d.ts +0 -12
  301. package/dist/runtime/index.d.ts.map +0 -1
  302. package/dist/runtime/index.js +0 -33
  303. package/dist/runtime/index.js.map +0 -1
  304. package/dist/runtime/isolatedRuntime.d.ts +0 -119
  305. package/dist/runtime/isolatedRuntime.d.ts.map +0 -1
  306. package/dist/runtime/isolatedRuntime.js +0 -425
  307. package/dist/runtime/isolatedRuntime.js.map +0 -1
  308. package/dist/runtime/schemaCompiler.d.ts +0 -35
  309. package/dist/runtime/schemaCompiler.d.ts.map +0 -1
  310. package/dist/runtime/schemaCompiler.js +0 -152
  311. package/dist/runtime/schemaCompiler.js.map +0 -1
  312. package/dist/runtime/simpleRuntime.d.ts +0 -57
  313. package/dist/runtime/simpleRuntime.d.ts.map +0 -1
  314. package/dist/runtime/simpleRuntime.js +0 -187
  315. package/dist/runtime/simpleRuntime.js.map +0 -1
  316. package/dist/runtime/workflowExecutor.d.ts +0 -30
  317. package/dist/runtime/workflowExecutor.d.ts.map +0 -1
  318. package/dist/runtime/workflowExecutor.js +0 -70
  319. package/dist/runtime/workflowExecutor.js.map +0 -1
  320. package/dist/security/dashboard.d.ts +0 -89
  321. package/dist/security/dashboard.d.ts.map +0 -1
  322. package/dist/security/dashboard.js +0 -300
  323. package/dist/security/dashboard.js.map +0 -1
  324. package/dist/security/hardening.d.ts +0 -130
  325. package/dist/security/hardening.d.ts.map +0 -1
  326. package/dist/security/hardening.js +0 -414
  327. package/dist/security/hardening.js.map +0 -1
  328. package/dist/security/index.d.ts +0 -128
  329. package/dist/security/index.d.ts.map +0 -1
  330. package/dist/security/index.js +0 -353
  331. package/dist/security/index.js.map +0 -1
  332. package/dist/security/monitor.d.ts +0 -88
  333. package/dist/security/monitor.d.ts.map +0 -1
  334. package/dist/security/monitor.js +0 -356
  335. package/dist/security/monitor.js.map +0 -1
  336. package/dist/security/scanner.d.ts +0 -104
  337. package/dist/security/scanner.d.ts.map +0 -1
  338. package/dist/security/scanner.js +0 -298
  339. package/dist/security/scanner.js.map +0 -1
  340. package/dist/security/score.d.ts +0 -150
  341. package/dist/security/score.d.ts.map +0 -1
  342. package/dist/security/score.js +0 -983
  343. package/dist/security/score.js.map +0 -1
  344. package/dist/security/threatDetector.d.ts +0 -39
  345. package/dist/security/threatDetector.d.ts.map +0 -1
  346. package/dist/security/threatDetector.js +0 -354
  347. package/dist/security/threatDetector.js.map +0 -1
  348. package/dist/security/validation.d.ts +0 -69
  349. package/dist/security/validation.d.ts.map +0 -1
  350. package/dist/security/validation.js +0 -286
  351. package/dist/security/validation.js.map +0 -1
  352. package/dist/server/api/clientsRoute.d.ts +0 -9
  353. package/dist/server/api/clientsRoute.d.ts.map +0 -1
  354. package/dist/server/api/clientsRoute.js +0 -71
  355. package/dist/server/api/clientsRoute.js.map +0 -1
  356. package/dist/server/api/endpointsRoute.d.ts +0 -8
  357. package/dist/server/api/endpointsRoute.d.ts.map +0 -1
  358. package/dist/server/api/endpointsRoute.js +0 -76
  359. package/dist/server/api/endpointsRoute.js.map +0 -1
  360. package/dist/server/api/graphql.d.ts +0 -9
  361. package/dist/server/api/graphql.d.ts.map +0 -1
  362. package/dist/server/api/graphql.js +0 -222
  363. package/dist/server/api/graphql.js.map +0 -1
  364. package/dist/server/errors.d.ts +0 -19
  365. package/dist/server/errors.d.ts.map +0 -1
  366. package/dist/server/errors.js +0 -42
  367. package/dist/server/errors.js.map +0 -1
  368. package/dist/server/index.d.ts +0 -7
  369. package/dist/server/index.d.ts.map +0 -1
  370. package/dist/server/index.js +0 -24
  371. package/dist/server/index.js.map +0 -1
  372. package/dist/server/kvStore.d.ts +0 -27
  373. package/dist/server/kvStore.d.ts.map +0 -1
  374. package/dist/server/kvStore.js +0 -128
  375. package/dist/server/kvStore.js.map +0 -1
  376. package/dist/server/runtimeSecurity.d.ts +0 -28
  377. package/dist/server/runtimeSecurity.d.ts.map +0 -1
  378. package/dist/server/runtimeSecurity.js +0 -85
  379. package/dist/server/runtimeSecurity.js.map +0 -1
  380. package/dist/server/types.d.ts +0 -53
  381. package/dist/server/types.d.ts.map +0 -1
  382. package/dist/server/types.js +0 -8
  383. package/dist/server/types.js.map +0 -1
  384. package/dist/shared/index.d.ts +0 -7
  385. package/dist/shared/index.d.ts.map +0 -1
  386. package/dist/shared/index.js +0 -23
  387. package/dist/shared/index.js.map +0 -1
  388. package/dist/shared/types/agent.types.d.ts +0 -50
  389. package/dist/shared/types/agent.types.d.ts.map +0 -1
  390. package/dist/shared/types/agent.types.js +0 -7
  391. package/dist/shared/types/agent.types.js.map +0 -1
  392. package/dist/shared/types/execution.types.d.ts +0 -42
  393. package/dist/shared/types/execution.types.d.ts.map +0 -1
  394. package/dist/shared/types/execution.types.js +0 -7
  395. package/dist/shared/types/execution.types.js.map +0 -1
  396. package/dist/shared/types/index.d.ts +0 -7
  397. package/dist/shared/types/index.d.ts.map +0 -1
  398. package/dist/shared/types/index.js +0 -23
  399. package/dist/shared/types/index.js.map +0 -1
  400. package/dist/shared/types/schema.types.d.ts +0 -52
  401. package/dist/shared/types/schema.types.d.ts.map +0 -1
  402. package/dist/shared/types/schema.types.js +0 -7
  403. package/dist/shared/types/schema.types.js.map +0 -1
  404. package/dist/shared/utils/index.d.ts +0 -5
  405. package/dist/shared/utils/index.d.ts.map +0 -1
  406. package/dist/shared/utils/index.js +0 -21
  407. package/dist/shared/utils/index.js.map +0 -1
  408. package/dist/shared/utils/validation.d.ts +0 -42
  409. package/dist/shared/utils/validation.d.ts.map +0 -1
  410. package/dist/shared/utils/validation.js +0 -93
  411. package/dist/shared/utils/validation.js.map +0 -1
  412. package/dist/tenant/TenantManager.d.ts +0 -152
  413. package/dist/tenant/TenantManager.d.ts.map +0 -1
  414. package/dist/tenant/TenantManager.js +0 -392
  415. package/dist/tenant/TenantManager.js.map +0 -1
  416. package/dist/tenant/index.d.ts +0 -47
  417. package/dist/tenant/index.d.ts.map +0 -1
  418. package/dist/tenant/index.js +0 -74
  419. package/dist/tenant/index.js.map +0 -1
  420. package/dist/tenant/interfaces.d.ts +0 -170
  421. package/dist/tenant/interfaces.d.ts.map +0 -1
  422. package/dist/tenant/interfaces.js +0 -67
  423. package/dist/tenant/interfaces.js.map +0 -1
  424. package/dist/tenant/providerFactory.d.ts +0 -43
  425. package/dist/tenant/providerFactory.d.ts.map +0 -1
  426. package/dist/tenant/providerFactory.js +0 -70
  427. package/dist/tenant/providerFactory.js.map +0 -1
  428. package/dist/tenant/providerRegistry.d.ts +0 -47
  429. package/dist/tenant/providerRegistry.d.ts.map +0 -1
  430. package/dist/tenant/providerRegistry.js +0 -79
  431. package/dist/tenant/providerRegistry.js.map +0 -1
  432. package/dist/tenant/providers/FirebaseTenantProvider.d.ts +0 -41
  433. package/dist/tenant/providers/FirebaseTenantProvider.d.ts.map +0 -1
  434. package/dist/tenant/providers/FirebaseTenantProvider.js +0 -290
  435. package/dist/tenant/providers/FirebaseTenantProvider.js.map +0 -1
  436. package/dist/tenant/providers/InMemoryTenantProvider.d.ts +0 -18
  437. package/dist/tenant/providers/InMemoryTenantProvider.d.ts.map +0 -1
  438. package/dist/tenant/providers/InMemoryTenantProvider.js +0 -137
  439. package/dist/tenant/providers/InMemoryTenantProvider.js.map +0 -1
  440. package/dist/types/executionContext.d.ts +0 -16
  441. package/dist/types/executionContext.d.ts.map +0 -1
  442. package/dist/types/executionContext.js +0 -3
  443. package/dist/types/executionContext.js.map +0 -1
  444. package/src/agents/chat/chat.handler.ts +0 -209
  445. package/src/agents/chat/chat.schema.ts +0 -33
  446. package/src/agents/chat/chat.types.ts +0 -46
  447. package/src/agents/chat/chat.yaml +0 -150
  448. package/src/agents/chat/index.ts +0 -21
  449. package/src/agents/chromadb/chromadb.handler.ts +0 -130
  450. package/src/agents/chromadb/chromadb.schema.ts +0 -35
  451. package/src/agents/chromadb/chromadb.types.ts +0 -52
  452. package/src/agents/chromadb/chromadb.yaml +0 -128
  453. package/src/agents/chromadb/index.ts +0 -20
  454. package/src/agents/gemini-vectorize/gemini-vectorize.handler.ts +0 -72
  455. package/src/agents/gemini-vectorize/gemini-vectorize.schema.ts +0 -22
  456. package/src/agents/gemini-vectorize/gemini-vectorize.types.ts +0 -34
  457. package/src/agents/gemini-vectorize/gemini-vectorize.yaml +0 -84
  458. package/src/agents/gemini-vectorize/index.ts +0 -20
  459. package/src/agents/gitmcp/gitmcp.handler.ts +0 -122
  460. package/src/agents/gitmcp/gitmcp.schema.ts +0 -20
  461. package/src/agents/gitmcp/gitmcp.types.ts +0 -33
  462. package/src/agents/gitmcp/gitmcp.yaml +0 -71
  463. package/src/agents/gitmcp/index.ts +0 -21
  464. package/src/agents/image/image.handler.ts +0 -82
  465. package/src/agents/image/image.schema.ts +0 -28
  466. package/src/agents/image/image.types.ts +0 -45
  467. package/src/agents/image/image.yaml +0 -86
  468. package/src/agents/image/index.ts +0 -19
  469. package/src/agents/index.ts +0 -59
  470. package/src/agents/joker/index.ts +0 -19
  471. package/src/agents/joker/joker.handler.ts +0 -60
  472. package/src/agents/joker/joker.schema.ts +0 -15
  473. package/src/agents/joker/joker.types.ts +0 -37
  474. package/src/agents/joker/joker.yaml +0 -47
  475. package/src/agents/mcp-tool/index.ts +0 -19
  476. package/src/agents/mcp-tool/mcp-tool.handler.ts +0 -112
  477. package/src/agents/mcp-tool/mcp-tool.schema.ts +0 -22
  478. package/src/agents/mcp-tool/mcp-tool.types.ts +0 -33
  479. package/src/agents/mcp-tool/mcp-tool.yaml +0 -71
  480. package/src/agents/rag/index.ts +0 -20
  481. package/src/agents/rag/rag.handler.ts +0 -119
  482. package/src/agents/rag/rag.schema.ts +0 -26
  483. package/src/agents/rag/rag.types.ts +0 -51
  484. package/src/agents/rag/rag.yaml +0 -89
  485. package/src/agents/registry/agentRegistry.ts +0 -598
  486. package/src/agents/registry/index.ts +0 -6
  487. package/src/agents/translator/index.ts +0 -19
  488. package/src/agents/translator/translator.handler.ts +0 -99
  489. package/src/agents/translator/translator.schema.ts +0 -30
  490. package/src/agents/translator/translator.types.ts +0 -42
  491. package/src/agents/translator/translator.yaml +0 -80
  492. package/src/audit/auditTrail.ts +0 -134
  493. package/src/client/index.ts +0 -53
  494. package/src/client/types.ts +0 -38
  495. package/src/compliance/gdprEngine.ts +0 -209
  496. package/src/compliance/lgpdEngine.ts +0 -268
  497. package/src/config.ts +0 -179
  498. package/src/errors.ts +0 -35
  499. package/src/integration/secure-yaml-runtime.ts +0 -341
  500. package/src/parser/secure-yaml-parser.ts +0 -273
  501. package/src/performance/autoscaling.ts +0 -495
  502. package/src/performance/benchmark.ts +0 -644
  503. package/src/performance/index.ts +0 -34
  504. package/src/performance/monitor.ts +0 -469
  505. package/src/performance/streaming.ts +0 -317
  506. package/src/runtime/audit.ts +0 -907
  507. package/src/runtime/declarativeAgentRuntime.ts +0 -772
  508. package/src/runtime/index.ts +0 -31
  509. package/src/runtime/isolatedRuntime.ts +0 -572
  510. package/src/runtime/schemaCompiler.ts +0 -228
  511. package/src/runtime/simpleRuntime.ts +0 -201
  512. package/src/runtime/workflowExecutor.ts +0 -94
  513. package/src/security/dashboard.ts +0 -462
  514. package/src/security/hardening.ts +0 -560
  515. package/src/security/index.ts +0 -439
  516. package/src/security/monitor.ts +0 -490
  517. package/src/security/scanner.ts +0 -368
  518. package/src/security/score.ts +0 -1138
  519. package/src/security/threatDetector.ts +0 -481
  520. package/src/security/validation.ts +0 -365
  521. package/src/server/api/clientsRoute.ts +0 -92
  522. package/src/server/api/endpointsRoute.ts +0 -97
  523. package/src/server/api/graphql.ts +0 -284
  524. package/src/server/errors.ts +0 -38
  525. package/src/server/index.ts +0 -6
  526. package/src/server/kvStore.ts +0 -152
  527. package/src/server/runtimeSecurity.ts +0 -102
  528. package/src/server/types.ts +0 -60
  529. package/src/shared/index.ts +0 -7
  530. package/src/shared/types/agent.types.ts +0 -80
  531. package/src/shared/types/execution.types.ts +0 -45
  532. package/src/shared/types/index.ts +0 -7
  533. package/src/shared/types/schema.types.ts +0 -55
  534. package/src/shared/utils/index.ts +0 -5
  535. package/src/shared/utils/validation.ts +0 -100
  536. package/src/tenant/TenantManager.ts +0 -488
  537. package/src/tenant/index.ts +0 -101
  538. package/src/tenant/interfaces.ts +0 -231
  539. package/src/tenant/providerFactory.ts +0 -75
  540. package/src/tenant/providerRegistry.ts +0 -86
  541. package/src/tenant/providers/InMemoryTenantProvider.ts +0 -168
  542. package/src/types/executionContext.ts +0 -16
@@ -1,462 +0,0 @@
1
- import { SecurityEvent, AlertLevel } from "./monitor";
2
- import { ThreatAnalysis } from "./threatDetector";
3
-
4
- export interface DashboardConfig {
5
- refreshInterval: number;
6
- maxDisplayEvents: number;
7
- highlightThreshold: number;
8
- enableRealTimeUpdates: boolean;
9
- }
10
-
11
- export interface SecurityMetric {
12
- timestamp: Date;
13
- tenantId: string;
14
- metricType: string;
15
- value: number;
16
- riskLevel: "low" | "medium" | "high" | "critical";
17
- description: string;
18
- }
19
-
20
- export interface SecurityDashboardData {
21
- summary: SecuritySummary;
22
- activeAlerts: SecurityEvent[];
23
- recentThreats: ThreatAnalysis[];
24
- tenantMetrics: TenantMetrics;
25
- complianceStatus: ComplianceStatus;
26
- realTimeChart: RealTimeChartData;
27
- }
28
-
29
- export interface SecuritySummary {
30
- totalEvents: number;
31
- totalAlerts: number;
32
- threatEvents: number;
33
- blockedOperations: number;
34
- securityScore: number;
35
- lastUpdate: Date;
36
- }
37
-
38
- export interface TenantMetrics {
39
- [tenantId: string]: {
40
- totalOperations: number;
41
- threatCount: number;
42
- riskScore: number;
43
- lastActivity: Date;
44
- alerts: SecurityEvent[];
45
- };
46
- }
47
-
48
- export interface ComplianceStatus {
49
- lgpd: ComplianceMetric;
50
- gdpr: ComplianceMetric;
51
- audit: ComplianceMetric;
52
- }
53
-
54
- export interface ComplianceMetric {
55
- status: "compliant" | "warning" | "violation";
56
- events: number;
57
- lastCheck: Date;
58
- score: number;
59
- }
60
-
61
- export interface RealTimeChartData {
62
- labels: string[];
63
- datasets: {
64
- label: string;
65
- data: number[];
66
- borderColor: string;
67
- backgroundColor: string;
68
- }[];
69
- }
70
-
71
- export class SecurityDashboard {
72
- private config: DashboardConfig;
73
- private events: SecurityEvent[] = [];
74
- private metrics: SecurityMetric[] = [];
75
- private startTime: Date;
76
- private updateInterval: NodeJS.Timeout | null = null;
77
-
78
- constructor(config: Partial<DashboardConfig> = {}) {
79
- this.config = {
80
- refreshInterval: 5000,
81
- maxDisplayEvents: 50,
82
- highlightThreshold: 0.7,
83
- enableRealTimeUpdates: true,
84
- ...config,
85
- };
86
- this.startTime = new Date();
87
- }
88
-
89
- public initialize(): void {
90
- console.log("šŸ›”ļø Security Dashboard initialized");
91
- if (this.config.enableRealTimeUpdates) {
92
- this.startRealTimeUpdates();
93
- }
94
- }
95
-
96
- private startRealTimeUpdates(): void {
97
- if (this.updateInterval) {
98
- clearInterval(this.updateInterval);
99
- }
100
-
101
- this.updateInterval = setInterval(() => {
102
- this.generateMetrics();
103
- }, this.config.refreshInterval);
104
- }
105
-
106
- public stopRealTimeUpdates(): void {
107
- if (this.updateInterval) {
108
- clearInterval(this.updateInterval);
109
- this.updateInterval = null;
110
- }
111
- }
112
-
113
- public addEvent(event: SecurityEvent): void {
114
- this.events.push(event);
115
-
116
- // Keep only recent events
117
- if (this.events.length > this.config.maxDisplayEvents * 2) {
118
- this.events = this.events.slice(-this.config.maxDisplayEvents * 2);
119
- }
120
- }
121
-
122
- public addMetric(metric: SecurityMetric): void {
123
- this.metrics.push(metric);
124
-
125
- // Keep metrics for last 24 hours only
126
- const cutoff = new Date(Date.now() - 24 * 60 * 60 * 1000);
127
- this.metrics = this.metrics.filter((m) => m.timestamp > cutoff);
128
- }
129
-
130
- public generateMetrics(): void {
131
- const now = new Date();
132
-
133
- // Generate security summary
134
- const summary: SecuritySummary = {
135
- totalEvents: this.events.length,
136
- totalAlerts: this.events.filter((e) => e.riskScore > 0.7).length,
137
- threatEvents: this.events.filter((e) => e.riskScore > 0.8).length,
138
- blockedOperations: this.events.filter(
139
- (e) => e.alertLevel === AlertLevel.EMERGENCY
140
- ).length,
141
- securityScore: this.calculateSecurityScore(),
142
- lastUpdate: now,
143
- };
144
-
145
- // Generate tenant metrics
146
- const tenantMetrics = this.generateTenantMetrics();
147
-
148
- // Generate compliance status
149
- const complianceStatus = this.generateComplianceStatus();
150
-
151
- // Generate real-time chart data
152
- const realTimeChart = this.generateRealTimeChart();
153
-
154
- // Create dashboard data
155
- const dashboardData: SecurityDashboardData = {
156
- summary,
157
- activeAlerts: this.getActiveAlerts(),
158
- recentThreats: this.getRecentThreats(),
159
- tenantMetrics,
160
- complianceStatus,
161
- realTimeChart,
162
- };
163
-
164
- // Log dashboard update
165
- this.logDashboardUpdate(dashboardData);
166
- }
167
-
168
- private calculateSecurityScore(): number {
169
- if (this.events.length === 0) return 10.0;
170
-
171
- const recentEvents = this.events.filter(
172
- (e) => new Date(e.timestamp).getTime() > Date.now() - 24 * 60 * 60 * 1000
173
- );
174
-
175
- if (recentEvents.length === 0) return 9.5;
176
-
177
- // Calculate based on threat ratios
178
- const totalEvents = recentEvents.length;
179
- const highRiskEvents = recentEvents.filter((e) => e.riskScore > 0.7).length;
180
- const mediumRiskEvents = recentEvents.filter(
181
- (e) => e.riskScore > 0.4 && e.riskScore <= 0.7
182
- ).length;
183
-
184
- const highRiskRatio = highRiskEvents / totalEvents;
185
- const mediumRiskRatio = mediumRiskEvents / totalEvents;
186
-
187
- // Start with perfect score
188
- let score = 10.0;
189
-
190
- // Penalties based on risk ratios
191
- score -= highRiskRatio * 3.0; // High risk events cost 3 points
192
- score -= mediumRiskRatio * 1.5; // Medium risk events cost 1.5 points
193
-
194
- return Math.max(score, 5.0); // Minimum score of 5.0
195
- }
196
-
197
- private generateTenantMetrics(): TenantMetrics {
198
- const metrics: TenantMetrics = {};
199
- const tenantIds = Array.from(new Set(this.events.map((e) => e.tenantId)));
200
-
201
- tenantIds.forEach((tenantId) => {
202
- const tenantEvents = this.events.filter((e) => e.tenantId === tenantId);
203
-
204
- metrics[tenantId] = {
205
- totalOperations: tenantEvents.length,
206
- threatCount: tenantEvents.filter((e) => e.riskScore > 0.6).length,
207
- riskScore: this.calculateTenantRiskScore(tenantEvents),
208
- lastActivity:
209
- tenantEvents.length > 0
210
- ? new Date(
211
- Math.max(
212
- ...tenantEvents.map((e) => new Date(e.timestamp).getTime())
213
- )
214
- )
215
- : new Date(),
216
- alerts: tenantEvents.slice(-5), // Last 5 events
217
- };
218
- });
219
-
220
- return metrics;
221
- }
222
-
223
- private calculateTenantRiskScore(events: SecurityEvent[]): number {
224
- if (events.length === 0) return 0.0;
225
-
226
- const recentEvents = events.filter(
227
- (e) => new Date(e.timestamp).getTime() > Date.now() - 6 * 60 * 60 * 1000 // Last 6 hours
228
- );
229
-
230
- if (recentEvents.length === 0) return 0.1;
231
-
232
- const avgRiskScore =
233
- recentEvents.reduce((sum, e) => sum + e.riskScore, 0) /
234
- recentEvents.length;
235
- const maxRiskScore = Math.max(...recentEvents.map((e) => e.riskScore));
236
-
237
- // Weighted average with emphasis on maximum risk
238
- return avgRiskScore * 0.7 + maxRiskScore * 0.3;
239
- }
240
-
241
- private generateComplianceStatus(): ComplianceStatus {
242
- const now = new Date();
243
-
244
- // LGPD compliance check
245
- const lgpdEvents = this.events.filter(
246
- (e) => e.metadata && e.metadata.lgpdRelevant && e.riskScore > 0.5
247
- );
248
-
249
- // GDPR compliance check
250
- const gdprEvents = this.events.filter(
251
- (e) => e.metadata && e.metadata.gdprRelevant && e.riskScore > 0.5
252
- );
253
-
254
- // Audit compliance check
255
- const auditEvents = this.events.filter(
256
- (e) => e.operation.includes("audit") || e.operation.includes("log")
257
- );
258
-
259
- return {
260
- lgpd: {
261
- status:
262
- lgpdEvents.length > 0
263
- ? lgpdEvents.some((e: SecurityEvent) => e.riskScore > 0.8)
264
- ? "violation"
265
- : "warning"
266
- : "compliant",
267
- events: lgpdEvents.length,
268
- lastCheck: now,
269
- score:
270
- lgpdEvents.length > 0
271
- ? lgpdEvents.some((e) => e.riskScore > 0.8)
272
- ? 3.0
273
- : 6.0
274
- : 9.0,
275
- },
276
- gdpr: {
277
- status:
278
- gdprEvents.length > 0
279
- ? gdprEvents.some((e) => e.riskScore > 0.8)
280
- ? "violation"
281
- : "warning"
282
- : "compliant",
283
- events: gdprEvents.length,
284
- lastCheck: now,
285
- score:
286
- gdprEvents.length > 0
287
- ? gdprEvents.some((e) => e.riskScore > 0.8)
288
- ? 3.0
289
- : 6.0
290
- : 9.0,
291
- },
292
- audit: {
293
- status: auditEvents.length > 0 ? "compliant" : "warning",
294
- events: auditEvents.length,
295
- lastCheck: now,
296
- score: 8.5,
297
- },
298
- };
299
- }
300
-
301
- private generateRealTimeChart(): RealTimeChartData {
302
- const now = Date.now();
303
- const timeLabels: string[] = [];
304
- const riskData: number[] = [];
305
- const eventData: number[] = [];
306
-
307
- // Generate data for last 30 minutes (5-minute intervals)
308
- for (let i = 5; i >= 0; i--) {
309
- const time = new Date(now - i * 5 * 60 * 1000);
310
- timeLabels.push(time.toLocaleTimeString("pt-BR"));
311
-
312
- const intervalStart = new Date(time.getTime() - 5 * 60 * 1000);
313
- const intervalEvents = this.events.filter((e) => {
314
- const eventTime = new Date(e.timestamp).getTime();
315
- return (
316
- eventTime >= intervalStart.getTime() && eventTime <= time.getTime()
317
- );
318
- });
319
-
320
- const avgRiskScore =
321
- intervalEvents.length > 0
322
- ? intervalEvents.reduce((sum, e) => sum + e.riskScore, 0) /
323
- intervalEvents.length
324
- : 0;
325
-
326
- riskData.push(Math.round(avgRiskScore * 100) / 100);
327
- eventData.push(intervalEvents.length);
328
- }
329
-
330
- return {
331
- labels: timeLabels,
332
- datasets: [
333
- {
334
- label: "Average Risk Score",
335
- data: riskData,
336
- borderColor: "#8884d8",
337
- backgroundColor: "#8884d840",
338
- },
339
- {
340
- label: "Event Count",
341
- data: eventData,
342
- borderColor: "#82ca9d",
343
- backgroundColor: "#82ca9d40",
344
- },
345
- ],
346
- };
347
- }
348
-
349
- private getActiveAlerts(): SecurityEvent[] {
350
- return this.events
351
- .filter((e) => e.riskScore >= this.config.highlightThreshold)
352
- .slice(-10); // Last 10 high-risk events
353
- }
354
-
355
- private getRecentThreats(): ThreatAnalysis[] {
356
- // Return mock threat analysis for recent events
357
- return this.events.slice(-5).map((event) => ({
358
- riskScore: event.riskScore,
359
- threatType: `potential_${event.operation}`,
360
- confidence: 0.8,
361
- recommendations: [
362
- `Monitor tenant ${event.tenantId}`,
363
- "Check access logs",
364
- ],
365
- }));
366
- }
367
-
368
- private logDashboardUpdate(data: SecurityDashboardData): void {
369
- const { summary } = data;
370
-
371
- console.log(
372
- `\nšŸ›”ļø Security Dashboard Update - ${new Date().toISOString()}`
373
- );
374
- console.log(` šŸ“Š Total Events: ${summary.totalEvents}`);
375
- console.log(` 🚨 Total Alerts: ${summary.totalAlerts}`);
376
- console.log(` šŸŽÆ Security Score: ${summary.securityScore}/10`);
377
- console.log(` šŸ”’ Threat Events: ${summary.threatEvents}`);
378
- console.log(` 🚫 Blocked Operations: ${summary.blockedOperations}`);
379
-
380
- // Log tenant summaries
381
- const tenantEntries = Object.entries(data.tenantMetrics);
382
- tenantEntries.forEach(([tenantId, metrics]) => {
383
- console.log(
384
- ` šŸ¢ ${tenantId}: ${metrics.riskScore.toFixed(1)} risk score, ${
385
- metrics.threatCount
386
- } threats`
387
- );
388
- });
389
- }
390
-
391
- public getDashboardData(): SecurityDashboardData {
392
- this.generateMetrics();
393
-
394
- return {
395
- summary: {
396
- totalEvents: this.events.length,
397
- totalAlerts: this.events.filter((e) => e.riskScore > 0.7).length,
398
- threatEvents: this.events.filter((e) => e.riskScore > 0.8).length,
399
- blockedOperations: this.events.filter(
400
- (e) => e.alertLevel === AlertLevel.EMERGENCY
401
- ).length,
402
- securityScore: this.calculateSecurityScore(),
403
- lastUpdate: new Date(),
404
- },
405
- activeAlerts: this.getActiveAlerts(),
406
- recentThreats: this.getRecentThreats(),
407
- tenantMetrics: this.generateTenantMetrics(),
408
- complianceStatus: this.generateComplianceStatus(),
409
- realTimeChart: this.generateRealTimeChart(),
410
- };
411
- }
412
-
413
- public getSecurityMetrics(): SecurityMetric[] {
414
- return this.metrics.slice(-20); // Last 20 metrics
415
- }
416
-
417
- public getEventHistory(limit: number = 100): SecurityEvent[] {
418
- return this.events.slice(-limit);
419
- }
420
-
421
- public exportDashboardReport(): string {
422
- const data = this.getDashboardData();
423
- const report = [
424
- "# Security Dashboard Report",
425
- `Generated: ${new Date().toISOString()}`,
426
- "",
427
- "## Executive Summary",
428
- `- Security Score: ${data.summary.securityScore}/10`,
429
- `- Total Events: ${data.summary.totalEvents}`,
430
- `- Active Alerts: ${data.summary.totalAlerts}`,
431
- `- Threat Events: ${data.summary.threatEvents}`,
432
- ``,
433
- "## Tenant Status",
434
- ...Object.entries(data.tenantMetrics).map(
435
- ([tenant, metrics]) =>
436
- `- ${tenant}: ${metrics.riskScore.toFixed(1)} risk, ${
437
- metrics.threatCount
438
- } threats`
439
- ),
440
- ``,
441
- "## Compliance Status",
442
- `- LGPD: ${data.complianceStatus.lgpd.status} (${data.complianceStatus.lgpd.score}/10)`,
443
- `- GDPR: ${data.complianceStatus.gdpr.status} (${data.complianceStatus.gdpr.score}/10)`,
444
- `- Audit: ${data.complianceStatus.audit.status} (${data.complianceStatus.audit.score}/10)`,
445
- ``,
446
- "## Recent High-Risk Events",
447
- ...data.activeAlerts
448
- .slice(-5)
449
- .map(
450
- (alert, index) =>
451
- `${index + 1}. ${alert.tenantId} - ${
452
- alert.operation
453
- } (Risk: ${alert.riskScore.toFixed(1)})`
454
- ),
455
- ];
456
-
457
- return report.join("\n");
458
- }
459
- }
460
-
461
- // Singleton instance
462
- export const securityDashboard = new SecurityDashboard();