@nodetool-ai/base-nodes 0.7.0-rc.23 → 0.8.2

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 (367) hide show
  1. package/README.md +21 -0
  2. package/dist/.nodetool-build-stamp +1 -0
  3. package/dist/builtin-packs.d.ts +17 -0
  4. package/dist/builtin-packs.d.ts.map +1 -0
  5. package/dist/builtin-packs.js +95 -0
  6. package/dist/builtin-packs.js.map +1 -0
  7. package/dist/index.d.ts +63 -67
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +186 -173
  10. package/dist/index.js.map +1 -1
  11. package/dist/platforms/browser.d.ts +19 -0
  12. package/dist/platforms/browser.d.ts.map +1 -0
  13. package/dist/platforms/browser.js +29 -0
  14. package/dist/platforms/browser.js.map +1 -0
  15. package/package.json +72 -65
  16. package/dist/lib/audio-wav.d.ts +0 -66
  17. package/dist/lib/audio-wav.d.ts.map +0 -1
  18. package/dist/lib/audio-wav.js +0 -215
  19. package/dist/lib/audio-wav.js.map +0 -1
  20. package/dist/nodes/agent-tool-hydration.d.ts +0 -10
  21. package/dist/nodes/agent-tool-hydration.d.ts.map +0 -1
  22. package/dist/nodes/agent-tool-hydration.js +0 -43
  23. package/dist/nodes/agent-tool-hydration.js.map +0 -1
  24. package/dist/nodes/agents.d.ts +0 -262
  25. package/dist/nodes/agents.d.ts.map +0 -1
  26. package/dist/nodes/agents.js +0 -2856
  27. package/dist/nodes/agents.js.map +0 -1
  28. package/dist/nodes/anthropic.d.ts +0 -26
  29. package/dist/nodes/anthropic.d.ts.map +0 -1
  30. package/dist/nodes/anthropic.js +0 -133
  31. package/dist/nodes/anthropic.js.map +0 -1
  32. package/dist/nodes/apify.d.ts +0 -120
  33. package/dist/nodes/apify.d.ts.map +0 -1
  34. package/dist/nodes/apify.js +0 -618
  35. package/dist/nodes/apify.js.map +0 -1
  36. package/dist/nodes/audio.d.ts +0 -301
  37. package/dist/nodes/audio.d.ts.map +0 -1
  38. package/dist/nodes/audio.js +0 -1274
  39. package/dist/nodes/audio.js.map +0 -1
  40. package/dist/nodes/code-node.d.ts +0 -34
  41. package/dist/nodes/code-node.d.ts.map +0 -1
  42. package/dist/nodes/code-node.js +0 -343
  43. package/dist/nodes/code-node.js.map +0 -1
  44. package/dist/nodes/code.d.ts +0 -301
  45. package/dist/nodes/code.d.ts.map +0 -1
  46. package/dist/nodes/code.js +0 -850
  47. package/dist/nodes/code.js.map +0 -1
  48. package/dist/nodes/compare.d.ts +0 -18
  49. package/dist/nodes/compare.d.ts.map +0 -1
  50. package/dist/nodes/compare.js +0 -122
  51. package/dist/nodes/compare.js.map +0 -1
  52. package/dist/nodes/constant.d.ts +0 -315
  53. package/dist/nodes/constant.d.ts.map +0 -1
  54. package/dist/nodes/constant.js +0 -715
  55. package/dist/nodes/constant.js.map +0 -1
  56. package/dist/nodes/control.d.ts +0 -83
  57. package/dist/nodes/control.d.ts.map +0 -1
  58. package/dist/nodes/control.js +0 -212
  59. package/dist/nodes/control.js.map +0 -1
  60. package/dist/nodes/data.d.ts +0 -369
  61. package/dist/nodes/data.d.ts.map +0 -1
  62. package/dist/nodes/data.js +0 -1590
  63. package/dist/nodes/data.js.map +0 -1
  64. package/dist/nodes/document.d.ts +0 -134
  65. package/dist/nodes/document.d.ts.map +0 -1
  66. package/dist/nodes/document.js +0 -984
  67. package/dist/nodes/document.js.map +0 -1
  68. package/dist/nodes/extended-placeholders.d.ts +0 -6
  69. package/dist/nodes/extended-placeholders.d.ts.map +0 -1
  70. package/dist/nodes/extended-placeholders.js +0 -19
  71. package/dist/nodes/extended-placeholders.js.map +0 -1
  72. package/dist/nodes/gemini.d.ts +0 -110
  73. package/dist/nodes/gemini.d.ts.map +0 -1
  74. package/dist/nodes/gemini.js +0 -871
  75. package/dist/nodes/gemini.js.map +0 -1
  76. package/dist/nodes/generators.d.ts +0 -84
  77. package/dist/nodes/generators.d.ts.map +0 -1
  78. package/dist/nodes/generators.js +0 -968
  79. package/dist/nodes/generators.js.map +0 -1
  80. package/dist/nodes/image.d.ts +0 -232
  81. package/dist/nodes/image.d.ts.map +0 -1
  82. package/dist/nodes/image.js +0 -1395
  83. package/dist/nodes/image.js.map +0 -1
  84. package/dist/nodes/input.d.ts +0 -445
  85. package/dist/nodes/input.d.ts.map +0 -1
  86. package/dist/nodes/input.js +0 -1459
  87. package/dist/nodes/input.js.map +0 -1
  88. package/dist/nodes/kie-dynamic.d.ts +0 -31
  89. package/dist/nodes/kie-dynamic.d.ts.map +0 -1
  90. package/dist/nodes/kie-dynamic.js +0 -270
  91. package/dist/nodes/kie-dynamic.js.map +0 -1
  92. package/dist/nodes/lib-audio-dsp.d.ts +0 -85
  93. package/dist/nodes/lib-audio-dsp.d.ts.map +0 -1
  94. package/dist/nodes/lib-audio-dsp.js +0 -450
  95. package/dist/nodes/lib-audio-dsp.js.map +0 -1
  96. package/dist/nodes/lib-audio-effects.d.ts +0 -116
  97. package/dist/nodes/lib-audio-effects.d.ts.map +0 -1
  98. package/dist/nodes/lib-audio-effects.js +0 -905
  99. package/dist/nodes/lib-audio-effects.js.map +0 -1
  100. package/dist/nodes/lib-browser.d.ts +0 -99
  101. package/dist/nodes/lib-browser.d.ts.map +0 -1
  102. package/dist/nodes/lib-browser.js +0 -692
  103. package/dist/nodes/lib-browser.js.map +0 -1
  104. package/dist/nodes/lib-charts.d.ts +0 -20
  105. package/dist/nodes/lib-charts.d.ts.map +0 -1
  106. package/dist/nodes/lib-charts.js +0 -245
  107. package/dist/nodes/lib-charts.js.map +0 -1
  108. package/dist/nodes/lib-datetime.d.ts +0 -108
  109. package/dist/nodes/lib-datetime.d.ts.map +0 -1
  110. package/dist/nodes/lib-datetime.js +0 -421
  111. package/dist/nodes/lib-datetime.js.map +0 -1
  112. package/dist/nodes/lib-doc-convert.d.ts +0 -19
  113. package/dist/nodes/lib-doc-convert.d.ts.map +0 -1
  114. package/dist/nodes/lib-doc-convert.js +0 -257
  115. package/dist/nodes/lib-doc-convert.js.map +0 -1
  116. package/dist/nodes/lib-doc-transform.d.ts +0 -39
  117. package/dist/nodes/lib-doc-transform.d.ts.map +0 -1
  118. package/dist/nodes/lib-doc-transform.js +0 -335
  119. package/dist/nodes/lib-doc-transform.js.map +0 -1
  120. package/dist/nodes/lib-docx.d.ts +0 -106
  121. package/dist/nodes/lib-docx.d.ts.map +0 -1
  122. package/dist/nodes/lib-docx.js +0 -595
  123. package/dist/nodes/lib-docx.js.map +0 -1
  124. package/dist/nodes/lib-epub.d.ts +0 -55
  125. package/dist/nodes/lib-epub.d.ts.map +0 -1
  126. package/dist/nodes/lib-epub.js +0 -220
  127. package/dist/nodes/lib-epub.js.map +0 -1
  128. package/dist/nodes/lib-excel.d.ts +0 -74
  129. package/dist/nodes/lib-excel.d.ts.map +0 -1
  130. package/dist/nodes/lib-excel.js +0 -448
  131. package/dist/nodes/lib-excel.js.map +0 -1
  132. package/dist/nodes/lib-graphql.d.ts +0 -66
  133. package/dist/nodes/lib-graphql.d.ts.map +0 -1
  134. package/dist/nodes/lib-graphql.js +0 -333
  135. package/dist/nodes/lib-graphql.js.map +0 -1
  136. package/dist/nodes/lib-grid.d.ts +0 -27
  137. package/dist/nodes/lib-grid.d.ts.map +0 -1
  138. package/dist/nodes/lib-grid.js +0 -172
  139. package/dist/nodes/lib-grid.js.map +0 -1
  140. package/dist/nodes/lib-html-parse.d.ts +0 -108
  141. package/dist/nodes/lib-html-parse.d.ts.map +0 -1
  142. package/dist/nodes/lib-html-parse.js +0 -365
  143. package/dist/nodes/lib-html-parse.js.map +0 -1
  144. package/dist/nodes/lib-http.d.ts +0 -98
  145. package/dist/nodes/lib-http.d.ts.map +0 -1
  146. package/dist/nodes/lib-http.js +0 -267
  147. package/dist/nodes/lib-http.js.map +0 -1
  148. package/dist/nodes/lib-image-color-grading.d.ts +0 -3
  149. package/dist/nodes/lib-image-color-grading.d.ts.map +0 -1
  150. package/dist/nodes/lib-image-color-grading.js +0 -1386
  151. package/dist/nodes/lib-image-color-grading.js.map +0 -1
  152. package/dist/nodes/lib-image-draw.d.ts +0 -3
  153. package/dist/nodes/lib-image-draw.d.ts.map +0 -1
  154. package/dist/nodes/lib-image-draw.js +0 -470
  155. package/dist/nodes/lib-image-draw.js.map +0 -1
  156. package/dist/nodes/lib-image-enhance.d.ts +0 -3
  157. package/dist/nodes/lib-image-enhance.d.ts.map +0 -1
  158. package/dist/nodes/lib-image-enhance.js +0 -731
  159. package/dist/nodes/lib-image-enhance.js.map +0 -1
  160. package/dist/nodes/lib-image-filter.d.ts +0 -3
  161. package/dist/nodes/lib-image-filter.d.ts.map +0 -1
  162. package/dist/nodes/lib-image-filter.js +0 -684
  163. package/dist/nodes/lib-image-filter.js.map +0 -1
  164. package/dist/nodes/lib-image-utils.d.ts +0 -24
  165. package/dist/nodes/lib-image-utils.d.ts.map +0 -1
  166. package/dist/nodes/lib-image-utils.js +0 -150
  167. package/dist/nodes/lib-image-utils.js.map +0 -1
  168. package/dist/nodes/lib-mail.d.ts +0 -74
  169. package/dist/nodes/lib-mail.d.ts.map +0 -1
  170. package/dist/nodes/lib-mail.js +0 -452
  171. package/dist/nodes/lib-mail.js.map +0 -1
  172. package/dist/nodes/lib-markdown.d.ts +0 -70
  173. package/dist/nodes/lib-markdown.d.ts.map +0 -1
  174. package/dist/nodes/lib-markdown.js +0 -236
  175. package/dist/nodes/lib-markdown.js.map +0 -1
  176. package/dist/nodes/lib-nlp.d.ts +0 -98
  177. package/dist/nodes/lib-nlp.d.ts.map +0 -1
  178. package/dist/nodes/lib-nlp.js +0 -374
  179. package/dist/nodes/lib-nlp.js.map +0 -1
  180. package/dist/nodes/lib-notion.d.ts +0 -99
  181. package/dist/nodes/lib-notion.d.ts.map +0 -1
  182. package/dist/nodes/lib-notion.js +0 -601
  183. package/dist/nodes/lib-notion.js.map +0 -1
  184. package/dist/nodes/lib-ocr.d.ts +0 -31
  185. package/dist/nodes/lib-ocr.d.ts.map +0 -1
  186. package/dist/nodes/lib-ocr.js +0 -143
  187. package/dist/nodes/lib-ocr.js.map +0 -1
  188. package/dist/nodes/lib-os.d.ts +0 -312
  189. package/dist/nodes/lib-os.d.ts.map +0 -1
  190. package/dist/nodes/lib-os.js +0 -909
  191. package/dist/nodes/lib-os.js.map +0 -1
  192. package/dist/nodes/lib-pdf.d.ts +0 -142
  193. package/dist/nodes/lib-pdf.d.ts.map +0 -1
  194. package/dist/nodes/lib-pdf.js +0 -871
  195. package/dist/nodes/lib-pdf.js.map +0 -1
  196. package/dist/nodes/lib-pptx.d.ts +0 -29
  197. package/dist/nodes/lib-pptx.d.ts.map +0 -1
  198. package/dist/nodes/lib-pptx.js +0 -122
  199. package/dist/nodes/lib-pptx.js.map +0 -1
  200. package/dist/nodes/lib-rss.d.ts +0 -31
  201. package/dist/nodes/lib-rss.d.ts.map +0 -1
  202. package/dist/nodes/lib-rss.js +0 -163
  203. package/dist/nodes/lib-rss.js.map +0 -1
  204. package/dist/nodes/lib-s3.d.ts +0 -112
  205. package/dist/nodes/lib-s3.d.ts.map +0 -1
  206. package/dist/nodes/lib-s3.js +0 -521
  207. package/dist/nodes/lib-s3.js.map +0 -1
  208. package/dist/nodes/lib-secret.d.ts +0 -15
  209. package/dist/nodes/lib-secret.d.ts.map +0 -1
  210. package/dist/nodes/lib-secret.js +0 -42
  211. package/dist/nodes/lib-secret.js.map +0 -1
  212. package/dist/nodes/lib-sqlite.d.ts +0 -102
  213. package/dist/nodes/lib-sqlite.d.ts.map +0 -1
  214. package/dist/nodes/lib-sqlite.js +0 -532
  215. package/dist/nodes/lib-sqlite.js.map +0 -1
  216. package/dist/nodes/lib-supabase.d.ts +0 -86
  217. package/dist/nodes/lib-supabase.d.ts.map +0 -1
  218. package/dist/nodes/lib-supabase.js +0 -425
  219. package/dist/nodes/lib-supabase.js.map +0 -1
  220. package/dist/nodes/lib-svg.d.ts +0 -199
  221. package/dist/nodes/lib-svg.d.ts.map +0 -1
  222. package/dist/nodes/lib-svg.js +0 -1027
  223. package/dist/nodes/lib-svg.js.map +0 -1
  224. package/dist/nodes/lib-tensorflow.d.ts +0 -71
  225. package/dist/nodes/lib-tensorflow.d.ts.map +0 -1
  226. package/dist/nodes/lib-tensorflow.js +0 -351
  227. package/dist/nodes/lib-tensorflow.js.map +0 -1
  228. package/dist/nodes/lib-twilio.d.ts +0 -71
  229. package/dist/nodes/lib-twilio.d.ts.map +0 -1
  230. package/dist/nodes/lib-twilio.js +0 -469
  231. package/dist/nodes/lib-twilio.js.map +0 -1
  232. package/dist/nodes/lib-validate.d.ts +0 -84
  233. package/dist/nodes/lib-validate.d.ts.map +0 -1
  234. package/dist/nodes/lib-validate.js +0 -215
  235. package/dist/nodes/lib-validate.js.map +0 -1
  236. package/dist/nodes/lib-video-download.d.ts +0 -26
  237. package/dist/nodes/lib-video-download.d.ts.map +0 -1
  238. package/dist/nodes/lib-video-download.js +0 -299
  239. package/dist/nodes/lib-video-download.js.map +0 -1
  240. package/dist/nodes/messaging.d.ts +0 -88
  241. package/dist/nodes/messaging.d.ts.map +0 -1
  242. package/dist/nodes/messaging.js +0 -418
  243. package/dist/nodes/messaging.js.map +0 -1
  244. package/dist/nodes/mistral.d.ts +0 -83
  245. package/dist/nodes/mistral.d.ts.map +0 -1
  246. package/dist/nodes/mistral.js +0 -450
  247. package/dist/nodes/mistral.js.map +0 -1
  248. package/dist/nodes/model3d/analysis.d.ts +0 -13
  249. package/dist/nodes/model3d/analysis.d.ts.map +0 -1
  250. package/dist/nodes/model3d/analysis.js +0 -36
  251. package/dist/nodes/model3d/analysis.js.map +0 -1
  252. package/dist/nodes/model3d/base.d.ts +0 -11
  253. package/dist/nodes/model3d/base.d.ts.map +0 -1
  254. package/dist/nodes/model3d/base.js +0 -20
  255. package/dist/nodes/model3d/base.js.map +0 -1
  256. package/dist/nodes/model3d/boolean-ops.d.ts +0 -2
  257. package/dist/nodes/model3d/boolean-ops.d.ts.map +0 -1
  258. package/dist/nodes/model3d/boolean-ops.js +0 -172
  259. package/dist/nodes/model3d/boolean-ops.js.map +0 -1
  260. package/dist/nodes/model3d/cleanup.d.ts +0 -47
  261. package/dist/nodes/model3d/cleanup.d.ts.map +0 -1
  262. package/dist/nodes/model3d/cleanup.js +0 -136
  263. package/dist/nodes/model3d/cleanup.js.map +0 -1
  264. package/dist/nodes/model3d/convert.d.ts +0 -14
  265. package/dist/nodes/model3d/convert.d.ts.map +0 -1
  266. package/dist/nodes/model3d/convert.js +0 -64
  267. package/dist/nodes/model3d/convert.js.map +0 -1
  268. package/dist/nodes/model3d/defaults.d.ts +0 -34
  269. package/dist/nodes/model3d/defaults.d.ts.map +0 -1
  270. package/dist/nodes/model3d/defaults.js +0 -28
  271. package/dist/nodes/model3d/defaults.js.map +0 -1
  272. package/dist/nodes/model3d/document-ops.d.ts +0 -4
  273. package/dist/nodes/model3d/document-ops.d.ts.map +0 -1
  274. package/dist/nodes/model3d/document-ops.js +0 -40
  275. package/dist/nodes/model3d/document-ops.js.map +0 -1
  276. package/dist/nodes/model3d/generation.d.ts +0 -39
  277. package/dist/nodes/model3d/generation.d.ts.map +0 -1
  278. package/dist/nodes/model3d/generation.js +0 -179
  279. package/dist/nodes/model3d/generation.js.map +0 -1
  280. package/dist/nodes/model3d/glb.d.ts +0 -29
  281. package/dist/nodes/model3d/glb.d.ts.map +0 -1
  282. package/dist/nodes/model3d/glb.js +0 -255
  283. package/dist/nodes/model3d/glb.js.map +0 -1
  284. package/dist/nodes/model3d/index.d.ts +0 -20
  285. package/dist/nodes/model3d/index.d.ts.map +0 -1
  286. package/dist/nodes/model3d/index.js +0 -38
  287. package/dist/nodes/model3d/index.js.map +0 -1
  288. package/dist/nodes/model3d/io.d.ts +0 -38
  289. package/dist/nodes/model3d/io.d.ts.map +0 -1
  290. package/dist/nodes/model3d/io.js +0 -162
  291. package/dist/nodes/model3d/io.js.map +0 -1
  292. package/dist/nodes/model3d/mesh-ops.d.ts +0 -40
  293. package/dist/nodes/model3d/mesh-ops.d.ts.map +0 -1
  294. package/dist/nodes/model3d/mesh-ops.js +0 -775
  295. package/dist/nodes/model3d/mesh-ops.js.map +0 -1
  296. package/dist/nodes/model3d/nodes.d.ts +0 -2
  297. package/dist/nodes/model3d/nodes.d.ts.map +0 -1
  298. package/dist/nodes/model3d/nodes.js +0 -2
  299. package/dist/nodes/model3d/nodes.js.map +0 -1
  300. package/dist/nodes/model3d/ops.d.ts +0 -37
  301. package/dist/nodes/model3d/ops.d.ts.map +0 -1
  302. package/dist/nodes/model3d/ops.js +0 -137
  303. package/dist/nodes/model3d/ops.js.map +0 -1
  304. package/dist/nodes/model3d/transforms.d.ts +0 -49
  305. package/dist/nodes/model3d/transforms.d.ts.map +0 -1
  306. package/dist/nodes/model3d/transforms.js +0 -142
  307. package/dist/nodes/model3d/transforms.js.map +0 -1
  308. package/dist/nodes/model3d/types.d.ts +0 -81
  309. package/dist/nodes/model3d/types.d.ts.map +0 -1
  310. package/dist/nodes/model3d/types.js +0 -2
  311. package/dist/nodes/model3d/types.js.map +0 -1
  312. package/dist/nodes/model3d/utils.d.ts +0 -34
  313. package/dist/nodes/model3d/utils.d.ts.map +0 -1
  314. package/dist/nodes/model3d/utils.js +0 -185
  315. package/dist/nodes/model3d/utils.js.map +0 -1
  316. package/dist/nodes/model3d.d.ts +0 -2
  317. package/dist/nodes/model3d.d.ts.map +0 -1
  318. package/dist/nodes/model3d.js +0 -2
  319. package/dist/nodes/model3d.js.map +0 -1
  320. package/dist/nodes/openai.d.ts +0 -172
  321. package/dist/nodes/openai.d.ts.map +0 -1
  322. package/dist/nodes/openai.js +0 -1294
  323. package/dist/nodes/openai.js.map +0 -1
  324. package/dist/nodes/output.d.ts +0 -29
  325. package/dist/nodes/output.d.ts.map +0 -1
  326. package/dist/nodes/output.js +0 -87
  327. package/dist/nodes/output.js.map +0 -1
  328. package/dist/nodes/sandbox.d.ts +0 -63
  329. package/dist/nodes/sandbox.d.ts.map +0 -1
  330. package/dist/nodes/sandbox.js +0 -633
  331. package/dist/nodes/sandbox.js.map +0 -1
  332. package/dist/nodes/search.d.ts +0 -117
  333. package/dist/nodes/search.d.ts.map +0 -1
  334. package/dist/nodes/search.js +0 -607
  335. package/dist/nodes/search.js.map +0 -1
  336. package/dist/nodes/team.d.ts +0 -74
  337. package/dist/nodes/team.d.ts.map +0 -1
  338. package/dist/nodes/team.js +0 -309
  339. package/dist/nodes/team.js.map +0 -1
  340. package/dist/nodes/text-extra.d.ts +0 -633
  341. package/dist/nodes/text-extra.d.ts.map +0 -1
  342. package/dist/nodes/text-extra.js +0 -2226
  343. package/dist/nodes/text-extra.js.map +0 -1
  344. package/dist/nodes/tool-agents.d.ts +0 -334
  345. package/dist/nodes/tool-agents.d.ts.map +0 -1
  346. package/dist/nodes/tool-agents.js +0 -1861
  347. package/dist/nodes/tool-agents.js.map +0 -1
  348. package/dist/nodes/triggers.d.ts +0 -107
  349. package/dist/nodes/triggers.d.ts.map +0 -1
  350. package/dist/nodes/triggers.js +0 -706
  351. package/dist/nodes/triggers.js.map +0 -1
  352. package/dist/nodes/vector.d.ts +0 -168
  353. package/dist/nodes/vector.d.ts.map +0 -1
  354. package/dist/nodes/vector.js +0 -1121
  355. package/dist/nodes/vector.js.map +0 -1
  356. package/dist/nodes/video.d.ts +0 -387
  357. package/dist/nodes/video.d.ts.map +0 -1
  358. package/dist/nodes/video.js +0 -2383
  359. package/dist/nodes/video.js.map +0 -1
  360. package/dist/nodes/workflow.d.ts +0 -24
  361. package/dist/nodes/workflow.d.ts.map +0 -1
  362. package/dist/nodes/workflow.js +0 -146
  363. package/dist/nodes/workflow.js.map +0 -1
  364. package/dist/nodes/workspace.d.ts +0 -203
  365. package/dist/nodes/workspace.d.ts.map +0 -1
  366. package/dist/nodes/workspace.js +0 -795
  367. 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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"}