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,365 +0,0 @@
1
- /**
2
- * Security validation utilities for YAML parsing
3
- */
4
-
5
- export interface SecurityValidationOptions {
6
- maxKeyLength: number;
7
- maxValueLength: number;
8
- maxTotalSize: number;
9
- validateKeyNames: boolean;
10
- restrictSpecialChars: boolean;
11
- maxNestingDepth: number;
12
- }
13
-
14
- export interface ValidationResult {
15
- valid: boolean;
16
- errors: ValidationError[];
17
- warnings: ValidationWarning[];
18
- stats: ValidationStats;
19
- }
20
-
21
- export interface ValidationError {
22
- type: string;
23
- message: string;
24
- path: string;
25
- severity: 'low' | 'medium' | 'high' | 'critical';
26
- }
27
-
28
- export interface ValidationWarning {
29
- type: string;
30
- message: string;
31
- path: string;
32
- recommendation: string;
33
- }
34
-
35
- export interface ValidationStats {
36
- totalKeys: number;
37
- maxDepth: number;
38
- maxValueLength: number;
39
- longestKey: string;
40
- dataTypes: Record<string, number>;
41
- }
42
-
43
- const DEFAULT_VALIDATION_OPTIONS: SecurityValidationOptions = {
44
- maxKeyLength: 1000,
45
- maxValueLength: 10485760, // 10MB
46
- maxTotalSize: 104857600, // 100MB
47
- validateKeyNames: true,
48
- restrictSpecialChars: true,
49
- maxNestingDepth: 1000
50
- };
51
-
52
- // Pattern para caracteres especiais perigosos
53
- const DANGEROUS_CHARS_PATTERN = /[\x00-\x08\x0B-\x0C\x0E-\x1F\x7F]/;
54
- const KEY_NAME_PATTERN = /^[a-zA-Z_][a-zA-Z0-9_\-]*$/;
55
-
56
- export class SecurityValidator {
57
- private readonly options: SecurityValidationOptions;
58
-
59
- constructor(options: Partial<SecurityValidationOptions> = {}) {
60
- this.options = { ...DEFAULT_VALIDATION_OPTIONS, ...options };
61
- }
62
-
63
- /**
64
- * Valida um objeto ou valor YAML para segurança
65
- */
66
- validateObject(obj: any, path: string = 'root'): ValidationResult {
67
- const errors: ValidationError[] = [];
68
- const warnings: ValidationWarning[] = [];
69
- const stats: ValidationStats = {
70
- totalKeys: 0,
71
- maxDepth: 0,
72
- maxValueLength: 0,
73
- longestKey: '',
74
- dataTypes: {}
75
- };
76
-
77
- const visit = (current: any, currentPath: string, depth: number = 0) => {
78
- // Verifica profundidade máxima
79
- if (depth > this.options.maxNestingDepth) {
80
- errors.push({
81
- type: 'depth_exceeded',
82
- message: `Profundidade máxima de ${this.options.maxNestingDepth} excedida`,
83
- path: currentPath,
84
- severity: 'high'
85
- });
86
- return;
87
- }
88
-
89
- stats.maxDepth = Math.max(stats.maxDepth, depth);
90
-
91
- // Processa diferentes tipos de dados
92
- if (current === null || current === undefined) {
93
- stats.dataTypes.null = (stats.dataTypes.null || 0) + 1;
94
- return;
95
- }
96
-
97
- if (typeof current === 'boolean') {
98
- stats.dataTypes.boolean = (stats.dataTypes.boolean || 0) + 1;
99
- return;
100
- }
101
-
102
- if (typeof current === 'number') {
103
- stats.dataTypes.number = (stats.dataTypes.number || 0) + 1;
104
- return;
105
- }
106
-
107
- if (typeof current === 'string') {
108
- stats.dataTypes.string = (stats.dataTypes.string || 0) + 1;
109
- this.validateStringContent(current, currentPath, errors, warnings, stats);
110
- return;
111
- }
112
-
113
- if (Array.isArray(current)) {
114
- stats.dataTypes.array = (stats.dataTypes.array || 0) + 1;
115
- current.forEach((item, index) => {
116
- visit(item, `${currentPath}[${index}]`, depth + 1);
117
- });
118
- return;
119
- }
120
-
121
- if (typeof current === 'object') {
122
- stats.dataTypes.object = (stats.dataTypes.object || 0) + 1;
123
- stats.totalKeys += Object.keys(current).length;
124
-
125
- for (const [key, value] of Object.entries(current)) {
126
- this.validateKey(key, errors, warnings, stats);
127
- visit(value, `${currentPath}.${key}`, depth + 1);
128
- }
129
- return;
130
- }
131
-
132
- // Tipo não permitido
133
- errors.push({
134
- type: 'forbidden_type',
135
- message: `Tipo de dado não permitido: ${typeof current}`,
136
- path: currentPath,
137
- severity: 'high'
138
- });
139
- };
140
-
141
- visit(obj, path, 0);
142
-
143
- // Adiciona warnings baseados nas estatísticas
144
- if (stats.totalKeys > 10000) {
145
- warnings.push({
146
- type: 'large_object',
147
- message: `Objeto com ${stats.totalKeys} chaves pode afetar performance`,
148
- path,
149
- recommendation: 'Considerar limitar número de chaves para objetos grandes'
150
- });
151
- }
152
-
153
- if (stats.maxDepth > 100) {
154
- warnings.push({
155
- type: 'deep_nesting',
156
- message: `Profundidade de ${stats.maxDepth} pode ser difícil de manter`,
157
- path,
158
- recommendation: 'Considerar reduzir níveis de aninhamento'
159
- });
160
- }
161
-
162
- return {
163
- valid: errors.length === 0,
164
- errors,
165
- warnings,
166
- stats
167
- };
168
- }
169
-
170
- /**
171
- * Valida o conteúdo de strings para caracteres perigosos
172
- */
173
- private validateStringContent(
174
- str: string,
175
- path: string,
176
- errors: ValidationError[],
177
- warnings: ValidationWarning[],
178
- stats: ValidationStats
179
- ): void {
180
- stats.maxValueLength = Math.max(stats.maxValueLength, str.length);
181
-
182
- // Verifica caracteres de controle perigosos
183
- if (DANGEROUS_CHARS_PATTERN.test(str)) {
184
- errors.push({
185
- type: 'dangerous_chars',
186
- message: 'String contém caracteres de controle perigosos',
187
- path,
188
- severity: 'high'
189
- });
190
- }
191
-
192
- // Verifica tentativas de injection
193
- if (this.options.restrictSpecialChars) {
194
- // Verifica padrões comuns de injection
195
- const dangerousPatterns = [
196
- /<script[^>]*>/i,
197
- /javascript:/i,
198
- /on\w+\s*=/i,
199
- /eval\s*\(/i,
200
- /expression\s*\(/i,
201
- /data:text\/html/i
202
- ];
203
-
204
- for (const pattern of dangerousPatterns) {
205
- if (pattern.test(str)) {
206
- warnings.push({
207
- type: 'potential_injection',
208
- message: `Possível tentativa de code injection detectada`,
209
- path,
210
- recommendation: `Revisar conteúdo e filtrar elementos perigosos`
211
- });
212
- }
213
- }
214
- }
215
-
216
- // Verifica tentativas de credential leakage
217
- const credentialPatterns = [
218
- /password\s*[:=]\s*["']?[\w\-]+["']?/i,
219
- /api[_-]?key\s*[:=]\s*["']?[\w\-]+["']?/i,
220
- /secret\s*[:=]\s*["']?[\w\-]+["']?/i,
221
- /token\s*[:=]\s*["']?[\w\-]+["']?/i
222
- ];
223
-
224
- for (const pattern of credentialPatterns) {
225
- if (pattern.test(str)) {
226
- warnings.push({
227
- type: 'possible_credential',
228
- message: `Possível exposição de credenciais detectada`,
229
- path,
230
- recommendation: `Remover ou mascarar informações sensíveis`
231
- });
232
- break;
233
- }
234
- }
235
- }
236
-
237
- /**
238
- * Valida nomes de chaves para garantir segurança
239
- */
240
- private validateKey(
241
- key: string,
242
- errors: ValidationError[],
243
- warnings: ValidationWarning[],
244
- stats: ValidationStats
245
- ): void {
246
- if (key.length > stats.longestKey.length) {
247
- stats.longestKey = key;
248
- }
249
-
250
- // Verifica tamanho da chave
251
- if (key.length > this.options.maxKeyLength) {
252
- errors.push({
253
- type: 'key_too_long',
254
- message: `Chave excede limite de ${this.options.maxKeyLength} caracteres`,
255
- path: `[key: "${key}"]`,
256
- severity: 'medium'
257
- });
258
- return;
259
- }
260
-
261
- // Valida formato do nome da chave
262
- if (this.options.validateKeyNames && !KEY_NAME_PATTERN.test(key)) {
263
- warnings.push({
264
- type: 'invalid_key_name',
265
- message: `Nome de chave "${key}" não segue convenções recomendadas`,
266
- path: `[key: "${key}"]`,
267
- recommendation: 'Usar nomes de chave alfanuméricos começando com letra ou underscore'
268
- });
269
- }
270
-
271
- // Verifica caracteres especiais na chave
272
- if (this.options.restrictSpecialChars && /[<>:"'&|]/.test(key)) {
273
- warnings.push({
274
- type: 'dangerous_key_chars',
275
- message: `Chave "${key}" contém caracteres potencialmente perigosos`,
276
- path: `[key: "${key}"]`,
277
- recommendation: 'Evitar caracteres especiais em nomes de chave'
278
- });
279
- }
280
- }
281
-
282
- /**
283
- * Gera um relatório de validação formatado
284
- */
285
- generateReport(result: ValidationResult): string {
286
- const lines: string[] = [];
287
-
288
- if (result.valid) {
289
- lines.push('✅ VALIDAÇÃO DE SEGURANÇA: PASS');
290
- } else {
291
- lines.push('❌ VALIDAÇÃO DE SEGURANÇA: FAIL');
292
- }
293
-
294
- lines.push('');
295
-
296
- if (result.errors.length > 0) {
297
- lines.push(`🔴 ERROS (${result.errors.length}):`);
298
- result.errors.forEach(error => {
299
- lines.push(` ${error.path}: ${error.message} [${error.severity.toUpperCase()}]`);
300
- });
301
- lines.push('');
302
- }
303
-
304
- if (result.warnings.length > 0) {
305
- lines.push(`🟡 AVISOS (${result.warnings.length}):`);
306
- result.warnings.forEach(warning => {
307
- lines.push(` ${warning.path}: ${warning.message}`);
308
- lines.push(` 💡 ${warning.recommendation}`);
309
- });
310
- lines.push('');
311
- }
312
-
313
- lines.push('📊 ESTATÍSTICAS:');
314
- lines.push(` - Chaves totais: ${result.stats.totalKeys}`);
315
- lines.push(` - Profundidade máxima: ${result.stats.maxDepth}`);
316
- lines.push(` - Valor mais longo: ${result.stats.maxValueLength} caracteres`);
317
- lines.push(` - Chave mais longa: "${result.stats.longestKey}" (${result.stats.longestKey.length} chars)`);
318
-
319
- lines.push('');
320
- lines.push('📈 TIPOS DE DADOS:');
321
- Object.entries(result.stats.dataTypes).forEach(([type, count]) => {
322
- lines.push(` - ${type}: ${count}`);
323
- });
324
-
325
- return lines.join('\n');
326
- }
327
-
328
- /**
329
- * Cria um resumo rápido da validação
330
- */
331
- getQuickResult(result: ValidationResult): { ok: boolean; score: number } {
332
- let score = 100;
333
-
334
- // Penalidades por erros
335
- result.errors.forEach(error => {
336
- switch (error.severity) {
337
- case 'low': score -= 10; break;
338
- case 'medium': score -= 25; break;
339
- case 'high': score -= 50; break;
340
- case 'critical': score -= 100; break;
341
- }
342
- });
343
-
344
- // Penalidades por warnings
345
- result.warnings.forEach(() => {
346
- score -= 5;
347
- });
348
-
349
- return {
350
- ok: result.valid,
351
- score: Math.max(0, score)
352
- };
353
- }
354
- }
355
-
356
- /**
357
- * Função auxiliar para validação rápida
358
- */
359
- function isSecureYamlObject(obj: any, options: Partial<SecurityValidationOptions> = {}): boolean {
360
- const validator = new SecurityValidator(options);
361
- const result = validator.validateObject(obj);
362
- return result.valid;
363
- }
364
-
365
- export { isSecureYamlObject };
@@ -1,92 +0,0 @@
1
- /**
2
- * Next.js route handlers for managing clients via Upstash KV.
3
- * Exported from the Beddel package so the application code stays thin.
4
- */
5
-
6
- import { saveClient, deleteClient, getClient } from "../kvStore";
7
- import type { Client } from "../types";
8
-
9
- export const dynamic = "force-dynamic";
10
-
11
- export async function POST(request: Request) {
12
- try {
13
- const body = await request.json();
14
- const { name, email, rateLimit, apiKeys } = body;
15
-
16
- const client: Client = {
17
- id: `client_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`,
18
- name,
19
- email,
20
- rateLimit: rateLimit || 60,
21
- apiKeys: apiKeys || [],
22
- createdAt: new Date().toISOString(),
23
- };
24
-
25
- await saveClient(client);
26
-
27
- return Response.json({ success: true, client });
28
- } catch (error) {
29
- console.error("[beddel] Error creating client:", error);
30
- return Response.json(
31
- { success: false, error: "Failed to create client" },
32
- { status: 500 }
33
- );
34
- }
35
- }
36
-
37
- export async function PUT(request: Request) {
38
- try {
39
- const body = await request.json();
40
- const { id, name, email, rateLimit, apiKeys } = body;
41
-
42
- const existing = await getClient(id);
43
- if (!existing) {
44
- return Response.json(
45
- { success: false, error: "Client not found" },
46
- { status: 404 }
47
- );
48
- }
49
-
50
- const client: Client = {
51
- ...existing,
52
- name,
53
- email,
54
- rateLimit: rateLimit || 60,
55
- apiKeys: apiKeys || [],
56
- };
57
-
58
- await saveClient(client);
59
-
60
- return Response.json({ success: true, client });
61
- } catch (error) {
62
- console.error("[beddel] Error updating client:", error);
63
- return Response.json(
64
- { success: false, error: "Failed to update client" },
65
- { status: 500 }
66
- );
67
- }
68
- }
69
-
70
- export async function DELETE(request: Request) {
71
- try {
72
- const { searchParams } = new URL(request.url);
73
- const id = searchParams.get("id");
74
-
75
- if (!id) {
76
- return Response.json(
77
- { success: false, error: "Missing client ID" },
78
- { status: 400 }
79
- );
80
- }
81
-
82
- await deleteClient(id);
83
-
84
- return Response.json({ success: true });
85
- } catch (error) {
86
- console.error("[beddel] Error deleting client:", error);
87
- return Response.json(
88
- { success: false, error: "Failed to delete client" },
89
- { status: 500 }
90
- );
91
- }
92
- }
@@ -1,97 +0,0 @@
1
- /**
2
- * Next.js route handlers for managing endpoint definitions.
3
- */
4
-
5
- import { saveEndpoint, deleteEndpoint, getEndpoint } from "../kvStore";
6
- import type { Endpoint } from "../types";
7
-
8
- export const dynamic = "force-dynamic";
9
-
10
- export async function POST(request: Request) {
11
- try {
12
- const body = await request.json();
13
- const { name, description, code, visibility, requiredProps } = body;
14
-
15
- const endpoint: Endpoint = {
16
- id: `endpoint_${Date.now()}_${Math.random()
17
- .toString(36)
18
- .substr(2, 9)}`,
19
- name,
20
- description,
21
- code,
22
- visibility,
23
- requiredProps: requiredProps || [],
24
- createdAt: new Date().toISOString(),
25
- updatedAt: new Date().toISOString(),
26
- };
27
-
28
- await saveEndpoint(endpoint);
29
-
30
- return Response.json({ success: true, endpoint });
31
- } catch (error) {
32
- console.error("[beddel] Error creating endpoint:", error);
33
- return Response.json(
34
- { success: false, error: "Failed to create endpoint" },
35
- { status: 500 }
36
- );
37
- }
38
- }
39
-
40
- export async function PUT(request: Request) {
41
- try {
42
- const body = await request.json();
43
- const { id, name, description, code, visibility, requiredProps } = body;
44
-
45
- const existing = await getEndpoint(id);
46
- if (!existing) {
47
- return Response.json(
48
- { success: false, error: "Endpoint not found" },
49
- { status: 404 }
50
- );
51
- }
52
-
53
- const endpoint: Endpoint = {
54
- ...existing,
55
- name,
56
- description,
57
- code,
58
- visibility,
59
- requiredProps: requiredProps || [],
60
- updatedAt: new Date().toISOString(),
61
- };
62
-
63
- await saveEndpoint(endpoint);
64
-
65
- return Response.json({ success: true, endpoint });
66
- } catch (error) {
67
- console.error("[beddel] Error updating endpoint:", error);
68
- return Response.json(
69
- { success: false, error: "Failed to update endpoint" },
70
- { status: 500 }
71
- );
72
- }
73
- }
74
-
75
- export async function DELETE(request: Request) {
76
- try {
77
- const { searchParams } = new URL(request.url);
78
- const id = searchParams.get("id");
79
-
80
- if (!id) {
81
- return Response.json(
82
- { success: false, error: "Missing endpoint ID" },
83
- { status: 400 }
84
- );
85
- }
86
-
87
- await deleteEndpoint(id);
88
-
89
- return Response.json({ success: true });
90
- } catch (error) {
91
- console.error("[beddel] Error deleting endpoint:", error);
92
- return Response.json(
93
- { success: false, error: "Failed to delete endpoint" },
94
- { status: 500 }
95
- );
96
- }
97
- }