@nodetool-ai/dsl 0.8.1 → 0.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (358) hide show
  1. package/README.md +15 -11
  2. package/dist/.nodetool-build-stamp +1 -1
  3. package/dist/authoring.d.ts +69 -0
  4. package/dist/authoring.d.ts.map +1 -0
  5. package/dist/authoring.js +318 -0
  6. package/dist/authoring.js.map +1 -0
  7. package/dist/core.d.ts +60 -6
  8. package/dist/core.d.ts.map +1 -1
  9. package/dist/core.js +176 -47
  10. package/dist/core.js.map +1 -1
  11. package/dist/export.d.ts +10 -0
  12. package/dist/export.d.ts.map +1 -1
  13. package/dist/export.js +31 -3
  14. package/dist/export.js.map +1 -1
  15. package/dist/flow/generated/lib.stable_diffusion_cpp.d.ts +26 -0
  16. package/dist/flow/generated/lib.stable_diffusion_cpp.d.ts.map +1 -0
  17. package/dist/flow/generated/lib.stable_diffusion_cpp.js +8 -0
  18. package/dist/flow/generated/lib.stable_diffusion_cpp.js.map +1 -0
  19. package/dist/flow/generated/nodetool.image.d.ts +9 -1
  20. package/dist/flow/generated/nodetool.image.d.ts.map +1 -1
  21. package/dist/flow/generated/nodetool.image.js +3 -0
  22. package/dist/flow/generated/nodetool.image.js.map +1 -1
  23. package/dist/flow/generated/nodetool.input.d.ts +9 -0
  24. package/dist/flow/generated/nodetool.input.d.ts.map +1 -1
  25. package/dist/flow/generated/nodetool.input.js +3 -0
  26. package/dist/flow/generated/nodetool.input.js.map +1 -1
  27. package/dist/flow/generated/nodetool.manimgx.d.ts +52 -0
  28. package/dist/flow/generated/nodetool.manimgx.d.ts.map +1 -0
  29. package/dist/flow/generated/nodetool.manimgx.js +14 -0
  30. package/dist/flow/generated/nodetool.manimgx.js.map +1 -0
  31. package/dist/flow/generated/nodetool.storyboard.d.ts +17 -0
  32. package/dist/flow/generated/nodetool.storyboard.d.ts.map +1 -1
  33. package/dist/flow/generated/nodetool.storyboard.js +3 -0
  34. package/dist/flow/generated/nodetool.storyboard.js.map +1 -1
  35. package/dist/flow/generated/nodetool.text.d.ts +12 -0
  36. package/dist/flow/generated/nodetool.text.d.ts.map +1 -1
  37. package/dist/flow/generated/nodetool.text.js +3 -0
  38. package/dist/flow/generated/nodetool.text.js.map +1 -1
  39. package/dist/flow/generated/nodetool.video.d.ts +14 -0
  40. package/dist/flow/generated/nodetool.video.d.ts.map +1 -1
  41. package/dist/flow/generated/nodetool.video.js +3 -0
  42. package/dist/flow/generated/nodetool.video.js.map +1 -1
  43. package/dist/flow/generated/nodetool.workflows.app_node.d.ts +11 -0
  44. package/dist/flow/generated/nodetool.workflows.app_node.d.ts.map +1 -0
  45. package/dist/flow/generated/nodetool.workflows.app_node.js +11 -0
  46. package/dist/flow/generated/nodetool.workflows.app_node.js.map +1 -0
  47. package/dist/flow/generated/whisper_cpp.d.ts +21 -0
  48. package/dist/flow/generated/whisper_cpp.d.ts.map +1 -0
  49. package/dist/flow/generated/whisper_cpp.js +11 -0
  50. package/dist/flow/generated/whisper_cpp.js.map +1 -0
  51. package/dist/generated/gemini.audio.d.ts +3 -3
  52. package/dist/generated/gemini.audio.d.ts.map +1 -1
  53. package/dist/generated/gemini.audio.js +4 -4
  54. package/dist/generated/gemini.audio.js.map +1 -1
  55. package/dist/generated/gemini.image.d.ts +2 -2
  56. package/dist/generated/gemini.image.d.ts.map +1 -1
  57. package/dist/generated/gemini.image.js +2 -2
  58. package/dist/generated/gemini.image.js.map +1 -1
  59. package/dist/generated/gemini.text.d.ts +3 -3
  60. package/dist/generated/gemini.text.d.ts.map +1 -1
  61. package/dist/generated/gemini.text.js +4 -4
  62. package/dist/generated/gemini.text.js.map +1 -1
  63. package/dist/generated/gemini.video.d.ts +3 -3
  64. package/dist/generated/gemini.video.d.ts.map +1 -1
  65. package/dist/generated/gemini.video.js +4 -4
  66. package/dist/generated/gemini.video.js.map +1 -1
  67. package/dist/generated/index.d.ts +4 -0
  68. package/dist/generated/index.d.ts.map +1 -1
  69. package/dist/generated/index.js +4 -0
  70. package/dist/generated/index.js.map +1 -1
  71. package/dist/generated/kie.dynamic_schema.d.ts +3 -2
  72. package/dist/generated/kie.dynamic_schema.d.ts.map +1 -1
  73. package/dist/generated/kie.dynamic_schema.js +2 -2
  74. package/dist/generated/kie.dynamic_schema.js.map +1 -1
  75. package/dist/generated/lib.audio.d.ts +17 -17
  76. package/dist/generated/lib.audio.d.ts.map +1 -1
  77. package/dist/generated/lib.audio.js +32 -32
  78. package/dist/generated/lib.audio.js.map +1 -1
  79. package/dist/generated/lib.browser.d.ts +2 -2
  80. package/dist/generated/lib.browser.d.ts.map +1 -1
  81. package/dist/generated/lib.browser.js +2 -2
  82. package/dist/generated/lib.browser.js.map +1 -1
  83. package/dist/generated/lib.charts.d.ts +2 -2
  84. package/dist/generated/lib.charts.d.ts.map +1 -1
  85. package/dist/generated/lib.charts.js +2 -2
  86. package/dist/generated/lib.charts.js.map +1 -1
  87. package/dist/generated/lib.comfy.d.ts +7 -4
  88. package/dist/generated/lib.comfy.d.ts.map +1 -1
  89. package/dist/generated/lib.comfy.js +6 -6
  90. package/dist/generated/lib.comfy.js.map +1 -1
  91. package/dist/generated/lib.grid.d.ts +2 -2
  92. package/dist/generated/lib.grid.d.ts.map +1 -1
  93. package/dist/generated/lib.grid.js +2 -2
  94. package/dist/generated/lib.grid.js.map +1 -1
  95. package/dist/generated/lib.image.channel.d.ts +3 -3
  96. package/dist/generated/lib.image.channel.d.ts.map +1 -1
  97. package/dist/generated/lib.image.channel.js +4 -4
  98. package/dist/generated/lib.image.channel.js.map +1 -1
  99. package/dist/generated/lib.image.color.d.ts +8 -8
  100. package/dist/generated/lib.image.color.d.ts.map +1 -1
  101. package/dist/generated/lib.image.color.js +14 -14
  102. package/dist/generated/lib.image.color.js.map +1 -1
  103. package/dist/generated/lib.image.color_grading.d.ts +11 -11
  104. package/dist/generated/lib.image.color_grading.d.ts.map +1 -1
  105. package/dist/generated/lib.image.color_grading.js +20 -20
  106. package/dist/generated/lib.image.color_grading.js.map +1 -1
  107. package/dist/generated/lib.image.d.ts +2 -2
  108. package/dist/generated/lib.image.d.ts.map +1 -1
  109. package/dist/generated/lib.image.draw.d.ts +9 -9
  110. package/dist/generated/lib.image.draw.d.ts.map +1 -1
  111. package/dist/generated/lib.image.draw.js +16 -16
  112. package/dist/generated/lib.image.draw.js.map +1 -1
  113. package/dist/generated/lib.image.effects.d.ts +6 -6
  114. package/dist/generated/lib.image.effects.d.ts.map +1 -1
  115. package/dist/generated/lib.image.effects.js +10 -10
  116. package/dist/generated/lib.image.effects.js.map +1 -1
  117. package/dist/generated/lib.image.enhance.d.ts +7 -7
  118. package/dist/generated/lib.image.enhance.d.ts.map +1 -1
  119. package/dist/generated/lib.image.enhance.js +12 -12
  120. package/dist/generated/lib.image.enhance.js.map +1 -1
  121. package/dist/generated/lib.image.filter.d.ts +16 -16
  122. package/dist/generated/lib.image.filter.d.ts.map +1 -1
  123. package/dist/generated/lib.image.filter.js +30 -30
  124. package/dist/generated/lib.image.filter.js.map +1 -1
  125. package/dist/generated/lib.image.js +2 -2
  126. package/dist/generated/lib.image.js.map +1 -1
  127. package/dist/generated/lib.image.keyer.d.ts +3 -3
  128. package/dist/generated/lib.image.keyer.d.ts.map +1 -1
  129. package/dist/generated/lib.image.keyer.js +4 -4
  130. package/dist/generated/lib.image.keyer.js.map +1 -1
  131. package/dist/generated/lib.image.mask.d.ts +4 -4
  132. package/dist/generated/lib.image.mask.d.ts.map +1 -1
  133. package/dist/generated/lib.image.mask.js +6 -6
  134. package/dist/generated/lib.image.mask.js.map +1 -1
  135. package/dist/generated/lib.image.warp.d.ts +9 -9
  136. package/dist/generated/lib.image.warp.d.ts.map +1 -1
  137. package/dist/generated/lib.image.warp.js +16 -16
  138. package/dist/generated/lib.image.warp.js.map +1 -1
  139. package/dist/generated/lib.pdf.d.ts +8 -8
  140. package/dist/generated/lib.pdf.d.ts.map +1 -1
  141. package/dist/generated/lib.pdf.js +14 -14
  142. package/dist/generated/lib.pdf.js.map +1 -1
  143. package/dist/generated/lib.sqlite.d.ts +2 -2
  144. package/dist/generated/lib.sqlite.d.ts.map +1 -1
  145. package/dist/generated/lib.sqlite.js +2 -2
  146. package/dist/generated/lib.sqlite.js.map +1 -1
  147. package/dist/generated/lib.stable_diffusion_cpp.d.ts +27 -0
  148. package/dist/generated/lib.stable_diffusion_cpp.d.ts.map +1 -0
  149. package/dist/generated/lib.stable_diffusion_cpp.js +6 -0
  150. package/dist/generated/lib.stable_diffusion_cpp.js.map +1 -0
  151. package/dist/generated/lib.svg.d.ts +3 -3
  152. package/dist/generated/lib.svg.d.ts.map +1 -1
  153. package/dist/generated/lib.svg.js +4 -4
  154. package/dist/generated/lib.svg.js.map +1 -1
  155. package/dist/generated/lib.video.download.d.ts +2 -2
  156. package/dist/generated/lib.video.download.d.ts.map +1 -1
  157. package/dist/generated/lib.video.download.js +2 -2
  158. package/dist/generated/lib.video.download.js.map +1 -1
  159. package/dist/generated/messaging.discord.d.ts +2 -2
  160. package/dist/generated/messaging.discord.d.ts.map +1 -1
  161. package/dist/generated/messaging.discord.js +2 -2
  162. package/dist/generated/messaging.discord.js.map +1 -1
  163. package/dist/generated/messaging.telegram.d.ts +2 -2
  164. package/dist/generated/messaging.telegram.d.ts.map +1 -1
  165. package/dist/generated/messaging.telegram.js +2 -2
  166. package/dist/generated/messaging.telegram.js.map +1 -1
  167. package/dist/generated/mistral.embeddings.d.ts +2 -2
  168. package/dist/generated/mistral.embeddings.d.ts.map +1 -1
  169. package/dist/generated/mistral.embeddings.js +2 -2
  170. package/dist/generated/mistral.embeddings.js.map +1 -1
  171. package/dist/generated/mistral.text.d.ts +3 -3
  172. package/dist/generated/mistral.text.d.ts.map +1 -1
  173. package/dist/generated/mistral.text.js +4 -4
  174. package/dist/generated/mistral.text.js.map +1 -1
  175. package/dist/generated/mistral.vision.d.ts +3 -3
  176. package/dist/generated/mistral.vision.d.ts.map +1 -1
  177. package/dist/generated/mistral.vision.js +4 -4
  178. package/dist/generated/mistral.vision.js.map +1 -1
  179. package/dist/generated/nodetool.agents.d.ts +9 -8
  180. package/dist/generated/nodetool.agents.d.ts.map +1 -1
  181. package/dist/generated/nodetool.agents.js +14 -14
  182. package/dist/generated/nodetool.agents.js.map +1 -1
  183. package/dist/generated/nodetool.audio.d.ts +32 -28
  184. package/dist/generated/nodetool.audio.d.ts.map +1 -1
  185. package/dist/generated/nodetool.audio.js +50 -50
  186. package/dist/generated/nodetool.audio.js.map +1 -1
  187. package/dist/generated/nodetool.audio.realtime.d.ts +7 -7
  188. package/dist/generated/nodetool.audio.realtime.d.ts.map +1 -1
  189. package/dist/generated/nodetool.audio.realtime.js +12 -12
  190. package/dist/generated/nodetool.audio.realtime.js.map +1 -1
  191. package/dist/generated/nodetool.audio.synth.d.ts +10 -10
  192. package/dist/generated/nodetool.audio.synth.d.ts.map +1 -1
  193. package/dist/generated/nodetool.audio.synth.js +18 -18
  194. package/dist/generated/nodetool.audio.synth.js.map +1 -1
  195. package/dist/generated/nodetool.blender.d.ts +7 -7
  196. package/dist/generated/nodetool.blender.d.ts.map +1 -1
  197. package/dist/generated/nodetool.blender.js +12 -12
  198. package/dist/generated/nodetool.blender.js.map +1 -1
  199. package/dist/generated/nodetool.code.d.ts +3 -2
  200. package/dist/generated/nodetool.code.d.ts.map +1 -1
  201. package/dist/generated/nodetool.code.js +2 -2
  202. package/dist/generated/nodetool.code.js.map +1 -1
  203. package/dist/generated/nodetool.compare.d.ts +2 -2
  204. package/dist/generated/nodetool.compare.d.ts.map +1 -1
  205. package/dist/generated/nodetool.compare.js +2 -2
  206. package/dist/generated/nodetool.compare.js.map +1 -1
  207. package/dist/generated/nodetool.constant.d.ts +34 -33
  208. package/dist/generated/nodetool.constant.d.ts.map +1 -1
  209. package/dist/generated/nodetool.constant.js +64 -64
  210. package/dist/generated/nodetool.constant.js.map +1 -1
  211. package/dist/generated/nodetool.control.d.ts +24 -24
  212. package/dist/generated/nodetool.control.d.ts.map +1 -1
  213. package/dist/generated/nodetool.control.js +46 -46
  214. package/dist/generated/nodetool.control.js.map +1 -1
  215. package/dist/generated/nodetool.creative.d.ts +6 -6
  216. package/dist/generated/nodetool.creative.d.ts.map +1 -1
  217. package/dist/generated/nodetool.creative.js +10 -10
  218. package/dist/generated/nodetool.creative.js.map +1 -1
  219. package/dist/generated/nodetool.data.d.ts +3 -3
  220. package/dist/generated/nodetool.data.d.ts.map +1 -1
  221. package/dist/generated/nodetool.data.js +4 -4
  222. package/dist/generated/nodetool.data.js.map +1 -1
  223. package/dist/generated/nodetool.document.d.ts +4 -4
  224. package/dist/generated/nodetool.document.d.ts.map +1 -1
  225. package/dist/generated/nodetool.document.js +6 -6
  226. package/dist/generated/nodetool.document.js.map +1 -1
  227. package/dist/generated/nodetool.entity.d.ts +4 -4
  228. package/dist/generated/nodetool.entity.d.ts.map +1 -1
  229. package/dist/generated/nodetool.entity.js +6 -6
  230. package/dist/generated/nodetool.entity.js.map +1 -1
  231. package/dist/generated/nodetool.fake.d.ts +3 -3
  232. package/dist/generated/nodetool.fake.d.ts.map +1 -1
  233. package/dist/generated/nodetool.fake.js +4 -4
  234. package/dist/generated/nodetool.fake.js.map +1 -1
  235. package/dist/generated/nodetool.game.d.ts +9 -9
  236. package/dist/generated/nodetool.game.d.ts.map +1 -1
  237. package/dist/generated/nodetool.game.js +16 -16
  238. package/dist/generated/nodetool.game.js.map +1 -1
  239. package/dist/generated/nodetool.generators.d.ts +6 -6
  240. package/dist/generated/nodetool.generators.d.ts.map +1 -1
  241. package/dist/generated/nodetool.generators.js +10 -10
  242. package/dist/generated/nodetool.generators.js.map +1 -1
  243. package/dist/generated/nodetool.image.d.ts +42 -31
  244. package/dist/generated/nodetool.image.d.ts.map +1 -1
  245. package/dist/generated/nodetool.image.js +59 -56
  246. package/dist/generated/nodetool.image.js.map +1 -1
  247. package/dist/generated/nodetool.input.d.ts +43 -34
  248. package/dist/generated/nodetool.input.d.ts.map +1 -1
  249. package/dist/generated/nodetool.input.js +69 -66
  250. package/dist/generated/nodetool.input.js.map +1 -1
  251. package/dist/generated/nodetool.manimgx.d.ts +56 -0
  252. package/dist/generated/nodetool.manimgx.d.ts.map +1 -0
  253. package/dist/generated/nodetool.manimgx.js +12 -0
  254. package/dist/generated/nodetool.manimgx.js.map +1 -0
  255. package/dist/generated/nodetool.model3d.d.ts +19 -19
  256. package/dist/generated/nodetool.model3d.d.ts.map +1 -1
  257. package/dist/generated/nodetool.model3d.js +36 -36
  258. package/dist/generated/nodetool.model3d.js.map +1 -1
  259. package/dist/generated/nodetool.output.d.ts +2 -2
  260. package/dist/generated/nodetool.output.d.ts.map +1 -1
  261. package/dist/generated/nodetool.output.js +2 -2
  262. package/dist/generated/nodetool.output.js.map +1 -1
  263. package/dist/generated/nodetool.script.d.ts +7 -7
  264. package/dist/generated/nodetool.script.d.ts.map +1 -1
  265. package/dist/generated/nodetool.script.js +12 -12
  266. package/dist/generated/nodetool.script.js.map +1 -1
  267. package/dist/generated/nodetool.sketch.d.ts +4 -4
  268. package/dist/generated/nodetool.sketch.d.ts.map +1 -1
  269. package/dist/generated/nodetool.sketch.js +6 -6
  270. package/dist/generated/nodetool.sketch.js.map +1 -1
  271. package/dist/generated/nodetool.storyboard.d.ts +24 -7
  272. package/dist/generated/nodetool.storyboard.d.ts.map +1 -1
  273. package/dist/generated/nodetool.storyboard.js +15 -12
  274. package/dist/generated/nodetool.storyboard.js.map +1 -1
  275. package/dist/generated/nodetool.text.d.ts +30 -14
  276. package/dist/generated/nodetool.text.d.ts.map +1 -1
  277. package/dist/generated/nodetool.text.js +27 -24
  278. package/dist/generated/nodetool.text.js.map +1 -1
  279. package/dist/generated/nodetool.timeline.d.ts +6 -6
  280. package/dist/generated/nodetool.timeline.d.ts.map +1 -1
  281. package/dist/generated/nodetool.timeline.js +10 -10
  282. package/dist/generated/nodetool.timeline.js.map +1 -1
  283. package/dist/generated/nodetool.triggers.d.ts +6 -6
  284. package/dist/generated/nodetool.triggers.d.ts.map +1 -1
  285. package/dist/generated/nodetool.triggers.js +10 -10
  286. package/dist/generated/nodetool.triggers.js.map +1 -1
  287. package/dist/generated/nodetool.variable.d.ts +3 -3
  288. package/dist/generated/nodetool.variable.d.ts.map +1 -1
  289. package/dist/generated/nodetool.variable.js +4 -4
  290. package/dist/generated/nodetool.variable.js.map +1 -1
  291. package/dist/generated/nodetool.video.d.ts +50 -34
  292. package/dist/generated/nodetool.video.d.ts.map +1 -1
  293. package/dist/generated/nodetool.video.js +67 -64
  294. package/dist/generated/nodetool.video.js.map +1 -1
  295. package/dist/generated/nodetool.workflows.app_node.d.ts +10 -0
  296. package/dist/generated/nodetool.workflows.app_node.d.ts.map +1 -0
  297. package/dist/generated/nodetool.workflows.app_node.js +6 -0
  298. package/dist/generated/nodetool.workflows.app_node.js.map +1 -0
  299. package/dist/generated/nodetool.workflows.base_node.d.ts +2 -2
  300. package/dist/generated/nodetool.workflows.base_node.d.ts.map +1 -1
  301. package/dist/generated/nodetool.workflows.base_node.js +2 -2
  302. package/dist/generated/nodetool.workflows.base_node.js.map +1 -1
  303. package/dist/generated/nodetool.workflows.subgraph.d.ts +3 -2
  304. package/dist/generated/nodetool.workflows.subgraph.d.ts.map +1 -1
  305. package/dist/generated/nodetool.workflows.subgraph.js +2 -2
  306. package/dist/generated/nodetool.workflows.subgraph.js.map +1 -1
  307. package/dist/generated/nodetool.workflows.workflow_node.d.ts +3 -2
  308. package/dist/generated/nodetool.workflows.workflow_node.d.ts.map +1 -1
  309. package/dist/generated/nodetool.workflows.workflow_node.js +2 -2
  310. package/dist/generated/nodetool.workflows.workflow_node.js.map +1 -1
  311. package/dist/generated/openai.agents.d.ts +4 -4
  312. package/dist/generated/openai.agents.d.ts.map +1 -1
  313. package/dist/generated/openai.agents.js +6 -6
  314. package/dist/generated/openai.agents.js.map +1 -1
  315. package/dist/generated/openai.audio.d.ts +4 -4
  316. package/dist/generated/openai.audio.d.ts.map +1 -1
  317. package/dist/generated/openai.audio.js +6 -6
  318. package/dist/generated/openai.audio.js.map +1 -1
  319. package/dist/generated/openai.image.d.ts +4 -4
  320. package/dist/generated/openai.image.d.ts.map +1 -1
  321. package/dist/generated/openai.image.js +6 -6
  322. package/dist/generated/openai.image.js.map +1 -1
  323. package/dist/generated/openai.text.d.ts +4 -4
  324. package/dist/generated/openai.text.d.ts.map +1 -1
  325. package/dist/generated/openai.text.js +6 -6
  326. package/dist/generated/openai.text.js.map +1 -1
  327. package/dist/generated/vector.d.ts +14 -14
  328. package/dist/generated/vector.d.ts.map +1 -1
  329. package/dist/generated/vector.js +26 -26
  330. package/dist/generated/vector.js.map +1 -1
  331. package/dist/generated/whisper_cpp.d.ts +16 -0
  332. package/dist/generated/whisper_cpp.d.ts.map +1 -0
  333. package/dist/generated/whisper_cpp.js +6 -0
  334. package/dist/generated/whisper_cpp.js.map +1 -0
  335. package/dist/generated/xai.image.d.ts +2 -2
  336. package/dist/generated/xai.image.d.ts.map +1 -1
  337. package/dist/generated/xai.image.js +2 -2
  338. package/dist/generated/xai.image.js.map +1 -1
  339. package/dist/generated/xai.text.d.ts +3 -3
  340. package/dist/generated/xai.text.d.ts.map +1 -1
  341. package/dist/generated/xai.text.js +4 -4
  342. package/dist/generated/xai.text.js.map +1 -1
  343. package/dist/generated/xai.vision.d.ts +2 -2
  344. package/dist/generated/xai.vision.d.ts.map +1 -1
  345. package/dist/generated/xai.vision.js +2 -2
  346. package/dist/generated/xai.vision.js.map +1 -1
  347. package/dist/index.d.ts +3 -0
  348. package/dist/index.d.ts.map +1 -1
  349. package/dist/index.js +3 -0
  350. package/dist/index.js.map +1 -1
  351. package/dist/registry.d.ts.map +1 -1
  352. package/dist/registry.js +7 -0
  353. package/dist/registry.js.map +1 -1
  354. package/dist/script-export.d.ts +57 -0
  355. package/dist/script-export.d.ts.map +1 -0
  356. package/dist/script-export.js +611 -0
  357. package/dist/script-export.js.map +1 -0
  358. package/package.json +15 -13
package/README.md CHANGED
@@ -15,9 +15,14 @@ npm install @nodetool-ai/dsl
15
15
  | Symbol | Kind | Description |
16
16
  |---|---|---|
17
17
  | `createNode` | function | Create a graph node from a node type, inputs, and options |
18
- | `workflow` | function | Assemble a `Workflow` from terminal (output) nodes |
18
+ | `resolveConnection` | function | Normalize a handle or single-output node, return `undefined` for a literal |
19
+ | `NodeOptions` | type | Optional explicit node identity (`id`) |
20
+ | `workflow` | function | Build from terminals or a typed schema and symbolic callback |
21
+ | `t`, `choose`, `map`, `template` | helpers | Typed parameters, runtime branches, iteration, and symbolic text |
22
+ | `toKernelGraph` | function | Convert host workflow nodes to kernel descriptors |
19
23
  | `run` | function | Execute a workflow and return its outputs |
20
24
  | `workflowToDsl` | function | Generate DSL source from a workflow graph (used by `export-dsl`) |
25
+ | `workflowToScript` | function | Generate a JavaScript script that calls each node in order, for the sandbox or for plain Node.js (used by `export-script`) |
21
26
  | `OutputHandle`, `Connectable`, `SingleOutput` | type | Typed wiring between node outputs and inputs |
22
27
  | `DslNode`, `Workflow`, `WorkflowNode`, `WorkflowEdge` | type | Graph value types |
23
28
  | `RunOptions`, `WorkflowResult`, `SecretResolver` | type | Execution configuration and results |
@@ -26,19 +31,16 @@ npm install @nodetool-ai/dsl
26
31
  ## Usage
27
32
 
28
33
  ```ts
29
- import { workflow, run, text } from "@nodetool-ai/dsl";
30
- import { getSecret } from "@nodetool-ai/models";
34
+ import { workflow, run, t, template } from "@nodetool-ai/dsl";
31
35
 
32
- const greeting = text.template({ string: "Hello, {{ name }}" });
33
-
34
- const wf = workflow(greeting);
35
- const result = await run(wf, {
36
- secretResolver: (key, userId) => getSecret(key, userId)
37
- });
38
- console.log(result); // { output: string }
36
+ const greeter = workflow({ name: t.string() }, ({ name }) => ({
37
+ greeting: template`Hello ${name}!`
38
+ }));
39
+ const result = await run(greeter, { params: { name: "Ada" } });
40
+ // { greeting: "Hello Ada!" }
39
41
  ```
40
42
 
41
- `createNode(nodeType, inputs, opts)` is the low-level primitive behind the generated factories; `opts` covers `streaming`, `multiOutput`, `outputNames`, and `defaultOutput`. Pass an output handle (`node.output()`) as another node's input to wire an edge. Graphs with Python nodes connect a worker bridge automatically (via `RunOptions.bridgeOptions` or the `NODETOOL_WORKER_URL` environment).
43
+ `createNode(nodeType, inputs, opts)` is the low-level primitive behind the generated factories; `opts` covers `id`, `streaming`, `multiOutput`, `outputNames`, and `defaultOutput`. A single-output node can be passed directly as an input. Explicit `node.output()` syntax remains supported. Select multi-output slots with `node.output("slot")`, `node.outputs.slot`, or a safe named property such as `node.if_true`. Generated factories accept an optional second argument: `text.concat({ a: greeting, b: "!" }, { id: "joined" })`. Duplicate IDs in a build fail. Graphs with Python nodes connect a worker bridge automatically (via `RunOptions.bridgeOptions` or the `NODETOOL_WORKER_URL` environment).
42
44
 
43
45
  Regenerate the node factories after node changes:
44
46
 
@@ -64,6 +66,8 @@ JavaScript, and nothing on the host imports either.
64
66
 
65
67
  See [docs/dsl-native-flow-design.md](../../docs/dsl-native-flow-design.md).
66
68
 
69
+ See the [DSL guide](../../docs/developer/ts-dsl-guide.md) for before/after examples and the [authoring design](../../docs/developer/ts-dsl-authoring-design.md) for scope and follow-up phases.
70
+
67
71
  ## Links
68
72
 
69
73
  - [NodeTool](https://nodetool.ai)
@@ -1 +1 @@
1
- 2026-09-28T09:19:17.457Z
1
+ 2026-10-12T12:30:28.928Z
@@ -0,0 +1,69 @@
1
+ import { type Connectable, type OutputHandle, type SingleOutputNode, type NodeOptions, type Workflow, type WorkflowTerminal } from "./core.js";
2
+ import type { ImageRef, AudioRef, VideoRef } from "./types.js";
3
+ /** Workflow parameter type with an optional explicit fallback. */
4
+ export interface InputType<T, Optional extends boolean = boolean> {
5
+ readonly type: string;
6
+ readonly optionalInput: Optional;
7
+ readonly fallback?: T;
8
+ readonly __type?: T;
9
+ optional(): InputType<T | null, true>;
10
+ optional(value: T): InputType<T, true>;
11
+ }
12
+ /** Descriptors for symbolic workflow inputs. Optional values default to null. */
13
+ export declare const t: Readonly<{
14
+ string: () => InputType<string, false>;
15
+ int: () => InputType<number, false>;
16
+ float: () => InputType<number, false>;
17
+ boolean: () => InputType<boolean, false>;
18
+ image: () => InputType<ImageRef, false>;
19
+ audio: () => InputType<AudioRef, false>;
20
+ video: () => InputType<VideoRef, false>;
21
+ value: <T = unknown>() => InputType<T, false>;
22
+ list: <T>(item: InputType<T>) => InputType<T[], false>;
23
+ }>;
24
+ export type InputSchema = Record<string, InputType<unknown>>;
25
+ type InputValue<S> = S extends InputType<infer T> ? T : never;
26
+ export type WorkflowParams<I extends InputSchema> = {
27
+ [K in keyof I as I[K] extends InputType<unknown, true> ? never : K]: InputValue<I[K]>;
28
+ } & {
29
+ [K in keyof I as I[K] extends InputType<unknown, true> ? K : never]?: InputValue<I[K]>;
30
+ };
31
+ export type SymbolicInputs<I extends InputSchema> = {
32
+ readonly [K in keyof I]: OutputHandle<InputValue<I[K]>>;
33
+ };
34
+ export type WorkflowValues<O extends Record<string, unknown>> = {
35
+ [K in keyof O]: O[K] extends OutputHandle<infer V> ? V : O[K] extends SingleOutputNode<infer V> ? V : O[K];
36
+ };
37
+ export type WorkflowBuilder<I extends InputSchema, O extends Record<string, unknown>> = (inputs: SymbolicInputs<I>) => O;
38
+ export type WorkflowDefinition<I extends InputSchema, O extends Record<string, unknown>> = Workflow & {
39
+ (params: {
40
+ [K in keyof WorkflowParams<I>]: Connectable<WorkflowParams<I>[K]>;
41
+ }, options?: NodeOptions): O;
42
+ readonly inputSchema: I;
43
+ readonly outputNames: readonly string[];
44
+ toJSON(): Workflow;
45
+ };
46
+ /** Build a legacy graph or a callable graph with a typed parameter schema. */
47
+ export declare function workflow<I extends InputSchema, O extends Record<string, unknown>>(schema: I, builder: WorkflowBuilder<I, O>): WorkflowDefinition<I, O>;
48
+ export declare function workflow(...terminals: WorkflowTerminal[]): Workflow;
49
+ /** Runtime port type used when lowering typed helpers to existing graph nodes. */
50
+ export declare function valueType(value: unknown): string;
51
+ /** @internal Build a callable workflow using the ordinary graph representation. */
52
+ export declare function defineWorkflow<I extends InputSchema, O extends Record<string, unknown>>(schema: I, builder: WorkflowBuilder<I, O>): WorkflowDefinition<I, O>;
53
+ /** Convert the host graph envelope to the existing kernel envelope. */
54
+ export interface KernelWorkflow {
55
+ nodes: Array<Record<string, unknown>>;
56
+ edges: Workflow["edges"];
57
+ }
58
+ export declare function toKernelGraph(graph: Workflow): KernelWorkflow;
59
+ /** Build two isolated bodies and execute only the runtime-selected branch. */
60
+ export declare function choose<T>(condition: Connectable<boolean>, branches: {
61
+ then: () => Connectable<T>;
62
+ else: () => Connectable<NoInfer<T>>;
63
+ }): OutputHandle<T>;
64
+ /** Map through the kernel's iteration and collection primitives. */
65
+ export declare function map<T, U>(items: Connectable<T[]>, build: (item: OutputHandle<T>, index: OutputHandle<number>) => Connectable<U>): OutputHandle<U[]>;
66
+ /** Interpolate symbolic values through the existing dynamic-input Template node. */
67
+ export declare function template(strings: TemplateStringsArray, ...values: unknown[]): OutputHandle<string>;
68
+ export {};
69
+ //# sourceMappingURL=authoring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authoring.d.ts","sourceRoot":"","sources":["../src/authoring.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,318 @@
1
+ import { createNode, resolveConnection, connectionIdentity, connectionSlot, workflow as graphWorkflow, withBuildScope, withNodeScope } from "./core.js";
2
+ function inputType(type, optionalInput = false, fallback) {
3
+ return Object.freeze({
4
+ type,
5
+ optionalInput,
6
+ fallback,
7
+ optional(value) {
8
+ return inputType(type, true, value === undefined ? null : value);
9
+ }
10
+ });
11
+ }
12
+ /** Descriptors for symbolic workflow inputs. Optional values default to null. */
13
+ export const t = Object.freeze({
14
+ string: () => inputType("str"),
15
+ int: () => inputType("int"),
16
+ float: () => inputType("float"),
17
+ boolean: () => inputType("bool"),
18
+ image: () => inputType("image"),
19
+ audio: () => inputType("audio"),
20
+ video: () => inputType("video"),
21
+ value: () => inputType("any"),
22
+ list: (item) => inputType(`list[${item.type}]`)
23
+ });
24
+ export function workflow(...args) {
25
+ if (args.length === 2 && typeof args[1] === "function") {
26
+ return defineWorkflow(args[0], args[1]);
27
+ }
28
+ return graphWorkflow(...args);
29
+ }
30
+ const INPUT_NODES = {
31
+ str: "StringInput",
32
+ int: "IntegerInput",
33
+ float: "FloatInput",
34
+ bool: "BooleanInput",
35
+ image: "ImageInput",
36
+ audio: "AudioInput",
37
+ video: "VideoInput"
38
+ };
39
+ function input(name, descriptor) {
40
+ const specialized = !descriptor.optionalInput && descriptor.type in INPUT_NODES
41
+ ? INPUT_NODES[descriptor.type]
42
+ : undefined;
43
+ const properties = { name };
44
+ if (descriptor.optionalInput) {
45
+ properties.value = descriptor.fallback;
46
+ }
47
+ return createNode(`nodetool.input.${specialized || "ValueInput"}`, properties, {
48
+ id: `input/${name}`,
49
+ outputNames: ["output"],
50
+ defaultOutput: "output",
51
+ outputTypes: { output: descriptor.type }
52
+ });
53
+ }
54
+ /** Runtime port type used when lowering typed helpers to existing graph nodes. */
55
+ export function valueType(value) {
56
+ const handle = resolveConnection(value);
57
+ if (handle)
58
+ return handle.valueType ?? "any";
59
+ if (typeof value === "string")
60
+ return "str";
61
+ if (typeof value === "boolean")
62
+ return "bool";
63
+ if (typeof value === "number")
64
+ return Number.isInteger(value) ? "int" : "float";
65
+ if (Array.isArray(value))
66
+ return `list[${value.length ? valueType(value[0]) : "any"}]`;
67
+ if (value &&
68
+ typeof value === "object" &&
69
+ "type" in value &&
70
+ typeof value.type === "string") {
71
+ if (["image", "audio", "video", "model3d"].includes(value.type))
72
+ return value.type;
73
+ }
74
+ return "any";
75
+ }
76
+ function resultNodes(result) {
77
+ if (!result ||
78
+ typeof result !== "object" ||
79
+ Array.isArray(result) ||
80
+ typeof result.then === "function") {
81
+ throw new Error("A workflow builder must synchronously return a named output object");
82
+ }
83
+ if (!Object.keys(result).length)
84
+ throw new Error("A workflow must return at least one named output");
85
+ return Object.entries(result).map(([name, value]) => createNode("nodetool.output.Output", { name, value }, { id: `output/${name}`, outputNames: ["output"] }));
86
+ }
87
+ /** @internal Build a callable workflow using the ordinary graph representation. */
88
+ export function defineWorkflow(schema, builder) {
89
+ schema = Object.freeze({ ...schema });
90
+ for (const [name, descriptor] of Object.entries(schema)) {
91
+ if (!name ||
92
+ !descriptor ||
93
+ typeof descriptor.type !== "string" ||
94
+ typeof descriptor.optionalInput !== "boolean") {
95
+ throw new Error(`Invalid workflow input descriptor: ${name}`);
96
+ }
97
+ }
98
+ let outputNames = [];
99
+ const graph = withBuildScope(() => {
100
+ const inputs = Object.fromEntries(Object.entries(schema).map(([name, descriptor]) => [
101
+ name,
102
+ input(name, descriptor)
103
+ ]));
104
+ const symbols = Object.fromEntries(Object.entries(inputs).map(([name, node]) => [name, node.output()]));
105
+ const result = builder(symbols);
106
+ const outputs = resultNodes(result);
107
+ outputNames = Object.keys(result);
108
+ return graphWorkflow(...outputs, ...Object.values(inputs));
109
+ });
110
+ const definition = (params, options) => withNodeScope(options?.id, () => {
111
+ for (const [name, descriptor] of Object.entries(schema)) {
112
+ if ((!Object.hasOwn(params, name) || params[name] === undefined) &&
113
+ !descriptor.optionalInput)
114
+ throw new Error(`Missing required workflow input "${name}"`);
115
+ }
116
+ for (const name of Object.keys(params)) {
117
+ if (!Object.hasOwn(schema, name))
118
+ throw new Error(`Unknown workflow input "${name}"`);
119
+ }
120
+ const inputs = Object.fromEntries(Object.entries(schema).map(([name, descriptor]) => [
121
+ name,
122
+ createNode("nodetool.control.Reroute", {
123
+ input_value: Object.hasOwn(params, name) && params[name] !== undefined
124
+ ? params[name]
125
+ : descriptor.fallback
126
+ }, {
127
+ id: `input/${name}`,
128
+ outputNames: ["output"],
129
+ defaultOutput: "output",
130
+ outputTypes: { output: descriptor.type },
131
+ outputCorrelation: {
132
+ output: { kind: "forward", source: "input_value" }
133
+ }
134
+ }).output()
135
+ ]));
136
+ const result = builder(inputs);
137
+ if (!result ||
138
+ Object.keys(result).join("\0") !== outputNames.join("\0")) {
139
+ throw new Error("A composed workflow must preserve its declared output names");
140
+ }
141
+ return result;
142
+ });
143
+ return Object.freeze(Object.assign(definition, graph, {
144
+ inputSchema: schema,
145
+ outputNames: Object.freeze(outputNames),
146
+ toJSON: () => graph
147
+ }));
148
+ }
149
+ export function toKernelGraph(graph) {
150
+ return {
151
+ nodes: graph.nodes.map((node) => {
152
+ if (!("data" in node)) {
153
+ return Object.fromEntries(Object.entries(node));
154
+ }
155
+ const { data, streaming, streamingInput, ...rest } = node;
156
+ return {
157
+ ...rest,
158
+ properties: data,
159
+ is_streaming_output: streaming,
160
+ is_streaming_input: streamingInput
161
+ };
162
+ }),
163
+ edges: graph.edges.map((edge) => ({ ...edge }))
164
+ };
165
+ }
166
+ function bodyGraph(build) {
167
+ const captures = {};
168
+ const captured = new Map();
169
+ let type = "any";
170
+ let captureCount = 0;
171
+ const graph = withBuildScope(() => {
172
+ const value = build();
173
+ if (value &&
174
+ typeof value === "object" &&
175
+ "then" in value &&
176
+ typeof value.then === "function") {
177
+ throw new Error("Branch and map callbacks must return synchronously");
178
+ }
179
+ type = valueType(value);
180
+ return graphWorkflow(...resultNodes({ value }));
181
+ }, (handle) => {
182
+ const identity = connectionIdentity(handle);
183
+ const slot = connectionSlot(handle);
184
+ let slots = captured.get(identity);
185
+ if (!slots) {
186
+ slots = new Map();
187
+ captured.set(identity, slots);
188
+ }
189
+ let local = slots.get(slot);
190
+ if (!local) {
191
+ const name = `capture_${captureCount++}`;
192
+ captures[name] = handle;
193
+ local = input(name, inputType(handle.valueType ?? "any")).output();
194
+ slots.set(slot, local);
195
+ }
196
+ return local;
197
+ });
198
+ return { graph: toKernelGraph(graph), captures, type };
199
+ }
200
+ function route(condition, value, type, source) {
201
+ return createNode("nodetool.control.If", { condition, value }, {
202
+ outputNames: ["if_true", "if_false"],
203
+ outputTypes: { if_true: type, if_false: type },
204
+ outputCorrelation: source
205
+ ? {
206
+ if_true: { kind: "forward", source },
207
+ if_false: { kind: "forward", source }
208
+ }
209
+ : undefined
210
+ });
211
+ }
212
+ function subgraph(body, inputs, correlationSource) {
213
+ return createNode("nodetool.workflows.subgraph.Subgraph", { graph: body.graph, ...inputs }, {
214
+ outputNames: ["value"],
215
+ defaultOutput: "value",
216
+ outputTypes: { value: body.type },
217
+ dynamicOutputs: { value: { type: body.type, type_args: [] } },
218
+ outputCorrelation: {
219
+ value: { kind: "forward", source: correlationSource }
220
+ }
221
+ });
222
+ }
223
+ /** Build two isolated bodies and execute only the runtime-selected branch. */
224
+ export function choose(condition, branches) {
225
+ const yes = bodyGraph(branches.then);
226
+ const no = bodyGraph(branches.else);
227
+ if (yes.type !== "any" &&
228
+ no.type !== "any" &&
229
+ yes.type !== no.type &&
230
+ ![yes.type, no.type].every((type) => ["int", "float"].includes(type))) {
231
+ throw new Error(`Branch output types do not match: ${yes.type} and ${no.type}`);
232
+ }
233
+ const gate = route(condition, true, "bool");
234
+ const branch = (body, slot) => {
235
+ const inputs = { gate: gate.output(slot) };
236
+ for (const [name, handle] of Object.entries(body.captures)) {
237
+ inputs[name] = route(condition, handle, handle.valueType ?? "any").output(slot);
238
+ }
239
+ return subgraph(body, inputs, "gate");
240
+ };
241
+ const a = branch(yes, "if_true");
242
+ const b = branch(no, "if_false");
243
+ return createNode("nodetool.code.Code", {
244
+ code: 'for await (const value of stream("yes")) { await emit("output", value); }\nfor await (const value of stream("no")) { await emit("output", value); }',
245
+ yes: a,
246
+ no: b
247
+ }, {
248
+ outputNames: ["output"],
249
+ defaultOutput: "output",
250
+ outputTypes: { output: yes.type },
251
+ streamingInput: true,
252
+ streaming: true
253
+ }).output();
254
+ }
255
+ /** Map through the kernel's iteration and collection primitives. */
256
+ export function map(items, build) {
257
+ const listType = valueType(items);
258
+ const itemType = listType.startsWith("list[") ? listType.slice(5, -1) : "any";
259
+ const body = bodyGraph(() => build(input("item", inputType(itemType)).output(), input("index", t.int()).output()));
260
+ const each = createNode("nodetool.control.ForEach", { input_list: items }, {
261
+ outputNames: ["output", "index"],
262
+ outputTypes: { output: itemType, index: "int" },
263
+ streaming: true,
264
+ outputCorrelation: {
265
+ output: { kind: "iteration", source: "__execution__", group: "items" },
266
+ index: { kind: "iteration", source: "__execution__", group: "items" }
267
+ }
268
+ });
269
+ const inputs = {
270
+ item: each.output("output"),
271
+ index: each.output("index")
272
+ };
273
+ if (Object.keys(body.captures).length) {
274
+ const gate = createNode("nodetool.code.Code", {
275
+ code: 'await output("output", true);',
276
+ item: each.output("output")
277
+ }, {
278
+ outputNames: ["output"],
279
+ defaultOutput: "output",
280
+ outputTypes: { output: "bool" },
281
+ outputCorrelation: { output: { kind: "forward", source: "item" } }
282
+ });
283
+ for (const [name, handle] of Object.entries(body.captures)) {
284
+ inputs[name] = route(gate, handle, handle.valueType ?? "any", "condition").output("if_true");
285
+ }
286
+ }
287
+ const invocation = subgraph(body, inputs, "item");
288
+ return createNode("nodetool.control.Collect", { input_item: invocation }, {
289
+ outputNames: ["output"],
290
+ defaultOutput: "output",
291
+ outputTypes: { output: `list[${body.type}]` },
292
+ streamingInput: true,
293
+ inputMode: "stream",
294
+ outputCorrelation: {
295
+ output: {
296
+ kind: "aggregate",
297
+ source: "input_item",
298
+ collapse: "innermost"
299
+ }
300
+ }
301
+ }).output();
302
+ }
303
+ /** Interpolate symbolic values through the existing dynamic-input Template node. */
304
+ export function template(strings, ...values) {
305
+ const inputs = {};
306
+ let text = strings[0] ?? "";
307
+ values.forEach((value, index) => {
308
+ const name = `value_${index}`;
309
+ inputs[name] = value;
310
+ text += `{{${name}}}${strings[index + 1] ?? ""}`;
311
+ });
312
+ return createNode("nodetool.text.Template", { string: text, ...inputs }, {
313
+ outputNames: ["output"],
314
+ defaultOutput: "output",
315
+ outputTypes: { output: "str" }
316
+ }).output();
317
+ }
318
+ //# sourceMappingURL=authoring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authoring.js","sourceRoot":"","sources":["../src/authoring.ts"],"names":[],"mappings":"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"}
package/dist/core.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { InputSchema, WorkflowDefinition } from "./authoring.js";
1
2
  import type { NodeRegistry } from "@nodetool-ai/node-sdk";
2
3
  import { type PythonBridgeOptions } from "@nodetool-ai/runtime";
3
4
  export interface OutputHandle<T> {
@@ -5,29 +6,55 @@ export interface OutputHandle<T> {
5
6
  readonly nodeId: string;
6
7
  readonly slot: string;
7
8
  readonly __phantom?: T;
9
+ readonly valueType?: string;
8
10
  }
9
11
  export declare function isOutputHandle(value: unknown): value is OutputHandle<unknown>;
10
- export type Connectable<T> = T | OutputHandle<T>;
12
+ export interface SingleOutputNode<T> {
13
+ readonly defaultOutputHandle: OutputHandle<T>;
14
+ }
15
+ export type Connectable<T> = T | OutputHandle<T> | SingleOutputNode<T>;
11
16
  export type SingleOutput<T, TSlot extends string = "output"> = {
12
17
  readonly [K in TSlot]: T;
13
18
  };
14
19
  export type OutputSlot<TOutputs extends object> = Extract<keyof TOutputs, string>;
20
+ type IsUnion<T, TWhole = T> = T extends TWhole ? [TWhole] extends [T] ? false : true : never;
21
+ type DefaultOutputSlot<TOutputs extends object> = [
22
+ OutputSlot<TOutputs>
23
+ ] extends [never] ? undefined : IsUnion<OutputSlot<TOutputs>> extends false ? OutputSlot<TOutputs> : undefined;
15
24
  export interface OutputAccessor<TOutputs extends object, TDefault extends OutputSlot<TOutputs> | undefined = undefined> {
16
25
  (): TDefault extends OutputSlot<TOutputs> ? OutputHandle<TOutputs[TDefault]> : never;
17
26
  <K extends OutputSlot<TOutputs>>(slot: K): OutputHandle<TOutputs[K]>;
18
27
  }
19
- export interface DslNode<TOutputs extends object, TDefault extends OutputSlot<TOutputs> | undefined = TOutputs extends SingleOutput<infer _TValue, infer TSlot> ? Extract<TSlot, OutputSlot<TOutputs>> : undefined> {
28
+ export interface DslNode<TOutputs extends object, TDefault extends OutputSlot<TOutputs> | undefined = DefaultOutputSlot<TOutputs>> {
29
+ readonly defaultOutputHandle: [DefaultOutputSlot<TOutputs>] extends [
30
+ undefined
31
+ ] ? undefined : TDefault extends OutputSlot<TOutputs> ? OutputHandle<TOutputs[TDefault]> : undefined;
20
32
  readonly nodeId: string;
21
33
  readonly nodeType: string;
22
34
  readonly inputs: Record<string, unknown>;
23
35
  readonly output: OutputAccessor<TOutputs, TDefault>;
24
36
  }
37
+ export type OutputHandles<TOutputs extends object> = {
38
+ readonly [K in OutputSlot<TOutputs>]: OutputHandle<TOutputs[K]>;
39
+ };
40
+ export type NamedOutputs<TOutputs extends object> = {
41
+ readonly outputs: OutputHandles<TOutputs>;
42
+ } & (string extends keyof TOutputs ? object : {
43
+ readonly [K in Exclude<OutputSlot<TOutputs>, keyof DslNode<TOutputs> | "outputs" | "then" | "constructor" | "__proto__">]: OutputHandle<TOutputs[K]>;
44
+ });
45
+ export type NodeWithOutputs<TOutputs extends object, TDefault extends OutputSlot<TOutputs> | undefined = DefaultOutputSlot<TOutputs>> = DslNode<TOutputs, TDefault> & NamedOutputs<TOutputs>;
25
46
  export interface WorkflowNode {
26
47
  readonly id: string;
27
48
  readonly type: string;
28
49
  readonly data: Record<string, unknown>;
29
50
  readonly streaming: boolean;
30
51
  readonly streamingInput: boolean;
52
+ readonly dynamic_outputs?: Record<string, {
53
+ type: string;
54
+ type_args: never[];
55
+ }>;
56
+ readonly input_mode?: import("@nodetool-ai/protocol").InputMode;
57
+ readonly output_correlation?: Record<string, import("@nodetool-ai/protocol").OutputCorrelation>;
31
58
  }
32
59
  export interface WorkflowEdge {
33
60
  readonly source: string;
@@ -39,18 +66,40 @@ export interface Workflow {
39
66
  readonly nodes: WorkflowNode[];
40
67
  readonly edges: WorkflowEdge[];
41
68
  }
42
- type WorkflowTerminal = Pick<DslNode<Record<string, unknown>, string>, "nodeId">;
43
- export type CreateNodeOptions<TOutputs extends object, TDefault extends OutputSlot<TOutputs> | undefined = undefined> = {
69
+ export type WorkflowTerminal = Pick<DslNode<Record<string, unknown>, string>, "nodeId">;
70
+ /** @internal Isolate a synchronous graph build and restore the enclosing build. */
71
+ export declare function withBuildScope<T>(build: () => T, capture?: (handle: OutputHandle<unknown>) => OutputHandle<unknown>): T;
72
+ /** @internal Namespace one composed instantiation without clearing its parent. */
73
+ export declare function withNodeScope<T>(id: string | undefined, build: () => T): T;
74
+ /** Resolve a symbolic connection, leaving literal values unchanged. */
75
+ export declare function resolveConnection(value: unknown): OutputHandle<unknown> | undefined;
76
+ /** @internal Original producer identity, including isolated build scopes. */
77
+ export declare function connectionIdentity(handle: OutputHandle<unknown>): object;
78
+ /** @internal Port name shared with the guest handle adapter. */
79
+ export declare function connectionSlot(handle: OutputHandle<unknown>): string;
80
+ /** Optional authored identity shared by generated factories. */
81
+ export interface NodeOptions {
82
+ id?: string;
83
+ }
84
+ export type CreateNodeOptions<TOutputs extends object, TDefault extends OutputSlot<TOutputs> | undefined = undefined> = NodeOptions & {
44
85
  streaming?: boolean;
45
86
  streamingInput?: boolean;
46
87
  outputNames?: readonly OutputSlot<TOutputs>[];
47
88
  defaultOutput?: TDefault;
48
89
  multiOutput?: boolean;
90
+ outputTypes?: Record<string, string>;
91
+ dynamicOutputs?: Record<string, {
92
+ type: string;
93
+ type_args: never[];
94
+ }>;
95
+ inputMode?: import("@nodetool-ai/protocol").InputMode;
96
+ outputCorrelation?: Record<string, import("@nodetool-ai/protocol").OutputCorrelation>;
49
97
  };
50
- export declare function createNode<TOutputs extends object, TDefault extends OutputSlot<TOutputs> | undefined = TOutputs extends SingleOutput<infer _TValue, infer TSlot> ? Extract<TSlot, OutputSlot<TOutputs>> : undefined>(nodeType: string, inputs: Record<string, unknown>, opts?: CreateNodeOptions<TOutputs, TDefault>): DslNode<TOutputs, TDefault>;
98
+ export declare function createNode<TOutputs extends object, TDefault extends OutputSlot<TOutputs> | undefined = DefaultOutputSlot<TOutputs>>(nodeType: string, inputs: Record<string, unknown>, opts?: CreateNodeOptions<TOutputs, TDefault>): NodeWithOutputs<TOutputs, TDefault>;
51
99
  export declare function workflow(...terminals: WorkflowTerminal[]): Workflow;
52
100
  export type SecretResolver = (key: string, userId: string) => Promise<string | null | undefined> | string | null | undefined;
53
101
  export type RunOptions = {
102
+ params?: Record<string, unknown>;
54
103
  userId?: string;
55
104
  authToken?: string;
56
105
  /** Custom node registry; defaults to NodeRegistry.global. */
@@ -72,7 +121,12 @@ export type RunOptions = {
72
121
  bridgeOptions?: PythonBridgeOptions;
73
122
  };
74
123
  export type WorkflowResult = Record<string, unknown>;
75
- export declare function run(wf: Workflow, opts?: RunOptions): Promise<WorkflowResult>;
124
+ export declare function run<I extends InputSchema, O extends Record<string, unknown>>(wf: WorkflowDefinition<I, O>, opts?: Omit<RunOptions, "params"> & {
125
+ params?: import("./authoring.js").WorkflowParams<I>;
126
+ }): Promise<import("./authoring.js").WorkflowValues<O>>;
127
+ export declare function run(wf: Workflow & {
128
+ inputSchema?: never;
129
+ }, opts?: RunOptions): Promise<WorkflowResult>;
76
130
  export declare function runGraph(...terminals: DslNode<never>[]): Promise<WorkflowResult>;
77
131
  export {};
78
132
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAc9B,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC,CAO7E;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,QAAQ,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CAC/C;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEvE,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,KAAK,SAAS,MAAM,GAAG,QAAQ,IAAI;IAC7D,QAAQ,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,QAAQ,SAAS,MAAM,IAAI,OAAO,CACvD,MAAM,QAAQ,EACd,MAAM,CACP,CAAC;AAEF,KAAK,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,GAC1C,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAClB,KAAK,GACL,IAAI,GACN,KAAK,CAAC;AAEV,KAAK,iBAAiB,CAAC,QAAQ,SAAS,MAAM,IAAI;IAChD,UAAU,CAAC,QAAQ,CAAC;CACrB,SAAS,CAAC,KAAK,CAAC,GACb,SAAS,GACT,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,SAAS,KAAK,GACzC,UAAU,CAAC,QAAQ,CAAC,GACpB,SAAS,CAAC;AAEhB,MAAM,WAAW,cAAc,CAC7B,QAAQ,SAAS,MAAM,EACvB,QAAQ,SAAS,UAAU,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,SAAS;IAE7D,IAAI,QAAQ,SAAS,UAAU,CAAC,QAAQ,CAAC,GACrC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAChC,KAAK,CAAC;IACV,CAAC,CAAC,SAAS,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,OAAO,CACtB,QAAQ,SAAS,MAAM,EACvB,QAAQ,SAAS,UAAU,CAAC,QAAQ,CAAC,GAAG,SAAS,GAC/C,iBAAiB,CAAC,QAAQ,CAAC;IAE7B,QAAQ,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,SAAS;QAClE,SAAS;KACV,GACG,SAAS,GACT,QAAQ,SAAS,UAAU,CAAC,QAAQ,CAAC,GACnC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAChC,SAAS,CAAC;IAChB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;CACrD;AAED,MAAM,MAAM,aAAa,CAAC,QAAQ,SAAS,MAAM,IAAI;IACnD,QAAQ,EAAE,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AACF,MAAM,MAAM,YAAY,CAAC,QAAQ,SAAS,MAAM,IAAI;IAClD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;CAC3C,GAAG,CAAC,MAAM,SAAS,MAAM,QAAQ,GAC9B,MAAM,GACN;IACE,QAAQ,EAAE,CAAC,IAAI,OAAO,CACpB,UAAU,CAAC,QAAQ,CAAC,EAClB,MAAM,OAAO,CAAC,QAAQ,CAAC,GACvB,SAAS,GACT,MAAM,GACN,aAAa,GACb,WAAW,CACd,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAC9B,CAAC,CAAC;AAEP,MAAM,MAAM,eAAe,CACzB,QAAQ,SAAS,MAAM,EACvB,QAAQ,SAAS,UAAU,CAAC,QAAQ,CAAC,GAAG,SAAS,GAC/C,iBAAiB,CAAC,QAAQ,CAAC,IAC3B,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAC/B,MAAM,EACN;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,EAAE,CAAA;KAAE,CACrC,CAAC;IACF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,uBAAuB,EAAE,SAAS,CAAC;IAChE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAClC,MAAM,EACN,OAAO,uBAAuB,EAAE,iBAAiB,CAClD,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;CAChC;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EACxC,QAAQ,CACT,CAAC;AAwBF,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,CAAC,EAC9B,KAAK,EAAE,MAAM,CAAC,EACd,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,GACjE,CAAC,CAgBH;AAED,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAc1E;AAID,uEAAuE;AACvE,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,GACb,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,CAiBnC;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,CAExE;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,CAEpE;AAgBD,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,iBAAiB,CAC3B,QAAQ,SAAS,MAAM,EACvB,QAAQ,SAAS,UAAU,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,SAAS,IAC3D,WAAW,GAAG;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,SAAS,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC9C,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,EAAE,CAAA;KAAE,CAAC,CAAC;IACtE,SAAS,CAAC,EAAE,OAAO,uBAAuB,EAAE,SAAS,CAAC;IACtD,iBAAiB,CAAC,EAAE,MAAM,CACxB,MAAM,EACN,OAAO,uBAAuB,EAAE,iBAAiB,CAClD,CAAC;CACH,CAAC;AAEF,wBAAgB,UAAU,CACxB,QAAQ,SAAS,MAAM,EACvB,QAAQ,SAAS,UAAU,CAAC,QAAQ,CAAC,GAAG,SAAS,GAC/C,iBAAiB,CAAC,QAAQ,CAAC,EAE7B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,CAAC,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAC3C,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAuGrC;AAyDD,wBAAgB,QAAQ,CAAC,GAAG,SAAS,EAAE,gBAAgB,EAAE,GAAG,QAAQ,CAwHnE;AAED,MAAM,MAAM,cAAc,GAAG,CAC3B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAEpE,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErD,wBAAgB,GAAG,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1E,EAAE,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5B,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG;IAClC,MAAM,CAAC,EAAE,OAAO,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;CACrD,GACA,OAAO,CAAC,OAAO,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,wBAAgB,GAAG,CACjB,EAAE,EAAE,QAAQ,GAAG;IAAE,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,EACtC,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,cAAc,CAAC,CAAC;AAoF3B,wBAAsB,QAAQ,CAC5B,GAAG,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,GAC7B,OAAO,CAAC,cAAc,CAAC,CAEzB"}