@superblocksteam/vite-plugin-file-sync 2.0.59-next.2 → 2.0.59-next.3

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 (277) 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 +10 -1
  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 +357 -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 +1809 -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 +697 -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 +2 -1
  68. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  69. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +103 -88
  70. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  71. package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts.map +1 -1
  72. package/dist/ai-service/agent/tools2/tools/grep-metadata.js +25 -4
  73. package/dist/ai-service/agent/tools2/tools/grep-metadata.js.map +1 -1
  74. package/dist/ai-service/agent/tools2/types.d.ts +1 -1
  75. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  76. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  77. package/dist/ai-service/agent/tools2/utils.d.ts.map +1 -1
  78. package/dist/ai-service/agent/tools2/utils.js +4 -1
  79. package/dist/ai-service/agent/tools2/utils.js.map +1 -1
  80. package/dist/ai-service/agent/utils.d.ts +1 -3
  81. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  82. package/dist/ai-service/agent/utils.js +44 -4
  83. package/dist/ai-service/agent/utils.js.map +1 -1
  84. package/dist/ai-service/app-interface/shell.d.ts +5 -0
  85. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  86. package/dist/ai-service/app-interface/shell.js +17 -2
  87. package/dist/ai-service/app-interface/shell.js.map +1 -1
  88. package/dist/ai-service/chat/chat-session-store.d.ts +7 -0
  89. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  90. package/dist/ai-service/chat/chat-session-store.js +26 -0
  91. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  92. package/dist/ai-service/const.d.ts +2 -1
  93. package/dist/ai-service/const.d.ts.map +1 -1
  94. package/dist/ai-service/const.js +1 -0
  95. package/dist/ai-service/const.js.map +1 -1
  96. package/dist/ai-service/index.d.ts +5 -1
  97. package/dist/ai-service/index.d.ts.map +1 -1
  98. package/dist/ai-service/index.js +55 -7
  99. package/dist/ai-service/index.js.map +1 -1
  100. package/dist/ai-service/integrations/metadata-storage/index.d.ts +10 -0
  101. package/dist/ai-service/integrations/metadata-storage/index.d.ts.map +1 -1
  102. package/dist/ai-service/integrations/metadata-storage/local.d.ts +4 -2
  103. package/dist/ai-service/integrations/metadata-storage/local.d.ts.map +1 -1
  104. package/dist/ai-service/integrations/metadata-storage/local.js +35 -9
  105. package/dist/ai-service/integrations/metadata-storage/local.js.map +1 -1
  106. package/dist/ai-service/integrations/store.d.ts +27 -2
  107. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  108. package/dist/ai-service/integrations/store.js +129 -62
  109. package/dist/ai-service/integrations/store.js.map +1 -1
  110. package/dist/ai-service/llm/client.d.ts +123 -0
  111. package/dist/ai-service/llm/client.d.ts.map +1 -0
  112. package/dist/ai-service/llm/client.js +168 -0
  113. package/dist/ai-service/llm/client.js.map +1 -0
  114. package/dist/ai-service/llm/context/context-handle.d.ts +4 -4
  115. package/dist/ai-service/llm/context/context-handle.d.ts.map +1 -1
  116. package/dist/ai-service/llm/context/context-handle.js +7 -3
  117. package/dist/ai-service/llm/context/context-handle.js.map +1 -1
  118. package/dist/ai-service/llm/context/context.d.ts +28 -0
  119. package/dist/ai-service/llm/context/context.d.ts.map +1 -1
  120. package/dist/ai-service/llm/context/context.js +117 -0
  121. package/dist/ai-service/llm/context/context.js.map +1 -1
  122. package/dist/ai-service/llm/context/manager.d.ts +22 -2
  123. package/dist/ai-service/llm/context/manager.d.ts.map +1 -1
  124. package/dist/ai-service/llm/context/manager.js +86 -13
  125. package/dist/ai-service/llm/context/manager.js.map +1 -1
  126. package/dist/ai-service/llm/context/storage/index.d.ts +1 -0
  127. package/dist/ai-service/llm/context/storage/index.d.ts.map +1 -1
  128. package/dist/ai-service/llm/context/storage/local.d.ts +1 -0
  129. package/dist/ai-service/llm/context/storage/local.d.ts.map +1 -1
  130. package/dist/ai-service/llm/context/storage/local.js +13 -1
  131. package/dist/ai-service/llm/context/storage/local.js.map +1 -1
  132. package/dist/ai-service/llm/error.d.ts +14 -4
  133. package/dist/ai-service/llm/error.d.ts.map +1 -1
  134. package/dist/ai-service/llm/error.js +49 -4
  135. package/dist/ai-service/llm/error.js.map +1 -1
  136. package/dist/ai-service/llm/interaction/adapters/vercel.d.ts +67 -0
  137. package/dist/ai-service/llm/interaction/adapters/vercel.d.ts.map +1 -0
  138. package/dist/ai-service/llm/interaction/adapters/vercel.js +110 -0
  139. package/dist/ai-service/llm/interaction/adapters/vercel.js.map +1 -0
  140. package/dist/ai-service/llm/interaction/compose.d.ts +71 -0
  141. package/dist/ai-service/llm/interaction/compose.d.ts.map +1 -0
  142. package/dist/ai-service/llm/interaction/compose.js +88 -0
  143. package/dist/ai-service/llm/interaction/compose.js.map +1 -0
  144. package/dist/ai-service/llm/interaction/index.d.ts +68 -0
  145. package/dist/ai-service/llm/interaction/index.d.ts.map +1 -0
  146. package/dist/ai-service/llm/interaction/index.js +70 -0
  147. package/dist/ai-service/llm/interaction/index.js.map +1 -0
  148. package/dist/ai-service/llm/interaction/middleware.d.ts +52 -0
  149. package/dist/ai-service/llm/interaction/middleware.d.ts.map +1 -0
  150. package/dist/ai-service/llm/interaction/middleware.js +17 -0
  151. package/dist/ai-service/llm/interaction/middleware.js.map +1 -0
  152. package/dist/ai-service/llm/interaction/middlewares/llmobs.d.ts +45 -0
  153. package/dist/ai-service/llm/interaction/middlewares/llmobs.d.ts.map +1 -0
  154. package/dist/ai-service/llm/interaction/middlewares/llmobs.js +85 -0
  155. package/dist/ai-service/llm/interaction/middlewares/llmobs.js.map +1 -0
  156. package/dist/ai-service/llm/interaction/middlewares/logging.d.ts +88 -0
  157. package/dist/ai-service/llm/interaction/middlewares/logging.d.ts.map +1 -0
  158. package/dist/ai-service/llm/interaction/middlewares/logging.js +238 -0
  159. package/dist/ai-service/llm/interaction/middlewares/logging.js.map +1 -0
  160. package/dist/ai-service/llm/interaction/middlewares/profiler.d.ts +47 -0
  161. package/dist/ai-service/llm/interaction/middlewares/profiler.d.ts.map +1 -0
  162. package/dist/ai-service/llm/interaction/middlewares/profiler.js +183 -0
  163. package/dist/ai-service/llm/interaction/middlewares/profiler.js.map +1 -0
  164. package/dist/ai-service/llm/interaction/middlewares/stream-retry.d.ts +121 -0
  165. package/dist/ai-service/llm/interaction/middlewares/stream-retry.d.ts.map +1 -0
  166. package/dist/ai-service/llm/interaction/middlewares/stream-retry.js +291 -0
  167. package/dist/ai-service/llm/interaction/middlewares/stream-retry.js.map +1 -0
  168. package/dist/ai-service/llm/interaction/provider.d.ts +158 -0
  169. package/dist/ai-service/llm/interaction/provider.d.ts.map +1 -0
  170. package/dist/ai-service/llm/interaction/provider.js +15 -0
  171. package/dist/ai-service/llm/interaction/provider.js.map +1 -0
  172. package/dist/ai-service/llm/interaction/stream-lifecycle.d.ts +48 -0
  173. package/dist/ai-service/llm/interaction/stream-lifecycle.d.ts.map +1 -0
  174. package/dist/ai-service/llm/interaction/stream-lifecycle.js +131 -0
  175. package/dist/ai-service/llm/interaction/stream-lifecycle.js.map +1 -0
  176. package/dist/ai-service/llm/provider.d.ts +1 -2
  177. package/dist/ai-service/llm/provider.d.ts.map +1 -1
  178. package/dist/ai-service/llm/provider.js +3 -6
  179. package/dist/ai-service/llm/provider.js.map +1 -1
  180. package/dist/ai-service/llmobs/helpers.d.ts +7 -8
  181. package/dist/ai-service/llmobs/helpers.d.ts.map +1 -1
  182. package/dist/ai-service/llmobs/helpers.js +8 -48
  183. package/dist/ai-service/llmobs/helpers.js.map +1 -1
  184. package/dist/ai-service/llmobs/middleware/stream-text.d.ts +19 -21
  185. package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +1 -1
  186. package/dist/ai-service/llmobs/middleware/stream-text.js +98 -106
  187. package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -1
  188. package/dist/ai-service/llmobs/types.d.ts +14 -1
  189. package/dist/ai-service/llmobs/types.d.ts.map +1 -1
  190. package/dist/ai-service/state-machine/clark-fsm.d.ts +75 -5
  191. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  192. package/dist/ai-service/state-machine/clark-fsm.js +100 -0
  193. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  194. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  195. package/dist/ai-service/state-machine/handlers/agent-planning.js +4 -0
  196. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  197. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  198. package/dist/ai-service/state-machine/handlers/llm-generating.js +91 -456
  199. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  200. package/dist/ai-service/state-machine/handlers/runtime-reviewing.js +1 -1
  201. package/dist/ai-service/state-machine/handlers/runtime-reviewing.js.map +1 -1
  202. package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
  203. package/dist/ai-service/state-machine/helpers/peer.js +15 -0
  204. package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
  205. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  206. package/dist/ai-service/state-machine/mocks.js +1 -0
  207. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  208. package/dist/ai-service/types.d.ts +30 -0
  209. package/dist/ai-service/types.d.ts.map +1 -1
  210. package/dist/binding-extraction/extract-identifiers.d.ts +14 -0
  211. package/dist/binding-extraction/extract-identifiers.d.ts.map +1 -1
  212. package/dist/binding-extraction/extract-identifiers.js +46 -1
  213. package/dist/binding-extraction/extract-identifiers.js.map +1 -1
  214. package/dist/binding-extraction/js-identifiers.d.ts +14 -0
  215. package/dist/binding-extraction/js-identifiers.d.ts.map +1 -1
  216. package/dist/binding-extraction/js-identifiers.js +168 -0
  217. package/dist/binding-extraction/js-identifiers.js.map +1 -1
  218. package/dist/binding-extraction/python-identifiers.d.ts +5 -0
  219. package/dist/binding-extraction/python-identifiers.d.ts.map +1 -1
  220. package/dist/binding-extraction/python-identifiers.js +76 -7
  221. package/dist/binding-extraction/python-identifiers.js.map +1 -1
  222. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  223. package/dist/file-sync-vite-plugin.js +73 -3
  224. package/dist/file-sync-vite-plugin.js.map +1 -1
  225. package/dist/file-system-manager.d.ts.map +1 -1
  226. package/dist/file-system-manager.js +6 -4
  227. package/dist/file-system-manager.js.map +1 -1
  228. package/dist/index.d.ts +1 -1
  229. package/dist/index.d.ts.map +1 -1
  230. package/dist/index.js +1 -1
  231. package/dist/index.js.map +1 -1
  232. package/dist/lock-service/activity-tracker.d.ts +14 -2
  233. package/dist/lock-service/activity-tracker.d.ts.map +1 -1
  234. package/dist/lock-service/activity-tracker.js +43 -6
  235. package/dist/lock-service/activity-tracker.js.map +1 -1
  236. package/dist/lock-service/index.d.ts +13 -2
  237. package/dist/lock-service/index.d.ts.map +1 -1
  238. package/dist/lock-service/index.js +130 -44
  239. package/dist/lock-service/index.js.map +1 -1
  240. package/dist/parsing/jsx.d.ts.map +1 -1
  241. package/dist/parsing/jsx.js +78 -66
  242. package/dist/parsing/jsx.js.map +1 -1
  243. package/dist/socket-manager.js +1 -1
  244. package/dist/socket-manager.js.map +1 -1
  245. package/dist/sync-service/list-dir.d.ts.map +1 -1
  246. package/dist/sync-service/list-dir.js +41 -18
  247. package/dist/sync-service/list-dir.js.map +1 -1
  248. package/dist/vite-plugin-yaml-types.d.ts.map +1 -1
  249. package/dist/vite-plugin-yaml-types.js +2 -4
  250. package/dist/vite-plugin-yaml-types.js.map +1 -1
  251. package/package.json +7 -7
  252. package/dist/ai-service/agent/subagents/apis/api-executor.d.ts.map +0 -1
  253. package/dist/ai-service/agent/subagents/apis/api-executor.js.map +0 -1
  254. package/dist/ai-service/agent/subagents/apis/context.d.ts +0 -12
  255. package/dist/ai-service/agent/subagents/apis/context.d.ts.map +0 -1
  256. package/dist/ai-service/agent/subagents/apis/context.js +0 -18
  257. package/dist/ai-service/agent/subagents/apis/context.js.map +0 -1
  258. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts +0 -40
  259. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts.map +0 -1
  260. package/dist/ai-service/agent/subagents/apis/generate-api-source.js +0 -516
  261. package/dist/ai-service/agent/subagents/apis/generate-api-source.js.map +0 -1
  262. package/dist/ai-service/agent/subagents/apis/state.d.ts +0 -49
  263. package/dist/ai-service/agent/subagents/apis/state.d.ts.map +0 -1
  264. package/dist/ai-service/agent/subagents/apis/state.js +0 -25
  265. package/dist/ai-service/agent/subagents/apis/state.js.map +0 -1
  266. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts +0 -3
  267. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts.map +0 -1
  268. package/dist/ai-service/agent/subagents/apis/system-prompt.js +0 -1704
  269. package/dist/ai-service/agent/subagents/apis/system-prompt.js.map +0 -1
  270. package/dist/ai-service/agent/tools/apis/finalize-api.d.ts +0 -11
  271. package/dist/ai-service/agent/tools/apis/finalize-api.d.ts.map +0 -1
  272. package/dist/ai-service/agent/tools/apis/finalize-api.js +0 -133
  273. package/dist/ai-service/agent/tools/apis/finalize-api.js.map +0 -1
  274. package/dist/ai-service/llm/middleware/retry.d.ts +0 -112
  275. package/dist/ai-service/llm/middleware/retry.d.ts.map +0 -1
  276. package/dist/ai-service/llm/middleware/retry.js +0 -239
  277. package/dist/ai-service/llm/middleware/retry.js.map +0 -1
@@ -0,0 +1,357 @@
1
+ import { parse } from "@babel/parser";
2
+ import * as t from "@babel/types";
3
+ import { traverse } from "../../../../traverse.js";
4
+ const SQL_WRITE_KEYWORDS = [
5
+ "CREATE",
6
+ "INSERT",
7
+ "UPDATE",
8
+ "DELETE",
9
+ "DROP",
10
+ "TRUNCATE",
11
+ "ALTER",
12
+ "REPLACE",
13
+ "MERGE",
14
+ "RENAME",
15
+ "GRANT",
16
+ "REVOKE",
17
+ "COPY",
18
+ "SET",
19
+ "UNSET",
20
+ "VACUUM",
21
+ ];
22
+ const HTTP_MUTATION_METHODS = ["DELETE", "PUT", "PATCH", "POST"];
23
+ const SQL_INTEGRATION_TYPES = [
24
+ "Athena",
25
+ "BigQuery",
26
+ "Snowflake",
27
+ "PostgreSQL",
28
+ "MicrosoftSql",
29
+ "MySQL",
30
+ "Databricks",
31
+ "Redshift",
32
+ "MariaDB",
33
+ ];
34
+ const REST_INTEGRATION_TYPES = [
35
+ "RestApi",
36
+ "OpenApi",
37
+ "Jira",
38
+ "Airtable",
39
+ "Anthropic",
40
+ "Asana",
41
+ "Bitbucket",
42
+ "Box",
43
+ "CircleCI",
44
+ "Cohere",
45
+ "Datadog",
46
+ "Dropbox",
47
+ "Elasticsearch",
48
+ "Fireworks",
49
+ "Front",
50
+ "Gemini",
51
+ "GitHub",
52
+ "GoogleAnalytics",
53
+ "GoogleDrive",
54
+ "Groq",
55
+ "HubSpot",
56
+ "Intercom",
57
+ "LaunchDarkly",
58
+ "Mistral",
59
+ "Notion",
60
+ "PagerDuty",
61
+ "Perplexity",
62
+ "Segment",
63
+ "SendGrid",
64
+ "Slack",
65
+ "StabilityAI",
66
+ "Stripe",
67
+ "Twilio",
68
+ "Zendesk",
69
+ "Zoom",
70
+ ];
71
+ const DYNAMODB_MUTATION_ACTIONS = [
72
+ "updateItem",
73
+ "putItem",
74
+ "batchWriteItem",
75
+ "deleteItem",
76
+ "createTable",
77
+ "updateTable",
78
+ "deleteTable",
79
+ ];
80
+ const SALESFORCE_MUTATION_ACTIONS = [
81
+ "CRUD_ACTION_CREATE",
82
+ "CRUD_ACTION_UPDATE",
83
+ "CRUD_ACTION_DELETE",
84
+ "BULK_ACTION_CREATE",
85
+ "BULK_ACTION_UPDATE",
86
+ ];
87
+ const integrationConstructorRegex = /new\s+[\w$.]+\s*\(\s*(["'`])(?:\\.|(?!\1).)*?\1\s*,\s*(["'`])((?:\\.|(?!\2).)*?)\2/g;
88
+ // extract integration ids from our TS new ClassName("<id>", ...) calls, helps with showing the user metadata
89
+ export const extractIntegrationIdsFromSource = (source) => {
90
+ integrationConstructorRegex.lastIndex = 0;
91
+ const ids = new Set();
92
+ let match;
93
+ while ((match = integrationConstructorRegex.exec(source)) !== null) {
94
+ const integrationId = match[3];
95
+ if (integrationId) {
96
+ ids.add(integrationId);
97
+ }
98
+ }
99
+ return Array.from(ids);
100
+ };
101
+ const isSqlMutation = (sql) => {
102
+ const normalized = sql.toUpperCase();
103
+ return SQL_WRITE_KEYWORDS.some((keyword) => new RegExp(`(^|\\s|;)${keyword}\\s`, "i").test(normalized));
104
+ };
105
+ const extractStringValue = (node) => {
106
+ if (!node)
107
+ return null;
108
+ if (t.isStringLiteral(node)) {
109
+ return node.value;
110
+ }
111
+ if (t.isTemplateLiteral(node)) {
112
+ return node.quasis.map((q) => q.value.raw).join("");
113
+ }
114
+ if (t.isArrowFunctionExpression(node) || t.isFunctionExpression(node)) {
115
+ const body = node.body;
116
+ if (t.isBlockStatement(body)) {
117
+ // Look for return statements in the block
118
+ for (const statement of body.body) {
119
+ if (t.isReturnStatement(statement) && statement.argument) {
120
+ const returnValue = extractStringValue(statement.argument);
121
+ if (returnValue)
122
+ return returnValue;
123
+ }
124
+ }
125
+ // If no return statement found, check the entire function body text for SQL keywords
126
+ // This is a fallback to catch cases where template literals are built dynamically
127
+ return null;
128
+ }
129
+ else {
130
+ return extractStringValue(body);
131
+ }
132
+ }
133
+ return null;
134
+ };
135
+ const extractPropertyValue = (configNode, propertyName) => {
136
+ if (!t.isObjectExpression(configNode))
137
+ return null;
138
+ const prop = configNode.properties.find((p) => t.isObjectProperty(p) &&
139
+ t.isIdentifier(p.key) &&
140
+ p.key.name === propertyName);
141
+ if (!prop || !t.isObjectProperty(prop))
142
+ return null;
143
+ return extractStringValue(prop.value);
144
+ };
145
+ const getIntegrationTypeName = (node) => {
146
+ if (t.isIdentifier(node)) {
147
+ return node.name;
148
+ }
149
+ if (t.isMemberExpression(node)) {
150
+ if (t.isIdentifier(node.property)) {
151
+ return node.property.name;
152
+ }
153
+ }
154
+ return null;
155
+ };
156
+ const extractFunctionParamNames = (node) => {
157
+ if (!t.isArrowFunctionExpression(node) && !t.isFunctionExpression(node)) {
158
+ return [];
159
+ }
160
+ const params = node.params;
161
+ const paramNames = [];
162
+ for (const param of params) {
163
+ if (t.isObjectPattern(param)) {
164
+ for (const prop of param.properties) {
165
+ if (t.isObjectProperty(prop) && t.isIdentifier(prop.key)) {
166
+ paramNames.push(prop.key.name);
167
+ }
168
+ }
169
+ }
170
+ else if (t.isIdentifier(param)) {
171
+ paramNames.push(param.name);
172
+ }
173
+ }
174
+ return paramNames;
175
+ };
176
+ const scanJavaScriptForSqlMutations = (node, source) => {
177
+ if (!t.isArrowFunctionExpression(node) && !t.isFunctionExpression(node)) {
178
+ return false;
179
+ }
180
+ if (!node.start || !node.end) {
181
+ return false;
182
+ }
183
+ const functionBody = source.slice(node.start, node.end);
184
+ return SQL_WRITE_KEYWORDS.some((keyword) => new RegExp(`\\b${keyword}\\b`, "i").test(functionBody));
185
+ };
186
+ const extractStepNames = (source) => {
187
+ const stepNames = new Set();
188
+ const stepNameRegex = /new\s+(JavaScript|Python)\s*\(\s*["'`]([^"'`]+)["'`]/g;
189
+ let match;
190
+ while ((match = stepNameRegex.exec(source)) !== null) {
191
+ const stepName = match[2];
192
+ if (stepName) {
193
+ stepNames.add(stepName);
194
+ }
195
+ }
196
+ return stepNames;
197
+ };
198
+ export const extractMutations = (source) => {
199
+ const mutations = [];
200
+ const jsStepNames = extractStepNames(source);
201
+ const jsSteps = new Map();
202
+ let ast;
203
+ try {
204
+ ast = parse(source, {
205
+ sourceType: "module",
206
+ plugins: ["typescript"],
207
+ errorRecovery: true,
208
+ });
209
+ }
210
+ catch {
211
+ return mutations;
212
+ }
213
+ traverse(ast, {
214
+ NewExpression(path) {
215
+ const typeName = getIntegrationTypeName(path.node.callee);
216
+ if (!typeName)
217
+ return;
218
+ const args = path.node.arguments;
219
+ if (args.length === 0)
220
+ return;
221
+ const name = extractStringValue(args[0]);
222
+ if (!name)
223
+ return;
224
+ if ((typeName === "JavaScript" || typeName === "Python") &&
225
+ jsStepNames.has(name)) {
226
+ const configArg = args[1];
227
+ if (configArg && t.isObjectExpression(configArg)) {
228
+ const fnProp = configArg.properties.find((p) => t.isObjectProperty(p) &&
229
+ t.isIdentifier(p.key) &&
230
+ p.key.name === "fn");
231
+ if (fnProp && t.isObjectProperty(fnProp)) {
232
+ jsSteps.set(name, fnProp.value);
233
+ }
234
+ }
235
+ }
236
+ else if (SQL_INTEGRATION_TYPES.includes(typeName)) {
237
+ const configArg = args[2];
238
+ if (!configArg)
239
+ return;
240
+ const statementProp = t.isObjectExpression(configArg)
241
+ ? configArg.properties.find((p) => t.isObjectProperty(p) &&
242
+ t.isIdentifier(p.key) &&
243
+ (p.key.name === "statement" || p.key.name === "sqlBody"))
244
+ : null;
245
+ if (statementProp && t.isObjectProperty(statementProp)) {
246
+ const statementValue = statementProp.value;
247
+ const statement = extractStringValue(statementValue);
248
+ if (statement && isSqlMutation(statement)) {
249
+ mutations.push({
250
+ type: typeName,
251
+ name,
252
+ details: `SQL mutation detected`,
253
+ });
254
+ }
255
+ else if (t.isArrowFunctionExpression(statementValue) ||
256
+ t.isFunctionExpression(statementValue)) {
257
+ // First check if the function body itself contains SQL mutations
258
+ if (scanJavaScriptForSqlMutations(statementValue, source)) {
259
+ mutations.push({
260
+ type: typeName,
261
+ name,
262
+ details: `SQL mutation detected`,
263
+ });
264
+ }
265
+ else {
266
+ // If not, check if it references JavaScript steps that build mutations
267
+ const paramNames = extractFunctionParamNames(statementValue);
268
+ for (const paramName of paramNames) {
269
+ const jsStep = jsSteps.get(paramName);
270
+ if (jsStep && scanJavaScriptForSqlMutations(jsStep, source)) {
271
+ mutations.push({
272
+ type: typeName,
273
+ name,
274
+ details: `SQL mutation detected (references ${paramName} which builds mutation query)`,
275
+ });
276
+ break;
277
+ }
278
+ }
279
+ }
280
+ }
281
+ }
282
+ }
283
+ else if (REST_INTEGRATION_TYPES.includes(typeName)) {
284
+ const configArg = args[2] || args[1];
285
+ if (!configArg)
286
+ return;
287
+ const method = extractPropertyValue(configArg, "method");
288
+ if (method && HTTP_MUTATION_METHODS.includes(method.toUpperCase())) {
289
+ mutations.push({
290
+ type: typeName,
291
+ name,
292
+ details: `HTTP ${method.toUpperCase()} mutation`,
293
+ });
294
+ }
295
+ }
296
+ else if (typeName === "DynamoDb") {
297
+ const configArg = args[2];
298
+ if (!configArg)
299
+ return;
300
+ const action = extractPropertyValue(configArg, "action");
301
+ if (action && DYNAMODB_MUTATION_ACTIONS.includes(action)) {
302
+ mutations.push({
303
+ type: typeName,
304
+ name,
305
+ details: `DynamoDB ${action} mutation`,
306
+ });
307
+ }
308
+ }
309
+ else if (typeName === "Salesforce") {
310
+ const configArg = args[2];
311
+ if (!configArg || !t.isObjectExpression(configArg))
312
+ return;
313
+ const actionProp = configArg.properties.find((p) => t.isObjectProperty(p) &&
314
+ t.isIdentifier(p.key) &&
315
+ p.key.name === "action");
316
+ if (actionProp &&
317
+ t.isObjectProperty(actionProp) &&
318
+ t.isObjectExpression(actionProp.value)) {
319
+ const actionField = extractPropertyValue(actionProp.value, "action");
320
+ if (actionField &&
321
+ SALESFORCE_MUTATION_ACTIONS.includes(actionField)) {
322
+ mutations.push({
323
+ type: typeName,
324
+ name,
325
+ details: `Salesforce ${actionField} mutation`,
326
+ });
327
+ }
328
+ }
329
+ }
330
+ else if (typeName === "Email") {
331
+ mutations.push({
332
+ type: typeName,
333
+ name,
334
+ details: "Email send mutation",
335
+ });
336
+ }
337
+ else if (typeName === "GraphQL") {
338
+ const configArg = args[2];
339
+ if (!configArg)
340
+ return;
341
+ const query = extractPropertyValue(configArg, "query");
342
+ if (query && /^\s*mutation\s/i.test(query)) {
343
+ mutations.push({
344
+ type: typeName,
345
+ name,
346
+ details: "GraphQL mutation",
347
+ });
348
+ }
349
+ }
350
+ },
351
+ });
352
+ return mutations;
353
+ };
354
+ export const containsMutations = (source) => {
355
+ return extractMutations(source).length > 0;
356
+ };
357
+ //# sourceMappingURL=analysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/analysis.ts"],"names":[],"mappings":"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"}
@@ -10,15 +10,19 @@ import type { Api } from "@superblocksteam/library-shared/types";
10
10
  export interface ApiExecutionResult {
11
11
  success: boolean;
12
12
  outputs?: Record<string, any>;
13
- error?: string;
14
- errorDetails?: {
15
- type: "validation" | "execution" | "proto" | "unknown";
16
- message: string;
17
- suggestion?: string;
18
- originalError?: any;
19
- };
13
+ errors?: ApiExecutionError[];
14
+ systemError?: string;
20
15
  executionTime?: number;
21
16
  }
17
+ export type ApiExecutionError = {
18
+ type: "validation" | "execution" | "proto" | "auth" | "rate_limit" | "binding" | "unknown";
19
+ handled?: boolean;
20
+ message: string;
21
+ displayMessage?: string;
22
+ bodyDetails?: string;
23
+ suggestion?: string;
24
+ originalError?: unknown;
25
+ };
22
26
  export type ApiExecutionInputs = Record<string, any>;
23
27
  export declare class ApiExecutor {
24
28
  private editorClient;
@@ -31,20 +35,41 @@ export declare class ApiExecutor {
31
35
  * @param inputs - Input variables for the API
32
36
  * @returns Execution result with outputs or detailed error information
33
37
  */
34
- execute(api: Api, inputs?: ApiExecutionInputs): Promise<ApiExecutionResult>;
38
+ execute(api: {
39
+ type: "fetch";
40
+ apiName: string;
41
+ } | {
42
+ type: "inline";
43
+ definition: Api;
44
+ }, inputs?: ApiExecutionInputs): Promise<ApiExecutionResult>;
35
45
  /**
36
46
  * Validate that the API can roundtrip through protobuf.
37
47
  * Throws an error if validation fails.
38
48
  */
39
49
  private validateProtoCompatibility;
40
50
  /**
41
- * Validate that blocks use the correct plugin field name matching the integration's plugin.id.
51
+ * Parse error messages to extract the message and body (JSON) separately.
52
+ *
53
+ * @param errorMessage - The raw error message that may contain JSON with escaped newlines
54
+ * @returns Object with message and body if body exists, undefined otherwise
42
55
  */
43
- private validateBlockFieldNames;
56
+ private parseErrorMessage;
44
57
  /**
45
58
  * Parse execution errors to provide helpful details.
46
59
  */
47
60
  private parseExecutionError;
61
+ /**
62
+ * Determine whether an error message indicates an authentication or authorization failure.
63
+ */
64
+ private isAuthError;
65
+ /**
66
+ * Determine whether an error message indicates a rate limit condition.
67
+ */
68
+ private isRateLimitError;
69
+ /**
70
+ * Determine whether an error message indicates missing or incorrect bindings.
71
+ */
72
+ private isBindingError;
48
73
  /**
49
74
  * Get suggestion for proto errors.
50
75
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-executor.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/api-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uCAAuC,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EACA,YAAY,GACZ,WAAW,GACX,OAAO,GACP,MAAM,GACN,YAAY,GACZ,SAAS,GACT,SAAS,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAErD,qBAAa,WAAW;IACtB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,gBAAgB,CAAmB;gBAE/B,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB;IAK1E;;;;;;OAMG;IAEG,OAAO,CACX,GAAG,EACC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAClC;QACE,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,GAAG,CAAC;KACjB,EACL,MAAM,GAAE,kBAAuB,GAC9B,OAAO,CAAC,kBAAkB,CAAC;IAmE9B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAkClC;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAsEzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgI3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAMnB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;OAEG;IACH,OAAO,CAAC,4BAA4B;CASrC"}