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,481 +0,0 @@
1
- import { SecurityEvent, AlertLevel } from "./monitor";
2
-
3
- export interface ThreatAnalysis {
4
- riskScore: number;
5
- threatType: string;
6
- confidence: number;
7
- recommendations: string[];
8
- }
9
-
10
- export class ThreatDetectionEngine {
11
- private patterns: Map<string, RegExp> = new Map();
12
- private anomalyDetector: AnomalyDetector;
13
- private mlModel: ThreatMLModel;
14
-
15
- constructor() {
16
- this.initializePatterns();
17
- this.anomalyDetector = new AnomalyDetector();
18
- this.mlModel = new ThreatMLModel();
19
- }
20
-
21
- private initializePatterns(): void {
22
- this.patterns.set(
23
- "brute_force",
24
- /multiple_failed_attempts|rapid_login_sequence|authentication_failure|login_fail/i
25
- );
26
- this.patterns.set(
27
- "sql_injection",
28
- /union.*select|drop.*table|exec.*\(.*\)|';.*--|xp_cmdshell|information_schema/i
29
- );
30
- this.patterns.set(
31
- "data_exfiltration",
32
- /bulk.*export|mass.*download|unusual.*access|data.*leak|unauthorized.*download/i
33
- );
34
- this.patterns.set(
35
- "cross_tenant",
36
- /cross.*tenant|tenant.*injection|unauthorized.*access|tenant.*spoofing|bypass.*isolation/i
37
- );
38
- this.patterns.set(
39
- "lgpd_violation",
40
- /unauthorized.*data|consent.*violation|retention.*breach|right.*to.*be.*forgotten|data.*portability/i
41
- );
42
- this.patterns.set(
43
- "ddos_attack",
44
- /flood.*attack|denial.*of.*service|rate.*limit.*bypass|connection.*flood/i
45
- );
46
- this.patterns.set(
47
- "privilege_escalation",
48
- /privilege.*escalation|permission.*bypass|role.*elevation|admin.*bypass/i
49
- );
50
- this.patterns.set(
51
- "malware_detection",
52
- /malware|virus|trojan|ransomware|backdoor|rootkit/i
53
- );
54
- }
55
-
56
- public async analyze(
57
- tenantId: string,
58
- operation: string,
59
- metadata: any
60
- ): Promise<ThreatAnalysis> {
61
- let riskScore = 0.1; // Base risk score
62
- let threatType = "low_risk";
63
- let confidence = 0.9;
64
-
65
- // Pattern matching detection
66
- for (const [patternName, pattern] of this.patterns) {
67
- if (pattern.test(operation) || pattern.test(JSON.stringify(metadata))) {
68
- switch (patternName) {
69
- case "brute_force":
70
- riskScore += 0.4;
71
- break;
72
- case "sql_injection":
73
- riskScore += 0.6;
74
- break;
75
- case "data_exfiltration":
76
- riskScore += 0.8;
77
- break;
78
- case "cross_tenant":
79
- riskScore += 0.9;
80
- break;
81
- case "lgpd_violation":
82
- riskScore += 0.7;
83
- break;
84
- case "ddos_attack":
85
- riskScore += 0.5;
86
- break;
87
- case "privilege_escalation":
88
- riskScore += 0.7;
89
- break;
90
- case "malware_detection":
91
- riskScore += 0.8;
92
- break;
93
- default:
94
- riskScore += 0.3;
95
- }
96
- threatType = patternName;
97
- break;
98
- }
99
- }
100
-
101
- // Machine learning based anomaly detection
102
- const mlScore = await this.mlModel.predict(tenantId, operation, metadata);
103
- riskScore += mlScore;
104
-
105
- // Time-based anomaly detection
106
- const anomalyScore = await this.anomalyDetector.detectAnomaly(
107
- tenantId,
108
- operation,
109
- metadata
110
- );
111
- riskScore += anomalyScore * 0.3;
112
-
113
- // Apply additional risk factors
114
- riskScore = this.applyRiskFactors(riskScore, tenantId, metadata);
115
-
116
- // Cap risk score at maximum of 1.0
117
- riskScore = Math.min(riskScore, 1.0);
118
-
119
- const recommendations = this.generateRecommendations(
120
- riskScore,
121
- threatType,
122
- tenantId
123
- );
124
-
125
- return {
126
- riskScore,
127
- threatType,
128
- confidence,
129
- recommendations,
130
- };
131
- }
132
-
133
- private applyRiskFactors(
134
- riskScore: number,
135
- tenantId: string,
136
- metadata: any
137
- ): number {
138
- // Increase risk for operations during unusual hours
139
- const hour = new Date().getHours();
140
- if (hour < 6 || hour > 22) {
141
- riskScore += 0.15; // Night operations increase risk
142
- }
143
-
144
- // Increase risk for bulk operations
145
- if (metadata && metadata.count && metadata.count > 1000) {
146
- riskScore += 0.2;
147
- }
148
-
149
- // Increase risk for unauthorized access attempts
150
- if (metadata && metadata.isUnauthorized) {
151
- riskScore += 0.25;
152
- }
153
-
154
- // Increase risk for cross-tenant operations
155
- if (
156
- metadata &&
157
- metadata.targetTenant &&
158
- metadata.targetTenant !== tenantId
159
- ) {
160
- riskScore += 0.3;
161
- }
162
-
163
- // Increase risk for operations without proper consent
164
- if (metadata && metadata.consentStatus === "missing") {
165
- riskScore += 0.4;
166
- }
167
-
168
- return Math.min(riskScore, 1.0);
169
- }
170
-
171
- private generateRecommendations(
172
- riskScore: number,
173
- threatType: string,
174
- tenantId: string
175
- ): string[] {
176
- const recommendations: string[] = [];
177
-
178
- // Critical threats (>0.8)
179
- if (riskScore > 0.8) {
180
- recommendations.push("🚨 EMERGENCY: Immediate action required");
181
- recommendations.push(`Isolate tenant ${tenantId} immediately`);
182
- recommendations.push("Contact security team NOW");
183
- recommendations.push("Preserve audit logs");
184
- recommendations.push(`Potential ${threatType} attack detected`);
185
- }
186
- // High threats (>0.6)
187
- else if (riskScore > 0.6) {
188
- recommendations.push("⚠️ CRITICAL: Investigate immediately");
189
- recommendations.push(
190
- `Block suspicious activities from tenant ${tenantId}`
191
- );
192
- recommendations.push("Monitor all operations from this tenant");
193
- recommendations.push("Notify security team within 5 minutes");
194
- recommendations.push(`Check for ${threatType} indicators`);
195
- }
196
- // Medium threats (>0.4)
197
- else if (riskScore > 0.4) {
198
- recommendations.push("⚠️ WARNING: Monitor closely");
199
- recommendations.push(`Increase monitoring for tenant ${tenantId}`);
200
- recommendations.push("Check access patterns");
201
- recommendations.push("Review permissions");
202
- recommendations.push(`Investigate ${threatType} patterns`);
203
- }
204
- // Low threats (>0.2)
205
- else if (riskScore > 0.2) {
206
- recommendations.push("ℹ️ INFO: Routine observation");
207
- recommendations.push("Document the pattern");
208
- recommendations.push("Check if pattern repeats");
209
- recommendations.push(`Normal monitoring for ${threatType}`);
210
- }
211
- // Very low threats
212
- else {
213
- recommendations.push("✅ Normal activity");
214
- recommendations.push("Continue regular monitoring");
215
- recommendations.push("No special actions required");
216
- }
217
-
218
- return recommendations;
219
- }
220
-
221
- public getStatistics(): any {
222
- return {
223
- patternsLoaded: this.patterns.size,
224
- lastUpdate: new Date().toISOString(),
225
- mlModelVersion: "2025.1.0",
226
- detectorVersion: "v3.0",
227
- threatTypes: Array.from(this.patterns.keys()),
228
- };
229
- }
230
- }
231
-
232
- export class AnomalyDetector {
233
- private normalPatterns: Map<string, any[]> = new Map();
234
- private anomalyThreshold: number = 2.5;
235
- private historicalData: Map<
236
- string,
237
- { timestamps: number[]; operations: string[] }
238
- > = new Map();
239
-
240
- constructor() {
241
- this.initializeHistoricalData();
242
- }
243
-
244
- private initializeHistoricalData(): void {
245
- // Initialize with some baseline patterns
246
- const baselineTenants = ["tenant-alpha", "tenant-beta", "tenant-gamma"];
247
- baselineTenants.forEach((tenantId) => {
248
- this.historicalData.set(tenantId, {
249
- timestamps: [],
250
- operations: [],
251
- });
252
- });
253
- }
254
-
255
- public async detectAnomaly(
256
- tenantId: string,
257
- operation: string,
258
- metadata: any
259
- ): Promise<number> {
260
- const key = `${tenantId}:${operation}`;
261
- const currentTime = new Date().getTime();
262
-
263
- // Initialize if not exists
264
- if (!this.normalPatterns.has(key)) {
265
- this.normalPatterns.set(key, []);
266
- }
267
-
268
- const patterns = this.normalPatterns.get(key)!;
269
-
270
- // Advanced anomaly detection
271
- let anomalyScore = 0.0;
272
-
273
- // 1. Velocity-based anomaly detection
274
- if (patterns.length > 5) {
275
- const recentTimestamps = patterns.slice(-5).map((p) => p.timestamp);
276
- const avgTimeInterval = this.calculateAverageInterval(recentTimestamps);
277
-
278
- if (avgTimeInterval > 0) {
279
- const currentTimeInterval =
280
- currentTime - recentTimestamps[recentTimestamps.length - 1];
281
- const deviation =
282
- Math.abs(currentTimeInterval - avgTimeInterval) / avgTimeInterval;
283
-
284
- if (deviation > 3.0) {
285
- anomalyScore += 0.4; // High velocity anomaly
286
- } else if (deviation > 1.5) {
287
- anomalyScore += 0.2; // Medium velocity anomaly
288
- }
289
- }
290
- }
291
-
292
- // 2. Pattern-based anomaly detection
293
- if (metadata && metadata.size) {
294
- const historicalData = this.historicalData.get(tenantId);
295
- if (historicalData) {
296
- const avgSize = this.getAverageSize(historicalData.operations);
297
- const currentSize = metadata.size;
298
-
299
- if (currentSize > avgSize * 100) {
300
- anomalyScore += 0.3; // Unusual data size
301
- }
302
- }
303
- }
304
-
305
- // 3. Time-based anomaly detection
306
- const hour = new Date().getHours();
307
- if (hour < 6 || hour > 22) {
308
- anomalyScore += 0.15; // Night operations are more suspicious
309
- }
310
-
311
- // 4. Cross-tenant anomaly detection
312
- if (
313
- metadata &&
314
- metadata.targetTenant &&
315
- metadata.targetTenant !== tenantId
316
- ) {
317
- anomalyScore += 0.25; // Cross-tenant operations are high risk
318
- }
319
-
320
- // Store current pattern for future comparison
321
- patterns.push({
322
- timestamp: currentTime,
323
- operation,
324
- metadata,
325
- });
326
-
327
- // Keep only recent patterns (last 24 hours)
328
- const cutoff = currentTime - 24 * 60 * 60 * 1000;
329
- this.normalPatterns.set(
330
- key,
331
- patterns.filter((p) => p.timestamp > cutoff)
332
- );
333
-
334
- return Math.min(anomalyScore, 0.8);
335
- }
336
-
337
- private calculateAverageInterval(timestamps: number[]): number {
338
- if (timestamps.length < 2) return 0;
339
-
340
- let totalInterval = 0;
341
- for (let i = 1; i < timestamps.length; i++) {
342
- totalInterval += timestamps[i] - timestamps[i - 1];
343
- }
344
-
345
- return totalInterval / (timestamps.length - 1);
346
- }
347
-
348
- private getAverageSize(operations: string[]): number {
349
- if (operations.length === 0) return 0;
350
- return 1000; // Default average size
351
- }
352
- }
353
-
354
- export class ThreatMLModel {
355
- private modelWeights: Map<string, number> = new Map();
356
- private trainingData: Map<string, any[]> = new Map();
357
- private modelVersion: string = "2025.1.0";
358
-
359
- constructor() {
360
- this.initializeModel();
361
- this.loadTrainingData();
362
- }
363
-
364
- private initializeModel(): void {
365
- // Advanced ML model weights based on tenant behavior patterns
366
- this.modelWeights.set("tenant_historical_risk", 0.35);
367
- this.modelWeights.set("operation_frequency_anomaly", 0.25);
368
- this.modelWeights.set("metadata_complexity_risk", 0.2);
369
- this.modelWeights.set("time_deviation_risk", 0.15);
370
- this.modelWeights.set("cross_tenant_detection", 0.4);
371
- this.modelWeights.set("lgpd_compliance_checker", 0.3);
372
- }
373
-
374
- private loadTrainingData(): void {
375
- // Load historical training data
376
- const sampleTrainingData = [
377
- {
378
- tenantId: "tenant-alpha",
379
- operation: "normal_access",
380
- metadata: { size: 100 },
381
- riskScore: 0.1,
382
- },
383
- {
384
- tenantId: "tenant-beta",
385
- operation: "bulk_export",
386
- metadata: { size: 10000 },
387
- riskScore: 0.8,
388
- },
389
- {
390
- tenantId: "tenant-gamma",
391
- operation: "cross_tenant_access",
392
- metadata: { targetTenant: "other" },
393
- riskScore: 0.9,
394
- },
395
- ];
396
-
397
- sampleTrainingData.forEach((data) => {
398
- const key = `${data.tenantId}:${data.operation}`;
399
- this.trainingData.set(key, [data]);
400
- });
401
- }
402
-
403
- public async predict(
404
- tenantId: string,
405
- operation: string,
406
- metadata: any
407
- ): Promise<number> {
408
- let riskScore = 0.0;
409
-
410
- // 1. Historical tenant behavior analysis
411
- const historicalKey = `${tenantId}:${operation}`;
412
- if (this.trainingData.has(historicalKey)) {
413
- const historicalData = this.trainingData.get(historicalKey)!;
414
- const avgRisk =
415
- historicalData.reduce((sum, data) => sum + data.riskScore, 0) /
416
- historicalData.length;
417
- riskScore += avgRisk * this.modelWeights.get("tenant_historical_risk")!;
418
- }
419
-
420
- // 2. Operation frequency analysis
421
- const hour = new Date().getHours();
422
- if (hour < 6 || hour > 22) {
423
- riskScore += 0.3 * this.modelWeights.get("time_deviation_risk")!;
424
- }
425
-
426
- // 3. Metadata complexity analysis
427
- if (metadata && JSON.stringify(metadata).length > 2000) {
428
- riskScore += 0.2 * this.modelWeights.get("metadata_complexity_risk")!;
429
- }
430
-
431
- // 4. Cross-tenant operation detection
432
- if (
433
- metadata &&
434
- metadata.targetTenant &&
435
- metadata.targetTenant !== tenantId
436
- ) {
437
- riskScore += 0.8 * this.modelWeights.get("cross_tenant_detection")!;
438
- }
439
-
440
- // 5. LGPD compliance violation detection
441
- if (metadata && metadata.consentStatus === "missing") {
442
- riskScore += 0.6 * this.modelWeights.get("lgpd_compliance_checker")!;
443
- }
444
-
445
- // 6. High-frequency operation detection
446
- if (metadata && metadata.operationCount && metadata.operationCount > 1000) {
447
- riskScore += 0.3 * this.modelWeights.get("operation_frequency_anomaly")!;
448
- }
449
-
450
- return Math.min(riskScore, 1.0);
451
- }
452
-
453
- public getModelInfo(): any {
454
- return {
455
- version: this.modelVersion,
456
- weights: Object.fromEntries(this.modelWeights),
457
- trainingDataSize: this.trainingData.size,
458
- features: [
459
- "tenant_historical_risk",
460
- "operation_frequency_anomaly",
461
- "metadata_complexity_risk",
462
- "time_deviation_risk",
463
- "cross_tenant_detection",
464
- "lgpd_compliance_checker",
465
- ],
466
- };
467
- }
468
-
469
- public retrainModel(newData: any[]): void {
470
- // Simplified retraining logic
471
- newData.forEach((data) => {
472
- const key = `${data.tenantId}:${data.operation}`;
473
- if (!this.trainingData.has(key)) {
474
- this.trainingData.set(key, []);
475
- }
476
- this.trainingData.get(key)!.push(data);
477
- });
478
-
479
- this.modelVersion = `2025.${new Date().getMonth()}.${new Date().getDate()}`;
480
- }
481
- }