@nodetool-ai/base-nodes 0.7.0-rc.22 → 0.8.1

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 (363) hide show
  1. package/README.md +21 -0
  2. package/dist/.nodetool-build-stamp +1 -0
  3. package/dist/index.d.ts +61 -67
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +179 -173
  6. package/dist/index.js.map +1 -1
  7. package/dist/platforms/browser.d.ts +19 -0
  8. package/dist/platforms/browser.d.ts.map +1 -0
  9. package/dist/platforms/browser.js +29 -0
  10. package/dist/platforms/browser.js.map +1 -0
  11. package/package.json +53 -65
  12. package/dist/lib/audio-wav.d.ts +0 -66
  13. package/dist/lib/audio-wav.d.ts.map +0 -1
  14. package/dist/lib/audio-wav.js +0 -215
  15. package/dist/lib/audio-wav.js.map +0 -1
  16. package/dist/nodes/agent-tool-hydration.d.ts +0 -10
  17. package/dist/nodes/agent-tool-hydration.d.ts.map +0 -1
  18. package/dist/nodes/agent-tool-hydration.js +0 -43
  19. package/dist/nodes/agent-tool-hydration.js.map +0 -1
  20. package/dist/nodes/agents.d.ts +0 -262
  21. package/dist/nodes/agents.d.ts.map +0 -1
  22. package/dist/nodes/agents.js +0 -2856
  23. package/dist/nodes/agents.js.map +0 -1
  24. package/dist/nodes/anthropic.d.ts +0 -26
  25. package/dist/nodes/anthropic.d.ts.map +0 -1
  26. package/dist/nodes/anthropic.js +0 -133
  27. package/dist/nodes/anthropic.js.map +0 -1
  28. package/dist/nodes/apify.d.ts +0 -120
  29. package/dist/nodes/apify.d.ts.map +0 -1
  30. package/dist/nodes/apify.js +0 -618
  31. package/dist/nodes/apify.js.map +0 -1
  32. package/dist/nodes/audio.d.ts +0 -301
  33. package/dist/nodes/audio.d.ts.map +0 -1
  34. package/dist/nodes/audio.js +0 -1274
  35. package/dist/nodes/audio.js.map +0 -1
  36. package/dist/nodes/code-node.d.ts +0 -34
  37. package/dist/nodes/code-node.d.ts.map +0 -1
  38. package/dist/nodes/code-node.js +0 -343
  39. package/dist/nodes/code-node.js.map +0 -1
  40. package/dist/nodes/code.d.ts +0 -301
  41. package/dist/nodes/code.d.ts.map +0 -1
  42. package/dist/nodes/code.js +0 -850
  43. package/dist/nodes/code.js.map +0 -1
  44. package/dist/nodes/compare.d.ts +0 -18
  45. package/dist/nodes/compare.d.ts.map +0 -1
  46. package/dist/nodes/compare.js +0 -122
  47. package/dist/nodes/compare.js.map +0 -1
  48. package/dist/nodes/constant.d.ts +0 -315
  49. package/dist/nodes/constant.d.ts.map +0 -1
  50. package/dist/nodes/constant.js +0 -715
  51. package/dist/nodes/constant.js.map +0 -1
  52. package/dist/nodes/control.d.ts +0 -83
  53. package/dist/nodes/control.d.ts.map +0 -1
  54. package/dist/nodes/control.js +0 -212
  55. package/dist/nodes/control.js.map +0 -1
  56. package/dist/nodes/data.d.ts +0 -369
  57. package/dist/nodes/data.d.ts.map +0 -1
  58. package/dist/nodes/data.js +0 -1590
  59. package/dist/nodes/data.js.map +0 -1
  60. package/dist/nodes/document.d.ts +0 -134
  61. package/dist/nodes/document.d.ts.map +0 -1
  62. package/dist/nodes/document.js +0 -984
  63. package/dist/nodes/document.js.map +0 -1
  64. package/dist/nodes/extended-placeholders.d.ts +0 -6
  65. package/dist/nodes/extended-placeholders.d.ts.map +0 -1
  66. package/dist/nodes/extended-placeholders.js +0 -19
  67. package/dist/nodes/extended-placeholders.js.map +0 -1
  68. package/dist/nodes/gemini.d.ts +0 -110
  69. package/dist/nodes/gemini.d.ts.map +0 -1
  70. package/dist/nodes/gemini.js +0 -871
  71. package/dist/nodes/gemini.js.map +0 -1
  72. package/dist/nodes/generators.d.ts +0 -84
  73. package/dist/nodes/generators.d.ts.map +0 -1
  74. package/dist/nodes/generators.js +0 -968
  75. package/dist/nodes/generators.js.map +0 -1
  76. package/dist/nodes/image.d.ts +0 -232
  77. package/dist/nodes/image.d.ts.map +0 -1
  78. package/dist/nodes/image.js +0 -1395
  79. package/dist/nodes/image.js.map +0 -1
  80. package/dist/nodes/input.d.ts +0 -445
  81. package/dist/nodes/input.d.ts.map +0 -1
  82. package/dist/nodes/input.js +0 -1459
  83. package/dist/nodes/input.js.map +0 -1
  84. package/dist/nodes/kie-dynamic.d.ts +0 -31
  85. package/dist/nodes/kie-dynamic.d.ts.map +0 -1
  86. package/dist/nodes/kie-dynamic.js +0 -270
  87. package/dist/nodes/kie-dynamic.js.map +0 -1
  88. package/dist/nodes/lib-audio-dsp.d.ts +0 -85
  89. package/dist/nodes/lib-audio-dsp.d.ts.map +0 -1
  90. package/dist/nodes/lib-audio-dsp.js +0 -450
  91. package/dist/nodes/lib-audio-dsp.js.map +0 -1
  92. package/dist/nodes/lib-audio-effects.d.ts +0 -116
  93. package/dist/nodes/lib-audio-effects.d.ts.map +0 -1
  94. package/dist/nodes/lib-audio-effects.js +0 -905
  95. package/dist/nodes/lib-audio-effects.js.map +0 -1
  96. package/dist/nodes/lib-browser.d.ts +0 -99
  97. package/dist/nodes/lib-browser.d.ts.map +0 -1
  98. package/dist/nodes/lib-browser.js +0 -692
  99. package/dist/nodes/lib-browser.js.map +0 -1
  100. package/dist/nodes/lib-charts.d.ts +0 -20
  101. package/dist/nodes/lib-charts.d.ts.map +0 -1
  102. package/dist/nodes/lib-charts.js +0 -245
  103. package/dist/nodes/lib-charts.js.map +0 -1
  104. package/dist/nodes/lib-datetime.d.ts +0 -108
  105. package/dist/nodes/lib-datetime.d.ts.map +0 -1
  106. package/dist/nodes/lib-datetime.js +0 -421
  107. package/dist/nodes/lib-datetime.js.map +0 -1
  108. package/dist/nodes/lib-doc-convert.d.ts +0 -19
  109. package/dist/nodes/lib-doc-convert.d.ts.map +0 -1
  110. package/dist/nodes/lib-doc-convert.js +0 -257
  111. package/dist/nodes/lib-doc-convert.js.map +0 -1
  112. package/dist/nodes/lib-doc-transform.d.ts +0 -39
  113. package/dist/nodes/lib-doc-transform.d.ts.map +0 -1
  114. package/dist/nodes/lib-doc-transform.js +0 -335
  115. package/dist/nodes/lib-doc-transform.js.map +0 -1
  116. package/dist/nodes/lib-docx.d.ts +0 -106
  117. package/dist/nodes/lib-docx.d.ts.map +0 -1
  118. package/dist/nodes/lib-docx.js +0 -595
  119. package/dist/nodes/lib-docx.js.map +0 -1
  120. package/dist/nodes/lib-epub.d.ts +0 -55
  121. package/dist/nodes/lib-epub.d.ts.map +0 -1
  122. package/dist/nodes/lib-epub.js +0 -220
  123. package/dist/nodes/lib-epub.js.map +0 -1
  124. package/dist/nodes/lib-excel.d.ts +0 -74
  125. package/dist/nodes/lib-excel.d.ts.map +0 -1
  126. package/dist/nodes/lib-excel.js +0 -448
  127. package/dist/nodes/lib-excel.js.map +0 -1
  128. package/dist/nodes/lib-graphql.d.ts +0 -66
  129. package/dist/nodes/lib-graphql.d.ts.map +0 -1
  130. package/dist/nodes/lib-graphql.js +0 -333
  131. package/dist/nodes/lib-graphql.js.map +0 -1
  132. package/dist/nodes/lib-grid.d.ts +0 -27
  133. package/dist/nodes/lib-grid.d.ts.map +0 -1
  134. package/dist/nodes/lib-grid.js +0 -172
  135. package/dist/nodes/lib-grid.js.map +0 -1
  136. package/dist/nodes/lib-html-parse.d.ts +0 -108
  137. package/dist/nodes/lib-html-parse.d.ts.map +0 -1
  138. package/dist/nodes/lib-html-parse.js +0 -365
  139. package/dist/nodes/lib-html-parse.js.map +0 -1
  140. package/dist/nodes/lib-http.d.ts +0 -98
  141. package/dist/nodes/lib-http.d.ts.map +0 -1
  142. package/dist/nodes/lib-http.js +0 -267
  143. package/dist/nodes/lib-http.js.map +0 -1
  144. package/dist/nodes/lib-image-color-grading.d.ts +0 -3
  145. package/dist/nodes/lib-image-color-grading.d.ts.map +0 -1
  146. package/dist/nodes/lib-image-color-grading.js +0 -1386
  147. package/dist/nodes/lib-image-color-grading.js.map +0 -1
  148. package/dist/nodes/lib-image-draw.d.ts +0 -3
  149. package/dist/nodes/lib-image-draw.d.ts.map +0 -1
  150. package/dist/nodes/lib-image-draw.js +0 -470
  151. package/dist/nodes/lib-image-draw.js.map +0 -1
  152. package/dist/nodes/lib-image-enhance.d.ts +0 -3
  153. package/dist/nodes/lib-image-enhance.d.ts.map +0 -1
  154. package/dist/nodes/lib-image-enhance.js +0 -731
  155. package/dist/nodes/lib-image-enhance.js.map +0 -1
  156. package/dist/nodes/lib-image-filter.d.ts +0 -3
  157. package/dist/nodes/lib-image-filter.d.ts.map +0 -1
  158. package/dist/nodes/lib-image-filter.js +0 -684
  159. package/dist/nodes/lib-image-filter.js.map +0 -1
  160. package/dist/nodes/lib-image-utils.d.ts +0 -24
  161. package/dist/nodes/lib-image-utils.d.ts.map +0 -1
  162. package/dist/nodes/lib-image-utils.js +0 -150
  163. package/dist/nodes/lib-image-utils.js.map +0 -1
  164. package/dist/nodes/lib-mail.d.ts +0 -74
  165. package/dist/nodes/lib-mail.d.ts.map +0 -1
  166. package/dist/nodes/lib-mail.js +0 -452
  167. package/dist/nodes/lib-mail.js.map +0 -1
  168. package/dist/nodes/lib-markdown.d.ts +0 -70
  169. package/dist/nodes/lib-markdown.d.ts.map +0 -1
  170. package/dist/nodes/lib-markdown.js +0 -236
  171. package/dist/nodes/lib-markdown.js.map +0 -1
  172. package/dist/nodes/lib-nlp.d.ts +0 -98
  173. package/dist/nodes/lib-nlp.d.ts.map +0 -1
  174. package/dist/nodes/lib-nlp.js +0 -374
  175. package/dist/nodes/lib-nlp.js.map +0 -1
  176. package/dist/nodes/lib-notion.d.ts +0 -99
  177. package/dist/nodes/lib-notion.d.ts.map +0 -1
  178. package/dist/nodes/lib-notion.js +0 -601
  179. package/dist/nodes/lib-notion.js.map +0 -1
  180. package/dist/nodes/lib-ocr.d.ts +0 -31
  181. package/dist/nodes/lib-ocr.d.ts.map +0 -1
  182. package/dist/nodes/lib-ocr.js +0 -143
  183. package/dist/nodes/lib-ocr.js.map +0 -1
  184. package/dist/nodes/lib-os.d.ts +0 -312
  185. package/dist/nodes/lib-os.d.ts.map +0 -1
  186. package/dist/nodes/lib-os.js +0 -909
  187. package/dist/nodes/lib-os.js.map +0 -1
  188. package/dist/nodes/lib-pdf.d.ts +0 -142
  189. package/dist/nodes/lib-pdf.d.ts.map +0 -1
  190. package/dist/nodes/lib-pdf.js +0 -871
  191. package/dist/nodes/lib-pdf.js.map +0 -1
  192. package/dist/nodes/lib-pptx.d.ts +0 -29
  193. package/dist/nodes/lib-pptx.d.ts.map +0 -1
  194. package/dist/nodes/lib-pptx.js +0 -122
  195. package/dist/nodes/lib-pptx.js.map +0 -1
  196. package/dist/nodes/lib-rss.d.ts +0 -31
  197. package/dist/nodes/lib-rss.d.ts.map +0 -1
  198. package/dist/nodes/lib-rss.js +0 -163
  199. package/dist/nodes/lib-rss.js.map +0 -1
  200. package/dist/nodes/lib-s3.d.ts +0 -112
  201. package/dist/nodes/lib-s3.d.ts.map +0 -1
  202. package/dist/nodes/lib-s3.js +0 -521
  203. package/dist/nodes/lib-s3.js.map +0 -1
  204. package/dist/nodes/lib-secret.d.ts +0 -15
  205. package/dist/nodes/lib-secret.d.ts.map +0 -1
  206. package/dist/nodes/lib-secret.js +0 -42
  207. package/dist/nodes/lib-secret.js.map +0 -1
  208. package/dist/nodes/lib-sqlite.d.ts +0 -102
  209. package/dist/nodes/lib-sqlite.d.ts.map +0 -1
  210. package/dist/nodes/lib-sqlite.js +0 -532
  211. package/dist/nodes/lib-sqlite.js.map +0 -1
  212. package/dist/nodes/lib-supabase.d.ts +0 -86
  213. package/dist/nodes/lib-supabase.d.ts.map +0 -1
  214. package/dist/nodes/lib-supabase.js +0 -425
  215. package/dist/nodes/lib-supabase.js.map +0 -1
  216. package/dist/nodes/lib-svg.d.ts +0 -199
  217. package/dist/nodes/lib-svg.d.ts.map +0 -1
  218. package/dist/nodes/lib-svg.js +0 -1027
  219. package/dist/nodes/lib-svg.js.map +0 -1
  220. package/dist/nodes/lib-tensorflow.d.ts +0 -71
  221. package/dist/nodes/lib-tensorflow.d.ts.map +0 -1
  222. package/dist/nodes/lib-tensorflow.js +0 -351
  223. package/dist/nodes/lib-tensorflow.js.map +0 -1
  224. package/dist/nodes/lib-twilio.d.ts +0 -71
  225. package/dist/nodes/lib-twilio.d.ts.map +0 -1
  226. package/dist/nodes/lib-twilio.js +0 -469
  227. package/dist/nodes/lib-twilio.js.map +0 -1
  228. package/dist/nodes/lib-validate.d.ts +0 -84
  229. package/dist/nodes/lib-validate.d.ts.map +0 -1
  230. package/dist/nodes/lib-validate.js +0 -215
  231. package/dist/nodes/lib-validate.js.map +0 -1
  232. package/dist/nodes/lib-video-download.d.ts +0 -26
  233. package/dist/nodes/lib-video-download.d.ts.map +0 -1
  234. package/dist/nodes/lib-video-download.js +0 -299
  235. package/dist/nodes/lib-video-download.js.map +0 -1
  236. package/dist/nodes/messaging.d.ts +0 -88
  237. package/dist/nodes/messaging.d.ts.map +0 -1
  238. package/dist/nodes/messaging.js +0 -418
  239. package/dist/nodes/messaging.js.map +0 -1
  240. package/dist/nodes/mistral.d.ts +0 -83
  241. package/dist/nodes/mistral.d.ts.map +0 -1
  242. package/dist/nodes/mistral.js +0 -450
  243. package/dist/nodes/mistral.js.map +0 -1
  244. package/dist/nodes/model3d/analysis.d.ts +0 -13
  245. package/dist/nodes/model3d/analysis.d.ts.map +0 -1
  246. package/dist/nodes/model3d/analysis.js +0 -36
  247. package/dist/nodes/model3d/analysis.js.map +0 -1
  248. package/dist/nodes/model3d/base.d.ts +0 -11
  249. package/dist/nodes/model3d/base.d.ts.map +0 -1
  250. package/dist/nodes/model3d/base.js +0 -20
  251. package/dist/nodes/model3d/base.js.map +0 -1
  252. package/dist/nodes/model3d/boolean-ops.d.ts +0 -2
  253. package/dist/nodes/model3d/boolean-ops.d.ts.map +0 -1
  254. package/dist/nodes/model3d/boolean-ops.js +0 -172
  255. package/dist/nodes/model3d/boolean-ops.js.map +0 -1
  256. package/dist/nodes/model3d/cleanup.d.ts +0 -47
  257. package/dist/nodes/model3d/cleanup.d.ts.map +0 -1
  258. package/dist/nodes/model3d/cleanup.js +0 -136
  259. package/dist/nodes/model3d/cleanup.js.map +0 -1
  260. package/dist/nodes/model3d/convert.d.ts +0 -14
  261. package/dist/nodes/model3d/convert.d.ts.map +0 -1
  262. package/dist/nodes/model3d/convert.js +0 -64
  263. package/dist/nodes/model3d/convert.js.map +0 -1
  264. package/dist/nodes/model3d/defaults.d.ts +0 -34
  265. package/dist/nodes/model3d/defaults.d.ts.map +0 -1
  266. package/dist/nodes/model3d/defaults.js +0 -28
  267. package/dist/nodes/model3d/defaults.js.map +0 -1
  268. package/dist/nodes/model3d/document-ops.d.ts +0 -4
  269. package/dist/nodes/model3d/document-ops.d.ts.map +0 -1
  270. package/dist/nodes/model3d/document-ops.js +0 -40
  271. package/dist/nodes/model3d/document-ops.js.map +0 -1
  272. package/dist/nodes/model3d/generation.d.ts +0 -39
  273. package/dist/nodes/model3d/generation.d.ts.map +0 -1
  274. package/dist/nodes/model3d/generation.js +0 -179
  275. package/dist/nodes/model3d/generation.js.map +0 -1
  276. package/dist/nodes/model3d/glb.d.ts +0 -29
  277. package/dist/nodes/model3d/glb.d.ts.map +0 -1
  278. package/dist/nodes/model3d/glb.js +0 -255
  279. package/dist/nodes/model3d/glb.js.map +0 -1
  280. package/dist/nodes/model3d/index.d.ts +0 -20
  281. package/dist/nodes/model3d/index.d.ts.map +0 -1
  282. package/dist/nodes/model3d/index.js +0 -38
  283. package/dist/nodes/model3d/index.js.map +0 -1
  284. package/dist/nodes/model3d/io.d.ts +0 -38
  285. package/dist/nodes/model3d/io.d.ts.map +0 -1
  286. package/dist/nodes/model3d/io.js +0 -162
  287. package/dist/nodes/model3d/io.js.map +0 -1
  288. package/dist/nodes/model3d/mesh-ops.d.ts +0 -40
  289. package/dist/nodes/model3d/mesh-ops.d.ts.map +0 -1
  290. package/dist/nodes/model3d/mesh-ops.js +0 -775
  291. package/dist/nodes/model3d/mesh-ops.js.map +0 -1
  292. package/dist/nodes/model3d/nodes.d.ts +0 -2
  293. package/dist/nodes/model3d/nodes.d.ts.map +0 -1
  294. package/dist/nodes/model3d/nodes.js +0 -2
  295. package/dist/nodes/model3d/nodes.js.map +0 -1
  296. package/dist/nodes/model3d/ops.d.ts +0 -37
  297. package/dist/nodes/model3d/ops.d.ts.map +0 -1
  298. package/dist/nodes/model3d/ops.js +0 -137
  299. package/dist/nodes/model3d/ops.js.map +0 -1
  300. package/dist/nodes/model3d/transforms.d.ts +0 -49
  301. package/dist/nodes/model3d/transforms.d.ts.map +0 -1
  302. package/dist/nodes/model3d/transforms.js +0 -142
  303. package/dist/nodes/model3d/transforms.js.map +0 -1
  304. package/dist/nodes/model3d/types.d.ts +0 -81
  305. package/dist/nodes/model3d/types.d.ts.map +0 -1
  306. package/dist/nodes/model3d/types.js +0 -2
  307. package/dist/nodes/model3d/types.js.map +0 -1
  308. package/dist/nodes/model3d/utils.d.ts +0 -34
  309. package/dist/nodes/model3d/utils.d.ts.map +0 -1
  310. package/dist/nodes/model3d/utils.js +0 -185
  311. package/dist/nodes/model3d/utils.js.map +0 -1
  312. package/dist/nodes/model3d.d.ts +0 -2
  313. package/dist/nodes/model3d.d.ts.map +0 -1
  314. package/dist/nodes/model3d.js +0 -2
  315. package/dist/nodes/model3d.js.map +0 -1
  316. package/dist/nodes/openai.d.ts +0 -172
  317. package/dist/nodes/openai.d.ts.map +0 -1
  318. package/dist/nodes/openai.js +0 -1294
  319. package/dist/nodes/openai.js.map +0 -1
  320. package/dist/nodes/output.d.ts +0 -29
  321. package/dist/nodes/output.d.ts.map +0 -1
  322. package/dist/nodes/output.js +0 -87
  323. package/dist/nodes/output.js.map +0 -1
  324. package/dist/nodes/sandbox.d.ts +0 -63
  325. package/dist/nodes/sandbox.d.ts.map +0 -1
  326. package/dist/nodes/sandbox.js +0 -633
  327. package/dist/nodes/sandbox.js.map +0 -1
  328. package/dist/nodes/search.d.ts +0 -117
  329. package/dist/nodes/search.d.ts.map +0 -1
  330. package/dist/nodes/search.js +0 -607
  331. package/dist/nodes/search.js.map +0 -1
  332. package/dist/nodes/team.d.ts +0 -74
  333. package/dist/nodes/team.d.ts.map +0 -1
  334. package/dist/nodes/team.js +0 -309
  335. package/dist/nodes/team.js.map +0 -1
  336. package/dist/nodes/text-extra.d.ts +0 -633
  337. package/dist/nodes/text-extra.d.ts.map +0 -1
  338. package/dist/nodes/text-extra.js +0 -2226
  339. package/dist/nodes/text-extra.js.map +0 -1
  340. package/dist/nodes/tool-agents.d.ts +0 -334
  341. package/dist/nodes/tool-agents.d.ts.map +0 -1
  342. package/dist/nodes/tool-agents.js +0 -1861
  343. package/dist/nodes/tool-agents.js.map +0 -1
  344. package/dist/nodes/triggers.d.ts +0 -107
  345. package/dist/nodes/triggers.d.ts.map +0 -1
  346. package/dist/nodes/triggers.js +0 -706
  347. package/dist/nodes/triggers.js.map +0 -1
  348. package/dist/nodes/vector.d.ts +0 -168
  349. package/dist/nodes/vector.d.ts.map +0 -1
  350. package/dist/nodes/vector.js +0 -1121
  351. package/dist/nodes/vector.js.map +0 -1
  352. package/dist/nodes/video.d.ts +0 -387
  353. package/dist/nodes/video.d.ts.map +0 -1
  354. package/dist/nodes/video.js +0 -2383
  355. package/dist/nodes/video.js.map +0 -1
  356. package/dist/nodes/workflow.d.ts +0 -24
  357. package/dist/nodes/workflow.d.ts.map +0 -1
  358. package/dist/nodes/workflow.js +0 -146
  359. package/dist/nodes/workflow.js.map +0 -1
  360. package/dist/nodes/workspace.d.ts +0 -203
  361. package/dist/nodes/workspace.d.ts.map +0 -1
  362. package/dist/nodes/workspace.js +0 -795
  363. package/dist/nodes/workspace.js.map +0 -1
@@ -1,86 +0,0 @@
1
- import { BaseNode } from "@nodetool-ai/node-sdk";
2
- import type { NodeClass } from "@nodetool-ai/node-sdk";
3
- export declare class SelectLibNode extends BaseNode {
4
- static readonly nodeType = "lib.supabase.Select";
5
- static readonly title = "Select";
6
- static readonly description = "Query records from a Supabase table.\n supabase, database, query, select";
7
- static readonly metadataOutputTypes: {
8
- output: string;
9
- };
10
- static readonly exposeAsTool = true;
11
- table_name: any;
12
- columns: any;
13
- filters: any;
14
- order_by: any;
15
- descending: any;
16
- limit: any;
17
- to_dataframe: any;
18
- process(): Promise<Record<string, unknown>>;
19
- }
20
- export declare class InsertLibNode extends BaseNode {
21
- static readonly nodeType = "lib.supabase.Insert";
22
- static readonly title = "Insert";
23
- static readonly description = "Insert record(s) into a Supabase table.\n supabase, database, insert, add, record";
24
- static readonly metadataOutputTypes: {
25
- output: string;
26
- };
27
- static readonly exposeAsTool = true;
28
- table_name: any;
29
- records: any;
30
- return_rows: any;
31
- process(): Promise<Record<string, unknown>>;
32
- }
33
- export declare class UpdateLibNode extends BaseNode {
34
- static readonly nodeType = "lib.supabase.Update";
35
- static readonly title = "Update";
36
- static readonly description = "Update records in a Supabase table.\n supabase, database, update, modify, change";
37
- static readonly metadataOutputTypes: {
38
- output: string;
39
- };
40
- static readonly exposeAsTool = true;
41
- table_name: any;
42
- values: any;
43
- filters: any;
44
- return_rows: any;
45
- process(): Promise<Record<string, unknown>>;
46
- }
47
- export declare class DeleteLibNode extends BaseNode {
48
- static readonly nodeType = "lib.supabase.Delete";
49
- static readonly title = "Delete";
50
- static readonly description = "Delete records from a Supabase table.\n supabase, database, delete, remove";
51
- static readonly metadataOutputTypes: {
52
- output: string;
53
- };
54
- static readonly exposeAsTool = true;
55
- table_name: any;
56
- filters: any;
57
- process(): Promise<Record<string, unknown>>;
58
- }
59
- export declare class UpsertLibNode extends BaseNode {
60
- static readonly nodeType = "lib.supabase.Upsert";
61
- static readonly title = "Upsert";
62
- static readonly description = "Insert or update (upsert) records in a Supabase table.\n supabase, database, upsert, merge";
63
- static readonly metadataOutputTypes: {
64
- output: string;
65
- };
66
- static readonly exposeAsTool = true;
67
- table_name: any;
68
- records: any;
69
- return_rows: any;
70
- process(): Promise<Record<string, unknown>>;
71
- }
72
- export declare class RPCLibNode extends BaseNode {
73
- static readonly nodeType = "lib.supabase.RPC";
74
- static readonly title = "RPC";
75
- static readonly description = "Call a PostgreSQL function via Supabase RPC.\n supabase, database, rpc, function";
76
- static readonly metadataOutputTypes: {
77
- output: string;
78
- };
79
- static readonly exposeAsTool = true;
80
- function: any;
81
- params: any;
82
- to_dataframe: any;
83
- process(): Promise<Record<string, unknown>>;
84
- }
85
- export declare const LIB_SUPABASE_NODES: readonly NodeClass[];
86
- //# sourceMappingURL=lib-supabase.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lib-supabase.d.ts","sourceRoot":"","sources":["../../src/nodes/lib-supabase.ts"],"names":[],"mappings":"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"}
@@ -1,425 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { createClient } from "@supabase/supabase-js";
8
- import { BaseNode, prop } from "@nodetool-ai/node-sdk";
9
- function getSupabaseCredentials(secrets) {
10
- const url = secrets.SUPABASE_URL || process.env.SUPABASE_URL || "";
11
- const key = secrets.SUPABASE_KEY || process.env.SUPABASE_KEY || "";
12
- if (!url || !key) {
13
- throw new Error("Supabase URL and key are required. Set SUPABASE_URL and SUPABASE_KEY in secrets or environment.");
14
- }
15
- return { url, key };
16
- }
17
- function getSupabaseClient(url, key) {
18
- if (!url || !key) {
19
- throw new Error("Supabase URL and key are required. Provide supabase_url and supabase_key.");
20
- }
21
- return createClient(url, key);
22
- }
23
- function applyFilters(query, filters) {
24
- let q = query;
25
- for (const [field, op, value] of filters) {
26
- switch (op) {
27
- case "eq":
28
- q = q.eq(field, value);
29
- break;
30
- case "ne":
31
- q = q.neq(field, value);
32
- break;
33
- case "gt":
34
- q = q.gt(field, value);
35
- break;
36
- case "gte":
37
- q = q.gte(field, value);
38
- break;
39
- case "lt":
40
- q = q.lt(field, value);
41
- break;
42
- case "lte":
43
- q = q.lte(field, value);
44
- break;
45
- case "in":
46
- q = q.in(field, value);
47
- break;
48
- case "like":
49
- q = q.like(field, value);
50
- break;
51
- case "contains":
52
- q = q.contains(field, value);
53
- break;
54
- default:
55
- throw new Error(`Unsupported filter operator: ${op}`);
56
- }
57
- }
58
- return q;
59
- }
60
- export class SelectLibNode extends BaseNode {
61
- static nodeType = "lib.supabase.Select";
62
- static title = "Select";
63
- static description = "Query records from a Supabase table.\n supabase, database, query, select";
64
- static metadataOutputTypes = {
65
- output: "any"
66
- };
67
- static exposeAsTool = true;
68
- async process() {
69
- const { url, key } = getSupabaseCredentials(this._secrets);
70
- const tableName = String(this.table_name ?? "");
71
- const columnsInput = (this.columns ?? { columns: [] });
72
- const cols = columnsInput.columns ?? [];
73
- const filters = (this.filters ?? []);
74
- const orderBy = String(this.order_by ?? "");
75
- const descending = Boolean(this.descending ?? false);
76
- const limit = Number(this.limit ?? 0);
77
- if (!tableName)
78
- throw new Error("table_name cannot be empty");
79
- const client = getSupabaseClient(url, key);
80
- const selectColumns = cols.length === 0 ? "*" : cols.map((c) => c.name).join(", ");
81
- let query = client.from(tableName).select(selectColumns);
82
- if (filters.length > 0) {
83
- query = applyFilters(query, filters);
84
- }
85
- if (orderBy) {
86
- query = query.order(orderBy, { ascending: !descending });
87
- }
88
- if (limit > 0) {
89
- query = query.limit(limit);
90
- }
91
- const { data, error } = await query;
92
- if (error)
93
- throw new Error(`Supabase select error: ${error.message}`);
94
- return { output: data ?? [] };
95
- }
96
- }
97
- __decorate([
98
- prop({
99
- type: "str",
100
- default: "",
101
- title: "Table Name",
102
- description: "Table to query"
103
- })
104
- ], SelectLibNode.prototype, "table_name", void 0);
105
- __decorate([
106
- prop({
107
- type: "record_type",
108
- default: {
109
- type: "record_type",
110
- columns: []
111
- },
112
- title: "Columns",
113
- description: "Columns to select"
114
- })
115
- ], SelectLibNode.prototype, "columns", void 0);
116
- __decorate([
117
- prop({
118
- type: "list[tuple[str, enum, any]]",
119
- default: [],
120
- title: "Filters",
121
- description: "List of typed filters to apply"
122
- })
123
- ], SelectLibNode.prototype, "filters", void 0);
124
- __decorate([
125
- prop({
126
- type: "str",
127
- default: "",
128
- title: "Order By",
129
- description: "Column to order by"
130
- })
131
- ], SelectLibNode.prototype, "order_by", void 0);
132
- __decorate([
133
- prop({
134
- type: "bool",
135
- default: false,
136
- title: "Descending",
137
- description: "Order direction"
138
- })
139
- ], SelectLibNode.prototype, "descending", void 0);
140
- __decorate([
141
- prop({
142
- type: "int",
143
- default: 0,
144
- title: "Limit",
145
- description: "Max rows to return (0 = no limit)"
146
- })
147
- ], SelectLibNode.prototype, "limit", void 0);
148
- __decorate([
149
- prop({
150
- type: "bool",
151
- default: false,
152
- title: "To Dataframe",
153
- description: "Return a DataframeRef instead of list of dicts"
154
- })
155
- ], SelectLibNode.prototype, "to_dataframe", void 0);
156
- export class InsertLibNode extends BaseNode {
157
- static nodeType = "lib.supabase.Insert";
158
- static title = "Insert";
159
- static description = "Insert record(s) into a Supabase table.\n supabase, database, insert, add, record";
160
- static metadataOutputTypes = {
161
- output: "any"
162
- };
163
- static exposeAsTool = true;
164
- async process() {
165
- const { url, key } = getSupabaseCredentials(this._secrets);
166
- const tableName = String(this.table_name ?? "");
167
- const recordsInput = this.records ?? [];
168
- const returnRows = Boolean(this.return_rows ?? true);
169
- if (!tableName)
170
- throw new Error("table_name cannot be empty");
171
- const data = Array.isArray(recordsInput)
172
- ? recordsInput
173
- : [recordsInput];
174
- const client = getSupabaseClient(url, key);
175
- let query = client.from(tableName).insert(data);
176
- if (returnRows) {
177
- query = query.select("*");
178
- }
179
- const { data: result, error } = await query;
180
- if (error)
181
- throw new Error(`Supabase insert error: ${error.message}`);
182
- return returnRows
183
- ? { output: result }
184
- : { output: { inserted: data.length } };
185
- }
186
- }
187
- __decorate([
188
- prop({
189
- type: "str",
190
- default: "",
191
- title: "Table Name",
192
- description: "Table to insert into"
193
- })
194
- ], InsertLibNode.prototype, "table_name", void 0);
195
- __decorate([
196
- prop({
197
- type: "union[list[dict[str, any]], dict[str, any]]",
198
- default: [],
199
- title: "Records",
200
- description: "One or multiple rows to insert"
201
- })
202
- ], InsertLibNode.prototype, "records", void 0);
203
- __decorate([
204
- prop({
205
- type: "bool",
206
- default: true,
207
- title: "Return Rows",
208
- description: "Return inserted rows (uses select('*'))"
209
- })
210
- ], InsertLibNode.prototype, "return_rows", void 0);
211
- export class UpdateLibNode extends BaseNode {
212
- static nodeType = "lib.supabase.Update";
213
- static title = "Update";
214
- static description = "Update records in a Supabase table.\n supabase, database, update, modify, change";
215
- static metadataOutputTypes = {
216
- output: "any"
217
- };
218
- static exposeAsTool = true;
219
- async process() {
220
- const { url, key } = getSupabaseCredentials(this._secrets);
221
- const tableName = String(this.table_name ?? "");
222
- const values = (this.values ?? {});
223
- const filters = (this.filters ?? []);
224
- const returnRows = Boolean(this.return_rows ?? true);
225
- if (!tableName)
226
- throw new Error("table_name cannot be empty");
227
- if (Object.keys(values).length === 0)
228
- throw new Error("values cannot be empty");
229
- const client = getSupabaseClient(url, key);
230
- let query = client.from(tableName).update(values);
231
- if (filters.length > 0) {
232
- query = applyFilters(query, filters);
233
- }
234
- if (returnRows) {
235
- query = query.select("*");
236
- }
237
- const { data, error } = await query;
238
- if (error)
239
- throw new Error(`Supabase update error: ${error.message}`);
240
- return returnRows ? { output: data } : { output: { updated: true } };
241
- }
242
- }
243
- __decorate([
244
- prop({
245
- type: "str",
246
- default: "",
247
- title: "Table Name",
248
- description: "Table to update"
249
- })
250
- ], UpdateLibNode.prototype, "table_name", void 0);
251
- __decorate([
252
- prop({
253
- type: "dict[str, any]",
254
- default: {},
255
- title: "Values",
256
- description: "New values"
257
- })
258
- ], UpdateLibNode.prototype, "values", void 0);
259
- __decorate([
260
- prop({
261
- type: "list[tuple[str, enum, any]]",
262
- default: [],
263
- title: "Filters",
264
- description: "Filters to select rows to update"
265
- })
266
- ], UpdateLibNode.prototype, "filters", void 0);
267
- __decorate([
268
- prop({
269
- type: "bool",
270
- default: true,
271
- title: "Return Rows",
272
- description: "Return updated rows (uses select('*'))"
273
- })
274
- ], UpdateLibNode.prototype, "return_rows", void 0);
275
- export class DeleteLibNode extends BaseNode {
276
- static nodeType = "lib.supabase.Delete";
277
- static title = "Delete";
278
- static description = "Delete records from a Supabase table.\n supabase, database, delete, remove";
279
- static metadataOutputTypes = {
280
- output: "dict[str, any]"
281
- };
282
- static exposeAsTool = true;
283
- async process() {
284
- const { url, key } = getSupabaseCredentials(this._secrets);
285
- const tableName = String(this.table_name ?? "");
286
- const filters = (this.filters ?? []);
287
- if (!tableName)
288
- throw new Error("table_name cannot be empty");
289
- if (filters.length === 0) {
290
- throw new Error("At least one filter is required for DELETE operations to prevent accidental data loss");
291
- }
292
- const client = getSupabaseClient(url, key);
293
- let query = client.from(tableName).delete();
294
- query = applyFilters(query, filters);
295
- const { error } = await query;
296
- if (error)
297
- throw new Error(`Supabase delete error: ${error.message}`);
298
- return { output: { deleted: true } };
299
- }
300
- }
301
- __decorate([
302
- prop({
303
- type: "str",
304
- default: "",
305
- title: "Table Name",
306
- description: "Table to delete from"
307
- })
308
- ], DeleteLibNode.prototype, "table_name", void 0);
309
- __decorate([
310
- prop({
311
- type: "list[tuple[str, enum, any]]",
312
- default: [],
313
- title: "Filters",
314
- description: "Filters to select rows to delete (required for safety)"
315
- })
316
- ], DeleteLibNode.prototype, "filters", void 0);
317
- export class UpsertLibNode extends BaseNode {
318
- static nodeType = "lib.supabase.Upsert";
319
- static title = "Upsert";
320
- static description = "Insert or update (upsert) records in a Supabase table.\n supabase, database, upsert, merge";
321
- static metadataOutputTypes = {
322
- output: "any"
323
- };
324
- static exposeAsTool = true;
325
- async process() {
326
- const { url, key } = getSupabaseCredentials(this._secrets);
327
- const tableName = String(this.table_name ?? "");
328
- const recordsInput = this.records ?? [];
329
- const returnRows = Boolean(this.return_rows ?? true);
330
- if (!tableName)
331
- throw new Error("table_name cannot be empty");
332
- const data = Array.isArray(recordsInput)
333
- ? recordsInput
334
- : [recordsInput];
335
- const client = getSupabaseClient(url, key);
336
- let query = client.from(tableName).upsert(data);
337
- if (returnRows) {
338
- query = query.select("*");
339
- }
340
- const { data: result, error } = await query;
341
- if (error)
342
- throw new Error(`Supabase upsert error: ${error.message}`);
343
- return returnRows
344
- ? { output: result }
345
- : { output: { upserted: data.length } };
346
- }
347
- }
348
- __decorate([
349
- prop({
350
- type: "str",
351
- default: "",
352
- title: "Table Name",
353
- description: "Table to upsert into"
354
- })
355
- ], UpsertLibNode.prototype, "table_name", void 0);
356
- __decorate([
357
- prop({
358
- type: "union[list[dict[str, any]], dict[str, any]]",
359
- default: [],
360
- title: "Records",
361
- description: "One or multiple rows to upsert"
362
- })
363
- ], UpsertLibNode.prototype, "records", void 0);
364
- __decorate([
365
- prop({
366
- type: "bool",
367
- default: true,
368
- title: "Return Rows",
369
- description: "Return upserted rows (uses select('*'))"
370
- })
371
- ], UpsertLibNode.prototype, "return_rows", void 0);
372
- export class RPCLibNode extends BaseNode {
373
- static nodeType = "lib.supabase.RPC";
374
- static title = "RPC";
375
- static description = "Call a PostgreSQL function via Supabase RPC.\n supabase, database, rpc, function";
376
- static metadataOutputTypes = {
377
- output: "any"
378
- };
379
- static exposeAsTool = true;
380
- async process() {
381
- const { url, key } = getSupabaseCredentials(this._secrets);
382
- const fnName = String(this.function ?? "");
383
- const params = (this.params ?? {});
384
- if (!fnName)
385
- throw new Error("function cannot be empty");
386
- const client = getSupabaseClient(url, key);
387
- const { data, error } = await client.rpc(fnName, params);
388
- if (error)
389
- throw new Error(`Supabase RPC error: ${error.message}`);
390
- return { output: data };
391
- }
392
- }
393
- __decorate([
394
- prop({
395
- type: "str",
396
- default: "",
397
- title: "Function",
398
- description: "RPC function name"
399
- })
400
- ], RPCLibNode.prototype, "function", void 0);
401
- __decorate([
402
- prop({
403
- type: "dict[str, any]",
404
- default: {},
405
- title: "Params",
406
- description: "Function params"
407
- })
408
- ], RPCLibNode.prototype, "params", void 0);
409
- __decorate([
410
- prop({
411
- type: "bool",
412
- default: false,
413
- title: "To Dataframe",
414
- description: "Return DataframeRef if result is a list of records"
415
- })
416
- ], RPCLibNode.prototype, "to_dataframe", void 0);
417
- export const LIB_SUPABASE_NODES = [
418
- SelectLibNode,
419
- InsertLibNode,
420
- UpdateLibNode,
421
- DeleteLibNode,
422
- UpsertLibNode,
423
- RPCLibNode
424
- ];
425
- //# sourceMappingURL=lib-supabase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lib-supabase.js","sourceRoot":"","sources":["../../src/nodes/lib-supabase.ts"],"names":[],"mappings":"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"}