@superblocksteam/vite-plugin-file-sync 2.0.42 → 2.0.43-next.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 (456) hide show
  1. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +2 -1
  2. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  3. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +31 -2
  4. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  5. package/dist/ai-service/agent/subagents/apis/example-selector.d.ts +24 -0
  6. package/dist/ai-service/agent/subagents/apis/example-selector.d.ts.map +1 -0
  7. package/dist/ai-service/agent/subagents/apis/example-selector.js +104 -0
  8. package/dist/ai-service/agent/subagents/apis/example-selector.js.map +1 -0
  9. package/dist/ai-service/agent/subagents/apis/examples.d.ts +55 -0
  10. package/dist/ai-service/agent/subagents/apis/examples.d.ts.map +1 -0
  11. package/dist/ai-service/agent/subagents/apis/examples.js +1229 -0
  12. package/dist/ai-service/agent/subagents/apis/examples.js.map +1 -0
  13. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts +83 -0
  14. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts.map +1 -0
  15. package/dist/ai-service/agent/{apis.js → subagents/apis/generate-api-source.js} +141 -98
  16. package/dist/ai-service/agent/subagents/apis/generate-api-source.js.map +1 -0
  17. package/dist/ai-service/agent/subagents/apis/prompt-builder.d.ts +39 -0
  18. package/dist/ai-service/agent/subagents/apis/prompt-builder.d.ts.map +1 -0
  19. package/dist/ai-service/agent/subagents/apis/prompt-builder.js +115 -0
  20. package/dist/ai-service/agent/subagents/apis/prompt-builder.js.map +1 -0
  21. package/dist/ai-service/agent/subagents/apis/static-analysis.d.ts +2 -0
  22. package/dist/ai-service/agent/subagents/apis/static-analysis.d.ts.map +1 -0
  23. package/dist/ai-service/agent/subagents/apis/static-analysis.js +766 -0
  24. package/dist/ai-service/agent/subagents/apis/static-analysis.js.map +1 -0
  25. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts +3 -0
  26. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts.map +1 -0
  27. package/dist/ai-service/agent/{apis-system-prompt.js → subagents/apis/system-prompt.js} +127 -34
  28. package/dist/ai-service/agent/{apis-system-prompt.js.map → subagents/apis/system-prompt.js.map} +1 -1
  29. package/dist/ai-service/agent/tool-message-utils.d.ts +6 -16
  30. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  31. package/dist/ai-service/agent/tool-message-utils.js +75 -204
  32. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  33. package/dist/ai-service/agent/tools/build-add-event.d.ts +2 -4
  34. package/dist/ai-service/agent/tools/build-add-event.d.ts.map +1 -1
  35. package/dist/ai-service/agent/tools/build-add-event.js +9 -8
  36. package/dist/ai-service/agent/tools/build-add-event.js.map +1 -1
  37. package/dist/ai-service/agent/tools/build-add-state-var.d.ts +2 -4
  38. package/dist/ai-service/agent/tools/build-add-state-var.d.ts.map +1 -1
  39. package/dist/ai-service/agent/tools/build-add-state-var.js +6 -5
  40. package/dist/ai-service/agent/tools/build-add-state-var.js.map +1 -1
  41. package/dist/ai-service/agent/tools/build-add-timer.d.ts +2 -4
  42. package/dist/ai-service/agent/tools/build-add-timer.d.ts.map +1 -1
  43. package/dist/ai-service/agent/tools/build-add-timer.js +7 -6
  44. package/dist/ai-service/agent/tools/build-add-timer.js.map +1 -1
  45. package/dist/ai-service/agent/tools/build-create-page.d.ts +2 -3
  46. package/dist/ai-service/agent/tools/build-create-page.d.ts.map +1 -1
  47. package/dist/ai-service/agent/tools/build-create-page.js +11 -10
  48. package/dist/ai-service/agent/tools/build-create-page.js.map +1 -1
  49. package/dist/ai-service/agent/tools/build-debug.d.ts +1 -3
  50. package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
  51. package/dist/ai-service/agent/tools/build-debug.js +7 -5
  52. package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
  53. package/dist/ai-service/agent/tools/build-edit-file.d.ts +2 -4
  54. package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
  55. package/dist/ai-service/agent/tools/build-edit-file.js +10 -7
  56. package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
  57. package/dist/ai-service/agent/tools/build-finalize.d.ts +2 -4
  58. package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
  59. package/dist/ai-service/agent/tools/build-finalize.js +7 -6
  60. package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
  61. package/dist/ai-service/agent/tools/build-install-packages.d.ts +2 -4
  62. package/dist/ai-service/agent/tools/build-install-packages.d.ts.map +1 -1
  63. package/dist/ai-service/agent/tools/build-install-packages.js +7 -6
  64. package/dist/ai-service/agent/tools/build-install-packages.js.map +1 -1
  65. package/dist/ai-service/agent/tools/build-list-available-components.d.ts +3 -8
  66. package/dist/ai-service/agent/tools/build-list-available-components.d.ts.map +1 -1
  67. package/dist/ai-service/agent/tools/build-list-available-components.js +30 -9
  68. package/dist/ai-service/agent/tools/build-list-available-components.js.map +1 -1
  69. package/dist/ai-service/agent/tools/build-list-files.d.ts +2 -3
  70. package/dist/ai-service/agent/tools/build-list-files.d.ts.map +1 -1
  71. package/dist/ai-service/agent/tools/build-list-files.js +10 -8
  72. package/dist/ai-service/agent/tools/build-list-files.js.map +1 -1
  73. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +3 -3
  74. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts.map +1 -1
  75. package/dist/ai-service/agent/tools/build-manage-checklist.js +9 -8
  76. package/dist/ai-service/agent/tools/build-manage-checklist.js.map +1 -1
  77. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts +2 -4
  78. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
  79. package/dist/ai-service/agent/tools/build-multi-edit-file.js +9 -6
  80. package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
  81. package/dist/ai-service/agent/tools/build-read-files.d.ts +2 -4
  82. package/dist/ai-service/agent/tools/build-read-files.d.ts.map +1 -1
  83. package/dist/ai-service/agent/tools/build-read-files.js +10 -8
  84. package/dist/ai-service/agent/tools/build-read-files.js.map +1 -1
  85. package/dist/ai-service/agent/tools/build-register-component-name.d.ts +2 -4
  86. package/dist/ai-service/agent/tools/build-register-component-name.d.ts.map +1 -1
  87. package/dist/ai-service/agent/tools/build-register-component-name.js +9 -8
  88. package/dist/ai-service/agent/tools/build-register-component-name.js.map +1 -1
  89. package/dist/ai-service/agent/tools/build-rename-page.d.ts +2 -3
  90. package/dist/ai-service/agent/tools/build-rename-page.d.ts.map +1 -1
  91. package/dist/ai-service/agent/tools/build-rename-page.js +6 -5
  92. package/dist/ai-service/agent/tools/build-rename-page.js.map +1 -1
  93. package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts +2 -4
  94. package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts.map +1 -1
  95. package/dist/ai-service/agent/tools/build-set-api-triggers.js +6 -5
  96. package/dist/ai-service/agent/tools/build-set-api-triggers.js.map +1 -1
  97. package/dist/ai-service/agent/tools/build-update-state-var.d.ts +2 -3
  98. package/dist/ai-service/agent/tools/build-update-state-var.d.ts.map +1 -1
  99. package/dist/ai-service/agent/tools/build-update-state-var.js +6 -5
  100. package/dist/ai-service/agent/tools/build-update-state-var.js.map +1 -1
  101. package/dist/ai-service/agent/tools/build-validate-icons.d.ts +2 -3
  102. package/dist/ai-service/agent/tools/build-validate-icons.d.ts.map +1 -1
  103. package/dist/ai-service/agent/tools/build-validate-icons.js +8 -6
  104. package/dist/ai-service/agent/tools/build-validate-icons.js.map +1 -1
  105. package/dist/ai-service/agent/tools/build-write-file.d.ts +2 -4
  106. package/dist/ai-service/agent/tools/build-write-file.d.ts.map +1 -1
  107. package/dist/ai-service/agent/tools/build-write-file.js +6 -5
  108. package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
  109. package/dist/ai-service/agent/tools/debug-cache.d.ts.map +1 -1
  110. package/dist/ai-service/agent/tools/debug-cache.js +4 -1
  111. package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
  112. package/dist/ai-service/agent/tools/index.d.ts +23 -20
  113. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  114. package/dist/ai-service/agent/tools/index.js +23 -20
  115. package/dist/ai-service/agent/tools/index.js.map +1 -1
  116. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +25 -0
  117. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -0
  118. package/dist/ai-service/agent/tools/integrations/execute-request.js +213 -0
  119. package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -0
  120. package/dist/ai-service/agent/tools/integrations/index.d.ts +4 -0
  121. package/dist/ai-service/agent/tools/integrations/index.d.ts.map +1 -0
  122. package/dist/ai-service/agent/tools/integrations/index.js +4 -0
  123. package/dist/ai-service/agent/tools/integrations/index.js.map +1 -0
  124. package/dist/ai-service/agent/tools/integrations/internal.d.ts +3 -0
  125. package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -0
  126. package/dist/ai-service/agent/tools/integrations/internal.js +11 -0
  127. package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -0
  128. package/dist/ai-service/agent/tools/integrations/metadata.d.ts +10 -0
  129. package/dist/ai-service/agent/tools/integrations/metadata.d.ts.map +1 -0
  130. package/dist/ai-service/agent/tools/integrations/metadata.js +80 -0
  131. package/dist/ai-service/agent/tools/integrations/metadata.js.map +1 -0
  132. package/dist/ai-service/agent/tools/integrations/run-code.d.ts +5 -0
  133. package/dist/ai-service/agent/tools/integrations/run-code.d.ts.map +1 -0
  134. package/dist/ai-service/agent/tools/integrations/run-code.js +32 -0
  135. package/dist/ai-service/agent/tools/integrations/run-code.js.map +1 -0
  136. package/dist/ai-service/agent/tools/study-current-app-state.d.ts +2 -4
  137. package/dist/ai-service/agent/tools/study-current-app-state.d.ts.map +1 -1
  138. package/dist/ai-service/agent/tools/study-current-app-state.js +10 -8
  139. package/dist/ai-service/agent/tools/study-current-app-state.js.map +1 -1
  140. package/dist/ai-service/agent/tools.d.ts +3 -280
  141. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  142. package/dist/ai-service/agent/tools.js +68 -55
  143. package/dist/ai-service/agent/tools.js.map +1 -1
  144. package/dist/ai-service/agent/tools2/access-control.d.ts +119 -0
  145. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -0
  146. package/dist/ai-service/agent/tools2/access-control.js +216 -0
  147. package/dist/ai-service/agent/tools2/access-control.js.map +1 -0
  148. package/dist/ai-service/agent/tools2/example.d.ts +13 -0
  149. package/dist/ai-service/agent/tools2/example.d.ts.map +1 -0
  150. package/dist/ai-service/agent/tools2/example.js +143 -0
  151. package/dist/ai-service/agent/tools2/example.js.map +1 -0
  152. package/dist/ai-service/agent/tools2/index.d.ts +16 -0
  153. package/dist/ai-service/agent/tools2/index.d.ts.map +1 -0
  154. package/dist/ai-service/agent/tools2/index.js +18 -0
  155. package/dist/ai-service/agent/tools2/index.js.map +1 -0
  156. package/dist/ai-service/agent/tools2/registry.d.ts +167 -0
  157. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -0
  158. package/dist/ai-service/agent/tools2/registry.js +305 -0
  159. package/dist/ai-service/agent/tools2/registry.js.map +1 -0
  160. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts +12 -0
  161. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts.map +1 -0
  162. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js +73 -0
  163. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js.map +1 -0
  164. package/dist/ai-service/agent/tools2/tools/bash.d.ts +34 -0
  165. package/dist/ai-service/agent/tools2/tools/bash.d.ts.map +1 -0
  166. package/dist/ai-service/agent/tools2/tools/bash.js +76 -0
  167. package/dist/ai-service/agent/tools2/tools/bash.js.map +1 -0
  168. package/dist/ai-service/agent/tools2/tools/edit.d.ts +14 -0
  169. package/dist/ai-service/agent/tools2/tools/edit.d.ts.map +1 -0
  170. package/dist/ai-service/agent/tools2/tools/edit.js +60 -0
  171. package/dist/ai-service/agent/tools2/tools/edit.js.map +1 -0
  172. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +10 -0
  173. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -0
  174. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +66 -0
  175. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -0
  176. package/dist/ai-service/agent/tools2/tools/glob.d.ts +11 -0
  177. package/dist/ai-service/agent/tools2/tools/glob.d.ts.map +1 -0
  178. package/dist/ai-service/agent/tools2/tools/glob.js +44 -0
  179. package/dist/ai-service/agent/tools2/tools/glob.js.map +1 -0
  180. package/dist/ai-service/agent/tools2/tools/grep.d.ts +21 -0
  181. package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -0
  182. package/dist/ai-service/agent/tools2/tools/grep.js +100 -0
  183. package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -0
  184. package/dist/ai-service/agent/tools2/tools/index.d.ts +13 -0
  185. package/dist/ai-service/agent/tools2/tools/index.d.ts.map +1 -0
  186. package/dist/ai-service/agent/tools2/tools/index.js +13 -0
  187. package/dist/ai-service/agent/tools2/tools/index.js.map +1 -0
  188. package/dist/ai-service/agent/tools2/tools/read.d.ts +9 -0
  189. package/dist/ai-service/agent/tools2/tools/read.d.ts.map +1 -0
  190. package/dist/ai-service/agent/tools2/tools/read.js +43 -0
  191. package/dist/ai-service/agent/tools2/tools/read.js.map +1 -0
  192. package/dist/ai-service/agent/tools2/tools/write.d.ts +11 -0
  193. package/dist/ai-service/agent/tools2/tools/write.d.ts.map +1 -0
  194. package/dist/ai-service/agent/tools2/tools/write.js +28 -0
  195. package/dist/ai-service/agent/tools2/tools/write.js.map +1 -0
  196. package/dist/ai-service/agent/tools2/types.d.ts +148 -0
  197. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -0
  198. package/dist/ai-service/agent/tools2/types.js +55 -0
  199. package/dist/ai-service/agent/tools2/types.js.map +1 -0
  200. package/dist/ai-service/agent/utils.d.ts +2 -3
  201. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  202. package/dist/ai-service/agent/utils.js +14 -13
  203. package/dist/ai-service/agent/utils.js.map +1 -1
  204. package/dist/ai-service/chat/chat-session-store.d.ts +5 -0
  205. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  206. package/dist/ai-service/chat/chat-session-store.js +484 -345
  207. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  208. package/dist/ai-service/chat/extract-history.d.ts +1 -0
  209. package/dist/ai-service/chat/extract-history.d.ts.map +1 -1
  210. package/dist/ai-service/chat/extract-history.js +12 -1
  211. package/dist/ai-service/chat/extract-history.js.map +1 -1
  212. package/dist/ai-service/const.d.ts +2 -1
  213. package/dist/ai-service/const.d.ts.map +1 -1
  214. package/dist/ai-service/const.js +7 -1
  215. package/dist/ai-service/const.js.map +1 -1
  216. package/dist/ai-service/index.d.ts +9 -8
  217. package/dist/ai-service/index.d.ts.map +1 -1
  218. package/dist/ai-service/index.js +7 -0
  219. package/dist/ai-service/index.js.map +1 -1
  220. package/dist/ai-service/integrations/metadata/database.d.ts.map +1 -1
  221. package/dist/ai-service/integrations/metadata/database.js +3 -29
  222. package/dist/ai-service/integrations/metadata/database.js.map +1 -1
  223. package/dist/ai-service/integrations/metadata/databricks.d.ts +25 -0
  224. package/dist/ai-service/integrations/metadata/databricks.d.ts.map +1 -0
  225. package/dist/ai-service/integrations/metadata/databricks.js +174 -0
  226. package/dist/ai-service/integrations/metadata/databricks.js.map +1 -0
  227. package/dist/ai-service/integrations/store.d.ts +34 -4
  228. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  229. package/dist/ai-service/integrations/store.js +125 -5
  230. package/dist/ai-service/integrations/store.js.map +1 -1
  231. package/dist/ai-service/llm/context/caching/constants.d.ts +27 -0
  232. package/dist/ai-service/llm/context/caching/constants.d.ts.map +1 -0
  233. package/dist/ai-service/llm/context/caching/constants.js +20 -0
  234. package/dist/ai-service/llm/context/caching/constants.js.map +1 -0
  235. package/dist/ai-service/llm/context/caching/factory.d.ts +12 -0
  236. package/dist/ai-service/llm/context/caching/factory.d.ts.map +1 -0
  237. package/dist/ai-service/llm/context/caching/factory.js +28 -0
  238. package/dist/ai-service/llm/context/caching/factory.js.map +1 -0
  239. package/dist/ai-service/llm/context/caching/index.d.ts +10 -0
  240. package/dist/ai-service/llm/context/caching/index.d.ts.map +1 -0
  241. package/dist/ai-service/llm/context/caching/index.js +9 -0
  242. package/dist/ai-service/llm/context/caching/index.js.map +1 -0
  243. package/dist/ai-service/llm/context/caching/quantized-strategy.d.ts +22 -0
  244. package/dist/ai-service/llm/context/caching/quantized-strategy.d.ts.map +1 -0
  245. package/dist/ai-service/llm/context/caching/quantized-strategy.js +48 -0
  246. package/dist/ai-service/llm/context/caching/quantized-strategy.js.map +1 -0
  247. package/dist/ai-service/llm/context/caching/strategy.d.ts +20 -0
  248. package/dist/ai-service/llm/context/caching/strategy.d.ts.map +1 -0
  249. package/dist/ai-service/llm/context/caching/strategy.js +5 -0
  250. package/dist/ai-service/llm/context/caching/strategy.js.map +1 -0
  251. package/dist/ai-service/llm/context/caching/types.d.ts +34 -0
  252. package/dist/ai-service/llm/context/caching/types.d.ts.map +1 -0
  253. package/dist/ai-service/llm/context/caching/types.js +8 -0
  254. package/dist/ai-service/llm/context/caching/types.js.map +1 -0
  255. package/dist/ai-service/llm/context/config.d.ts +51 -0
  256. package/dist/ai-service/llm/context/config.d.ts.map +1 -0
  257. package/dist/ai-service/llm/context/config.js +58 -0
  258. package/dist/ai-service/llm/context/config.js.map +1 -0
  259. package/dist/ai-service/llm/context/constants.d.ts +106 -0
  260. package/dist/ai-service/llm/context/constants.d.ts.map +1 -0
  261. package/dist/ai-service/llm/context/constants.js +106 -0
  262. package/dist/ai-service/llm/context/constants.js.map +1 -0
  263. package/dist/ai-service/llm/context/context.d.ts +207 -0
  264. package/dist/ai-service/llm/context/context.d.ts.map +1 -0
  265. package/dist/ai-service/llm/context/context.js +742 -0
  266. package/dist/ai-service/llm/context/context.js.map +1 -0
  267. package/dist/ai-service/llm/context/errors.d.ts +45 -0
  268. package/dist/ai-service/llm/context/errors.d.ts.map +1 -0
  269. package/dist/ai-service/llm/context/errors.js +56 -0
  270. package/dist/ai-service/llm/context/errors.js.map +1 -0
  271. package/dist/ai-service/llm/context/index.d.ts +13 -0
  272. package/dist/ai-service/llm/context/index.d.ts.map +1 -0
  273. package/dist/ai-service/llm/context/index.js +17 -0
  274. package/dist/ai-service/llm/context/index.js.map +1 -0
  275. package/dist/ai-service/llm/context/internal-types.d.ts +52 -0
  276. package/dist/ai-service/llm/context/internal-types.d.ts.map +1 -0
  277. package/dist/ai-service/llm/context/internal-types.js +28 -0
  278. package/dist/ai-service/llm/context/internal-types.js.map +1 -0
  279. package/dist/ai-service/llm/context/levels/index.d.ts +12 -0
  280. package/dist/ai-service/llm/context/levels/index.d.ts.map +1 -0
  281. package/dist/ai-service/llm/context/levels/index.js +12 -0
  282. package/dist/ai-service/llm/context/levels/index.js.map +1 -0
  283. package/dist/ai-service/llm/context/levels/l1.d.ts +83 -0
  284. package/dist/ai-service/llm/context/levels/l1.d.ts.map +1 -0
  285. package/dist/ai-service/llm/context/levels/l1.js +143 -0
  286. package/dist/ai-service/llm/context/levels/l1.js.map +1 -0
  287. package/dist/ai-service/llm/context/levels/l2.d.ts +60 -0
  288. package/dist/ai-service/llm/context/levels/l2.d.ts.map +1 -0
  289. package/dist/ai-service/llm/context/levels/l2.js +96 -0
  290. package/dist/ai-service/llm/context/levels/l2.js.map +1 -0
  291. package/dist/ai-service/llm/context/levels/l3.d.ts +46 -0
  292. package/dist/ai-service/llm/context/levels/l3.d.ts.map +1 -0
  293. package/dist/ai-service/llm/context/levels/l3.js +70 -0
  294. package/dist/ai-service/llm/context/levels/l3.js.map +1 -0
  295. package/dist/ai-service/llm/context/logger.d.ts +17 -0
  296. package/dist/ai-service/llm/context/logger.d.ts.map +1 -0
  297. package/dist/ai-service/llm/context/logger.js +26 -0
  298. package/dist/ai-service/llm/context/logger.js.map +1 -0
  299. package/dist/ai-service/llm/context/manager.d.ts +79 -0
  300. package/dist/ai-service/llm/context/manager.d.ts.map +1 -0
  301. package/dist/ai-service/llm/context/manager.js +136 -0
  302. package/dist/ai-service/llm/context/manager.js.map +1 -0
  303. package/dist/ai-service/llm/context/options.d.ts +43 -0
  304. package/dist/ai-service/llm/context/options.d.ts.map +1 -0
  305. package/dist/ai-service/llm/context/options.js +81 -0
  306. package/dist/ai-service/llm/context/options.js.map +1 -0
  307. package/dist/ai-service/llm/context/serialization.d.ts +56 -0
  308. package/dist/ai-service/llm/context/serialization.d.ts.map +1 -0
  309. package/dist/ai-service/llm/context/serialization.js +9 -0
  310. package/dist/ai-service/llm/context/serialization.js.map +1 -0
  311. package/dist/ai-service/llm/context/storage/index.d.ts +10 -0
  312. package/dist/ai-service/llm/context/storage/index.d.ts.map +1 -0
  313. package/dist/ai-service/llm/context/storage/index.js +2 -0
  314. package/dist/ai-service/llm/context/storage/index.js.map +1 -0
  315. package/dist/ai-service/llm/context/storage/local.d.ts +22 -0
  316. package/dist/ai-service/llm/context/storage/local.d.ts.map +1 -0
  317. package/dist/ai-service/llm/context/storage/local.js +42 -0
  318. package/dist/ai-service/llm/context/storage/local.js.map +1 -0
  319. package/dist/ai-service/llm/context/types.d.ts +125 -0
  320. package/dist/ai-service/llm/context/types.d.ts.map +1 -0
  321. package/dist/ai-service/llm/context/types.js +5 -0
  322. package/dist/ai-service/llm/context/types.js.map +1 -0
  323. package/dist/ai-service/llm/context/utils/content-compaction.d.ts +26 -0
  324. package/dist/ai-service/llm/context/utils/content-compaction.d.ts.map +1 -0
  325. package/dist/ai-service/llm/context/utils/content-compaction.js +52 -0
  326. package/dist/ai-service/llm/context/utils/content-compaction.js.map +1 -0
  327. package/dist/ai-service/llm/context/utils/index.d.ts +10 -0
  328. package/dist/ai-service/llm/context/utils/index.d.ts.map +1 -0
  329. package/dist/ai-service/llm/context/utils/index.js +10 -0
  330. package/dist/ai-service/llm/context/utils/index.js.map +1 -0
  331. package/dist/ai-service/llm/context/utils/message-utils.d.ts +34 -0
  332. package/dist/ai-service/llm/context/utils/message-utils.d.ts.map +1 -0
  333. package/dist/ai-service/llm/context/utils/message-utils.js +73 -0
  334. package/dist/ai-service/llm/context/utils/message-utils.js.map +1 -0
  335. package/dist/ai-service/llm/context/utils/token-estimation.d.ts +31 -0
  336. package/dist/ai-service/llm/context/utils/token-estimation.d.ts.map +1 -0
  337. package/dist/ai-service/llm/context/utils/token-estimation.js +52 -0
  338. package/dist/ai-service/llm/context/utils/token-estimation.js.map +1 -0
  339. package/dist/ai-service/llm/context/utils/visualization.d.ts +40 -0
  340. package/dist/ai-service/llm/context/utils/visualization.d.ts.map +1 -0
  341. package/dist/ai-service/llm/context/utils/visualization.js +516 -0
  342. package/dist/ai-service/llm/context/utils/visualization.js.map +1 -0
  343. package/dist/ai-service/llm/impl/anthropic.js +2 -2
  344. package/dist/ai-service/llm/impl/anthropic.js.map +1 -1
  345. package/dist/ai-service/llmobs/helpers.d.ts.map +1 -1
  346. package/dist/ai-service/llmobs/helpers.js +10 -19
  347. package/dist/ai-service/llmobs/helpers.js.map +1 -1
  348. package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +1 -1
  349. package/dist/ai-service/llmobs/middleware/stream-text.js +16 -11
  350. package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -1
  351. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ButtonPropsDocs.js +1 -1
  352. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/CheckboxPropsDocs.js +1 -1
  353. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ColumnPropsDocs.js +1 -1
  354. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ContainerPropsDocs.js +1 -1
  355. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DatePickerPropsDocs.js +1 -1
  356. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DropdownPropsDocs.js +1 -1
  357. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/IconPropsDocs.js +1 -1
  358. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ImagePropsDocs.js +1 -1
  359. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/InputPropsDocs.js +1 -1
  360. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ModalPropsDocs.js +1 -1
  361. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/PagePropsDocs.js +1 -1
  362. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SectionPropsDocs.js +1 -1
  363. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SlideoutPropsDocs.js +1 -1
  364. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SwitchPropsDocs.js +1 -1
  365. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TablePropsDocs.js +1 -1
  366. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TextPropsDocs.js +1 -1
  367. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/Dim.js +1 -1
  368. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/EventFlow.js +1 -1
  369. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/TextStyleWithVariant.js +1 -1
  370. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/full-examples.js +1 -1
  371. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.js +1 -1
  372. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-components-rules.js +1 -1
  373. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-custom-components.js +1 -1
  374. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-data-filtering.js +1 -1
  375. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-event-flow.js +1 -1
  376. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-forms.js +1 -1
  377. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-layouts.js +1 -1
  378. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-page.js +1 -1
  379. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-rbac.js +1 -1
  380. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-routes.js +1 -1
  381. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-state.js +1 -1
  382. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-theming-chakra-new.js +1 -1
  383. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-base.js +1 -1
  384. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-incremental.js +1 -1
  385. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-specific-edit.js +1 -1
  386. package/dist/ai-service/state-machine/clark-fsm.d.ts +9 -5
  387. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  388. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  389. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  390. package/dist/ai-service/state-machine/handlers/agent-planning.js +36 -9
  391. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  392. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  393. package/dist/ai-service/state-machine/handlers/llm-generating.js +161 -104
  394. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  395. package/dist/ai-service/state-machine/helpers/context-id.d.ts +4 -0
  396. package/dist/ai-service/state-machine/helpers/context-id.d.ts.map +1 -0
  397. package/dist/ai-service/state-machine/helpers/context-id.js +16 -0
  398. package/dist/ai-service/state-machine/helpers/context-id.js.map +1 -0
  399. package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
  400. package/dist/ai-service/state-machine/helpers/peer.js +7 -4
  401. package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
  402. package/dist/ai-service/state-machine/mocks.d.ts +2 -3
  403. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  404. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  405. package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts.map +1 -1
  406. package/dist/ai-service/transform/api-builder/to-sdk-transformer.js +0 -2
  407. package/dist/ai-service/transform/api-builder/to-sdk-transformer.js.map +1 -1
  408. package/dist/ai-service/types.d.ts +3 -0
  409. package/dist/ai-service/types.d.ts.map +1 -1
  410. package/dist/ai-service/types.js.map +1 -1
  411. package/dist/ai-service/util/parse-jwt.d.ts +12 -0
  412. package/dist/ai-service/util/parse-jwt.d.ts.map +1 -0
  413. package/dist/ai-service/util/parse-jwt.js +30 -0
  414. package/dist/ai-service/util/parse-jwt.js.map +1 -0
  415. package/dist/ai-service/util/safe-stringify.d.ts +1 -1
  416. package/dist/ai-service/util/safe-stringify.d.ts.map +1 -1
  417. package/dist/ai-service/util/safe-stringify.js +3 -3
  418. package/dist/ai-service/util/safe-stringify.js.map +1 -1
  419. package/dist/binding-extraction/extract-js-identifiers.d.ts.map +1 -1
  420. package/dist/binding-extraction/extract-js-identifiers.js +1 -1
  421. package/dist/binding-extraction/extract-js-identifiers.js.map +1 -1
  422. package/dist/build-errors.d.ts +10 -0
  423. package/dist/build-errors.d.ts.map +1 -0
  424. package/dist/build-errors.js +14 -0
  425. package/dist/build-errors.js.map +1 -0
  426. package/dist/client-error-overlay.d.ts +7 -0
  427. package/dist/client-error-overlay.d.ts.map +1 -0
  428. package/dist/client-error-overlay.js +124 -0
  429. package/dist/client-error-overlay.js.map +1 -0
  430. package/dist/component-docs-service/index.d.ts.map +1 -1
  431. package/dist/component-docs-service/index.js +0 -2
  432. package/dist/component-docs-service/index.js.map +1 -1
  433. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  434. package/dist/file-sync-vite-plugin.js +37 -26
  435. package/dist/file-sync-vite-plugin.js.map +1 -1
  436. package/dist/file-system-manager.d.ts.map +1 -1
  437. package/dist/file-system-manager.js +4 -7
  438. package/dist/file-system-manager.js.map +1 -1
  439. package/dist/injected-index.d.ts.map +1 -1
  440. package/dist/injected-index.js +6 -1
  441. package/dist/injected-index.js.map +1 -1
  442. package/dist/parsing/page.d.ts.map +1 -1
  443. package/dist/parsing/page.js +5 -5
  444. package/dist/parsing/page.js.map +1 -1
  445. package/dist/parsing/scope.d.ts.map +1 -1
  446. package/dist/parsing/scope.js +2 -7
  447. package/dist/parsing/scope.js.map +1 -1
  448. package/dist/routing.d.ts.map +1 -1
  449. package/dist/routing.js +0 -18
  450. package/dist/routing.js.map +1 -1
  451. package/package.json +8 -8
  452. package/dist/ai-service/agent/apis-system-prompt.d.ts +0 -3
  453. package/dist/ai-service/agent/apis-system-prompt.d.ts.map +0 -1
  454. package/dist/ai-service/agent/apis.d.ts +0 -55
  455. package/dist/ai-service/agent/apis.d.ts.map +0 -1
  456. package/dist/ai-service/agent/apis.js.map +0 -1
@@ -0,0 +1,174 @@
1
+ import { DatabaseIntegrationMetadata } from "./database.js";
2
+ export class DatabricksIntegrationMetadata extends DatabaseIntegrationMetadata {
3
+ static async refineMetadataForPrompt({ metadata, prompt, llmProvider, }) {
4
+ // If no prompt provided, just do structural transformation without filtering
5
+ if (!prompt || prompt.trim() === "") {
6
+ return this.transformToHierarchical(metadata);
7
+ }
8
+ // First, normalize the Databricks table names to full qualified format
9
+ // so the LLM filtering works correctly
10
+ const normalizedMetadata = this.normalizeTableNames(metadata);
11
+ // Apply the parent's refinement (LLM-based table filtering, etc.)
12
+ // This works on the flat structure with normalized names
13
+ const filteredMetadata = await super.refineMetadataForPrompt({
14
+ metadata: normalizedMetadata,
15
+ prompt,
16
+ llmProvider,
17
+ });
18
+ // Transform the filtered result into hierarchical catalog structure
19
+ return this.transformToHierarchical(filteredMetadata);
20
+ }
21
+ /**
22
+ * Normalize Databricks table names to full qualified format (catalog.schema.table)
23
+ * This makes them usable by the parent's LLM filtering logic
24
+ */
25
+ static normalizeTableNames(metadata) {
26
+ const schema = metadata.schema || metadata.dbSchema;
27
+ if (!schema || !schema.tables || !Array.isArray(schema.tables)) {
28
+ return metadata;
29
+ }
30
+ const normalizedTables = schema.tables.map((table) => {
31
+ // In the current structure:
32
+ // - table.schema contains the CATALOG name (e.g., "instacart")
33
+ // - table.name contains SCHEMA.TABLE (e.g., "default.customers")
34
+ const catalogName = table.schema || "default";
35
+ const nameParts = table.name.split(".");
36
+ let schemaName;
37
+ let tableName;
38
+ if (nameParts.length === 2) {
39
+ schemaName = nameParts[0] || "default";
40
+ tableName = nameParts[1] || table.name;
41
+ }
42
+ else {
43
+ schemaName = "default";
44
+ tableName = table.name;
45
+ }
46
+ // Create the full qualified name
47
+ const fullName = `${catalogName}.${schemaName}.${tableName}`;
48
+ // Return table with normalized name for filtering
49
+ return {
50
+ ...table,
51
+ name: fullName, // Use full qualified name for filtering
52
+ _originalCatalog: catalogName,
53
+ _originalSchema: schemaName,
54
+ _originalTableName: tableName,
55
+ };
56
+ });
57
+ return {
58
+ schema: {
59
+ tables: normalizedTables,
60
+ schemas: schema.schemas,
61
+ },
62
+ };
63
+ }
64
+ static transformToHierarchical(metadata) {
65
+ const schema = metadata.schema || metadata.dbSchema;
66
+ if (!schema || !schema.tables || !Array.isArray(schema.tables)) {
67
+ return metadata;
68
+ }
69
+ // Group tables by catalog and schema
70
+ const catalogMap = new Map();
71
+ for (const table of schema.tables) {
72
+ // If the table has been normalized, use the _original* fields
73
+ // Otherwise, parse from the existing structure
74
+ const catalogName = table._originalCatalog || table.schema || "default";
75
+ const schemaName = table._originalSchema || "default";
76
+ const tableName = table._originalTableName || table.name;
77
+ // Get or create catalog entry
78
+ if (!catalogMap.has(catalogName)) {
79
+ catalogMap.set(catalogName, new Map());
80
+ }
81
+ const schemaMap = catalogMap.get(catalogName);
82
+ // Get or create schema entry within catalog
83
+ if (!schemaMap.has(schemaName)) {
84
+ schemaMap.set(schemaName, []);
85
+ }
86
+ const tables = schemaMap.get(schemaName);
87
+ // Create the full qualified name for convenience
88
+ const fullName = `${catalogName}.${schemaName}.${tableName}`;
89
+ // Clean up the table object and remove temporary fields
90
+ const cleanTable = { ...table };
91
+ delete cleanTable._originalCatalog;
92
+ delete cleanTable._originalSchema;
93
+ delete cleanTable._originalTableName;
94
+ // Add table with updated structure
95
+ tables.push({
96
+ ...cleanTable,
97
+ name: tableName, // Just the table name
98
+ schema: schemaName, // Just the schema name
99
+ catalog: catalogName, // Add catalog field
100
+ fullName, // Full qualified name for easy reference
101
+ });
102
+ }
103
+ // Build the hierarchical structure
104
+ const catalogs = [];
105
+ for (const [catalogName, schemaMap] of catalogMap.entries()) {
106
+ const schemas = [];
107
+ for (const [schemaName, tables] of schemaMap.entries()) {
108
+ schemas.push({
109
+ name: schemaName,
110
+ tables,
111
+ });
112
+ }
113
+ catalogs.push({
114
+ name: catalogName,
115
+ schemas,
116
+ });
117
+ }
118
+ return {
119
+ schema: {
120
+ catalogs,
121
+ },
122
+ };
123
+ }
124
+ /**
125
+ * Override to keep full qualified names without catalog-stripping normalization
126
+ */
127
+ static async dbTablesForPrompt(dbSchema, prompt, llmProvider) {
128
+ const { buildDbSchemaIntentPrompt } = await import("../../prompt-builder-service/builders/dbschema-intent.js");
129
+ const { generateObject } = await import("ai");
130
+ const { z } = await import("zod");
131
+ const { traceLLM } = await import("../../llmobs/helpers.js");
132
+ const { getLogger } = await import("../../../util/logger.js");
133
+ const { prompt: refineSchemaPrompt } = buildDbSchemaIntentPrompt(prompt, dbSchema);
134
+ const model = llmProvider.modelForTask("openApiIntent");
135
+ const flexibleSchema = z.object({
136
+ tables: z
137
+ .array(z.string())
138
+ .describe("The tables that the user wants to access"),
139
+ });
140
+ const result = await traceLLM("refineDbSchema", model.modelId, model.provider, async () => {
141
+ return await generateObject({
142
+ model,
143
+ schema: flexibleSchema,
144
+ prompt: refineSchemaPrompt,
145
+ });
146
+ });
147
+ if (!result?.object?.tables) {
148
+ getLogger().warn(`No tables returned from model. Result: ${JSON.stringify(result)}`);
149
+ return [];
150
+ }
151
+ // For Databricks, don't normalize - keep full qualified names (catalog.schema.table)
152
+ const validChunkTableNames = new Set(dbSchema.tables.map((t) => t.name).filter(Boolean));
153
+ // Filter to only include tables that exist in this chunk
154
+ // Match exactly on full qualified names
155
+ const filteredTables = result.object.tables.filter((tableName) => {
156
+ return validChunkTableNames.has(tableName);
157
+ });
158
+ return filteredTables;
159
+ }
160
+ /**
161
+ * Override to handle matching with full qualified names
162
+ */
163
+ static trimSchema(tables, toKeep) {
164
+ // For Databricks, match against full qualified names
165
+ const toKeepSet = new Set(toKeep);
166
+ const refinedTables = tables.filter((table) => {
167
+ // The table.name should be the full qualified name at this point
168
+ // (e.g., "instacart.default.customers")
169
+ return toKeepSet.has(table.name);
170
+ });
171
+ return refinedTables;
172
+ }
173
+ }
174
+ //# sourceMappingURL=databricks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"databricks.js","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/databricks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAc5D,MAAM,OAAO,6BAA8B,SAAQ,2BAA2B;IACrE,MAAM,CAAU,KAAK,CAAC,uBAAuB,CAAC,EACnD,QAAQ,EACR,MAAM,EACN,WAAW,GAKZ;QACC,6EAA6E;QAC7E,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,uEAAuE;QACvE,uCAAuC;QACvC,MAAM,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAE9D,kEAAkE;QAClE,yDAAyD;QACzD,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC;YAC3D,QAAQ,EAAE,kBAAkB;YAC5B,MAAM;YACN,WAAW;SACZ,CAAC,CAAC;QAEH,oEAAoE;QACpE,OAAO,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,mBAAmB,CAChC,QAA6B;QAE7B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC;QAEpD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAA0B,EAAE,EAAE;YACxE,4BAA4B;YAC5B,+DAA+D;YAC/D,iEAAiE;YACjE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;YAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAExC,IAAI,UAAkB,CAAC;YACvB,IAAI,SAAiB,CAAC;YAEtB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;gBACvC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,SAAS,CAAC;gBACvB,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;YACzB,CAAC;YAED,iCAAiC;YACjC,MAAM,QAAQ,GAAG,GAAG,WAAW,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;YAE7D,kDAAkD;YAClD,OAAO;gBACL,GAAG,KAAK;gBACR,IAAI,EAAE,QAAQ,EAAE,wCAAwC;gBACxD,gBAAgB,EAAE,WAAW;gBAC7B,eAAe,EAAE,UAAU;gBAC3B,kBAAkB,EAAE,SAAS;aAC9B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE;gBACN,MAAM,EAAE,gBAAgB;gBACxB,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB;SACF,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,uBAAuB,CACpC,QAA6B;QAE7B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC;QAEpD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,qCAAqC;QACrC,MAAM,UAAU,GAAG,IAAI,GAAG,EAA8C,CAAC;QAEzE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,8DAA8D;YAC9D,+CAA+C;YAC/C,MAAM,WAAW,GACd,KAAa,CAAC,gBAAgB,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;YAC/D,MAAM,UAAU,GAAI,KAAa,CAAC,eAAe,IAAI,SAAS,CAAC;YAC/D,MAAM,SAAS,GAAI,KAAa,CAAC,kBAAkB,IAAI,KAAK,CAAC,IAAI,CAAC;YAElE,8BAA8B;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,EAAiC,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;YAE/C,4CAA4C;YAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAChC,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;YAE1C,iDAAiD;YACjD,MAAM,QAAQ,GAAG,GAAG,WAAW,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;YAE7D,wDAAwD;YACxD,MAAM,UAAU,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YAChC,OAAQ,UAAkB,CAAC,gBAAgB,CAAC;YAC5C,OAAQ,UAAkB,CAAC,eAAe,CAAC;YAC3C,OAAQ,UAAkB,CAAC,kBAAkB,CAAC;YAE9C,mCAAmC;YACnC,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,UAAU;gBACb,IAAI,EAAE,SAAS,EAAE,sBAAsB;gBACvC,MAAM,EAAE,UAAU,EAAE,uBAAuB;gBAC3C,OAAO,EAAE,WAAW,EAAE,oBAAoB;gBAC1C,QAAQ,EAAE,yCAAyC;aACW,CAAC,CAAC;QACpE,CAAC;QAED,mCAAmC;QACnC,MAAM,QAAQ,GAAwB,EAAE,CAAC;QAEzC,KAAK,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,MAAM,OAAO,GAAuB,EAAE,CAAC;YAEvC,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,WAAW;gBACjB,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,MAAM,EAAE;gBACN,QAAQ;aACT;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAU,KAAK,CAAC,iBAAiB,CACrC,QAAa,EACb,MAAc,EACd,WAAgB;QAEhB,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAChD,0DAA0D,CAC3D,CAAC;QACF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC7D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAE9D,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,yBAAyB,CAC9D,MAAM,EACN,QAAQ,CACT,CAAC;QAEF,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAExD,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;YAC9B,MAAM,EAAE,CAAC;iBACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,CAAC,0CAA0C,CAAC;SACxD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC3B,gBAAgB,EAChB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,QAAQ,EACd,KAAK,IAAI,EAAE;YACT,OAAO,MAAM,cAAc,CAAC;gBAC1B,KAAK;gBACL,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,kBAAkB;aAC3B,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC5B,SAAS,EAAE,CAAC,IAAI,CACd,0CAA0C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CACnE,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,qFAAqF;QACrF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAClC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CACxD,CAAC;QAEF,yDAAyD;QACzD,wCAAwC;QACxC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAiB,EAAE,EAAE;YACvE,OAAO,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,MAAM,CAAU,UAAU,CACxB,MAA6B,EAC7B,MAAgB;QAEhB,qDAAqD;QACrD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5C,iEAAiE;YACjE,wCAAwC;YACxC,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
@@ -1,19 +1,49 @@
1
+ import { PluginType, type Plugin, type PluginRegistry } from "@superblocksteam/shared";
1
2
  import { IntegrationMetadata } from "./metadata/index.js";
2
3
  import type { OpenApiSpec } from "../../util/open-api.js";
3
4
  import type { LLMProvider } from "../llm/types.js";
4
5
  import type { Clark, ClarkStateHandlerParams } from "../state-machine/clark-fsm.js";
5
- import type { SdkIntegration } from "../types.js";
6
+ import type { SdkIntegration, EditorClient } from "../types.js";
6
7
  import type { PromptContextIntegration } from "@superblocksteam/library-shared/types";
8
+ export type IntegrationId = string;
9
+ export type PluginId = string;
10
+ export type Integration = IntegrationHeader & {
11
+ metadata: IntegrationMetadataRecord;
12
+ };
13
+ export type IntegrationHeader = {
14
+ id: IntegrationId;
15
+ name: string;
16
+ plugin: PluginHeader;
17
+ };
18
+ export type PluginHeader = {
19
+ id: PluginId;
20
+ type: PluginType;
21
+ isBuiltIn: boolean;
22
+ basePluginId?: PluginId;
23
+ };
24
+ export type IntegrationMetadataRecord = Record<string, any> & {
25
+ openApiSpecRef?: string;
26
+ };
7
27
  export declare class IntegrationStore {
8
28
  private openApiSpecs;
29
+ private pluginRegistry;
30
+ private integrations;
31
+ private metadataCache;
32
+ constructor(pluginRegistry?: PluginRegistry);
33
+ availableIntegrations(): IntegrationHeader[];
34
+ getPlugin(pluginId: PluginId): Plugin | undefined;
35
+ insertFromPromptContext(integration: PromptContextIntegration, editorClient?: EditorClient): void;
36
+ getHeader(id: IntegrationId): IntegrationHeader | undefined;
37
+ getMetadata(id: IntegrationId, editorClient?: EditorClient): Promise<IntegrationMetadataRecord | undefined>;
38
+ private getIntegration;
9
39
  getIntegrationForPromptContext(integration: PromptContextIntegration, prompt: string, clark: Clark, params: ClarkStateHandlerParams): Promise<SdkIntegration | null>;
10
- getRelevantMetadata({ clark, integration, prompt, llmProvider, }: {
40
+ getRelevantMetadata({ clark, integrationId, prompt, llmProvider, }: {
11
41
  clark: Clark;
12
- integration: PromptContextIntegration;
42
+ integrationId: IntegrationId;
13
43
  prompt: string;
14
44
  llmProvider: LLMProvider;
15
45
  }): Promise<Record<string, any>>;
16
46
  getMetadataClassForIntegration(integration: PromptContextIntegration): typeof IntegrationMetadata;
17
- getOpenApiSpec(integration: PromptContextIntegration, clark: Clark): Promise<OpenApiSpec | undefined>;
47
+ getOpenApiSpec(integration: Integration, clark: Clark): Promise<OpenApiSpec | undefined>;
18
48
  }
19
49
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEtF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAmC;IAMjD,8BAA8B,CAClC,WAAW,EAAE,wBAAwB,EACrC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAiC3B,mBAAmB,CAAC,EACxB,KAAK,EACL,WAAW,EACX,MAAM,EACN,WAAW,GACZ,EAAE;QACD,KAAK,EAAE,KAAK,CAAC;QACb,WAAW,EAAE,wBAAwB,CAAC;QACtC,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,WAAW,CAAC;KAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAqBhC,8BAA8B,CAC5B,WAAW,EAAE,wBAAwB,GACpC,OAAO,mBAAmB;IAoBvB,cAAc,CAClB,WAAW,EAAE,wBAAwB,EACrC,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CAyBpC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAEV,KAAK,MAAM,EACX,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AASjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,cAAc,EAGd,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEtF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AACnC,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC5C,QAAQ,EAAE,yBAAyB,CAAC;CACrC,CAAC;AAaF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,aAAa,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,QAAQ,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,aAAa,CACT;gBAEA,cAAc,GAAE,cAAyC;IAIrE,qBAAqB,IAAI,iBAAiB,EAAE;IAM5C,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;IAIjD,uBAAuB,CACrB,WAAW,EAAE,wBAAwB,EACrC,YAAY,CAAC,EAAE,YAAY;IA8C7B,SAAS,CAAC,EAAE,EAAE,aAAa,GAAG,iBAAiB,GAAG,SAAS;IAQrD,WAAW,CACf,EAAE,EAAE,aAAa,EACjB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;YAwBnC,cAAc;IAmBtB,8BAA8B,CAClC,WAAW,EAAE,wBAAwB,EACrC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAiC3B,mBAAmB,CAAC,EACxB,KAAK,EACL,aAAa,EACb,MAAM,EACN,WAAW,GACZ,EAAE;QACD,KAAK,EAAE,KAAK,CAAC;QACb,aAAa,EAAE,aAAa,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,WAAW,CAAC;KAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAuChC,8BAA8B,CAC5B,WAAW,EAAE,wBAAwB,GACpC,OAAO,mBAAmB;IAuBvB,cAAc,CAClB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CAyBpC"}
@@ -32,23 +32,39 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
32
32
  if (target) Object.defineProperty(target, contextIn.name, descriptor);
33
33
  done = true;
34
34
  };
35
+ import { getBasePluginId, PluginType, RegisteredPlugins, } from "@superblocksteam/shared";
35
36
  import { isEmpty } from "lodash-es";
37
+ import { getLogger } from "../../util/logger.js";
36
38
  import { datasourceSdkClassByType } from "../const.js";
37
39
  import { databaseIntegrationTypes } from "../const.js";
38
40
  import llmobs from "../llmobs/index.js";
39
41
  import { DatabaseIntegrationMetadata } from "./metadata/database.js";
42
+ import { DatabricksIntegrationMetadata } from "./metadata/databricks.js";
40
43
  import { GraphQLIntegrationMetadata } from "./metadata/graphql-based.js";
41
44
  import { IntegrationMetadata } from "./metadata/index.js";
42
45
  import { OpenApiIntegrationMetadata } from "./metadata/open-api.js";
43
46
  import { TableBasedIntegrationMetadata } from "./metadata/table-based.js";
47
+ function toPromptContextIntegration(integration) {
48
+ return {
49
+ id: integration.id,
50
+ name: integration.name,
51
+ type: integration.plugin.id,
52
+ metadata: integration.metadata,
53
+ };
54
+ }
44
55
  let IntegrationStore = (() => {
45
56
  let _instanceExtraInitializers = [];
57
+ let _getMetadata_decorators;
46
58
  let _getIntegrationForPromptContext_decorators;
47
59
  let _getRelevantMetadata_decorators;
48
60
  let _getOpenApiSpec_decorators;
49
61
  return class IntegrationStore {
50
62
  static {
51
63
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
64
+ _getMetadata_decorators = [llmobs.decorate({
65
+ kind: "task",
66
+ name: "IntegrationStore.getMetadata",
67
+ })];
52
68
  _getIntegrationForPromptContext_decorators = [llmobs.decorate({
53
69
  kind: "task",
54
70
  name: "IntegrationStore.getIntegrationForPromptContext",
@@ -61,12 +77,98 @@ let IntegrationStore = (() => {
61
77
  kind: "task",
62
78
  name: "IntegrationStore.getOpenApiSpec",
63
79
  })];
80
+ __esDecorate(this, null, _getMetadata_decorators, { kind: "method", name: "getMetadata", static: false, private: false, access: { has: obj => "getMetadata" in obj, get: obj => obj.getMetadata }, metadata: _metadata }, null, _instanceExtraInitializers);
64
81
  __esDecorate(this, null, _getIntegrationForPromptContext_decorators, { kind: "method", name: "getIntegrationForPromptContext", static: false, private: false, access: { has: obj => "getIntegrationForPromptContext" in obj, get: obj => obj.getIntegrationForPromptContext }, metadata: _metadata }, null, _instanceExtraInitializers);
65
82
  __esDecorate(this, null, _getRelevantMetadata_decorators, { kind: "method", name: "getRelevantMetadata", static: false, private: false, access: { has: obj => "getRelevantMetadata" in obj, get: obj => obj.getRelevantMetadata }, metadata: _metadata }, null, _instanceExtraInitializers);
66
83
  __esDecorate(this, null, _getOpenApiSpec_decorators, { kind: "method", name: "getOpenApiSpec", static: false, private: false, access: { has: obj => "getOpenApiSpec" in obj, get: obj => obj.getOpenApiSpec }, metadata: _metadata }, null, _instanceExtraInitializers);
67
84
  if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
68
85
  }
69
86
  openApiSpecs = (__runInitializers(this, _instanceExtraInitializers), {});
87
+ pluginRegistry;
88
+ integrations = [];
89
+ metadataCache = new Map();
90
+ constructor(pluginRegistry = RegisteredPlugins("foo")) {
91
+ this.pluginRegistry = pluginRegistry;
92
+ }
93
+ availableIntegrations() {
94
+ return this.integrations.filter((i) => i.plugin.type === PluginType.CODE || !i.plugin.isBuiltIn);
95
+ }
96
+ getPlugin(pluginId) {
97
+ return this.pluginRegistry.get(pluginId);
98
+ }
99
+ insertFromPromptContext(integration, editorClient) {
100
+ const pluginId = integration.type;
101
+ const plugin = this.pluginRegistry.get(pluginId);
102
+ const basePluginId = getBasePluginId(pluginId) ?? pluginId;
103
+ const basePlugin = this.pluginRegistry.get(basePluginId);
104
+ if (!plugin) {
105
+ // this should never happen
106
+ getLogger().error(`No plugin found for integration type ${integration.type}`);
107
+ return;
108
+ }
109
+ const pluginHeader = {
110
+ id: plugin?.id,
111
+ type: plugin.type,
112
+ isBuiltIn: this.pluginRegistry
113
+ .defaultPlugins()
114
+ .map((p) => p.id)
115
+ .includes(pluginId),
116
+ basePluginId: basePlugin?.id !== pluginId ? basePlugin?.id : undefined,
117
+ };
118
+ const header = {
119
+ id: integration.id,
120
+ name: integration.name,
121
+ plugin: pluginHeader,
122
+ };
123
+ const existingIndex = this.integrations.findIndex((i) => i.id === header.id);
124
+ if (existingIndex !== -1) {
125
+ this.integrations[existingIndex] = header;
126
+ }
127
+ else {
128
+ this.integrations.push(header);
129
+ }
130
+ if (editorClient) {
131
+ // prefetch metadata
132
+ this.getMetadata(integration.id, editorClient).catch((e) => {
133
+ getLogger().error(`Error prefetching metadata for integration ${integration.id}: ${e}`);
134
+ });
135
+ }
136
+ }
137
+ getHeader(id) {
138
+ return this.integrations.find((i) => i.id === id);
139
+ }
140
+ async getMetadata(id, editorClient) {
141
+ if (!editorClient) {
142
+ getLogger().warn(`[integration-store] No editor client provided, cannot fetch metadata for integration ${id}. Returning cached metadata if available.`);
143
+ return this.metadataCache.get(id);
144
+ }
145
+ // stale-while-revalidate strategy
146
+ const promise = editorClient?.call
147
+ .aiGetIntegration({ integrationId: id })
148
+ .then((integration) => {
149
+ const existing = this.metadataCache.get(id) || {};
150
+ this.metadataCache.set(id, {
151
+ ...existing,
152
+ ...integration.metadata,
153
+ });
154
+ return this.metadataCache.get(id);
155
+ });
156
+ if (this.metadataCache.has(id)) {
157
+ return this.metadataCache.get(id);
158
+ }
159
+ return await promise;
160
+ }
161
+ async getIntegration(id, editorClient) {
162
+ const header = this.getHeader(id);
163
+ if (!header) {
164
+ return undefined;
165
+ }
166
+ const metadata = await this.getMetadata(id, editorClient);
167
+ return {
168
+ ...header,
169
+ metadata: metadata || {},
170
+ };
171
+ }
70
172
  async getIntegrationForPromptContext(integration, prompt, clark, params) {
71
173
  const { name, id } = integration;
72
174
  const type = integration.type;
@@ -79,7 +181,7 @@ let IntegrationStore = (() => {
79
181
  }
80
182
  const metadata = await this.getRelevantMetadata({
81
183
  clark,
82
- integration,
184
+ integrationId: integration.id,
83
185
  prompt,
84
186
  llmProvider: params.llmProvider,
85
187
  });
@@ -90,18 +192,30 @@ let IntegrationStore = (() => {
90
192
  metadata,
91
193
  };
92
194
  }
93
- async getRelevantMetadata({ clark, integration, prompt, llmProvider, }) {
195
+ async getRelevantMetadata({ clark, integrationId, prompt, llmProvider, }) {
196
+ getLogger().debug(`[integration-store] Fetching metadata for integration ${integrationId}
197
+ `);
94
198
  // If we're operating on an openapi integration, we need to fetch its full spec.
95
199
  // It would be nice to push this down, but the cache lives on this instance as this.openApiSpecs
200
+ const integration = await this.getIntegration(integrationId, clark.context.peer);
201
+ if (!integration) {
202
+ throw new Error(`No integration found for id ${integrationId}`);
203
+ }
96
204
  let metadata = integration.metadata;
97
- if (isOpenApiIntegration(integration)) {
205
+ const promptContextIntegration = toPromptContextIntegration(integration);
206
+ if (isOpenApiIntegration(promptContextIntegration)) {
98
207
  const openApiSpec = await this.getOpenApiSpec(integration, clark);
99
208
  metadata = {
100
- ...(integration.metadata || {}),
209
+ ...(metadata ?? (integration.metadata || {})),
101
210
  openApiSpec,
102
211
  };
103
212
  }
104
- const klass = this.getMetadataClassForIntegration(integration);
213
+ if (!metadata) {
214
+ // we couldn't fetch metadata for some reason, throw error
215
+ throw new Error(`No metadata found for integration ${integration.id}`);
216
+ }
217
+ const klass = this.getMetadataClassForIntegration(promptContextIntegration);
218
+ getLogger().info(`[integration-store] Using metadata class ${klass.name} for integration ${integration.id} of type ${integration.plugin.id}`);
105
219
  return await klass.refineMetadataForPrompt({
106
220
  metadata,
107
221
  prompt,
@@ -112,6 +226,9 @@ let IntegrationStore = (() => {
112
226
  if (isOpenApiIntegration(integration)) {
113
227
  return OpenApiIntegrationMetadata;
114
228
  }
229
+ if (isDatabricksIntegration(integration)) {
230
+ return DatabricksIntegrationMetadata;
231
+ }
115
232
  if (isDatabaseIntegration(integration)) {
116
233
  return DatabaseIntegrationMetadata;
117
234
  }
@@ -155,6 +272,9 @@ function isSdkIntegration(integration) {
155
272
  return (typeof integration.type === "string" &&
156
273
  integration.type in datasourceSdkClassByType);
157
274
  }
275
+ function isDatabricksIntegration(integration) {
276
+ return integration.type === "databricks";
277
+ }
158
278
  function isDatabaseIntegration(integration) {
159
279
  return (databaseIntegrationTypes.includes(integration.type) || integration.type === "salesforce");
160
280
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Provider cache configuration constants.
3
+ *
4
+ * These are the parameters for Anthropic's recent models
5
+ * https://docs.claude.com/en/docs/build-with-claude/prompt-caching#cache-limitations
6
+ */
7
+ export declare const PROVIDER_CACHE_MAX_BREAKPOINTS = 4;
8
+ export declare const PROVIDER_CACHE_MIN_CACHEABLE_TOKENS = 1024;
9
+ /**
10
+ * Provider-specific cache control options.
11
+ *
12
+ * Different LLM providers use different formats for cache control.
13
+ * This maps to the appropriate format for each provider.
14
+ */
15
+ export declare const CACHE_BREAKPOINT_PROVIDER_OPTIONS: {
16
+ bedrock: {
17
+ cachePoint: {
18
+ type: string;
19
+ };
20
+ };
21
+ anthropic: {
22
+ cacheControl: {
23
+ type: string;
24
+ };
25
+ };
26
+ };
27
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/caching/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAChD,eAAO,MAAM,mCAAmC,OAAO,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;CAI7C,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Provider cache configuration constants.
3
+ *
4
+ * These are the parameters for Anthropic's recent models
5
+ * https://docs.claude.com/en/docs/build-with-claude/prompt-caching#cache-limitations
6
+ */
7
+ export const PROVIDER_CACHE_MAX_BREAKPOINTS = 4;
8
+ export const PROVIDER_CACHE_MIN_CACHEABLE_TOKENS = 1024;
9
+ /**
10
+ * Provider-specific cache control options.
11
+ *
12
+ * Different LLM providers use different formats for cache control.
13
+ * This maps to the appropriate format for each provider.
14
+ */
15
+ export const CACHE_BREAKPOINT_PROVIDER_OPTIONS = {
16
+ bedrock: { cachePoint: { type: "default" } },
17
+ // Vertex provider uses anthropic key
18
+ anthropic: { cacheControl: { type: "ephemeral" } },
19
+ };
20
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/caching/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,CAAC;AAExD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAC5C,qCAAqC;IACrC,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;CACnD,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Factory for creating cache strategy instances.
3
+ */
4
+ import type { CacheStrategy } from "./strategy.js";
5
+ import type { CacheStrategyType } from "./types.js";
6
+ /**
7
+ * Factory for creating cache strategy instances.
8
+ */
9
+ export declare class CacheStrategyFactory {
10
+ static create(type?: CacheStrategyType): CacheStrategy;
11
+ }
12
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/caching/factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,MAAM,CACX,IAAI,GAAE,iBAA0C,GAC/C,aAAa;CASjB"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Factory for creating cache strategy instances.
3
+ */
4
+ import { QuantizedIntervalCacheStrategy } from "./quantized-strategy.js";
5
+ import { DEFAULT_CACHE_STRATEGY } from "./types.js";
6
+ /**
7
+ * Factory for creating cache strategy instances.
8
+ */
9
+ export class CacheStrategyFactory {
10
+ static create(type = DEFAULT_CACHE_STRATEGY) {
11
+ switch (type) {
12
+ case "none":
13
+ return new NoOpCacheStrategy();
14
+ case "quantized":
15
+ default:
16
+ return new QuantizedIntervalCacheStrategy();
17
+ }
18
+ }
19
+ }
20
+ /**
21
+ * No-op cache strategy (disables caching).
22
+ */
23
+ class NoOpCacheStrategy {
24
+ findBreakpoints() {
25
+ return [];
26
+ }
27
+ }
28
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/caching/factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAIpD;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAC/B,MAAM,CAAC,MAAM,CACX,OAA0B,sBAAsB;QAEhD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM;gBACT,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACjC,KAAK,WAAW,CAAC;YACjB;gBACE,OAAO,IAAI,8BAA8B,EAAE,CAAC;QAChD,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,iBAAiB;IACrB,eAAe;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Public API exports for caching module.
3
+ */
4
+ export type { CacheInput, TokenCounts, CacheStrategyType } from "./types.js";
5
+ export { DEFAULT_CACHE_STRATEGY } from "./types.js";
6
+ export { type CacheStrategy } from "./strategy.js";
7
+ export { QuantizedIntervalCacheStrategy } from "./quantized-strategy.js";
8
+ export { CacheStrategyFactory } from "./factory.js";
9
+ export { CACHE_BREAKPOINT_PROVIDER_OPTIONS, PROVIDER_CACHE_MAX_BREAKPOINTS, PROVIDER_CACHE_MIN_CACHEABLE_TOKENS, } from "./constants.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/caching/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EACL,iCAAiC,EACjC,8BAA8B,EAC9B,mCAAmC,GACpC,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Public API exports for caching module.
3
+ */
4
+ export { DEFAULT_CACHE_STRATEGY } from "./types.js";
5
+ export {} from "./strategy.js";
6
+ export { QuantizedIntervalCacheStrategy } from "./quantized-strategy.js";
7
+ export { CacheStrategyFactory } from "./factory.js";
8
+ export { CACHE_BREAKPOINT_PROVIDER_OPTIONS, PROVIDER_CACHE_MAX_BREAKPOINTS, PROVIDER_CACHE_MIN_CACHEABLE_TOKENS, } from "./constants.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/caching/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAsB,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EACL,iCAAiC,EACjC,8BAA8B,EAC9B,mCAAmC,GACpC,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Quantized interval cache strategy implementation.
3
+ *
4
+ * Places cache breakpoints at regular intervals to maximize cache hits
5
+ * while respecting provider limits.
6
+ */
7
+ import type { CacheStrategy } from "./strategy.js";
8
+ import type { CacheInput } from "./types.js";
9
+ /**
10
+ * Quantized interval cache strategy.
11
+ *
12
+ * Finds optimal positions for cache breakpoints in message array.
13
+ *
14
+ * Strategy:
15
+ * - Always place breakpoint at system prompt (index 0) if present
16
+ * - Divide total tokens into intervals of minCacheableTokens
17
+ * - Space breakpoints evenly across intervals, respecting maxBreakpoints
18
+ */
19
+ export declare class QuantizedIntervalCacheStrategy implements CacheStrategy {
20
+ findBreakpoints(input: CacheInput): number[];
21
+ }
22
+ //# sourceMappingURL=quantized-strategy.d.ts.map