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,222 +0,0 @@
1
- "use strict";
2
- /**
3
- * GraphQL helpers used by the /api/graphql route.
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getGraphQLSchema = getGraphQLSchema;
7
- exports.executeRegisteredMethod = executeRegisteredMethod;
8
- exports.handleGraphQLPost = handleGraphQLPost;
9
- exports.handleGraphQLGet = handleGraphQLGet;
10
- const graphql_1 = require("graphql");
11
- const graphql_yoga_1 = require("graphql-yoga");
12
- const registry_1 = require("../../agents/registry");
13
- const kvStore_1 = require("../kvStore");
14
- const runtimeSecurity_1 = require("../runtimeSecurity");
15
- const errors_1 = require("../errors");
16
- const schema = `
17
- type Query { ping: String! }
18
- type Mutation { executeMethod(methodName: String!, params: JSON!, props: JSON!): ExecutionResult! }
19
- type ExecutionResult { success: Boolean!, data: JSON, error: String, executionTime: Int! }
20
- scalar JSON
21
- `;
22
- function getGraphQLSchema() {
23
- return schema;
24
- }
25
- const parseJsonLiteral = (ast) => {
26
- switch (ast.kind) {
27
- case graphql_1.Kind.STRING:
28
- case graphql_1.Kind.BOOLEAN:
29
- return ast.value;
30
- case graphql_1.Kind.INT:
31
- return parseInt(ast.value, 10);
32
- case graphql_1.Kind.FLOAT:
33
- return parseFloat(ast.value);
34
- case graphql_1.Kind.OBJECT: {
35
- const value = {};
36
- for (const field of ast.fields) {
37
- value[field.name.value] = parseJsonLiteral(field.value);
38
- }
39
- return value;
40
- }
41
- case graphql_1.Kind.LIST:
42
- return ast.values.map(parseJsonLiteral);
43
- case graphql_1.Kind.NULL:
44
- return null;
45
- default:
46
- return null;
47
- }
48
- };
49
- const jsonScalar = new graphql_1.GraphQLScalarType({
50
- name: "JSON",
51
- description: "Arbitrary JSON value",
52
- serialize: (value) => value,
53
- parseValue: (value) => value,
54
- parseLiteral: (ast) => parseJsonLiteral(ast),
55
- });
56
- async function executeRegisteredMethod(input, clientId) {
57
- const startTime = Date.now();
58
- const context = {
59
- logs: [],
60
- status: "running",
61
- output: undefined,
62
- error: undefined,
63
- log: (message) => context.logs.push(`[${new Date().toISOString()}] ${message}`),
64
- setOutput: (output) => {
65
- context.output = output;
66
- context.status = "success";
67
- },
68
- setError: (error) => {
69
- context.error = error;
70
- context.status = "error";
71
- },
72
- };
73
- try {
74
- context.log("Method execution initiated.");
75
- if (!(0, runtimeSecurity_1.isValidMethodName)(input.methodName)) {
76
- throw new errors_1.ValidationError("Invalid method name format");
77
- }
78
- const declarativeAgent = registry_1.agentRegistry.getAgent(input.methodName);
79
- if (declarativeAgent) {
80
- context.log(`Found declarative agent: ${input.methodName}`);
81
- const result = await registry_1.agentRegistry.executeAgent(input.methodName, (0, runtimeSecurity_1.sanitizeInput)(input.params), (0, runtimeSecurity_1.sanitizeInput)(input.props), context);
82
- const executionTime = Date.now() - startTime;
83
- await (0, kvStore_1.logExecution)({
84
- id: `log_${Date.now()}`,
85
- clientId,
86
- endpointName: input.methodName,
87
- timestamp: new Date().toISOString(),
88
- duration: executionTime,
89
- success: true,
90
- input: input.params,
91
- output: result,
92
- logs: context.logs,
93
- });
94
- return { success: true, data: result, executionTime };
95
- }
96
- const endpoint = await (0, kvStore_1.getEndpointByName)(input.methodName);
97
- if (!endpoint) {
98
- throw new errors_1.NotFoundError(`Method '${input.methodName}' not found`);
99
- }
100
- context.log(`Found endpoint: ${endpoint.name}`);
101
- const sanitizedParams = (0, runtimeSecurity_1.sanitizeInput)(input.params);
102
- const sanitizedProps = (0, runtimeSecurity_1.sanitizeInput)(input.props);
103
- const { valid, missing } = (0, runtimeSecurity_1.validateRequiredProps)(endpoint.requiredProps, sanitizedProps);
104
- if (!valid) {
105
- throw new errors_1.ValidationError(`Missing required props: ${missing.join(", ")}`);
106
- }
107
- context.log("Props validated. Executing sandbox.");
108
- await (0, runtimeSecurity_1.executeInSandbox)(endpoint.code, sanitizedParams, sanitizedProps, context);
109
- context.log("Sandbox execution finished.");
110
- if (context.status === "error") {
111
- throw new Error(context.error || "Sandbox execution failed.");
112
- }
113
- if (context.status !== "success") {
114
- throw new Error("Sandbox finished in an indeterminate state.");
115
- }
116
- const executionTime = Date.now() - startTime;
117
- await (0, kvStore_1.logExecution)({
118
- id: `log_${Date.now()}`,
119
- clientId,
120
- endpointName: input.methodName,
121
- timestamp: new Date().toISOString(),
122
- duration: executionTime,
123
- success: true,
124
- input: sanitizedParams,
125
- output: context.output,
126
- logs: context.logs,
127
- });
128
- return { success: true, data: context.output, executionTime };
129
- }
130
- catch (error) {
131
- const executionTime = Date.now() - startTime;
132
- const errorMessage = error instanceof Error ? error.message : "Unknown error";
133
- if (!context.error)
134
- context.setError(errorMessage);
135
- await (0, kvStore_1.logExecution)({
136
- id: `log_${Date.now()}`,
137
- clientId,
138
- endpointName: input.methodName,
139
- timestamp: new Date().toISOString(),
140
- duration: executionTime,
141
- success: false,
142
- error: errorMessage,
143
- input: input.params,
144
- logs: context.logs,
145
- });
146
- return { success: false, error: errorMessage, executionTime };
147
- }
148
- }
149
- async function resolveClientId(request) {
150
- const authHeader = request.headers.get("authorization");
151
- if (authHeader && authHeader.startsWith("Bearer ")) {
152
- const apiKey = authHeader.substring(7);
153
- if (!(0, runtimeSecurity_1.isValidApiKey)(apiKey)) {
154
- throw new errors_1.AuthenticationError("Invalid API key format");
155
- }
156
- const client = await (0, kvStore_1.getClientByApiKey)(apiKey);
157
- if (!client)
158
- throw new errors_1.AuthenticationError("Invalid API key");
159
- const rateLimitOk = await (0, kvStore_1.checkRateLimit)(client.id, client.rateLimit);
160
- if (!rateLimitOk)
161
- throw new errors_1.RateLimitError("Rate limit exceeded.");
162
- return client.id;
163
- }
164
- if (request.headers.get("x-admin-tenant") === "true") {
165
- return "admin_tenant";
166
- }
167
- throw new errors_1.AuthenticationError("Missing or invalid authorization header");
168
- }
169
- function toGraphQLError(error) {
170
- const message = error instanceof Error ? error.message : "Internal server error";
171
- let code = "INTERNAL_SERVER_ERROR";
172
- if (error instanceof errors_1.AuthenticationError) {
173
- code = "UNAUTHENTICATED";
174
- }
175
- else if (error instanceof errors_1.RateLimitError) {
176
- code = "RATE_LIMITED";
177
- }
178
- else if (error instanceof errors_1.ValidationError) {
179
- code = "BAD_USER_INPUT";
180
- }
181
- else if (error instanceof errors_1.NotFoundError) {
182
- code = "NOT_FOUND";
183
- }
184
- return new graphql_1.GraphQLError(message, { extensions: { code } });
185
- }
186
- const yoga = (0, graphql_yoga_1.createYoga)({
187
- schema: (0, graphql_yoga_1.createSchema)({
188
- typeDefs: schema,
189
- resolvers: {
190
- JSON: jsonScalar,
191
- Query: {
192
- ping: () => "pong",
193
- },
194
- Mutation: {
195
- executeMethod: async (_parent, args, context) => {
196
- try {
197
- const clientId = await resolveClientId(context.request);
198
- return await executeRegisteredMethod({
199
- methodName: args.methodName,
200
- params: args.params || {},
201
- props: args.props || {},
202
- }, clientId);
203
- }
204
- catch (error) {
205
- throw toGraphQLError(error);
206
- }
207
- },
208
- },
209
- },
210
- }),
211
- context: ({ request }) => ({ request }),
212
- graphqlEndpoint: "/api/graphql",
213
- graphiql: true,
214
- fetchAPI: { Request, Response },
215
- });
216
- async function handleGraphQLPost(request) {
217
- return yoga.handleRequest(request, { request });
218
- }
219
- async function handleGraphQLGet(request) {
220
- return yoga.handleRequest(request, { request });
221
- }
222
- //# sourceMappingURL=graphql.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/server/api/graphql.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAqCH,4CAEC;AAmCD,0DA2HC;AA8ED,8CAEC;AAED,4CAEC;AAvRD,qCAAgF;AAChF,+CAAwD;AACxD,oDAAsD;AACtD,wCAKoB;AACpB,wDAM4B;AAC5B,sCAKmB;AAOnB,MAAM,MAAM,GAAG;;;;;CAKd,CAAC;AAEF,SAAgB,gBAAgB;IAC9B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,GAAc,EAAW,EAAE;IACnD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,cAAI,CAAC,MAAM,CAAC;QACjB,KAAK,cAAI,CAAC,OAAO;YACf,OAAO,GAAG,CAAC,KAAK,CAAC;QACnB,KAAK,cAAI,CAAC,GAAG;YACX,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,KAAK,cAAI,CAAC,KAAK;YACb,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,cAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,MAAM,KAAK,GAAwB,EAAE,CAAC;YACtC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC/B,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,cAAI,CAAC,IAAI;YACZ,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC1C,KAAK,cAAI,CAAC,IAAI;YACZ,OAAO,IAAI,CAAC;QACd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,IAAI,2BAAiB,CAAC;IACvC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,sBAAsB;IACnC,SAAS,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK;IACpC,UAAU,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK;IACrC,YAAY,EAAE,CAAC,GAAc,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC;CACxD,CAAC,CAAC;AAEI,KAAK,UAAU,uBAAuB,CAC3C,KAAyB,EACzB,QAAgB;IAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAqB;QAChC,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,CAAC,OAAe,EAAE,EAAE,CACvB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;QAC/D,SAAS,EAAE,CAAC,MAAe,EAAE,EAAE;YAC7B,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;QAC7B,CAAC;QACD,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;YAC1B,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YACtB,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;QAC3B,CAAC;KACF,CAAC;IAEF,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAA,mCAAiB,EAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,wBAAe,CAAC,4BAA4B,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,gBAAgB,GAAG,wBAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAClE,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YAE5D,MAAM,MAAM,GAAG,MAAM,wBAAa,CAAC,YAAY,CAC7C,KAAK,CAAC,UAAU,EAChB,IAAA,+BAAa,EAAC,KAAK,CAAC,MAAM,CAAwB,EAClD,IAAA,+BAAa,EAAC,KAAK,CAAC,KAAK,CAA2B,EACpD,OAAO,CACR,CAAC;YAEF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC7C,MAAM,IAAA,sBAAY,EAAC;gBACjB,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE;gBACvB,QAAQ;gBACR,YAAY,EAAE,KAAK,CAAC,UAAU;gBAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,QAAQ,EAAE,aAAa;gBACvB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,KAAK,CAAC,MAAM;gBACnB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QACxD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,2BAAiB,EAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,sBAAa,CAAC,WAAW,KAAK,CAAC,UAAU,aAAa,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,eAAe,GAAG,IAAA,+BAAa,EAAC,KAAK,CAAC,MAAM,CAGjD,CAAC;QACF,MAAM,cAAc,GAAG,IAAA,+BAAa,EAAC,KAAK,CAAC,KAAK,CAA2B,CAAC;QAC5E,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAA,uCAAqB,EAC9C,QAAQ,CAAC,aAAa,EACtB,cAAc,CACf,CAAC;QACF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,wBAAe,CACvB,2BAA2B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChD,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,MAAM,IAAA,kCAAgB,EACpB,QAAQ,CAAC,IAAI,EACb,eAAe,EACf,cAAc,EACd,OAAO,CACR,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAE3C,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,2BAA2B,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC7C,MAAM,IAAA,sBAAY,EAAC;YACjB,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE;YACvB,QAAQ;YACR,YAAY,EAAE,KAAK,CAAC,UAAU;YAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,QAAQ,EAAE,aAAa;YACvB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC7C,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC3D,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEnD,MAAM,IAAA,sBAAY,EAAC;YACjB,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE;YACvB,QAAQ;YACR,YAAY,EAAE,KAAK,CAAC,UAAU;YAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,QAAQ,EAAE,aAAa;YACvB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;IAChE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,OAAgB;IAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAExD,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,IAAA,+BAAa,EAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,4BAAmB,CAAC,wBAAwB,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAiB,EAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,4BAAmB,CAAC,iBAAiB,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,uBAAc,CAAC,sBAAsB,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,MAAM,EAAE,CAAC;QACrD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,IAAI,4BAAmB,CAAC,yCAAyC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC;IACjF,IAAI,IAAI,GAAG,uBAAuB,CAAC;IAEnC,IAAI,KAAK,YAAY,4BAAmB,EAAE,CAAC;QACzC,IAAI,GAAG,iBAAiB,CAAC;IAC3B,CAAC;SAAM,IAAI,KAAK,YAAY,uBAAc,EAAE,CAAC;QAC3C,IAAI,GAAG,cAAc,CAAC;IACxB,CAAC;SAAM,IAAI,KAAK,YAAY,wBAAe,EAAE,CAAC;QAC5C,IAAI,GAAG,gBAAgB,CAAC;IAC1B,CAAC;SAAM,IAAI,KAAK,YAAY,sBAAa,EAAE,CAAC;QAC1C,IAAI,GAAG,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,IAAI,sBAAY,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,IAAI,GAAG,IAAA,yBAAU,EAAC;IACtB,MAAM,EAAE,IAAA,2BAAY,EAAC;QACnB,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE;YACT,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE;gBACL,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM;aACnB;YACD,QAAQ,EAAE;gBACR,aAAa,EAAE,KAAK,EAClB,OAAgB,EAChB,IAA8F,EAC9F,OAA6B,EAC7B,EAAE;oBACF,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACxD,OAAO,MAAM,uBAAuB,CAClC;4BACE,UAAU,EAAE,IAAI,CAAC,UAAU;4BAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;4BACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;yBACxB,EACD,QAAQ,CACT,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;aACF;SACF;KACF,CAAC;IACF,OAAO,EAAE,CAAC,EAAE,OAAO,EAAwB,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7D,eAAe,EAAE,cAAc;IAC/B,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEI,KAAK,UAAU,iBAAiB,CAAC,OAAgB;IACtD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAClD,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,OAAgB;IACrD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAClD,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Custom error classes shared across server runtimes.
3
- */
4
- export declare class AuthenticationError extends Error {
5
- constructor(message?: string);
6
- }
7
- export declare class RateLimitError extends Error {
8
- constructor(message?: string);
9
- }
10
- export declare class ValidationError extends Error {
11
- constructor(message: string);
12
- }
13
- export declare class ExecutionError extends Error {
14
- constructor(message: string);
15
- }
16
- export declare class NotFoundError extends Error {
17
- constructor(message: string);
18
- }
19
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/server/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,SAA0B;CAI9C;AAED,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,SAAwB;CAI5C;AAED,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAI5B"}
@@ -1,42 +0,0 @@
1
- "use strict";
2
- /**
3
- * Custom error classes shared across server runtimes.
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.NotFoundError = exports.ExecutionError = exports.ValidationError = exports.RateLimitError = exports.AuthenticationError = void 0;
7
- class AuthenticationError extends Error {
8
- constructor(message = "Authentication failed") {
9
- super(message);
10
- this.name = "AuthenticationError";
11
- }
12
- }
13
- exports.AuthenticationError = AuthenticationError;
14
- class RateLimitError extends Error {
15
- constructor(message = "Rate limit exceeded") {
16
- super(message);
17
- this.name = "RateLimitError";
18
- }
19
- }
20
- exports.RateLimitError = RateLimitError;
21
- class ValidationError extends Error {
22
- constructor(message) {
23
- super(message);
24
- this.name = "ValidationError";
25
- }
26
- }
27
- exports.ValidationError = ValidationError;
28
- class ExecutionError extends Error {
29
- constructor(message) {
30
- super(message);
31
- this.name = "ExecutionError";
32
- }
33
- }
34
- exports.ExecutionError = ExecutionError;
35
- class NotFoundError extends Error {
36
- constructor(message) {
37
- super(message);
38
- this.name = "NotFoundError";
39
- }
40
- }
41
- exports.NotFoundError = NotFoundError;
42
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/server/errors.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,MAAa,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAO,GAAG,uBAAuB;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AALD,kDAKC;AAED,MAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAO,GAAG,qBAAqB;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AALD,wCAKC;AAED,MAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AALD,0CAKC;AAED,MAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AALD,wCAKC;AAED,MAAa,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AALD,sCAKC"}
@@ -1,7 +0,0 @@
1
- export * from "./types";
2
- export * from "./errors";
3
- export * from "./kvStore";
4
- export * from "./runtimeSecurity";
5
- export { agentRegistry } from "../agents/registry";
6
- export type { AgentRegistration } from "../agents/registry";
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.agentRegistry = void 0;
18
- __exportStar(require("./types"), exports);
19
- __exportStar(require("./errors"), exports);
20
- __exportStar(require("./kvStore"), exports);
21
- __exportStar(require("./runtimeSecurity"), exports);
22
- var registry_1 = require("../agents/registry");
23
- Object.defineProperty(exports, "agentRegistry", { enumerable: true, get: function () { return registry_1.agentRegistry; } });
24
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,2CAAyB;AACzB,4CAA0B;AAC1B,oDAAkC;AAClC,+CAAmD;AAA1C,yGAAA,aAAa,OAAA"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Upstash KV helpers shared between the Next.js runtime and npm package.
3
- */
4
- import type { Client, Endpoint, ExecutionLog } from "./types";
5
- export declare const KV_PREFIXES: {
6
- readonly CLIENT: "client:";
7
- readonly API_KEY: "apikey:";
8
- readonly ENDPOINT: "endpoint:";
9
- readonly ENDPOINT_NAME: "endpoint:name:";
10
- readonly EXECUTION_LOG: "log:";
11
- readonly RATE_LIMIT: "ratelimit:";
12
- readonly CLIENTS_LIST: "clients:list";
13
- readonly ENDPOINTS_LIST: "endpoints:list";
14
- };
15
- export declare function getClient(clientId: string): Promise<Client | null>;
16
- export declare function getClientByApiKey(apiKey: string): Promise<Client | null>;
17
- export declare function getAllClients(): Promise<Client[]>;
18
- export declare function saveClient(client: Client): Promise<void>;
19
- export declare function deleteClient(clientId: string): Promise<void>;
20
- export declare function getEndpoint(endpointId: string): Promise<Endpoint | null>;
21
- export declare function getEndpointByName(name: string): Promise<Endpoint | null>;
22
- export declare function getAllEndpoints(): Promise<Endpoint[]>;
23
- export declare function saveEndpoint(endpoint: Endpoint): Promise<void>;
24
- export declare function deleteEndpoint(endpointId: string): Promise<void>;
25
- export declare function logExecution(log: ExecutionLog): Promise<void>;
26
- export declare function checkRateLimit(clientId: string, limit: number): Promise<boolean>;
27
- //# sourceMappingURL=kvStore.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kvStore.d.ts","sourceRoot":"","sources":["../../src/server/kvStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAW9D,eAAO,MAAM,WAAW;;;;;;;;;CASd,CAAC;AAEX,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExE;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAI9E;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAMvD;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAa9D;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAclE;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAE9E;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAM1B;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAM3D;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAapE;AAED,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYtE;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAKnE;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CAclB"}
@@ -1,128 +0,0 @@
1
- "use strict";
2
- /**
3
- * Upstash KV helpers shared between the Next.js runtime and npm package.
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.KV_PREFIXES = void 0;
7
- exports.getClient = getClient;
8
- exports.getClientByApiKey = getClientByApiKey;
9
- exports.getAllClients = getAllClients;
10
- exports.saveClient = saveClient;
11
- exports.deleteClient = deleteClient;
12
- exports.getEndpoint = getEndpoint;
13
- exports.getEndpointByName = getEndpointByName;
14
- exports.getAllEndpoints = getAllEndpoints;
15
- exports.saveEndpoint = saveEndpoint;
16
- exports.deleteEndpoint = deleteEndpoint;
17
- exports.logExecution = logExecution;
18
- exports.checkRateLimit = checkRateLimit;
19
- const redis_1 = require("@upstash/redis");
20
- if (!process.env.KV_REST_API_URL || !process.env.KV_REST_API_TOKEN) {
21
- throw new Error("Missing Upstash Redis credentials in environment variables");
22
- }
23
- const redis = new redis_1.Redis({
24
- url: process.env.KV_REST_API_URL,
25
- token: process.env.KV_REST_API_TOKEN,
26
- });
27
- exports.KV_PREFIXES = {
28
- CLIENT: "client:",
29
- API_KEY: "apikey:",
30
- ENDPOINT: "endpoint:",
31
- ENDPOINT_NAME: "endpoint:name:",
32
- EXECUTION_LOG: "log:",
33
- RATE_LIMIT: "ratelimit:",
34
- CLIENTS_LIST: "clients:list",
35
- ENDPOINTS_LIST: "endpoints:list",
36
- };
37
- async function getClient(clientId) {
38
- return await redis.get(`${exports.KV_PREFIXES.CLIENT}${clientId}`);
39
- }
40
- async function getClientByApiKey(apiKey) {
41
- const clientId = await redis.get(`${exports.KV_PREFIXES.API_KEY}${apiKey}`);
42
- if (!clientId)
43
- return null;
44
- return await getClient(clientId);
45
- }
46
- async function getAllClients() {
47
- const clientIds = (await redis.get(exports.KV_PREFIXES.CLIENTS_LIST)) || [];
48
- if (clientIds.length === 0)
49
- return [];
50
- const clients = await Promise.all(clientIds.map((id) => getClient(id)));
51
- return clients.filter((c) => c !== null);
52
- }
53
- async function saveClient(client) {
54
- await redis.set(`${exports.KV_PREFIXES.CLIENT}${client.id}`, JSON.stringify(client));
55
- for (const apiKey of client.apiKeys) {
56
- await redis.set(`${exports.KV_PREFIXES.API_KEY}${apiKey}`, client.id);
57
- }
58
- const clientIds = (await redis.get(exports.KV_PREFIXES.CLIENTS_LIST)) || [];
59
- if (!clientIds.includes(client.id)) {
60
- clientIds.push(client.id);
61
- await redis.set(exports.KV_PREFIXES.CLIENTS_LIST, clientIds);
62
- }
63
- }
64
- async function deleteClient(clientId) {
65
- const client = await getClient(clientId);
66
- if (!client)
67
- return;
68
- for (const apiKey of client.apiKeys) {
69
- await redis.del(`${exports.KV_PREFIXES.API_KEY}${apiKey}`);
70
- }
71
- let clientIds = (await redis.get(exports.KV_PREFIXES.CLIENTS_LIST)) || [];
72
- clientIds = clientIds.filter((id) => id !== clientId);
73
- await redis.set(exports.KV_PREFIXES.CLIENTS_LIST, clientIds);
74
- await redis.del(`${exports.KV_PREFIXES.CLIENT}${clientId}`);
75
- }
76
- async function getEndpoint(endpointId) {
77
- return await redis.get(`${exports.KV_PREFIXES.ENDPOINT}${endpointId}`);
78
- }
79
- async function getEndpointByName(name) {
80
- const endpointId = await redis.get(`${exports.KV_PREFIXES.ENDPOINT_NAME}${name}`);
81
- if (!endpointId)
82
- return null;
83
- return await getEndpoint(endpointId);
84
- }
85
- async function getAllEndpoints() {
86
- const endpointIds = (await redis.get(exports.KV_PREFIXES.ENDPOINTS_LIST)) || [];
87
- if (endpointIds.length === 0)
88
- return [];
89
- const endpoints = await Promise.all(endpointIds.map((id) => getEndpoint(id)));
90
- return endpoints.filter((e) => e !== null);
91
- }
92
- async function saveEndpoint(endpoint) {
93
- await redis.set(`${exports.KV_PREFIXES.ENDPOINT}${endpoint.id}`, JSON.stringify(endpoint));
94
- await redis.set(`${exports.KV_PREFIXES.ENDPOINT_NAME}${endpoint.name}`, endpoint.id);
95
- const endpointIds = (await redis.get(exports.KV_PREFIXES.ENDPOINTS_LIST)) || [];
96
- if (!endpointIds.includes(endpoint.id)) {
97
- endpointIds.push(endpoint.id);
98
- await redis.set(exports.KV_PREFIXES.ENDPOINTS_LIST, endpointIds);
99
- }
100
- }
101
- async function deleteEndpoint(endpointId) {
102
- const endpoint = await getEndpoint(endpointId);
103
- if (!endpoint)
104
- return;
105
- await redis.del(`${exports.KV_PREFIXES.ENDPOINT_NAME}${endpoint.name}`);
106
- let endpointIds = (await redis.get(exports.KV_PREFIXES.ENDPOINTS_LIST)) || [];
107
- endpointIds = endpointIds.filter((id) => id !== endpointId);
108
- await redis.set(exports.KV_PREFIXES.ENDPOINTS_LIST, endpointIds);
109
- await redis.del(`${exports.KV_PREFIXES.ENDPOINT}${endpointId}`);
110
- }
111
- async function logExecution(log) {
112
- const key = `${exports.KV_PREFIXES.EXECUTION_LOG}${log.id}`;
113
- await redis.set(key, JSON.stringify(log), {
114
- ex: 60 * 60 * 24 * 30,
115
- });
116
- }
117
- async function checkRateLimit(clientId, limit) {
118
- const key = `${exports.KV_PREFIXES.RATE_LIMIT}${clientId}`;
119
- const pipeline = redis.pipeline();
120
- pipeline.incr(key);
121
- pipeline.ttl(key);
122
- const [current, ttl] = await pipeline.exec();
123
- if (ttl === -1) {
124
- await redis.expire(key, 60);
125
- }
126
- return current <= limit;
127
- }
128
- //# sourceMappingURL=kvStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kvStore.js","sourceRoot":"","sources":["../../src/server/kvStore.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Security helpers used by the Next.js runtime and exported as part of the package.
3
- */
4
- import type { ExecutionContext } from "./types";
5
- /**
6
- * Sanitize user input to prevent code injection
7
- */
8
- export declare function sanitizeInput(input: unknown): unknown;
9
- /**
10
- * Validate method name (alphanumeric, underscores, and hyphens)
11
- */
12
- export declare function isValidMethodName(name: string): boolean;
13
- /**
14
- * Validate API key format
15
- */
16
- export declare function isValidApiKey(apiKey: string): boolean;
17
- /**
18
- * Execute stored code in a sandbox scope with a time limit.
19
- */
20
- export declare function executeInSandbox(code: string, params: Record<string, unknown>, props: Record<string, string>, context: ExecutionContext): Promise<void>;
21
- /**
22
- * Validate required props are provided
23
- */
24
- export declare function validateRequiredProps(requiredProps: string[], providedProps: Record<string, string>): {
25
- valid: boolean;
26
- missing: string[];
27
- };
28
- //# sourceMappingURL=runtimeSecurity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtimeSecurity.d.ts","sourceRoot":"","sources":["../../src/server/runtimeSecurity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAsBrD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAgCf;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,MAAM,EAAE,EACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAMvC"}
@@ -1,85 +0,0 @@
1
- "use strict";
2
- /**
3
- * Security helpers used by the Next.js runtime and exported as part of the package.
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.sanitizeInput = sanitizeInput;
7
- exports.isValidMethodName = isValidMethodName;
8
- exports.isValidApiKey = isValidApiKey;
9
- exports.executeInSandbox = executeInSandbox;
10
- exports.validateRequiredProps = validateRequiredProps;
11
- /**
12
- * Sanitize user input to prevent code injection
13
- */
14
- function sanitizeInput(input) {
15
- if (typeof input === "string") {
16
- return input
17
- .replace(/[<>]/g, "")
18
- .replace(/javascript:/gi, "")
19
- .replace(/on\w+=/gi, "")
20
- .trim();
21
- }
22
- if (Array.isArray(input)) {
23
- return input.map(sanitizeInput);
24
- }
25
- if (typeof input === "object" && input !== null) {
26
- const sanitized = {};
27
- for (const [key, value] of Object.entries(input)) {
28
- sanitized[key] = sanitizeInput(value);
29
- }
30
- return sanitized;
31
- }
32
- return input;
33
- }
34
- /**
35
- * Validate method name (alphanumeric, underscores, and hyphens)
36
- */
37
- function isValidMethodName(name) {
38
- return /^[a-zA-Z_-][a-zA-Z0-9_.-]*$/.test(name);
39
- }
40
- /**
41
- * Validate API key format
42
- */
43
- function isValidApiKey(apiKey) {
44
- return /^opal_[a-z0-9_-]+_key_[a-zA-Z0-9]{12,}$/.test(apiKey);
45
- }
46
- /**
47
- * Execute stored code in a sandbox scope with a time limit.
48
- */
49
- async function executeInSandbox(code, params, props, context) {
50
- const executionPromise = (async () => {
51
- try {
52
- const executeFunction = new Function(`return ${code}`)();
53
- await executeFunction(params, props, context);
54
- }
55
- catch (error) {
56
- console.error("[Sandbox Execution Error]:", error);
57
- const errorMessage = error instanceof Error ? error.message : "Internal sandbox error";
58
- if (context.status !== "error") {
59
- context.setError(errorMessage);
60
- }
61
- }
62
- })();
63
- const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error("Execution timed out after 3000ms")), 3000));
64
- try {
65
- await Promise.race([executionPromise, timeoutPromise]);
66
- }
67
- catch (error) {
68
- const errorMessage = error instanceof Error ? error.message : "Unknown sandbox error";
69
- if (context.status !== "error") {
70
- context.setError(errorMessage);
71
- }
72
- context.log(`Sandbox execution failed: ${errorMessage}`);
73
- }
74
- }
75
- /**
76
- * Validate required props are provided
77
- */
78
- function validateRequiredProps(requiredProps, providedProps) {
79
- const missing = requiredProps.filter((prop) => !providedProps[prop]);
80
- return {
81
- valid: missing.length === 0,
82
- missing,
83
- };
84
- }
85
- //# sourceMappingURL=runtimeSecurity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtimeSecurity.js","sourceRoot":"","sources":["../../src/server/runtimeSecurity.ts"],"names":[],"mappings":"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"}