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,231 +0,0 @@
1
- /**
2
- * Agnostic Multi-Tenant Interfaces
3
- * Provider-independent abstractions for multi-tenant operations
4
- */
5
-
6
- // =============================================================================
7
- // Provider Types
8
- // =============================================================================
9
-
10
- /**
11
- * Built-in provider type
12
- */
13
- export type BuiltInProviderType = 'memory';
14
-
15
- /**
16
- * Provider type accepts built-in or any registered external type
17
- */
18
- export type ProviderType = BuiltInProviderType | string;
19
-
20
- // =============================================================================
21
- // Provider-Specific Configurations
22
- // =============================================================================
23
-
24
- /**
25
- * Firebase-specific provider configuration
26
- */
27
- export interface FirebaseProviderConfig {
28
- projectId: string;
29
- databaseURL: string;
30
- storageBucket: string;
31
- }
32
-
33
- /**
34
- * In-memory provider configuration (for testing)
35
- */
36
- export interface MemoryProviderConfig {
37
- persistToDisk?: boolean;
38
- }
39
-
40
- // =============================================================================
41
- // Agnostic Tenant Configuration
42
- // =============================================================================
43
-
44
- /**
45
- * Provider-agnostic tenant configuration
46
- */
47
- export interface TenantConfig {
48
- tenantId: string;
49
- securityProfile: 'ultra-secure' | 'tenant-isolated';
50
- dataRetentionDays: number;
51
- lgpdEnabled: boolean;
52
- gdprEnabled: boolean;
53
- provider: ProviderType;
54
- providerConfig: FirebaseProviderConfig | MemoryProviderConfig;
55
- }
56
-
57
- // =============================================================================
58
- // Core Interfaces
59
- // =============================================================================
60
-
61
- /**
62
- * Abstract provider interface for tenant management
63
- * Implements Strategy pattern for swappable backends
64
- */
65
- export interface ITenantProvider {
66
- /**
67
- * Initialize a new tenant with the given configuration
68
- * @throws TenantAlreadyExistsError if tenant already exists
69
- * @throws ValidationError if configuration is invalid
70
- */
71
- initialize(config: TenantConfig): Promise<ITenantApp>;
72
-
73
- /**
74
- * Get an existing tenant app by ID
75
- * @throws NotFoundError if tenant does not exist
76
- */
77
- get(tenantId: string): ITenantApp;
78
-
79
- /**
80
- * Remove a tenant and release all associated resources
81
- * @throws NotFoundError if tenant does not exist
82
- */
83
- remove(tenantId: string): Promise<void>;
84
-
85
- /**
86
- * List all active tenant IDs
87
- */
88
- list(): string[];
89
-
90
- /**
91
- * The type of this provider
92
- */
93
- readonly type: ProviderType;
94
- }
95
-
96
- /**
97
- * Abstract tenant app representing an isolated tenant instance
98
- */
99
- export interface ITenantApp {
100
- /**
101
- * Unique identifier for this tenant
102
- */
103
- readonly tenantId: string;
104
-
105
- /**
106
- * Get the database interface for this tenant
107
- */
108
- getDatabase(): ITenantDatabase;
109
-
110
- /**
111
- * Destroy this tenant app and release resources
112
- */
113
- destroy(): Promise<void>;
114
- }
115
-
116
- /**
117
- * Abstract database interface for tenant data operations
118
- */
119
- export interface ITenantDatabase {
120
- /**
121
- * Get a collection by name
122
- */
123
- collection(name: string): ITenantCollection;
124
- }
125
-
126
- /**
127
- * Abstract collection interface for document operations
128
- */
129
- export interface ITenantCollection {
130
- /**
131
- * Get a document reference by ID
132
- */
133
- doc(id: string): ITenantDocument;
134
-
135
- /**
136
- * Add a new document with auto-generated ID
137
- * @returns The generated document ID
138
- */
139
- add(data: Record<string, unknown>): Promise<string>;
140
-
141
- /**
142
- * Get all documents in this collection
143
- */
144
- get(): Promise<Array<{ id: string; data: Record<string, unknown> }>>;
145
- }
146
-
147
- /**
148
- * Abstract document interface for CRUD operations
149
- */
150
- export interface ITenantDocument {
151
- /**
152
- * Get the document data
153
- * @returns Document data or null if not found
154
- */
155
- get(): Promise<Record<string, unknown> | null>;
156
-
157
- /**
158
- * Set the document data (creates or overwrites)
159
- */
160
- set(data: Record<string, unknown>): Promise<void>;
161
-
162
- /**
163
- * Update specific fields in the document
164
- * @throws NotFoundError if document does not exist
165
- */
166
- update(data: Record<string, unknown>): Promise<void>;
167
-
168
- /**
169
- * Delete the document
170
- */
171
- delete(): Promise<void>;
172
- }
173
-
174
- // =============================================================================
175
- // Error Types
176
- // =============================================================================
177
-
178
- /**
179
- * Base error for tenant operations
180
- */
181
- export class TenantError extends Error {
182
- constructor(message: string, public code?: string) {
183
- super(message);
184
- this.name = 'TenantError';
185
- Object.setPrototypeOf(this, TenantError.prototype);
186
- }
187
- }
188
-
189
- /**
190
- * Thrown when configuration validation fails
191
- */
192
- export class ValidationError extends TenantError {
193
- constructor(message: string) {
194
- super(message, 'VALIDATION_ERROR');
195
- this.name = 'ValidationError';
196
- Object.setPrototypeOf(this, ValidationError.prototype);
197
- }
198
- }
199
-
200
- /**
201
- * Thrown when a requested resource is not found
202
- */
203
- export class NotFoundError extends TenantError {
204
- constructor(message: string) {
205
- super(message, 'NOT_FOUND');
206
- this.name = 'NotFoundError';
207
- Object.setPrototypeOf(this, NotFoundError.prototype);
208
- }
209
- }
210
-
211
- /**
212
- * Thrown when an operation is not supported by the provider
213
- */
214
- export class NotSupportedError extends TenantError {
215
- constructor(message: string) {
216
- super(message, 'NOT_SUPPORTED');
217
- this.name = 'NotSupportedError';
218
- Object.setPrototypeOf(this, NotSupportedError.prototype);
219
- }
220
- }
221
-
222
- /**
223
- * Thrown when attempting to create a tenant that already exists
224
- */
225
- export class TenantAlreadyExistsError extends TenantError {
226
- constructor(tenantId: string) {
227
- super(`Tenant '${tenantId}' already exists`, 'TENANT_EXISTS');
228
- this.name = 'TenantAlreadyExistsError';
229
- Object.setPrototypeOf(this, TenantAlreadyExistsError.prototype);
230
- }
231
- }
@@ -1,75 +0,0 @@
1
- /**
2
- * Provider Factory
3
- * Factory function for creating tenant providers based on configuration
4
- * Uses ProviderRegistry for dynamic provider registration
5
- */
6
-
7
- import {
8
- ProviderType,
9
- ITenantProvider,
10
- BuiltInProviderType,
11
- } from './interfaces';
12
- import { ProviderRegistry } from './providerRegistry';
13
- import { InMemoryTenantProvider } from './providers/InMemoryTenantProvider';
14
-
15
- /**
16
- * Built-in provider types
17
- */
18
- const BUILTIN_PROVIDERS: readonly BuiltInProviderType[] = ['memory'] as const;
19
-
20
- // Register built-in provider on module load
21
- ProviderRegistry.register('memory', () => new InMemoryTenantProvider());
22
-
23
- /**
24
- * Check if a value is a valid built-in ProviderType
25
- */
26
- export function isBuiltInProviderType(type: unknown): type is BuiltInProviderType {
27
- return typeof type === 'string' && BUILTIN_PROVIDERS.includes(type as BuiltInProviderType);
28
- }
29
-
30
- /**
31
- * Check if a value is a valid ProviderType (built-in or registered)
32
- */
33
- export function isValidProviderType(type: unknown): type is ProviderType {
34
- if (typeof type !== 'string') {
35
- return false;
36
- }
37
- return isBuiltInProviderType(type) || ProviderRegistry.isRegistered(type);
38
- }
39
-
40
- /**
41
- * Create a tenant provider instance based on the specified type
42
- *
43
- * @param type - The provider type to create (built-in or registered)
44
- * @returns An instance of ITenantProvider for the specified type
45
- * @throws ValidationError if the provider type is not registered
46
- *
47
- * @example
48
- * ```typescript
49
- * // Create an in-memory provider for testing (built-in)
50
- * const memoryProvider = createProvider('memory');
51
- *
52
- * // Create a Firebase provider (must be registered by application first)
53
- * // In your app: ProviderRegistry.register('firebase', () => new FirebaseTenantProvider());
54
- * const firebaseProvider = createProvider('firebase');
55
- * ```
56
- */
57
- export function createProvider(type: ProviderType): ITenantProvider {
58
- return ProviderRegistry.create(type);
59
- }
60
-
61
- /**
62
- * Get the list of supported provider types (built-in + registered)
63
- * @returns Array of supported provider type strings
64
- */
65
- export function getSupportedProviders(): string[] {
66
- return ProviderRegistry.getRegisteredTypes();
67
- }
68
-
69
- /**
70
- * Get the list of built-in provider types
71
- * @returns Array of built-in provider type strings
72
- */
73
- export function getBuiltInProviders(): readonly BuiltInProviderType[] {
74
- return BUILTIN_PROVIDERS;
75
- }
@@ -1,86 +0,0 @@
1
- /**
2
- * Provider Registry
3
- * Dynamic registration system for external tenant providers
4
- * Allows applications to register custom providers at runtime
5
- */
6
-
7
- import { ITenantProvider, ValidationError } from './interfaces';
8
-
9
- type ProviderFactory = () => ITenantProvider;
10
-
11
- /**
12
- * Registry for tenant providers
13
- * Applications register their providers here before using TenantManager
14
- */
15
- class ProviderRegistryClass {
16
- private providers: Map<string, ProviderFactory> = new Map();
17
-
18
- /**
19
- * Register a provider factory
20
- * @param type - Unique provider type identifier
21
- * @param factory - Factory function that creates the provider instance
22
- * @throws ValidationError if type is already registered
23
- */
24
- register(type: string, factory: ProviderFactory): void {
25
- if (!type || typeof type !== 'string') {
26
- throw new ValidationError('Provider type must be a non-empty string');
27
- }
28
- if (typeof factory !== 'function') {
29
- throw new ValidationError('Provider factory must be a function');
30
- }
31
- if (this.providers.has(type)) {
32
- throw new ValidationError(`Provider type '${type}' is already registered`);
33
- }
34
- this.providers.set(type, factory);
35
- }
36
-
37
- /**
38
- * Unregister a provider
39
- * @param type - Provider type to remove
40
- */
41
- unregister(type: string): void {
42
- this.providers.delete(type);
43
- }
44
-
45
- /**
46
- * Create a provider instance
47
- * @param type - Provider type to create
48
- * @throws ValidationError if provider type is not registered
49
- */
50
- create(type: string): ITenantProvider {
51
- const factory = this.providers.get(type);
52
- if (!factory) {
53
- const registered = this.getRegisteredTypes();
54
- const available = registered.length > 0
55
- ? `Available types: ${registered.join(', ')}`
56
- : 'No providers registered';
57
- throw new ValidationError(
58
- `Unknown provider type: '${type}'. ${available}`
59
- );
60
- }
61
- return factory();
62
- }
63
-
64
- /**
65
- * Check if a provider type is registered
66
- */
67
- isRegistered(type: string): boolean {
68
- return this.providers.has(type);
69
- }
70
-
71
- /**
72
- * Get all registered provider types
73
- */
74
- getRegisteredTypes(): string[] {
75
- return Array.from(this.providers.keys());
76
- }
77
-
78
- /**
79
- * Clear all registered providers (useful for testing)
80
- */
81
- clear(): void {
82
- this.providers.clear();
83
- }
84
- }
85
-
86
- export const ProviderRegistry = new ProviderRegistryClass();
@@ -1,168 +0,0 @@
1
- /**
2
- * In-Memory Tenant Provider
3
- * Implements ITenantProvider for testing without external dependencies
4
- */
5
-
6
- import {
7
- ITenantProvider,
8
- ITenantApp,
9
- ITenantDatabase,
10
- ITenantCollection,
11
- ITenantDocument,
12
- TenantConfig,
13
- ProviderType,
14
- NotFoundError,
15
- TenantAlreadyExistsError,
16
- } from '../interfaces';
17
-
18
- // =============================================================================
19
- // In-Memory Document Implementation
20
- // =============================================================================
21
-
22
- class InMemoryDocument implements ITenantDocument {
23
- constructor(
24
- private storage: Map<string, Record<string, unknown>>,
25
- private docId: string
26
- ) {}
27
-
28
- async get(): Promise<Record<string, unknown> | null> {
29
- return this.storage.get(this.docId) ?? null;
30
- }
31
-
32
- async set(data: Record<string, unknown>): Promise<void> {
33
- this.storage.set(this.docId, { ...data });
34
- }
35
-
36
- async update(data: Record<string, unknown>): Promise<void> {
37
- const existing = this.storage.get(this.docId);
38
- if (!existing) {
39
- throw new NotFoundError(`Document '${this.docId}' not found`);
40
- }
41
- this.storage.set(this.docId, { ...existing, ...data });
42
- }
43
-
44
- async delete(): Promise<void> {
45
- this.storage.delete(this.docId);
46
- }
47
- }
48
-
49
-
50
- // =============================================================================
51
- // In-Memory Collection Implementation
52
- // =============================================================================
53
-
54
- class InMemoryCollection implements ITenantCollection {
55
- private documents: Map<string, Record<string, unknown>> = new Map();
56
- private autoIdCounter = 0;
57
-
58
- constructor(private collectionName: string) {}
59
-
60
- doc(id: string): ITenantDocument {
61
- return new InMemoryDocument(this.documents, id);
62
- }
63
-
64
- async add(data: Record<string, unknown>): Promise<string> {
65
- const id = `${this.collectionName}_${++this.autoIdCounter}_${Date.now()}`;
66
- this.documents.set(id, { ...data });
67
- return id;
68
- }
69
-
70
- async get(): Promise<Array<{ id: string; data: Record<string, unknown> }>> {
71
- const results: Array<{ id: string; data: Record<string, unknown> }> = [];
72
- for (const [id, data] of this.documents) {
73
- results.push({ id, data: { ...data } });
74
- }
75
- return results;
76
- }
77
- }
78
-
79
- // =============================================================================
80
- // In-Memory Database Implementation
81
- // =============================================================================
82
-
83
- class InMemoryDatabase implements ITenantDatabase {
84
- private collections: Map<string, InMemoryCollection> = new Map();
85
-
86
- collection(name: string): ITenantCollection {
87
- let coll = this.collections.get(name);
88
- if (!coll) {
89
- coll = new InMemoryCollection(name);
90
- this.collections.set(name, coll);
91
- }
92
- return coll;
93
- }
94
- }
95
-
96
-
97
- // =============================================================================
98
- // In-Memory Tenant App Implementation
99
- // =============================================================================
100
-
101
- class InMemoryTenantApp implements ITenantApp {
102
- private database: InMemoryDatabase;
103
- private destroyed = false;
104
-
105
- constructor(
106
- public readonly tenantId: string,
107
- public readonly config: TenantConfig
108
- ) {
109
- this.database = new InMemoryDatabase();
110
- }
111
-
112
- getDatabase(): ITenantDatabase {
113
- if (this.destroyed) {
114
- throw new NotFoundError(`Tenant '${this.tenantId}' has been destroyed`);
115
- }
116
- return this.database;
117
- }
118
-
119
- async destroy(): Promise<void> {
120
- this.destroyed = true;
121
- // Clear internal references to allow garbage collection
122
- this.database = null as unknown as InMemoryDatabase;
123
- }
124
- }
125
-
126
- // =============================================================================
127
- // In-Memory Tenant Provider Implementation
128
- // =============================================================================
129
-
130
- /**
131
- * In-memory implementation of ITenantProvider
132
- * Useful for testing without external dependencies
133
- */
134
- export class InMemoryTenantProvider implements ITenantProvider {
135
- public readonly type: ProviderType = 'memory';
136
- private tenants: Map<string, InMemoryTenantApp> = new Map();
137
-
138
- async initialize(config: TenantConfig): Promise<ITenantApp> {
139
- if (this.tenants.has(config.tenantId)) {
140
- throw new TenantAlreadyExistsError(config.tenantId);
141
- }
142
-
143
- const app = new InMemoryTenantApp(config.tenantId, config);
144
- this.tenants.set(config.tenantId, app);
145
- return app;
146
- }
147
-
148
- get(tenantId: string): ITenantApp {
149
- const app = this.tenants.get(tenantId);
150
- if (!app) {
151
- throw new NotFoundError(`Tenant '${tenantId}' not found`);
152
- }
153
- return app;
154
- }
155
-
156
- async remove(tenantId: string): Promise<void> {
157
- const app = this.tenants.get(tenantId);
158
- if (!app) {
159
- throw new NotFoundError(`Tenant '${tenantId}' not found`);
160
- }
161
- await app.destroy();
162
- this.tenants.delete(tenantId);
163
- }
164
-
165
- list(): string[] {
166
- return Array.from(this.tenants.keys());
167
- }
168
- }
@@ -1,16 +0,0 @@
1
- /**
2
- * Project-agnostic execution context contract for declarative runtimes.
3
- * Mirrors the shape used inside the Opal Support App but stays self-contained
4
- * so the npm package does not depend on repository-local files.
5
- */
6
- export interface ExecutionContext {
7
- logs: string[];
8
- status: "running" | "success" | "error";
9
- output: unknown;
10
- error?: string;
11
- log: (message: string) => void;
12
- setOutput: (output: unknown) => void;
13
- setError: (error: string) => void;
14
- }
15
-
16
- export default ExecutionContext;