@superblocksteam/vite-plugin-file-sync 2.0.59-next.0 → 2.0.59-next.10

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 (285) hide show
  1. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  2. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +25 -9
  3. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  4. package/dist/ai-service/agent/subagents/apis/examples.d.ts.map +1 -1
  5. package/dist/ai-service/agent/subagents/apis/examples.js +137 -10
  6. package/dist/ai-service/agent/subagents/apis/examples.js.map +1 -1
  7. package/dist/ai-service/agent/subagents/apis/static-analysis.d.ts.map +1 -1
  8. package/dist/ai-service/agent/subagents/apis/static-analysis.js +14 -7
  9. package/dist/ai-service/agent/subagents/apis/static-analysis.js.map +1 -1
  10. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  11. package/dist/ai-service/agent/tool-message-utils.js +6 -2
  12. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  13. package/dist/ai-service/agent/tools/apis/analysis.d.ts +9 -0
  14. package/dist/ai-service/agent/tools/apis/analysis.d.ts.map +1 -0
  15. package/dist/ai-service/agent/tools/apis/analysis.js +358 -0
  16. package/dist/ai-service/agent/tools/apis/analysis.js.map +1 -0
  17. package/dist/ai-service/agent/{subagents → tools}/apis/api-executor.d.ts +35 -10
  18. package/dist/ai-service/agent/tools/apis/api-executor.d.ts.map +1 -0
  19. package/dist/ai-service/agent/{subagents → tools}/apis/api-executor.js +179 -94
  20. package/dist/ai-service/agent/tools/apis/api-executor.js.map +1 -0
  21. package/dist/ai-service/agent/tools/apis/api-source.d.ts +19 -0
  22. package/dist/ai-service/agent/tools/apis/api-source.d.ts.map +1 -0
  23. package/dist/ai-service/agent/tools/apis/api-source.js +73 -0
  24. package/dist/ai-service/agent/tools/apis/api-source.js.map +1 -0
  25. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts +51 -0
  26. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts.map +1 -0
  27. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js +510 -0
  28. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js.map +1 -0
  29. package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts +32 -0
  30. package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts.map +1 -0
  31. package/dist/ai-service/agent/tools/apis/build-api-artifact.js +313 -0
  32. package/dist/ai-service/agent/tools/apis/build-api-artifact.js.map +1 -0
  33. package/dist/ai-service/agent/tools/apis/build-api.d.ts +1 -10
  34. package/dist/ai-service/agent/tools/apis/build-api.d.ts.map +1 -1
  35. package/dist/ai-service/agent/tools/apis/build-api.js +26 -238
  36. package/dist/ai-service/agent/tools/apis/build-api.js.map +1 -1
  37. package/dist/ai-service/agent/tools/apis/get-api-docs.d.ts +11 -0
  38. package/dist/ai-service/agent/tools/apis/get-api-docs.d.ts.map +1 -0
  39. package/dist/ai-service/agent/tools/apis/get-api-docs.js +1841 -0
  40. package/dist/ai-service/agent/tools/apis/get-api-docs.js.map +1 -0
  41. package/dist/ai-service/agent/tools/apis/integration-types.d.ts +37 -0
  42. package/dist/ai-service/agent/tools/apis/integration-types.d.ts.map +1 -0
  43. package/dist/ai-service/agent/tools/apis/integration-types.js +689 -0
  44. package/dist/ai-service/agent/tools/apis/integration-types.js.map +1 -0
  45. package/dist/ai-service/agent/tools/apis/test-api.d.ts +25 -0
  46. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -0
  47. package/dist/ai-service/agent/tools/apis/test-api.js +194 -0
  48. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -0
  49. package/dist/ai-service/agent/tools/apis/write-api.d.ts +11 -0
  50. package/dist/ai-service/agent/tools/apis/write-api.d.ts.map +1 -0
  51. package/dist/ai-service/agent/tools/apis/write-api.js +41 -0
  52. package/dist/ai-service/agent/tools/apis/write-api.js.map +1 -0
  53. package/dist/ai-service/agent/tools/build-read-files.js +2 -2
  54. package/dist/ai-service/agent/tools/build-read-files.js.map +1 -1
  55. package/dist/ai-service/agent/tools.d.ts +2 -5
  56. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  57. package/dist/ai-service/agent/tools.js +51 -22
  58. package/dist/ai-service/agent/tools.js.map +1 -1
  59. package/dist/ai-service/agent/tools2/access-control.d.ts +1 -0
  60. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
  61. package/dist/ai-service/agent/tools2/access-control.js +15 -13
  62. package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
  63. package/dist/ai-service/agent/tools2/registry.d.ts +2 -1
  64. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
  65. package/dist/ai-service/agent/tools2/registry.js +4 -3
  66. package/dist/ai-service/agent/tools2/registry.js.map +1 -1
  67. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  68. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +73 -127
  69. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  70. package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts.map +1 -1
  71. package/dist/ai-service/agent/tools2/tools/grep-metadata.js +25 -4
  72. package/dist/ai-service/agent/tools2/tools/grep-metadata.js.map +1 -1
  73. package/dist/ai-service/agent/tools2/types.d.ts +1 -1
  74. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  75. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  76. package/dist/ai-service/agent/tools2/utils.d.ts.map +1 -1
  77. package/dist/ai-service/agent/tools2/utils.js +4 -1
  78. package/dist/ai-service/agent/tools2/utils.js.map +1 -1
  79. package/dist/ai-service/agent/utils.d.ts +1 -3
  80. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  81. package/dist/ai-service/agent/utils.js +55 -13
  82. package/dist/ai-service/agent/utils.js.map +1 -1
  83. package/dist/ai-service/app-interface/shell.d.ts +5 -0
  84. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  85. package/dist/ai-service/app-interface/shell.js +17 -2
  86. package/dist/ai-service/app-interface/shell.js.map +1 -1
  87. package/dist/ai-service/chat/chat-session-store.d.ts +7 -0
  88. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  89. package/dist/ai-service/chat/chat-session-store.js +26 -0
  90. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  91. package/dist/ai-service/const.d.ts +3 -1
  92. package/dist/ai-service/const.d.ts.map +1 -1
  93. package/dist/ai-service/const.js +3 -0
  94. package/dist/ai-service/const.js.map +1 -1
  95. package/dist/ai-service/index.d.ts +5 -1
  96. package/dist/ai-service/index.d.ts.map +1 -1
  97. package/dist/ai-service/index.js +55 -7
  98. package/dist/ai-service/index.js.map +1 -1
  99. package/dist/ai-service/integrations/metadata-storage/index.d.ts +10 -0
  100. package/dist/ai-service/integrations/metadata-storage/index.d.ts.map +1 -1
  101. package/dist/ai-service/integrations/metadata-storage/local.d.ts +4 -2
  102. package/dist/ai-service/integrations/metadata-storage/local.d.ts.map +1 -1
  103. package/dist/ai-service/integrations/metadata-storage/local.js +35 -9
  104. package/dist/ai-service/integrations/metadata-storage/local.js.map +1 -1
  105. package/dist/ai-service/integrations/store.d.ts +27 -2
  106. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  107. package/dist/ai-service/integrations/store.js +129 -62
  108. package/dist/ai-service/integrations/store.js.map +1 -1
  109. package/dist/ai-service/llm/client.d.ts +123 -0
  110. package/dist/ai-service/llm/client.d.ts.map +1 -0
  111. package/dist/ai-service/llm/client.js +168 -0
  112. package/dist/ai-service/llm/client.js.map +1 -0
  113. package/dist/ai-service/llm/context/context-handle.d.ts +4 -4
  114. package/dist/ai-service/llm/context/context-handle.d.ts.map +1 -1
  115. package/dist/ai-service/llm/context/context-handle.js +7 -3
  116. package/dist/ai-service/llm/context/context-handle.js.map +1 -1
  117. package/dist/ai-service/llm/context/context.d.ts +28 -0
  118. package/dist/ai-service/llm/context/context.d.ts.map +1 -1
  119. package/dist/ai-service/llm/context/context.js +119 -0
  120. package/dist/ai-service/llm/context/context.js.map +1 -1
  121. package/dist/ai-service/llm/context/manager.d.ts +22 -2
  122. package/dist/ai-service/llm/context/manager.d.ts.map +1 -1
  123. package/dist/ai-service/llm/context/manager.js +86 -13
  124. package/dist/ai-service/llm/context/manager.js.map +1 -1
  125. package/dist/ai-service/llm/context/storage/index.d.ts +1 -0
  126. package/dist/ai-service/llm/context/storage/index.d.ts.map +1 -1
  127. package/dist/ai-service/llm/context/storage/local.d.ts +1 -0
  128. package/dist/ai-service/llm/context/storage/local.d.ts.map +1 -1
  129. package/dist/ai-service/llm/context/storage/local.js +13 -1
  130. package/dist/ai-service/llm/context/storage/local.js.map +1 -1
  131. package/dist/ai-service/llm/context/utils/message-utils.d.ts.map +1 -1
  132. package/dist/ai-service/llm/context/utils/message-utils.js +6 -2
  133. package/dist/ai-service/llm/context/utils/message-utils.js.map +1 -1
  134. package/dist/ai-service/llm/error.d.ts +14 -4
  135. package/dist/ai-service/llm/error.d.ts.map +1 -1
  136. package/dist/ai-service/llm/error.js +49 -4
  137. package/dist/ai-service/llm/error.js.map +1 -1
  138. package/dist/ai-service/llm/interaction/adapters/vercel.d.ts +67 -0
  139. package/dist/ai-service/llm/interaction/adapters/vercel.d.ts.map +1 -0
  140. package/dist/ai-service/llm/interaction/adapters/vercel.js +111 -0
  141. package/dist/ai-service/llm/interaction/adapters/vercel.js.map +1 -0
  142. package/dist/ai-service/llm/interaction/compose.d.ts +71 -0
  143. package/dist/ai-service/llm/interaction/compose.d.ts.map +1 -0
  144. package/dist/ai-service/llm/interaction/compose.js +88 -0
  145. package/dist/ai-service/llm/interaction/compose.js.map +1 -0
  146. package/dist/ai-service/llm/interaction/index.d.ts +68 -0
  147. package/dist/ai-service/llm/interaction/index.d.ts.map +1 -0
  148. package/dist/ai-service/llm/interaction/index.js +70 -0
  149. package/dist/ai-service/llm/interaction/index.js.map +1 -0
  150. package/dist/ai-service/llm/interaction/middleware.d.ts +52 -0
  151. package/dist/ai-service/llm/interaction/middleware.d.ts.map +1 -0
  152. package/dist/ai-service/llm/interaction/middleware.js +17 -0
  153. package/dist/ai-service/llm/interaction/middleware.js.map +1 -0
  154. package/dist/ai-service/llm/interaction/middlewares/llmobs.d.ts +45 -0
  155. package/dist/ai-service/llm/interaction/middlewares/llmobs.d.ts.map +1 -0
  156. package/dist/ai-service/llm/interaction/middlewares/llmobs.js +85 -0
  157. package/dist/ai-service/llm/interaction/middlewares/llmobs.js.map +1 -0
  158. package/dist/ai-service/llm/interaction/middlewares/logging.d.ts +88 -0
  159. package/dist/ai-service/llm/interaction/middlewares/logging.d.ts.map +1 -0
  160. package/dist/ai-service/llm/interaction/middlewares/logging.js +238 -0
  161. package/dist/ai-service/llm/interaction/middlewares/logging.js.map +1 -0
  162. package/dist/ai-service/llm/interaction/middlewares/profiler.d.ts +47 -0
  163. package/dist/ai-service/llm/interaction/middlewares/profiler.d.ts.map +1 -0
  164. package/dist/ai-service/llm/interaction/middlewares/profiler.js +183 -0
  165. package/dist/ai-service/llm/interaction/middlewares/profiler.js.map +1 -0
  166. package/dist/ai-service/llm/interaction/middlewares/stream-retry.d.ts +121 -0
  167. package/dist/ai-service/llm/interaction/middlewares/stream-retry.d.ts.map +1 -0
  168. package/dist/ai-service/llm/interaction/middlewares/stream-retry.js +291 -0
  169. package/dist/ai-service/llm/interaction/middlewares/stream-retry.js.map +1 -0
  170. package/dist/ai-service/llm/interaction/provider.d.ts +173 -0
  171. package/dist/ai-service/llm/interaction/provider.d.ts.map +1 -0
  172. package/dist/ai-service/llm/interaction/provider.js +15 -0
  173. package/dist/ai-service/llm/interaction/provider.js.map +1 -0
  174. package/dist/ai-service/llm/interaction/result-utils.d.ts +43 -0
  175. package/dist/ai-service/llm/interaction/result-utils.d.ts.map +1 -0
  176. package/dist/ai-service/llm/interaction/result-utils.js +49 -0
  177. package/dist/ai-service/llm/interaction/result-utils.js.map +1 -0
  178. package/dist/ai-service/llm/interaction/stream-lifecycle.d.ts +48 -0
  179. package/dist/ai-service/llm/interaction/stream-lifecycle.d.ts.map +1 -0
  180. package/dist/ai-service/llm/interaction/stream-lifecycle.js +129 -0
  181. package/dist/ai-service/llm/interaction/stream-lifecycle.js.map +1 -0
  182. package/dist/ai-service/llm/provider.d.ts +1 -2
  183. package/dist/ai-service/llm/provider.d.ts.map +1 -1
  184. package/dist/ai-service/llm/provider.js +3 -6
  185. package/dist/ai-service/llm/provider.js.map +1 -1
  186. package/dist/ai-service/llmobs/helpers.d.ts +7 -8
  187. package/dist/ai-service/llmobs/helpers.d.ts.map +1 -1
  188. package/dist/ai-service/llmobs/helpers.js +8 -48
  189. package/dist/ai-service/llmobs/helpers.js.map +1 -1
  190. package/dist/ai-service/llmobs/middleware/stream-text.d.ts +19 -21
  191. package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +1 -1
  192. package/dist/ai-service/llmobs/middleware/stream-text.js +98 -106
  193. package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -1
  194. package/dist/ai-service/llmobs/types.d.ts +14 -1
  195. package/dist/ai-service/llmobs/types.d.ts.map +1 -1
  196. package/dist/ai-service/state-machine/clark-fsm.d.ts +75 -5
  197. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  198. package/dist/ai-service/state-machine/clark-fsm.js +100 -0
  199. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  200. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  201. package/dist/ai-service/state-machine/handlers/agent-planning.js +4 -0
  202. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  203. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  204. package/dist/ai-service/state-machine/handlers/llm-generating.js +91 -456
  205. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  206. package/dist/ai-service/state-machine/handlers/runtime-reviewing.js +1 -1
  207. package/dist/ai-service/state-machine/handlers/runtime-reviewing.js.map +1 -1
  208. package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
  209. package/dist/ai-service/state-machine/helpers/peer.js +15 -0
  210. package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
  211. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  212. package/dist/ai-service/state-machine/mocks.js +1 -0
  213. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  214. package/dist/ai-service/template-renderer.js +1 -1
  215. package/dist/ai-service/template-renderer.js.map +1 -1
  216. package/dist/ai-service/types.d.ts +30 -0
  217. package/dist/ai-service/types.d.ts.map +1 -1
  218. package/dist/binding-extraction/extract-identifiers.d.ts +14 -0
  219. package/dist/binding-extraction/extract-identifiers.d.ts.map +1 -1
  220. package/dist/binding-extraction/extract-identifiers.js +46 -1
  221. package/dist/binding-extraction/extract-identifiers.js.map +1 -1
  222. package/dist/binding-extraction/js-identifiers.d.ts +14 -0
  223. package/dist/binding-extraction/js-identifiers.d.ts.map +1 -1
  224. package/dist/binding-extraction/js-identifiers.js +168 -0
  225. package/dist/binding-extraction/js-identifiers.js.map +1 -1
  226. package/dist/binding-extraction/python-identifiers.d.ts +5 -0
  227. package/dist/binding-extraction/python-identifiers.d.ts.map +1 -1
  228. package/dist/binding-extraction/python-identifiers.js +76 -7
  229. package/dist/binding-extraction/python-identifiers.js.map +1 -1
  230. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  231. package/dist/file-sync-vite-plugin.js +73 -3
  232. package/dist/file-sync-vite-plugin.js.map +1 -1
  233. package/dist/file-system-manager.d.ts.map +1 -1
  234. package/dist/file-system-manager.js +6 -4
  235. package/dist/file-system-manager.js.map +1 -1
  236. package/dist/index.d.ts +1 -1
  237. package/dist/index.d.ts.map +1 -1
  238. package/dist/index.js +1 -1
  239. package/dist/index.js.map +1 -1
  240. package/dist/lock-service/activity-tracker.d.ts +14 -2
  241. package/dist/lock-service/activity-tracker.d.ts.map +1 -1
  242. package/dist/lock-service/activity-tracker.js +43 -6
  243. package/dist/lock-service/activity-tracker.js.map +1 -1
  244. package/dist/lock-service/index.d.ts +13 -2
  245. package/dist/lock-service/index.d.ts.map +1 -1
  246. package/dist/lock-service/index.js +130 -44
  247. package/dist/lock-service/index.js.map +1 -1
  248. package/dist/parsing/jsx.d.ts.map +1 -1
  249. package/dist/parsing/jsx.js +78 -66
  250. package/dist/parsing/jsx.js.map +1 -1
  251. package/dist/socket-manager.js +1 -1
  252. package/dist/socket-manager.js.map +1 -1
  253. package/dist/sync-service/list-dir.d.ts.map +1 -1
  254. package/dist/sync-service/list-dir.js +41 -18
  255. package/dist/sync-service/list-dir.js.map +1 -1
  256. package/dist/vite-plugin-yaml-types.d.ts.map +1 -1
  257. package/dist/vite-plugin-yaml-types.js +2 -4
  258. package/dist/vite-plugin-yaml-types.js.map +1 -1
  259. package/package.json +7 -7
  260. package/dist/ai-service/agent/subagents/apis/api-executor.d.ts.map +0 -1
  261. package/dist/ai-service/agent/subagents/apis/api-executor.js.map +0 -1
  262. package/dist/ai-service/agent/subagents/apis/context.d.ts +0 -12
  263. package/dist/ai-service/agent/subagents/apis/context.d.ts.map +0 -1
  264. package/dist/ai-service/agent/subagents/apis/context.js +0 -18
  265. package/dist/ai-service/agent/subagents/apis/context.js.map +0 -1
  266. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts +0 -40
  267. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts.map +0 -1
  268. package/dist/ai-service/agent/subagents/apis/generate-api-source.js +0 -516
  269. package/dist/ai-service/agent/subagents/apis/generate-api-source.js.map +0 -1
  270. package/dist/ai-service/agent/subagents/apis/state.d.ts +0 -49
  271. package/dist/ai-service/agent/subagents/apis/state.d.ts.map +0 -1
  272. package/dist/ai-service/agent/subagents/apis/state.js +0 -25
  273. package/dist/ai-service/agent/subagents/apis/state.js.map +0 -1
  274. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts +0 -3
  275. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts.map +0 -1
  276. package/dist/ai-service/agent/subagents/apis/system-prompt.js +0 -1704
  277. package/dist/ai-service/agent/subagents/apis/system-prompt.js.map +0 -1
  278. package/dist/ai-service/agent/tools/apis/finalize-api.d.ts +0 -11
  279. package/dist/ai-service/agent/tools/apis/finalize-api.d.ts.map +0 -1
  280. package/dist/ai-service/agent/tools/apis/finalize-api.js +0 -133
  281. package/dist/ai-service/agent/tools/apis/finalize-api.js.map +0 -1
  282. package/dist/ai-service/llm/middleware/retry.d.ts +0 -112
  283. package/dist/ai-service/llm/middleware/retry.d.ts.map +0 -1
  284. package/dist/ai-service/llm/middleware/retry.js +0 -239
  285. package/dist/ai-service/llm/middleware/retry.js.map +0 -1
@@ -0,0 +1,689 @@
1
+ /**
2
+ * TypeScript type definitions for all Superblocks integrations.
3
+ * These definitions are used to provide type information in API documentation.
4
+ */
5
+ import { getBasePluginId } from "@superblocksteam/shared";
6
+ import { datasourceSdkClassByType } from "../../../const.js";
7
+ /**
8
+ * Map of plugin IDs to their TypeScript type definitions.
9
+ * These are based on the actual classes from @superblocksteam/library.
10
+ */
11
+ export const INTEGRATION_TYPE_DEFINITIONS = {
12
+ // SQL Databases
13
+ postgres: {
14
+ className: "PostgreSQL",
15
+ pluginId: "postgres",
16
+ description: "PostgreSQL database integration",
17
+ typeDefinition: `export class PostgreSQL extends Integration {
18
+ constructor(
19
+ name: string,
20
+ integrationId: string,
21
+ config: {
22
+ statement: Binding<string>;
23
+ /** Optional, defaults to \`"prepared"\` */
24
+ mode?: Binding<"simple" | "prepared">;
25
+ /** Optional, defaults to \`false\` */
26
+ enablePooling?: Binding<boolean>;
27
+ }
28
+ );
29
+
30
+ /** Execute SQL statement - returns array of rows */
31
+ async execute(): Promise<any[]>;
32
+ }`,
33
+ example: `new PostgreSQL("GetUsers", postgresIntegrationId, {
34
+ statement: ({ statusFilter }) =>
35
+ \`SELECT * FROM users WHERE status = '\${statusFilter}'\` // API inputs don't need .value
36
+ })`,
37
+ },
38
+ mysql: {
39
+ className: "MySQL",
40
+ pluginId: "mysql",
41
+ description: "MySQL database integration",
42
+ typeDefinition: `export class MySQL extends Integration {
43
+ constructor(
44
+ name: string,
45
+ integrationId: string,
46
+ config: {
47
+ statement: Binding<string>;
48
+ /** Optional, defaults to \`false\` */
49
+ enablePooling?: Binding<boolean>;
50
+ }
51
+ );
52
+
53
+ /** Execute SQL statement - returns array of rows */
54
+ async execute(): Promise<any[]>;
55
+ }`,
56
+ example: `new MySQL("GetOrders", mysqlIntegrationId, {
57
+ statement: ({ customerId }) =>
58
+ \`SELECT * FROM orders WHERE customer_id = \${customerId}\` // API inputs don't need .value
59
+ })`,
60
+ },
61
+ mssql: {
62
+ className: "MicrosoftSQL",
63
+ pluginId: "mssql",
64
+ description: "Microsoft SQL Server integration",
65
+ typeDefinition: `export class MicrosoftSQL extends Integration {
66
+ constructor(
67
+ name: string,
68
+ integrationId: string,
69
+ config: {
70
+ statement: Binding<string>;
71
+ /** Optional, defaults to \`false\` */
72
+ enablePooling?: Binding<boolean>;
73
+ }
74
+ );
75
+
76
+ /** Execute SQL statement - returns array of rows */
77
+ async execute(): Promise<any[]>;
78
+ }`,
79
+ example: `new MicrosoftSQL("GetProducts", mssqlIntegrationId, {
80
+ statement: ({ minPrice }) =>
81
+ \`SELECT * FROM products WHERE price > \${minPrice}\` // API inputs don't need .value
82
+ })`,
83
+ },
84
+ snowflake: {
85
+ className: "Snowflake",
86
+ pluginId: "snowflake",
87
+ description: "Snowflake data warehouse integration",
88
+ typeDefinition: `export class Snowflake extends Integration {
89
+ constructor(
90
+ name: string,
91
+ integrationId: string,
92
+ config: {
93
+ statement: Binding<string>;
94
+ /** Optional, defaults to \`false\` */
95
+ enablePooling?: Binding<boolean>;
96
+ /** Optional warehouse to use */
97
+ warehouse?: Binding<string>;
98
+ /** Optional database to use */
99
+ database?: Binding<string>;
100
+ /** Optional schema to use */
101
+ schema?: Binding<string>;
102
+ /** Optional role to use */
103
+ role?: Binding<string>;
104
+ }
105
+ );
106
+
107
+ /** Execute SQL statement - returns array of rows */
108
+ async execute(): Promise<any[]>;
109
+ }`,
110
+ example: `new Snowflake("AnalyzeSales", snowflakeIntegrationId, {
111
+ statement: "SELECT region, SUM(amount) FROM sales GROUP BY region",
112
+ warehouse: "COMPUTE_WH",
113
+ database: "ANALYTICS"
114
+ })`,
115
+ },
116
+ databricks: {
117
+ className: "Databricks",
118
+ pluginId: "databricks",
119
+ description: "Databricks lakehouse integration",
120
+ typeDefinition: `export class Databricks extends Integration {
121
+ constructor(
122
+ name: string,
123
+ integrationId: string,
124
+ config: {
125
+ statement: Binding<string>;
126
+ /** Optional, defaults to \`false\` */
127
+ enablePooling?: Binding<boolean>;
128
+ /** Optional catalog to use */
129
+ catalog?: Binding<string>;
130
+ /** Optional schema to use */
131
+ schema?: Binding<string>;
132
+ }
133
+ );
134
+
135
+ /** Execute SQL statement - returns array of rows */
136
+ async execute(): Promise<any[]>;
137
+ }`,
138
+ example: `new Databricks("ProcessLogs", databricksIntegrationId, {
139
+ statement: ({ selectedDate }) =>
140
+ \`SELECT * FROM catalog.schema.logs WHERE date = '\${selectedDate}'\`, // API inputs don't need .value
141
+ catalog: "main",
142
+ schema: "events"
143
+ })`,
144
+ },
145
+ redshift: {
146
+ className: "Redshift",
147
+ pluginId: "redshift",
148
+ description: "Amazon Redshift data warehouse integration",
149
+ typeDefinition: `export class Redshift extends Integration {
150
+ constructor(
151
+ name: string,
152
+ integrationId: string,
153
+ config: {
154
+ statement: Binding<string>;
155
+ /** Optional, defaults to \`false\` */
156
+ enablePooling?: Binding<boolean>;
157
+ }
158
+ );
159
+
160
+ /** Execute SQL statement - returns array of rows */
161
+ async execute(): Promise<any[]>;
162
+ }`,
163
+ example: `new Redshift("GetMetrics", redshiftIntegrationId, {
164
+ statement: ({ startTime }) =>
165
+ \`SELECT * FROM metrics WHERE timestamp > '\${startTime}'\` // API inputs don't need .value
166
+ })`,
167
+ },
168
+ bigquery: {
169
+ className: "BigQuery",
170
+ pluginId: "bigquery",
171
+ description: "Google BigQuery data warehouse integration",
172
+ typeDefinition: `export class BigQuery extends Integration {
173
+ constructor(
174
+ name: string,
175
+ integrationId: string,
176
+ config: {
177
+ sqlBody: Binding<string>;
178
+ }
179
+ );
180
+
181
+ /** Execute SQL statement - returns array of rows */
182
+ async execute(): Promise<any[]>;
183
+ }`,
184
+ example: `new BigQuery("QueryEvents", bigqueryIntegrationId, {
185
+ sqlBody: ({ eventType }) =>
186
+ \`SELECT * FROM \\\`project.dataset.events\\\` WHERE type = '\${eventType}'\`, // API inputs don't need .value
187
+ })`,
188
+ },
189
+ // NoSQL Databases
190
+ mongodb: {
191
+ className: "MongoDB",
192
+ pluginId: "mongodb",
193
+ description: "MongoDB NoSQL database integration",
194
+ typeDefinition: `export class MongoDB extends Integration {
195
+ constructor(
196
+ name: string,
197
+ integrationId: string,
198
+ config: {
199
+ /** MongoDB operation: find, findOne, insertOne, insertMany, updateOne, updateMany, deleteOne, deleteMany, aggregate, count, distinct */
200
+ operation: Binding<string>;
201
+ /** Collection name */
202
+ collection: Binding<string>;
203
+ /** Query filter (JSON) */
204
+ query?: Binding<any>;
205
+ /** Update document (JSON) */
206
+ update?: Binding<any>;
207
+ /** Document(s) to insert (JSON) */
208
+ document?: Binding<any>;
209
+ /** Aggregation pipeline (JSON array) */
210
+ pipeline?: Binding<any[]>;
211
+ /** Options (JSON) */
212
+ options?: Binding<any>;
213
+ }
214
+ );
215
+
216
+ /** Execute MongoDB operation */
217
+ async execute(): Promise<any>;
218
+ }`,
219
+ example: `new MongoDB("FindUsers", mongoIntegrationId, {
220
+ operation: "find",
221
+ collection: "users",
222
+ query: { status: "active" },
223
+ options: { limit: 10 }
224
+ })`,
225
+ },
226
+ dynamodb: {
227
+ className: "DynamoDB",
228
+ pluginId: "dynamodb",
229
+ description: "Amazon DynamoDB NoSQL database integration",
230
+ typeDefinition: `export class DynamoDB extends Integration {
231
+ constructor(
232
+ name: string,
233
+ integrationId: string,
234
+ config: {
235
+ /** DynamoDB operation: get, put, update, delete, query, scan, batchGet, batchWrite */
236
+ operation: Binding<string>;
237
+ /** Table name */
238
+ tableName: Binding<string>;
239
+ /** Key for get/update/delete operations */
240
+ key?: Binding<any>;
241
+ /** Item for put operation */
242
+ item?: Binding<any>;
243
+ /** Update expression */
244
+ updateExpression?: Binding<string>;
245
+ /** Expression attribute names */
246
+ expressionAttributeNames?: Binding<any>;
247
+ /** Expression attribute values */
248
+ expressionAttributeValues?: Binding<any>;
249
+ /** Key condition expression for query */
250
+ keyConditionExpression?: Binding<string>;
251
+ /** Filter expression */
252
+ filterExpression?: Binding<string>;
253
+ }
254
+ );
255
+
256
+ /** Execute DynamoDB operation */
257
+ async execute(): Promise<any>;
258
+ }`,
259
+ example: `new DynamoDB("GetItem", dynamoIntegrationId, {
260
+ operation: "get",
261
+ tableName: "users",
262
+ key: ({ userId }) => ({ userId }) // API inputs don't need .value
263
+ })`,
264
+ },
265
+ // REST API
266
+ restapi: {
267
+ className: "RestApi",
268
+ pluginId: "restapi",
269
+ description: "REST API integration",
270
+ typeDefinition: `export class RestApi extends Integration {
271
+ constructor(
272
+ name: string,
273
+ integrationId: string,
274
+ config: {
275
+ /** HTTP method: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS */
276
+ method: Binding<string>;
277
+ /** URL path (appended to base URL) */
278
+ path?: Binding<string>;
279
+ /** Query parameters */
280
+ params?: { key: Binding<string>; value: Binding<string> }[];
281
+ /** Request headers */
282
+ headers?: { key: Binding<string>; value: Binding<string> }[];
283
+ /** Request body (for POST, PUT, PATCH) */
284
+ body?: Binding<string>;
285
+ }
286
+ );
287
+
288
+ /** Execute HTTP request */
289
+ async execute(): Promise<{ data: any; status: number; headers: Record<string, string> }>;
290
+
291
+ }`,
292
+ example: `new RestApi("CreateUser", apiIntegrationId, {
293
+ method: "POST",
294
+ path: "/users",
295
+ headers: [{ key: "Content-Type", value: "application/json" }],
296
+ body: ({ requestData }) => requestData, // API inputs don't need .value
297
+ })`,
298
+ },
299
+ // GraphQL
300
+ graphql: {
301
+ className: "GraphQL",
302
+ pluginId: "graphql",
303
+ description: "GraphQL API integration",
304
+ typeDefinition: `export class GraphQL extends Integration {
305
+ constructor(
306
+ name: string,
307
+ integrationId: string,
308
+ config: {
309
+ /** GraphQL query or mutation */
310
+ query: Binding<string>;
311
+ /** Query variables as a JSON string */
312
+ variables?: Binding<string>;
313
+ /** Additional headers */
314
+ headers?: { key: Binding<string>; value: Binding<string> }[];
315
+ }
316
+ );
317
+
318
+ /** Execute GraphQL request */
319
+ async execute(): Promise<{ data: any; errors?: any[] }>;
320
+ }`,
321
+ example: `new GraphQL("GetUser", graphqlIntegrationId, {
322
+ query: \`
323
+ query GetUser($id: ID!) {
324
+ user(id: $id) {
325
+ id
326
+ name
327
+ email
328
+ }
329
+ }
330
+ \`,
331
+ })`,
332
+ },
333
+ // Cloud Storage
334
+ s3: {
335
+ className: "S3",
336
+ pluginId: "s3",
337
+ description: "Amazon S3 storage integration",
338
+ typeDefinition: `
339
+ type S3Action =
340
+ | "LIST_OBJECTS"
341
+ | "LIST_BUCKET_OBJECTS"
342
+ | "GET_OBJECT"
343
+ | "DELETE_OBJECT"
344
+ | "UPLOAD_OBJECT"
345
+ | "LIST_BUCKETS"
346
+ | "CREATE_BUCKET"
347
+ | "UPLOAD_MULTIPLE_OBJECTS"
348
+ | "GENERATE_PRESIGNED_URL";
349
+
350
+ export class S3 extends Integration {
351
+ constructor(
352
+ name: string,
353
+ integrationId: string,
354
+ config: {
355
+ action: S3Action;
356
+ resource?: Binding<string>;
357
+ path?: Binding<string>;
358
+ body?: Binding<string>;
359
+ fileObjects?: Binding<string>;
360
+ listFilesConfig?: {
361
+ prefix?: Binding<string>;
362
+ delimiter?: Binding<string>;
363
+ };
364
+ }
365
+ );
366
+
367
+ /** Execute S3 operation */
368
+ async execute(): Promise<any>;
369
+ }`,
370
+ example: `new S3("UploadFile", s3IntegrationId, {
371
+ operation: "UPLOAD_OBJECT",
372
+ resource: ({ bucketName }) => bucketName, // API inputs don't need .value
373
+ path: ({ fileName }) => \`uploads/\${fileName}\`,
374
+ body: ({ fileContent }) => fileContent
375
+ })`,
376
+ },
377
+ gcs: {
378
+ className: "GoogleCloudStorage",
379
+ pluginId: "gcs",
380
+ description: "Google Cloud Storage integration",
381
+ typeDefinition: `export class GoogleCloudStorage extends Integration {
382
+ constructor(
383
+ name: string,
384
+ integrationId: string,
385
+ config: {
386
+ /** GCS operation: list, download, upload, delete, getMetadata */
387
+ operation: Binding<string>;
388
+ /** Bucket name */
389
+ bucket: Binding<string>;
390
+ /** File name */
391
+ fileName?: Binding<string>;
392
+ /** File content (for upload) */
393
+ fileContent?: Binding<string | Buffer>;
394
+ /** Prefix (for list) */
395
+ prefix?: Binding<string>;
396
+ }
397
+ );
398
+
399
+ /** Execute GCS operation */
400
+ async execute(): Promise<any>;
401
+ }`,
402
+ example: `new GoogleCloudStorage("ListFiles", gcsIntegrationId, {
403
+ operation: "list",
404
+ bucket: "my-bucket",
405
+ prefix: "data/"
406
+ })`,
407
+ },
408
+ // Email
409
+ email: {
410
+ className: "Email",
411
+ pluginId: "email",
412
+ description: "Email sending integration",
413
+ typeDefinition: `export class Email extends Integration {
414
+ constructor(
415
+ name: string,
416
+ integrationId: string,
417
+ config: {
418
+ /** Recipients (comma-separated) */
419
+ to: Binding<string>;
420
+ /** Email subject */
421
+ subject: Binding<string>;
422
+ /** Email body */
423
+ body: Binding<string>;
424
+ /** CC recipients (comma-separated) */
425
+ cc?: Binding<string>;
426
+ /** BCC recipients (comma-separated) */
427
+ bcc?: Binding<string>;
428
+ /** From address */
429
+ from?: Binding<string>;
430
+ /** Reply-to address */
431
+ replyTo?: Binding<string>;
432
+ /** Body type: text or html */
433
+ bodyType?: Binding<"text" | "html">;
434
+ }
435
+ );
436
+
437
+ /** Send email */
438
+ async execute(): Promise<{ messageId: string }>;
439
+ }`,
440
+ example: `new Email("SendNotification", emailIntegrationId, {
441
+ to: ({ recipientEmail }) => recipientEmail, // API inputs don't need .value
442
+ subject: "Important Update",
443
+ body: ({ userName }) => \`Hello \${userName}, here is your update...\`,
444
+ bodyType: "text"
445
+ })`,
446
+ },
447
+ // Programming Languages
448
+ javascript: {
449
+ className: "JavaScript",
450
+ pluginId: "javascript",
451
+ description: "JavaScript code execution",
452
+ typeDefinition: `export class JavaScript extends Integration {
453
+ constructor(
454
+ name: string,
455
+ config: {
456
+ /** JavaScript code to execute */
457
+ code: Binding<string>;
458
+ }
459
+ );
460
+
461
+ /** Execute JavaScript code */
462
+ async execute(): Promise<any>;
463
+ }`,
464
+ example: `new JavaScript("TransformData", {
465
+ code: \`
466
+ const users = {{GetUsers.data}};
467
+ return users.map(user => ({
468
+ ...user,
469
+ fullName: user.firstName + ' ' + user.lastName
470
+ }));
471
+ \`
472
+ })`,
473
+ },
474
+ python: {
475
+ className: "Python",
476
+ pluginId: "python",
477
+ description: "Python code execution",
478
+ typeDefinition: `export class Python extends Integration {
479
+ constructor(
480
+ name: string,
481
+ config: {
482
+ /** Python code to execute */
483
+ code: Binding<string>;
484
+ }
485
+ );
486
+
487
+ /** Execute Python code */
488
+ async execute(): Promise<any>;
489
+ }`,
490
+ example: `new Python("AnalyzeData", {
491
+ code: \`
492
+ import pandas as pd
493
+ import json
494
+
495
+ data = {{GetData.data}}
496
+ df = pd.DataFrame(data)
497
+ summary = df.describe().to_dict()
498
+ return json.dumps(summary)
499
+ \`
500
+ })`,
501
+ },
502
+ // Workflow
503
+ workflow: {
504
+ className: "Workflow",
505
+ pluginId: "workflow",
506
+ description: "Superblocks workflow execution",
507
+ typeDefinition: `export class Workflow extends Integration {
508
+ constructor(
509
+ name: string,
510
+ integrationId: string,
511
+ config: {
512
+ /** Workflow to execute */
513
+ workflow: Binding<string>;
514
+ /** Input parameters */
515
+ inputs?: Binding<Record<string, any>>;
516
+ /** Execution environment */
517
+ environment?: Binding<string>;
518
+ }
519
+ );
520
+
521
+ /** Execute workflow */
522
+ async execute(): Promise<any>;
523
+ }`,
524
+ example: `new Workflow("RunETL", workflowIntegrationId, {
525
+ workflow: "data-etl-pipeline",
526
+ inputs: ({ startDate, endDate }) => ({
527
+ startDate: startDate,
528
+ endDate: endDate
529
+ })
530
+ })`,
531
+ },
532
+ // Salesforce
533
+ salesforce: {
534
+ className: "Salesforce",
535
+ pluginId: "salesforce",
536
+ description: "Salesforce CRM integration",
537
+ typeDefinition: `
538
+ export type SalesforceAction =
539
+ | { action: "SOQL_ACTION_SOQL"; soqlBody: Binding<string> }
540
+ | {
541
+ action: "CRUD_ACTION_READ";
542
+ resourceType: Binding<string>;
543
+ resourceId: Binding<string>;
544
+ }
545
+ | {
546
+ action: "CRUD_ACTION_CREATE";
547
+ resourceType: Binding<string>;
548
+ resourceBody: Binding<string>;
549
+ }
550
+ | {
551
+ action: "CRUD_ACTION_UPDATE";
552
+ resourceType: Binding<string>;
553
+ resourceId: Binding<string>;
554
+ resourceBody: Binding<string>;
555
+ }
556
+ | {
557
+ action: "CRUD_ACTION_DELETE";
558
+ resourceType: Binding<string>;
559
+ resourceId: Binding<string>;
560
+ resourceBody: Binding<string>;
561
+ }
562
+ | {
563
+ action: "BULK_ACTION_CREATE";
564
+ resourceType: Binding<string>;
565
+ resourceBody: Binding<string>;
566
+ }
567
+ | {
568
+ action: "BULK_ACTION_UPDATE";
569
+ resourceType: Binding<string>;
570
+ resourceBody: Binding<string>;
571
+ };
572
+
573
+ export declare class Salesforce extends Integration {
574
+ constructor(
575
+ name: string,
576
+ integration: string,
577
+ config: {
578
+ action: SalesforceAction;
579
+ },
580
+ );
581
+
582
+ /** Execute API request */
583
+ async execute(): Promise<{ data: any; status: number; headers: Record<string, string> }>;
584
+ }
585
+ `,
586
+ example: `new Salesforce("CreateAccount", salesforceIntegrationId, {
587
+ action: {
588
+ action: "SOQL_ACTION_SOQL",
589
+ soqlBody: "SELECT Id, Name FROM Account WHERE Industry = 'Technology'"
590
+ })`,
591
+ },
592
+ // Generic OpenAPI
593
+ restapiintegration: {
594
+ className: "OpenApi",
595
+ pluginId: "restapiintegration",
596
+ description: "Generic OpenApi-based integration",
597
+ typeDefinition: `export class OpenApi extends RestApi {
598
+ constructor(
599
+ name: string,
600
+ integrationId: string,
601
+ config: {
602
+ /** HTTP method: GET, POST, PUT, PATCH, DELETE */
603
+ method: string;
604
+ /** API endpoint path */
605
+ url: Binding<string>; // This should match openapi.path and just be the path, NOT a full URL
606
+ /** Request headers */
607
+ headers?: { key: Binding<string>; value: Binding<string> }[];
608
+ /** Query parameters */
609
+ params?: { key: Binding<string>; value: Binding<string> }[];
610
+ /** Request body (for POST, PUT, PATCH) */
611
+ body?: Binding<string>;
612
+ }
613
+ openapi?: {
614
+ /** Endpoint path from OpenApi spec */
615
+ path: string;
616
+ },
617
+ );
618
+
619
+ /** Execute HTTP request */
620
+ async execute(): Promise<{ data: any; status: number; headers: Record<string, string> }>;
621
+ }`,
622
+ example: `new OpenApi("CallEndpoint", integrationId, {
623
+ method: "POST",
624
+ path: "/api/v1/resource",
625
+ headers: [{ key: "Content-Type", value: "application/json" }],
626
+ body: ({ requestData }) => requestData,
627
+ })`,
628
+ },
629
+ // Add more integrations as needed...
630
+ };
631
+ /**
632
+ * Create a type definition for a derived plugin.
633
+ * This template is used for all integrations that use a derived plugin (eg extends OpenApi).
634
+ */
635
+ export function createExtendedPluginTypeDefinition(plugin, basePluginId, description = `${plugin.id} API integration`) {
636
+ const predefined = INTEGRATION_TYPE_DEFINITIONS[basePluginId];
637
+ if (!predefined)
638
+ return undefined;
639
+ // Replace "BaseClass extends ParentClass" with "DerivedClass extends BaseClass"
640
+ const regex = new RegExp(`\\b${predefined.className}\\s+extends\\s+\\w+`, "g");
641
+ const className = pluginIdToSdkClassName(plugin.id);
642
+ const updatedTypeDef = predefined.typeDefinition.replace(regex, `${className} extends ${predefined.className}`);
643
+ const updatedExample = predefined.example
644
+ ? predefined.example.replace(new RegExp(`new\\s+${predefined.className}\\b`, "g"), `new ${className}`)
645
+ : undefined;
646
+ return {
647
+ className,
648
+ pluginId: plugin.id,
649
+ description,
650
+ typeDefinition: updatedTypeDef,
651
+ example: updatedExample,
652
+ };
653
+ }
654
+ /**
655
+ * Get type definition for a specific integration by its plugin ID.
656
+ * For OpenAPI-derived plugins not in the predefined list, generates a definition using the template.
657
+ */
658
+ export function getIntegrationTypeDefinition(plugin) {
659
+ // Check if it's a predefined integration
660
+ const predefined = INTEGRATION_TYPE_DEFINITIONS[plugin.id];
661
+ if (predefined) {
662
+ return predefined;
663
+ }
664
+ // For unknown plugins, check if they might be OpenAPI-based
665
+ // You can add logic here to detect OpenAPI-based plugins and generate definitions dynamically
666
+ // For example:
667
+ const basePluginId = getBasePluginId(plugin.id);
668
+ if (basePluginId == plugin.id) {
669
+ return undefined;
670
+ }
671
+ return createExtendedPluginTypeDefinition(plugin, basePluginId);
672
+ }
673
+ /**
674
+ * Get type definitions for multiple integrations
675
+ */
676
+ export function getIntegrationTypeDefinitions(pluginIds) {
677
+ const result = {};
678
+ for (const pluginId of pluginIds) {
679
+ const def = INTEGRATION_TYPE_DEFINITIONS[pluginId];
680
+ if (def) {
681
+ result[pluginId] = def;
682
+ }
683
+ }
684
+ return result;
685
+ }
686
+ function pluginIdToSdkClassName(id) {
687
+ return datasourceSdkClassByType[id];
688
+ }
689
+ //# sourceMappingURL=integration-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration-types.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/integration-types.ts"],"names":[],"mappings":"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"}