@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,633 +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 { BaseNode, prop } from "@nodetool-ai/node-sdk";
8
- import { DockerSandboxProvider, SessionStore } from "@nodetool-ai/sandbox";
9
- import { randomUUID } from "node:crypto";
10
- import { AgentNode } from "./agents.js";
11
- const DEFAULT_SCOPE_USER = "no-user";
12
- const DEFAULT_SCOPE_WORKFLOW = "no-workflow";
13
- const DEFAULT_SESSION_ID = "workflow";
14
- const BROWSER_ACTIONS = {
15
- view: {
16
- toolName: "sandbox_browser_view",
17
- description: "Inspect current sandbox browser page and elements.",
18
- inputSchema: {
19
- type: "object",
20
- properties: {
21
- include_screenshot: { type: "boolean" }
22
- }
23
- },
24
- invoke: (client, params) => client.browserView(params)
25
- },
26
- navigate: {
27
- toolName: "sandbox_browser_navigate",
28
- description: "Navigate the sandbox browser to a URL.",
29
- inputSchema: {
30
- type: "object",
31
- properties: {
32
- url: { type: "string" },
33
- wait_until: {
34
- type: "string",
35
- enum: ["load", "domcontentloaded", "networkidle"]
36
- }
37
- },
38
- required: ["url"]
39
- },
40
- invoke: (client, params) => client.browserNavigate(params)
41
- },
42
- restart: {
43
- toolName: "sandbox_browser_restart",
44
- description: "Restart sandbox browser context.",
45
- inputSchema: {
46
- type: "object",
47
- properties: {
48
- url: { type: "string" }
49
- }
50
- },
51
- invoke: (client, params) => client.browserRestart(params)
52
- },
53
- click: {
54
- toolName: "sandbox_browser_click",
55
- description: "Click an element in the sandbox browser.",
56
- inputSchema: {
57
- type: "object",
58
- properties: {
59
- index: { type: "integer" },
60
- coordinate_x: { type: "integer" },
61
- coordinate_y: { type: "integer" }
62
- }
63
- },
64
- invoke: (client, params) => client.browserClick(params)
65
- },
66
- input_text: {
67
- toolName: "sandbox_browser_input_text",
68
- description: "Type into an element in the sandbox browser.",
69
- inputSchema: {
70
- type: "object",
71
- properties: {
72
- text: { type: "string" },
73
- press_enter: { type: "boolean" },
74
- index: { type: "integer" },
75
- coordinate_x: { type: "integer" },
76
- coordinate_y: { type: "integer" }
77
- },
78
- required: ["text"]
79
- },
80
- invoke: (client, params) => client.browserInput(params)
81
- },
82
- move_mouse: {
83
- toolName: "sandbox_browser_move_mouse",
84
- description: "Move mouse in sandbox browser viewport.",
85
- inputSchema: {
86
- type: "object",
87
- properties: {
88
- coordinate_x: { type: "integer" },
89
- coordinate_y: { type: "integer" }
90
- },
91
- required: ["coordinate_x", "coordinate_y"]
92
- },
93
- invoke: (client, params) => client.browserMoveMouse(params)
94
- },
95
- press_key: {
96
- toolName: "sandbox_browser_press_key",
97
- description: "Press a keyboard key in the sandbox browser.",
98
- inputSchema: {
99
- type: "object",
100
- properties: {
101
- key: { type: "string" }
102
- },
103
- required: ["key"]
104
- },
105
- invoke: (client, params) => client.browserPressKey(params)
106
- },
107
- select_option: {
108
- toolName: "sandbox_browser_select_option",
109
- description: "Select an option in a sandbox browser select element.",
110
- inputSchema: {
111
- type: "object",
112
- properties: {
113
- index: { type: "integer" },
114
- option: { type: "string" }
115
- },
116
- required: ["index", "option"]
117
- },
118
- invoke: (client, params) => client.browserSelectOption(params)
119
- },
120
- scroll: {
121
- toolName: "sandbox_browser_scroll",
122
- description: "Scroll the sandbox browser page.",
123
- inputSchema: {
124
- type: "object",
125
- properties: {
126
- to_top: { type: "boolean" },
127
- to_bottom: { type: "boolean" },
128
- pixels: { type: "integer" }
129
- }
130
- },
131
- invoke: (client, params) => client.browserScroll(params)
132
- },
133
- console_exec: {
134
- toolName: "sandbox_browser_console_exec",
135
- description: "Execute JavaScript in sandbox browser console.",
136
- inputSchema: {
137
- type: "object",
138
- properties: {
139
- javascript: { type: "string" }
140
- },
141
- required: ["javascript"]
142
- },
143
- invoke: (client, params) => client.browserConsoleExec(params)
144
- },
145
- console_view: {
146
- toolName: "sandbox_browser_console_view",
147
- description: "View sandbox browser console messages.",
148
- inputSchema: {
149
- type: "object",
150
- properties: {
151
- max_lines: { type: "integer" }
152
- }
153
- },
154
- invoke: (client, params) => client.browserConsoleView(params)
155
- }
156
- };
157
- const FILE_ACTIONS = {
158
- read: {
159
- toolName: "sandbox_file_read",
160
- description: "Read a file from the sandbox.",
161
- inputSchema: {
162
- type: "object",
163
- properties: {
164
- file: { type: "string" },
165
- start_line: { type: "integer" },
166
- end_line: { type: "integer" }
167
- },
168
- required: ["file"]
169
- },
170
- invoke: (client, params) => client.fileRead(params)
171
- },
172
- write: {
173
- toolName: "sandbox_file_write",
174
- description: "Write a file in the sandbox.",
175
- inputSchema: {
176
- type: "object",
177
- properties: {
178
- file: { type: "string" },
179
- content: { type: "string" },
180
- append: { type: "boolean" },
181
- leading_newline: { type: "boolean" },
182
- trailing_newline: { type: "boolean" }
183
- },
184
- required: ["file", "content"]
185
- },
186
- invoke: (client, params) => client.fileWrite(params)
187
- },
188
- str_replace: {
189
- toolName: "sandbox_file_str_replace",
190
- description: "Replace string content inside a sandbox file.",
191
- inputSchema: {
192
- type: "object",
193
- properties: {
194
- file: { type: "string" },
195
- old_str: { type: "string" },
196
- new_str: { type: "string" }
197
- },
198
- required: ["file", "old_str", "new_str"]
199
- },
200
- invoke: (client, params) => client.fileStrReplace(params)
201
- },
202
- find_in_content: {
203
- toolName: "sandbox_file_find_in_content",
204
- description: "Find content in a sandbox file using regex.",
205
- inputSchema: {
206
- type: "object",
207
- properties: {
208
- file: { type: "string" },
209
- regex: { type: "string" }
210
- },
211
- required: ["file", "regex"]
212
- },
213
- invoke: (client, params) => client.fileFindInContent(params)
214
- },
215
- find_by_name: {
216
- toolName: "sandbox_file_find_by_name",
217
- description: "Find files by glob pattern in sandbox workspace.",
218
- inputSchema: {
219
- type: "object",
220
- properties: {
221
- path: { type: "string" },
222
- glob: { type: "string" }
223
- },
224
- required: ["path", "glob"]
225
- },
226
- invoke: (client, params) => client.fileFindByName(params)
227
- }
228
- };
229
- const SHELL_AGENT_TOOLS = [
230
- {
231
- toolName: "sandbox_shell_exec",
232
- description: "Start a shell command in the sandbox.",
233
- inputSchema: {
234
- type: "object",
235
- properties: {
236
- id: { type: "string" },
237
- command: { type: "string" },
238
- exec_dir: { type: "string" }
239
- },
240
- required: ["id", "command"]
241
- },
242
- invoke: (client, params) => client.shellExec(params)
243
- },
244
- {
245
- toolName: "sandbox_shell_wait",
246
- description: "Wait for a shell command in the sandbox and collect output.",
247
- inputSchema: {
248
- type: "object",
249
- properties: {
250
- id: { type: "string" },
251
- seconds: { type: "number" }
252
- },
253
- required: ["id"]
254
- },
255
- invoke: (client, params) => client.shellWait(params)
256
- },
257
- {
258
- toolName: "sandbox_shell_view",
259
- description: "Read current shell command output in the sandbox.",
260
- inputSchema: {
261
- type: "object",
262
- properties: { id: { type: "string" } },
263
- required: ["id"]
264
- },
265
- invoke: (client, params) => client.shellView(params)
266
- },
267
- {
268
- toolName: "sandbox_shell_write",
269
- description: "Write to a running sandbox shell process.",
270
- inputSchema: {
271
- type: "object",
272
- properties: {
273
- id: { type: "string" },
274
- input: { type: "string" },
275
- press_enter: { type: "boolean" }
276
- },
277
- required: ["id", "input", "press_enter"]
278
- },
279
- invoke: (client, params) => client.shellWriteToProcess(params)
280
- },
281
- {
282
- toolName: "sandbox_shell_kill",
283
- description: "Kill a running sandbox shell process.",
284
- inputSchema: {
285
- type: "object",
286
- properties: { id: { type: "string" } },
287
- required: ["id"]
288
- },
289
- invoke: (client, params) => client.shellKillProcess(params)
290
- }
291
- ];
292
- let sharedSandboxStore = null;
293
- let sandboxStoreCleanupHooksRegistered = false;
294
- let sharedSandboxStoreClosePromise = null;
295
- async function closeSharedSandboxStore() {
296
- if (sharedSandboxStoreClosePromise) {
297
- return sharedSandboxStoreClosePromise;
298
- }
299
- if (!sharedSandboxStore) {
300
- return;
301
- }
302
- const store = sharedSandboxStore;
303
- sharedSandboxStore = null;
304
- const closePromise = (async () => {
305
- try {
306
- await store.close();
307
- }
308
- catch {
309
- // Best-effort shutdown cleanup: ignore close failures so signal handling can continue.
310
- }
311
- })();
312
- sharedSandboxStoreClosePromise = closePromise;
313
- try {
314
- await closePromise;
315
- }
316
- finally {
317
- if (sharedSandboxStoreClosePromise === closePromise) {
318
- sharedSandboxStoreClosePromise = null;
319
- }
320
- }
321
- }
322
- function registerSandboxStoreCleanupHooks() {
323
- if (sandboxStoreCleanupHooksRegistered ||
324
- typeof process === "undefined" ||
325
- typeof process.once !== "function") {
326
- return;
327
- }
328
- sandboxStoreCleanupHooksRegistered = true;
329
- const handleProcessShutdown = (exitCode) => {
330
- closeSharedSandboxStore()
331
- .catch(() => {
332
- // Ignore cleanup errors while handling process shutdown signals.
333
- })
334
- .finally(() => process.exit(exitCode));
335
- };
336
- process.once("SIGINT", () => {
337
- handleProcessShutdown(130);
338
- });
339
- process.once("SIGTERM", () => {
340
- handleProcessShutdown(143);
341
- });
342
- }
343
- function getSandboxStore() {
344
- registerSandboxStoreCleanupHooks();
345
- if (sharedSandboxStore) {
346
- return sharedSandboxStore;
347
- }
348
- sharedSandboxStore = new SessionStore({
349
- provider: new DockerSandboxProvider()
350
- });
351
- return sharedSandboxStore;
352
- }
353
- function asRecord(value) {
354
- if (value === null ||
355
- value === undefined ||
356
- typeof value !== "object" ||
357
- Array.isArray(value)) {
358
- return {};
359
- }
360
- return value;
361
- }
362
- function asString(value) {
363
- if (value === null || value === undefined) {
364
- return "";
365
- }
366
- return String(value);
367
- }
368
- function asTrimmedString(value) {
369
- return asString(value).trim();
370
- }
371
- /**
372
- * Path inside the sandbox container where the host workspace is bind-mounted.
373
- * See DockerSandbox: `${workspaceDir}:/workspace:rw`.
374
- */
375
- const SANDBOX_WORKSPACE_MOUNT = "/workspace";
376
- /**
377
- * Resolve the host workspace directory to mount into the sandbox.
378
- * Prefer the explicit node prop; otherwise auto-mount the workflow's
379
- * workspace from ProcessingContext so sandbox tools see project files.
380
- */
381
- function resolveSandboxWorkspaceDir(prop, context) {
382
- const explicit = asTrimmedString(prop);
383
- if (explicit.length > 0)
384
- return explicit;
385
- return asTrimmedString(context?.workspaceDir);
386
- }
387
- /**
388
- * Build a stable context scope used to isolate sandbox sessions per workflow run.
389
- * Format: "<userId>:<workflowId>:<jobId>" with explicit fallback tokens.
390
- */
391
- function getContextScope(context) {
392
- if (!context) {
393
- return `${DEFAULT_SCOPE_USER}:${DEFAULT_SCOPE_WORKFLOW}`;
394
- }
395
- const userId = asTrimmedString(context.userId) || DEFAULT_SCOPE_USER;
396
- const workflowId = asTrimmedString(context.workflowId) || DEFAULT_SCOPE_WORKFLOW;
397
- return `${userId}:${workflowId}`;
398
- }
399
- function toEffectiveSessionId(sessionId, context) {
400
- return `${getContextScope(context)}:${sessionId}`;
401
- }
402
- async function getClient(sessionId, workspaceDir, context) {
403
- const store = getSandboxStore();
404
- const options = {};
405
- if (workspaceDir.length > 0) {
406
- options.workspaceDir = workspaceDir;
407
- }
408
- if (context?.userId) {
409
- options.env = { NODETOOL_USER_ID: context.userId };
410
- }
411
- const sandbox = await store.acquire(sessionId, options);
412
- return sandbox.client;
413
- }
414
- function createAgentTools(client) {
415
- const defs = [
416
- ...SHELL_AGENT_TOOLS,
417
- ...Object.values(FILE_ACTIONS),
418
- ...Object.values(BROWSER_ACTIONS)
419
- ];
420
- return defs.map((def) => ({
421
- name: def.toolName,
422
- description: def.description,
423
- inputSchema: def.inputSchema,
424
- process: async (_context, params) => def.invoke(client, params)
425
- }));
426
- }
427
- export class SandboxShellNode extends BaseNode {
428
- static nodeType = "nodetool.sandbox.SandboxShell";
429
- static title = "SandboxShell";
430
- static description = "Execute shell commands in an isolated sandbox session.";
431
- static metadataOutputTypes = {
432
- output: "str",
433
- running: "bool",
434
- exit_code: "union[int, none]",
435
- timed_out: "bool"
436
- };
437
- static exposeAsTool = true;
438
- async process(context) {
439
- const effectiveSessionId = toEffectiveSessionId(DEFAULT_SESSION_ID, context);
440
- const workspaceDir = resolveSandboxWorkspaceDir(this.workspace_dir, context);
441
- const command = asString(this.command);
442
- const normalizedCommand = asTrimmedString(this.command);
443
- const waitSeconds = Number(this.wait_seconds ?? 1);
444
- const commandId = `cmd-${randomUUID().slice(0, 8)}`;
445
- if (normalizedCommand.length === 0) {
446
- throw new Error("Command is required");
447
- }
448
- const client = await getClient(effectiveSessionId, workspaceDir, context);
449
- await client.shellExec({
450
- id: commandId,
451
- command,
452
- exec_dir: workspaceDir.length > 0 ? SANDBOX_WORKSPACE_MOUNT : undefined
453
- });
454
- const shellResult = waitSeconds > 0
455
- ? await client.shellWait({ id: commandId, seconds: waitSeconds })
456
- : await client.shellView({ id: commandId });
457
- return {
458
- output: shellResult.output,
459
- running: shellResult.running,
460
- exit_code: shellResult.exit_code,
461
- timed_out: "timed_out" in shellResult ? shellResult.timed_out : false
462
- };
463
- }
464
- }
465
- __decorate([
466
- prop({
467
- type: "str",
468
- default: "",
469
- title: "Workspace Dir",
470
- description: "Optional sandbox workspace directory."
471
- })
472
- ], SandboxShellNode.prototype, "workspace_dir", void 0);
473
- __decorate([
474
- prop({
475
- type: "str",
476
- default: "",
477
- title: "Command",
478
- description: "Shell command to execute in the sandbox."
479
- })
480
- ], SandboxShellNode.prototype, "command", void 0);
481
- __decorate([
482
- prop({
483
- type: "float",
484
- default: 1,
485
- title: "Wait Seconds",
486
- description: "If greater than 0, wait this long for output after launching command."
487
- })
488
- ], SandboxShellNode.prototype, "wait_seconds", void 0);
489
- export class SandboxBrowserNode extends BaseNode {
490
- static nodeType = "nodetool.sandbox.SandboxBrowser";
491
- static title = "SandboxBrowser";
492
- static description = "Control the sandbox browser (navigate, inspect, click, input, and console actions).";
493
- static metadataOutputTypes = {
494
- output: "dict[str, any]"
495
- };
496
- static exposeAsTool = true;
497
- async process(context) {
498
- const effectiveSessionId = toEffectiveSessionId(DEFAULT_SESSION_ID, context);
499
- const workspaceDir = resolveSandboxWorkspaceDir(this.workspace_dir, context);
500
- const action = asTrimmedString(this.action || "view");
501
- const params = asRecord(this.params);
502
- const client = await getClient(effectiveSessionId, workspaceDir, context);
503
- const actionDef = BROWSER_ACTIONS[action];
504
- if (!actionDef) {
505
- throw new Error(`Unsupported browser action: ${action}`);
506
- }
507
- const output = await actionDef.invoke(client, params);
508
- return {
509
- output
510
- };
511
- }
512
- }
513
- __decorate([
514
- prop({
515
- type: "str",
516
- default: "",
517
- title: "Workspace Dir",
518
- description: "Optional sandbox workspace directory."
519
- })
520
- ], SandboxBrowserNode.prototype, "workspace_dir", void 0);
521
- __decorate([
522
- prop({
523
- type: "enum",
524
- default: "view",
525
- title: "Action",
526
- description: "Browser action to execute.",
527
- values: [
528
- "view",
529
- "navigate",
530
- "restart",
531
- "click",
532
- "input_text",
533
- "move_mouse",
534
- "press_key",
535
- "select_option",
536
- "scroll",
537
- "console_exec",
538
- "console_view"
539
- ]
540
- })
541
- ], SandboxBrowserNode.prototype, "action", void 0);
542
- __decorate([
543
- prop({
544
- type: "dict",
545
- default: {},
546
- title: "Params",
547
- description: "Action parameters validated by the sandbox browser tool."
548
- })
549
- ], SandboxBrowserNode.prototype, "params", void 0);
550
- export class SandboxFileNode extends BaseNode {
551
- static nodeType = "nodetool.sandbox.SandboxFile";
552
- static title = "SandboxFile";
553
- static description = "Read, write, search, and replace files inside a sandbox session.";
554
- static metadataOutputTypes = {
555
- output: "dict[str, any]"
556
- };
557
- static exposeAsTool = true;
558
- async process(context) {
559
- const effectiveSessionId = toEffectiveSessionId(DEFAULT_SESSION_ID, context);
560
- const workspaceDir = resolveSandboxWorkspaceDir(this.workspace_dir, context);
561
- const action = asTrimmedString(this.action || "read");
562
- const params = asRecord(this.params);
563
- const client = await getClient(effectiveSessionId, workspaceDir, context);
564
- const actionDef = FILE_ACTIONS[action];
565
- if (!actionDef) {
566
- throw new Error(`Unsupported file action: ${action}`);
567
- }
568
- const output = await actionDef.invoke(client, params);
569
- return {
570
- output
571
- };
572
- }
573
- }
574
- __decorate([
575
- prop({
576
- type: "str",
577
- default: "",
578
- title: "Workspace Dir",
579
- description: "Optional sandbox workspace directory."
580
- })
581
- ], SandboxFileNode.prototype, "workspace_dir", void 0);
582
- __decorate([
583
- prop({
584
- type: "enum",
585
- default: "read",
586
- title: "Action",
587
- description: "File action to execute.",
588
- values: ["read", "write", "str_replace", "find_in_content", "find_by_name"]
589
- })
590
- ], SandboxFileNode.prototype, "action", void 0);
591
- __decorate([
592
- prop({
593
- type: "dict",
594
- default: {},
595
- title: "Params",
596
- description: "Action parameters validated by the sandbox file tool."
597
- })
598
- ], SandboxFileNode.prototype, "params", void 0);
599
- /**
600
- * SandboxAgent — same as the standard Agent node, but augments the tool
601
- * list with the sandbox shell/browser/file actions and auto-mounts the
602
- * workflow workspace into the container. Inherits streaming, mode
603
- * dispatch (loop/plan/multi-agent), history, threads, image/audio,
604
- * structured outputs, control tools, and the agentic-provider fast-path
605
- * from AgentNode.
606
- */
607
- export class SandboxAgentNode extends AgentNode {
608
- static nodeType = "nodetool.sandbox.SandboxAgent";
609
- static title = "SandboxAgent";
610
- static description = "Agent with access to sandbox shell, browser, and file tools alongside any user-selected tools.";
611
- async buildTools(context) {
612
- const userTools = await super.buildTools(context);
613
- const sessionId = toEffectiveSessionId(DEFAULT_SESSION_ID, context);
614
- const workspaceDir = resolveSandboxWorkspaceDir(this.workspace_dir, context);
615
- const client = await getClient(sessionId, workspaceDir, context);
616
- return [...createAgentTools(client), ...userTools];
617
- }
618
- }
619
- __decorate([
620
- prop({
621
- type: "str",
622
- default: "",
623
- title: "Workspace Dir",
624
- description: "Host directory bind-mounted into the sandbox at /workspace. Defaults to the workflow's workspace."
625
- })
626
- ], SandboxAgentNode.prototype, "workspace_dir", void 0);
627
- export const SANDBOX_NODES = [
628
- SandboxShellNode,
629
- SandboxBrowserNode,
630
- SandboxFileNode,
631
- SandboxAgentNode
632
- ];
633
- //# sourceMappingURL=sandbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/nodes/sandbox.ts"],"names":[],"mappings":"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"}