@nodetool-ai/dsl 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.
- package/README.md +73 -0
- package/dist/.nodetool-build-stamp +1 -0
- package/dist/authoring.d.ts +69 -0
- package/dist/authoring.d.ts.map +1 -0
- package/dist/authoring.js +318 -0
- package/dist/authoring.js.map +1 -0
- package/dist/core.d.ts +83 -13
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +250 -75
- package/dist/core.js.map +1 -1
- package/dist/export.d.ts +26 -2
- package/dist/export.d.ts.map +1 -1
- package/dist/export.js +31 -3
- package/dist/export.js.map +1 -1
- package/dist/flow/core.d.ts +120 -0
- package/dist/flow/core.d.ts.map +1 -0
- package/dist/flow/core.js +330 -0
- package/dist/flow/core.js.map +1 -0
- package/dist/flow/generated/gemini.audio.d.ts +21 -0
- package/dist/flow/generated/gemini.audio.d.ts.map +1 -0
- package/dist/flow/generated/gemini.audio.js +11 -0
- package/dist/flow/generated/gemini.audio.js.map +1 -0
- package/dist/flow/generated/gemini.image.d.ts +13 -0
- package/dist/flow/generated/gemini.image.d.ts.map +1 -0
- package/dist/flow/generated/gemini.image.js +8 -0
- package/dist/flow/generated/gemini.image.js.map +1 -0
- package/dist/flow/generated/gemini.text.d.ts +19 -0
- package/dist/flow/generated/gemini.text.d.ts.map +1 -0
- package/dist/flow/generated/gemini.text.js +11 -0
- package/dist/flow/generated/gemini.text.js.map +1 -0
- package/dist/flow/generated/gemini.video.d.ts +25 -0
- package/dist/flow/generated/gemini.video.d.ts.map +1 -0
- package/dist/flow/generated/gemini.video.js +11 -0
- package/dist/flow/generated/gemini.video.js.map +1 -0
- package/dist/flow/generated/kie.dynamic_schema.d.ts +7 -0
- package/dist/flow/generated/kie.dynamic_schema.d.ts.map +1 -0
- package/dist/flow/generated/kie.dynamic_schema.js +8 -0
- package/dist/flow/generated/kie.dynamic_schema.js.map +1 -0
- package/dist/flow/generated/lib.audio.d.ts +152 -0
- package/dist/flow/generated/lib.audio.d.ts.map +1 -0
- package/dist/flow/generated/lib.audio.js +53 -0
- package/dist/flow/generated/lib.audio.js.map +1 -0
- package/dist/flow/generated/lib.browser.d.ts +11 -0
- package/dist/flow/generated/lib.browser.d.ts.map +1 -0
- package/dist/flow/generated/lib.browser.js +8 -0
- package/dist/flow/generated/lib.browser.js.map +1 -0
- package/dist/flow/generated/lib.charts.d.ts +14 -0
- package/dist/flow/generated/lib.charts.d.ts.map +1 -0
- package/dist/flow/generated/lib.charts.js +8 -0
- package/dist/flow/generated/lib.charts.js.map +1 -0
- package/dist/flow/generated/lib.comfy.d.ts +40 -0
- package/dist/flow/generated/lib.comfy.d.ts.map +1 -0
- package/dist/flow/generated/lib.comfy.js +23 -0
- package/dist/flow/generated/lib.comfy.js.map +1 -0
- package/dist/flow/generated/lib.grid.d.ts +11 -0
- package/dist/flow/generated/lib.grid.d.ts.map +1 -0
- package/dist/flow/generated/lib.grid.js +8 -0
- package/dist/flow/generated/lib.grid.js.map +1 -0
- package/dist/flow/generated/lib.image.channel.d.ts +22 -0
- package/dist/flow/generated/lib.image.channel.d.ts.map +1 -0
- package/dist/flow/generated/lib.image.channel.js +11 -0
- package/dist/flow/generated/lib.image.channel.js.map +1 -0
- package/dist/flow/generated/lib.image.color.d.ts +73 -0
- package/dist/flow/generated/lib.image.color.d.ts.map +1 -0
- package/dist/flow/generated/lib.image.color.js +26 -0
- package/dist/flow/generated/lib.image.color.js.map +1 -0
- package/dist/flow/generated/lib.image.color_grading.d.ts +126 -0
- package/dist/flow/generated/lib.image.color_grading.d.ts.map +1 -0
- package/dist/flow/generated/lib.image.color_grading.js +35 -0
- package/dist/flow/generated/lib.image.color_grading.js.map +1 -0
- package/dist/flow/generated/lib.image.d.ts +11 -0
- package/dist/flow/generated/lib.image.d.ts.map +1 -0
- package/dist/flow/generated/lib.image.draw.d.ts +92 -0
- package/dist/flow/generated/lib.image.draw.d.ts.map +1 -0
- package/dist/flow/generated/lib.image.draw.js +29 -0
- package/dist/flow/generated/lib.image.draw.js.map +1 -0
- package/dist/flow/generated/lib.image.effects.d.ts +53 -0
- package/dist/flow/generated/lib.image.effects.d.ts.map +1 -0
- package/dist/flow/generated/lib.image.effects.js +20 -0
- package/dist/flow/generated/lib.image.effects.js.map +1 -0
- package/dist/flow/generated/lib.image.enhance.d.ts +49 -0
- package/dist/flow/generated/lib.image.enhance.d.ts.map +1 -0
- package/dist/flow/generated/lib.image.enhance.js +23 -0
- package/dist/flow/generated/lib.image.enhance.js.map +1 -0
- package/dist/flow/generated/lib.image.filter.d.ts +126 -0
- package/dist/flow/generated/lib.image.filter.d.ts.map +1 -0
- package/dist/flow/generated/lib.image.filter.js +50 -0
- package/dist/flow/generated/lib.image.filter.js.map +1 -0
- package/dist/flow/generated/lib.image.js +8 -0
- package/dist/flow/generated/lib.image.js.map +1 -0
- package/dist/flow/generated/lib.image.keyer.d.ts +23 -0
- package/dist/flow/generated/lib.image.keyer.d.ts.map +1 -0
- package/dist/flow/generated/lib.image.keyer.js +11 -0
- package/dist/flow/generated/lib.image.keyer.js.map +1 -0
- package/dist/flow/generated/lib.image.mask.d.ts +27 -0
- package/dist/flow/generated/lib.image.mask.d.ts.map +1 -0
- package/dist/flow/generated/lib.image.mask.js +14 -0
- package/dist/flow/generated/lib.image.mask.js.map +1 -0
- package/dist/flow/generated/lib.image.warp.d.ts +90 -0
- package/dist/flow/generated/lib.image.warp.d.ts.map +1 -0
- package/dist/flow/generated/lib.image.warp.js +29 -0
- package/dist/flow/generated/lib.image.warp.js.map +1 -0
- package/dist/flow/generated/lib.pdf.d.ts +72 -0
- package/dist/flow/generated/lib.pdf.d.ts.map +1 -0
- package/dist/flow/generated/lib.pdf.js +26 -0
- package/dist/flow/generated/lib.pdf.js.map +1 -0
- package/dist/flow/generated/lib.sqlite.d.ts +8 -0
- package/dist/flow/generated/lib.sqlite.d.ts.map +1 -0
- package/dist/flow/generated/lib.sqlite.js +8 -0
- package/dist/flow/generated/lib.sqlite.js.map +1 -0
- package/dist/flow/generated/lib.stable_diffusion_cpp.d.ts +26 -0
- package/dist/flow/generated/lib.stable_diffusion_cpp.d.ts.map +1 -0
- package/dist/flow/generated/lib.stable_diffusion_cpp.js +8 -0
- package/dist/flow/generated/lib.stable_diffusion_cpp.js.map +1 -0
- package/dist/flow/generated/lib.svg.d.ts +23 -0
- package/dist/flow/generated/lib.svg.d.ts.map +1 -0
- package/dist/flow/generated/lib.svg.js +11 -0
- package/dist/flow/generated/lib.svg.js.map +1 -0
- package/dist/flow/generated/lib.video.download.d.ts +22 -0
- package/dist/flow/generated/lib.video.download.d.ts.map +1 -0
- package/dist/flow/generated/lib.video.download.js +8 -0
- package/dist/flow/generated/lib.video.download.js.map +1 -0
- package/dist/flow/generated/messaging.discord.d.ts +21 -0
- package/dist/flow/generated/messaging.discord.d.ts.map +1 -0
- package/dist/flow/generated/messaging.discord.js +11 -0
- package/dist/flow/generated/messaging.discord.js.map +1 -0
- package/dist/flow/generated/messaging.telegram.d.ts +25 -0
- package/dist/flow/generated/messaging.telegram.d.ts.map +1 -0
- package/dist/flow/generated/messaging.telegram.js +11 -0
- package/dist/flow/generated/messaging.telegram.js.map +1 -0
- package/dist/flow/generated/mistral.embeddings.d.ts +10 -0
- package/dist/flow/generated/mistral.embeddings.d.ts.map +1 -0
- package/dist/flow/generated/mistral.embeddings.js +8 -0
- package/dist/flow/generated/mistral.embeddings.js.map +1 -0
- package/dist/flow/generated/mistral.text.d.ts +22 -0
- package/dist/flow/generated/mistral.text.d.ts.map +1 -0
- package/dist/flow/generated/mistral.text.js +11 -0
- package/dist/flow/generated/mistral.text.js.map +1 -0
- package/dist/flow/generated/mistral.vision.d.ts +21 -0
- package/dist/flow/generated/mistral.vision.d.ts.map +1 -0
- package/dist/flow/generated/mistral.vision.js +11 -0
- package/dist/flow/generated/mistral.vision.js.map +1 -0
- package/dist/flow/generated/nodetool.agents.d.ts +102 -0
- package/dist/flow/generated/nodetool.agents.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.agents.js +35 -0
- package/dist/flow/generated/nodetool.agents.js.map +1 -0
- package/dist/flow/generated/nodetool.audio.d.ts +223 -0
- package/dist/flow/generated/nodetool.audio.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.audio.js +86 -0
- package/dist/flow/generated/nodetool.audio.js.map +1 -0
- package/dist/flow/generated/nodetool.audio.realtime.d.ts +83 -0
- package/dist/flow/generated/nodetool.audio.realtime.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.audio.realtime.js +41 -0
- package/dist/flow/generated/nodetool.audio.realtime.js.map +1 -0
- package/dist/flow/generated/nodetool.audio.synth.d.ts +154 -0
- package/dist/flow/generated/nodetool.audio.synth.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.audio.synth.js +59 -0
- package/dist/flow/generated/nodetool.audio.synth.js.map +1 -0
- package/dist/flow/generated/nodetool.blender.d.ts +119 -0
- package/dist/flow/generated/nodetool.blender.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.blender.js +23 -0
- package/dist/flow/generated/nodetool.blender.js.map +1 -0
- package/dist/flow/generated/nodetool.code.d.ts +16 -0
- package/dist/flow/generated/nodetool.code.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.code.js +11 -0
- package/dist/flow/generated/nodetool.code.js.map +1 -0
- package/dist/flow/generated/nodetool.compare.d.ts +14 -0
- package/dist/flow/generated/nodetool.compare.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.compare.js +8 -0
- package/dist/flow/generated/nodetool.compare.js.map +1 -0
- package/dist/flow/generated/nodetool.constant.d.ts +247 -0
- package/dist/flow/generated/nodetool.constant.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.constant.js +101 -0
- package/dist/flow/generated/nodetool.constant.js.map +1 -0
- package/dist/flow/generated/nodetool.control.d.ts +313 -0
- package/dist/flow/generated/nodetool.control.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.control.js +143 -0
- package/dist/flow/generated/nodetool.control.js.map +1 -0
- package/dist/flow/generated/nodetool.creative.d.ts +59 -0
- package/dist/flow/generated/nodetool.creative.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.creative.js +23 -0
- package/dist/flow/generated/nodetool.creative.js.map +1 -0
- package/dist/flow/generated/nodetool.data.d.ts +26 -0
- package/dist/flow/generated/nodetool.data.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.data.js +17 -0
- package/dist/flow/generated/nodetool.data.js.map +1 -0
- package/dist/flow/generated/nodetool.document.d.ts +30 -0
- package/dist/flow/generated/nodetool.document.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.document.js +17 -0
- package/dist/flow/generated/nodetool.document.js.map +1 -0
- package/dist/flow/generated/nodetool.entity.d.ts +45 -0
- package/dist/flow/generated/nodetool.entity.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.entity.js +17 -0
- package/dist/flow/generated/nodetool.entity.js.map +1 -0
- package/dist/flow/generated/nodetool.fake.d.ts +21 -0
- package/dist/flow/generated/nodetool.fake.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.fake.js +11 -0
- package/dist/flow/generated/nodetool.fake.js.map +1 -0
- package/dist/flow/generated/nodetool.game.d.ts +111 -0
- package/dist/flow/generated/nodetool.game.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.game.js +32 -0
- package/dist/flow/generated/nodetool.game.js.map +1 -0
- package/dist/flow/generated/nodetool.generators.d.ts +66 -0
- package/dist/flow/generated/nodetool.generators.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.generators.js +26 -0
- package/dist/flow/generated/nodetool.generators.js.map +1 -0
- package/dist/flow/generated/nodetool.image.d.ts +305 -0
- package/dist/flow/generated/nodetool.image.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.image.js +98 -0
- package/dist/flow/generated/nodetool.image.js.map +1 -0
- package/dist/flow/generated/nodetool.input.d.ts +324 -0
- package/dist/flow/generated/nodetool.input.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.input.js +110 -0
- package/dist/flow/generated/nodetool.input.js.map +1 -0
- package/dist/flow/generated/nodetool.model3d.d.ts +183 -0
- package/dist/flow/generated/nodetool.model3d.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.model3d.js +59 -0
- package/dist/flow/generated/nodetool.model3d.js.map +1 -0
- package/dist/flow/generated/nodetool.output.d.ts +13 -0
- package/dist/flow/generated/nodetool.output.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.output.js +11 -0
- package/dist/flow/generated/nodetool.output.js.map +1 -0
- package/dist/flow/generated/nodetool.script.d.ts +66 -0
- package/dist/flow/generated/nodetool.script.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.script.js +23 -0
- package/dist/flow/generated/nodetool.script.js.map +1 -0
- package/dist/flow/generated/nodetool.sketch.d.ts +26 -0
- package/dist/flow/generated/nodetool.sketch.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.sketch.js +14 -0
- package/dist/flow/generated/nodetool.sketch.js.map +1 -0
- package/dist/flow/generated/nodetool.storyboard.d.ts +92 -0
- package/dist/flow/generated/nodetool.storyboard.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.storyboard.js +26 -0
- package/dist/flow/generated/nodetool.storyboard.js.map +1 -0
- package/dist/flow/generated/nodetool.text.d.ts +133 -0
- package/dist/flow/generated/nodetool.text.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.text.js +56 -0
- package/dist/flow/generated/nodetool.text.js.map +1 -0
- package/dist/flow/generated/nodetool.timeline.d.ts +58 -0
- package/dist/flow/generated/nodetool.timeline.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.timeline.js +20 -0
- package/dist/flow/generated/nodetool.timeline.js.map +1 -0
- package/dist/flow/generated/nodetool.triggers.d.ts +80 -0
- package/dist/flow/generated/nodetool.triggers.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.triggers.js +29 -0
- package/dist/flow/generated/nodetool.triggers.js.map +1 -0
- package/dist/flow/generated/nodetool.variable.d.ts +20 -0
- package/dist/flow/generated/nodetool.variable.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.variable.js +14 -0
- package/dist/flow/generated/nodetool.variable.js.map +1 -0
- package/dist/flow/generated/nodetool.video.d.ts +337 -0
- package/dist/flow/generated/nodetool.video.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.video.js +113 -0
- package/dist/flow/generated/nodetool.video.js.map +1 -0
- package/dist/flow/generated/nodetool.workflows.base_node.d.ts +8 -0
- package/dist/flow/generated/nodetool.workflows.base_node.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.workflows.base_node.js +8 -0
- package/dist/flow/generated/nodetool.workflows.base_node.js.map +1 -0
- package/dist/flow/generated/nodetool.workflows.subgraph.d.ts +10 -0
- package/dist/flow/generated/nodetool.workflows.subgraph.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.workflows.subgraph.js +11 -0
- package/dist/flow/generated/nodetool.workflows.subgraph.js.map +1 -0
- package/dist/flow/generated/nodetool.workflows.workflow_node.d.ts +11 -0
- package/dist/flow/generated/nodetool.workflows.workflow_node.d.ts.map +1 -0
- package/dist/flow/generated/nodetool.workflows.workflow_node.js +11 -0
- package/dist/flow/generated/nodetool.workflows.workflow_node.js.map +1 -0
- package/dist/flow/generated/openai.agents.d.ts +61 -0
- package/dist/flow/generated/openai.agents.d.ts.map +1 -0
- package/dist/flow/generated/openai.agents.js +23 -0
- package/dist/flow/generated/openai.agents.js.map +1 -0
- package/dist/flow/generated/openai.audio.d.ts +35 -0
- package/dist/flow/generated/openai.audio.d.ts.map +1 -0
- package/dist/flow/generated/openai.audio.js +14 -0
- package/dist/flow/generated/openai.audio.js.map +1 -0
- package/dist/flow/generated/openai.image.d.ts +33 -0
- package/dist/flow/generated/openai.image.d.ts.map +1 -0
- package/dist/flow/generated/openai.image.js +14 -0
- package/dist/flow/generated/openai.image.js.map +1 -0
- package/dist/flow/generated/openai.text.d.ts +27 -0
- package/dist/flow/generated/openai.text.d.ts.map +1 -0
- package/dist/flow/generated/openai.text.js +14 -0
- package/dist/flow/generated/openai.text.js.map +1 -0
- package/dist/flow/generated/vector.d.ts +130 -0
- package/dist/flow/generated/vector.d.ts.map +1 -0
- package/dist/flow/generated/vector.js +44 -0
- package/dist/flow/generated/vector.js.map +1 -0
- package/dist/flow/generated/whisper_cpp.d.ts +21 -0
- package/dist/flow/generated/whisper_cpp.d.ts.map +1 -0
- package/dist/flow/generated/whisper_cpp.js +11 -0
- package/dist/flow/generated/whisper_cpp.js.map +1 -0
- package/dist/flow/generated/xai.image.d.ts +11 -0
- package/dist/flow/generated/xai.image.d.ts.map +1 -0
- package/dist/flow/generated/xai.image.js +8 -0
- package/dist/flow/generated/xai.image.js.map +1 -0
- package/dist/flow/generated/xai.text.d.ts +23 -0
- package/dist/flow/generated/xai.text.d.ts.map +1 -0
- package/dist/flow/generated/xai.text.js +11 -0
- package/dist/flow/generated/xai.text.js.map +1 -0
- package/dist/flow/generated/xai.vision.d.ts +13 -0
- package/dist/flow/generated/xai.vision.d.ts.map +1 -0
- package/dist/flow/generated/xai.vision.js +8 -0
- package/dist/flow/generated/xai.vision.js.map +1 -0
- package/dist/flow/guest-core.d.ts +11 -0
- package/dist/flow/guest-core.d.ts.map +1 -0
- package/dist/flow/guest-core.js +49 -0
- package/dist/flow/guest-core.js.map +1 -0
- package/dist/flow/index.d.ts +12 -0
- package/dist/flow/index.d.ts.map +1 -0
- package/dist/flow/index.js +10 -0
- package/dist/flow/index.js.map +1 -0
- package/dist/flow/invoke.d.ts +12 -0
- package/dist/flow/invoke.d.ts.map +1 -0
- package/dist/flow/invoke.js +24 -0
- package/dist/flow/invoke.js.map +1 -0
- package/dist/flow/streaming.d.ts +68 -0
- package/dist/flow/streaming.d.ts.map +1 -0
- package/dist/flow/streaming.js +374 -0
- package/dist/flow/streaming.js.map +1 -0
- package/dist/generated/gemini.audio.d.ts +9 -9
- package/dist/generated/gemini.audio.d.ts.map +1 -1
- package/dist/generated/gemini.audio.js +4 -4
- package/dist/generated/gemini.audio.js.map +1 -1
- package/dist/generated/gemini.image.d.ts +7 -5
- package/dist/generated/gemini.image.d.ts.map +1 -1
- package/dist/generated/gemini.image.js +2 -2
- package/dist/generated/gemini.image.js.map +1 -1
- package/dist/generated/gemini.text.d.ts +9 -9
- package/dist/generated/gemini.text.d.ts.map +1 -1
- package/dist/generated/gemini.text.js +4 -4
- package/dist/generated/gemini.text.js.map +1 -1
- package/dist/generated/gemini.video.d.ts +11 -9
- package/dist/generated/gemini.video.d.ts.map +1 -1
- package/dist/generated/gemini.video.js +4 -4
- package/dist/generated/gemini.video.js.map +1 -1
- package/dist/generated/index.d.ts +25 -22
- package/dist/generated/index.d.ts.map +1 -1
- package/dist/generated/index.js +25 -22
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/kie.dynamic_schema.d.ts +5 -4
- package/dist/generated/kie.dynamic_schema.d.ts.map +1 -1
- package/dist/generated/kie.dynamic_schema.js +2 -2
- package/dist/generated/kie.dynamic_schema.js.map +1 -1
- package/dist/generated/lib.audio.d.ts +62 -59
- package/dist/generated/lib.audio.d.ts.map +1 -1
- package/dist/generated/lib.audio.js +32 -32
- package/dist/generated/lib.audio.js.map +1 -1
- package/dist/generated/lib.browser.d.ts +6 -65
- package/dist/generated/lib.browser.d.ts.map +1 -1
- package/dist/generated/lib.browser.js +2 -17
- package/dist/generated/lib.browser.js.map +1 -1
- package/dist/generated/lib.charts.d.ts +4 -5
- package/dist/generated/lib.charts.d.ts.map +1 -1
- package/dist/generated/lib.charts.js +2 -2
- package/dist/generated/lib.charts.js.map +1 -1
- package/dist/generated/lib.comfy.d.ts +35 -0
- package/dist/generated/lib.comfy.d.ts.map +1 -0
- package/dist/generated/lib.comfy.js +12 -0
- package/dist/generated/lib.comfy.js.map +1 -0
- package/dist/generated/lib.grid.d.ts +4 -12
- package/dist/generated/lib.grid.d.ts.map +1 -1
- package/dist/generated/lib.grid.js +2 -5
- package/dist/generated/lib.grid.js.map +1 -1
- package/dist/generated/lib.image.channel.d.ts +23 -0
- package/dist/generated/lib.image.channel.d.ts.map +1 -0
- package/dist/generated/lib.image.channel.js +9 -0
- package/dist/generated/lib.image.channel.js.map +1 -0
- package/dist/generated/lib.image.color.d.ts +74 -0
- package/dist/generated/lib.image.color.d.ts.map +1 -0
- package/dist/generated/lib.image.color.js +24 -0
- package/dist/generated/lib.image.color.js.map +1 -0
- package/dist/generated/lib.image.color_grading.d.ts +31 -32
- package/dist/generated/lib.image.color_grading.d.ts.map +1 -1
- package/dist/generated/lib.image.color_grading.js +20 -20
- package/dist/generated/lib.image.color_grading.js.map +1 -1
- package/dist/generated/lib.image.d.ts +5 -14
- package/dist/generated/lib.image.d.ts.map +1 -1
- package/dist/generated/lib.image.draw.d.ts +67 -10
- package/dist/generated/lib.image.draw.d.ts.map +1 -1
- package/dist/generated/lib.image.draw.js +21 -6
- package/dist/generated/lib.image.draw.js.map +1 -1
- package/dist/generated/lib.image.effects.d.ts +54 -0
- package/dist/generated/lib.image.effects.d.ts.map +1 -0
- package/dist/generated/lib.image.effects.js +18 -0
- package/dist/generated/lib.image.effects.js.map +1 -0
- package/dist/generated/lib.image.enhance.d.ts +19 -68
- package/dist/generated/lib.image.enhance.d.ts.map +1 -1
- package/dist/generated/lib.image.enhance.js +12 -30
- package/dist/generated/lib.image.enhance.js.map +1 -1
- package/dist/generated/lib.image.filter.d.ts +77 -45
- package/dist/generated/lib.image.filter.d.ts.map +1 -1
- package/dist/generated/lib.image.filter.js +33 -24
- package/dist/generated/lib.image.filter.js.map +1 -1
- package/dist/generated/lib.image.js +2 -5
- package/dist/generated/lib.image.js.map +1 -1
- package/dist/generated/lib.image.keyer.d.ts +24 -0
- package/dist/generated/lib.image.keyer.d.ts.map +1 -0
- package/dist/generated/lib.image.keyer.js +9 -0
- package/dist/generated/lib.image.keyer.js.map +1 -0
- package/dist/generated/lib.image.mask.d.ts +28 -0
- package/dist/generated/lib.image.mask.d.ts.map +1 -0
- package/dist/generated/lib.image.mask.js +12 -0
- package/dist/generated/lib.image.mask.js.map +1 -0
- package/dist/generated/lib.image.warp.d.ts +91 -0
- package/dist/generated/lib.image.warp.d.ts.map +1 -0
- package/dist/generated/lib.image.warp.js +27 -0
- package/dist/generated/lib.image.warp.js.map +1 -0
- package/dist/generated/lib.pdf.d.ts +27 -51
- package/dist/generated/lib.pdf.d.ts.map +1 -1
- package/dist/generated/lib.pdf.js +14 -23
- package/dist/generated/lib.pdf.js.map +1 -1
- package/dist/generated/lib.sqlite.d.ts +4 -66
- package/dist/generated/lib.sqlite.d.ts.map +1 -1
- package/dist/generated/lib.sqlite.js +2 -20
- package/dist/generated/lib.sqlite.js.map +1 -1
- package/dist/generated/lib.stable_diffusion_cpp.d.ts +27 -0
- package/dist/generated/lib.stable_diffusion_cpp.d.ts.map +1 -0
- package/dist/generated/lib.stable_diffusion_cpp.js +6 -0
- package/dist/generated/lib.stable_diffusion_cpp.js.map +1 -0
- package/dist/generated/lib.svg.d.ts +7 -140
- package/dist/generated/lib.svg.d.ts.map +1 -1
- package/dist/generated/lib.svg.js +4 -40
- package/dist/generated/lib.svg.js.map +1 -1
- package/dist/generated/lib.video.download.d.ts +5 -4
- package/dist/generated/lib.video.download.d.ts.map +1 -1
- package/dist/generated/lib.video.download.js +2 -2
- package/dist/generated/lib.video.download.js.map +1 -1
- package/dist/generated/messaging.discord.d.ts +4 -16
- package/dist/generated/messaging.discord.d.ts.map +1 -1
- package/dist/generated/messaging.discord.js +2 -5
- package/dist/generated/messaging.discord.js.map +1 -1
- package/dist/generated/messaging.telegram.d.ts +4 -20
- package/dist/generated/messaging.telegram.d.ts.map +1 -1
- package/dist/generated/messaging.telegram.js +2 -5
- package/dist/generated/messaging.telegram.js.map +1 -1
- package/dist/generated/mistral.embeddings.d.ts +4 -4
- package/dist/generated/mistral.embeddings.d.ts.map +1 -1
- package/dist/generated/mistral.embeddings.js +2 -2
- package/dist/generated/mistral.embeddings.js.map +1 -1
- package/dist/generated/mistral.text.d.ts +7 -7
- package/dist/generated/mistral.text.d.ts.map +1 -1
- package/dist/generated/mistral.text.js +4 -4
- package/dist/generated/mistral.text.js.map +1 -1
- package/dist/generated/mistral.vision.d.ts +7 -7
- package/dist/generated/mistral.vision.d.ts.map +1 -1
- package/dist/generated/mistral.vision.js +4 -4
- package/dist/generated/mistral.vision.js.map +1 -1
- package/dist/generated/nodetool.agents.d.ts +51 -238
- package/dist/generated/nodetool.agents.d.ts.map +1 -1
- package/dist/generated/nodetool.agents.js +14 -65
- package/dist/generated/nodetool.agents.js.map +1 -1
- package/dist/generated/nodetool.audio.d.ts +136 -121
- package/dist/generated/nodetool.audio.d.ts.map +1 -1
- package/dist/generated/nodetool.audio.js +52 -46
- package/dist/generated/nodetool.audio.js.map +1 -1
- package/dist/generated/nodetool.audio.realtime.d.ts +51 -0
- package/dist/generated/nodetool.audio.realtime.d.ts.map +1 -0
- package/dist/generated/nodetool.audio.realtime.js +21 -0
- package/dist/generated/nodetool.audio.realtime.js.map +1 -0
- package/dist/generated/nodetool.audio.synth.d.ts +101 -0
- package/dist/generated/nodetool.audio.synth.d.ts.map +1 -0
- package/dist/generated/nodetool.audio.synth.js +30 -0
- package/dist/generated/nodetool.audio.synth.js.map +1 -0
- package/dist/generated/nodetool.blender.d.ts +120 -0
- package/dist/generated/nodetool.blender.d.ts.map +1 -0
- package/dist/generated/nodetool.blender.js +21 -0
- package/dist/generated/nodetool.blender.js.map +1 -0
- package/dist/generated/nodetool.code.d.ts +10 -176
- package/dist/generated/nodetool.code.d.ts.map +1 -1
- package/dist/generated/nodetool.code.js +2 -56
- package/dist/generated/nodetool.code.js.map +1 -1
- package/dist/generated/nodetool.compare.d.ts +7 -5
- package/dist/generated/nodetool.compare.d.ts.map +1 -1
- package/dist/generated/nodetool.compare.js +2 -2
- package/dist/generated/nodetool.compare.js.map +1 -1
- package/dist/generated/nodetool.constant.d.ts +125 -87
- package/dist/generated/nodetool.constant.d.ts.map +1 -1
- package/dist/generated/nodetool.constant.js +68 -56
- package/dist/generated/nodetool.constant.js.map +1 -1
- package/dist/generated/nodetool.control.d.ts +167 -18
- package/dist/generated/nodetool.control.d.ts.map +1 -1
- package/dist/generated/nodetool.control.js +63 -12
- package/dist/generated/nodetool.control.js.map +1 -1
- package/dist/generated/nodetool.creative.d.ts +57 -0
- package/dist/generated/nodetool.creative.d.ts.map +1 -0
- package/dist/generated/nodetool.creative.js +18 -0
- package/dist/generated/nodetool.creative.js.map +1 -0
- package/dist/generated/nodetool.data.d.ts +7 -231
- package/dist/generated/nodetool.data.d.ts.map +1 -1
- package/dist/generated/nodetool.data.js +4 -88
- package/dist/generated/nodetool.data.js.map +1 -1
- package/dist/generated/nodetool.document.d.ts +11 -73
- package/dist/generated/nodetool.document.d.ts.map +1 -1
- package/dist/generated/nodetool.document.js +6 -21
- package/dist/generated/nodetool.document.js.map +1 -1
- package/dist/generated/nodetool.entity.d.ts +43 -0
- package/dist/generated/nodetool.entity.d.ts.map +1 -0
- package/dist/generated/nodetool.entity.js +12 -0
- package/dist/generated/nodetool.entity.js.map +1 -0
- package/dist/generated/nodetool.fake.d.ts +22 -0
- package/dist/generated/nodetool.fake.d.ts.map +1 -0
- package/dist/generated/nodetool.fake.js +9 -0
- package/dist/generated/nodetool.fake.js.map +1 -0
- package/dist/generated/nodetool.game.d.ts +109 -0
- package/dist/generated/nodetool.game.d.ts.map +1 -0
- package/dist/generated/nodetool.game.js +27 -0
- package/dist/generated/nodetool.game.js.map +1 -0
- package/dist/generated/nodetool.generators.d.ts +21 -20
- package/dist/generated/nodetool.generators.d.ts.map +1 -1
- package/dist/generated/nodetool.generators.js +10 -10
- package/dist/generated/nodetool.generators.js.map +1 -1
- package/dist/generated/nodetool.image.d.ts +232 -101
- package/dist/generated/nodetool.image.d.ts.map +1 -1
- package/dist/generated/nodetool.image.js +70 -34
- package/dist/generated/nodetool.image.js.map +1 -1
- package/dist/generated/nodetool.input.d.ts +109 -100
- package/dist/generated/nodetool.input.d.ts.map +1 -1
- package/dist/generated/nodetool.input.js +69 -66
- package/dist/generated/nodetool.input.js.map +1 -1
- package/dist/generated/nodetool.model3d.d.ts +98 -56
- package/dist/generated/nodetool.model3d.d.ts.map +1 -1
- package/dist/generated/nodetool.model3d.js +40 -28
- package/dist/generated/nodetool.model3d.js.map +1 -1
- package/dist/generated/nodetool.output.d.ts +4 -4
- package/dist/generated/nodetool.output.d.ts.map +1 -1
- package/dist/generated/nodetool.output.js +2 -2
- package/dist/generated/nodetool.output.js.map +1 -1
- package/dist/generated/nodetool.script.d.ts +67 -0
- package/dist/generated/nodetool.script.d.ts.map +1 -0
- package/dist/generated/nodetool.script.js +21 -0
- package/dist/generated/nodetool.script.js.map +1 -0
- package/dist/generated/nodetool.sketch.d.ts +27 -0
- package/dist/generated/nodetool.sketch.d.ts.map +1 -0
- package/dist/generated/nodetool.sketch.js +12 -0
- package/dist/generated/nodetool.sketch.js.map +1 -0
- package/dist/generated/nodetool.storyboard.d.ts +90 -0
- package/dist/generated/nodetool.storyboard.d.ts.map +1 -0
- package/dist/generated/nodetool.storyboard.js +21 -0
- package/dist/generated/nodetool.storyboard.js.map +1 -0
- package/dist/generated/nodetool.text.d.ts +59 -386
- package/dist/generated/nodetool.text.d.ts.map +1 -1
- package/dist/generated/nodetool.text.js +26 -137
- package/dist/generated/nodetool.text.js.map +1 -1
- package/dist/generated/nodetool.timeline.d.ts +59 -0
- package/dist/generated/nodetool.timeline.d.ts.map +1 -0
- package/dist/generated/nodetool.timeline.js +18 -0
- package/dist/generated/nodetool.timeline.js.map +1 -0
- package/dist/generated/nodetool.triggers.d.ts +15 -22
- package/dist/generated/nodetool.triggers.d.ts.map +1 -1
- package/dist/generated/nodetool.triggers.js +10 -10
- package/dist/generated/nodetool.triggers.js.map +1 -1
- package/dist/generated/nodetool.variable.d.ts +18 -0
- package/dist/generated/nodetool.variable.d.ts.map +1 -0
- package/dist/generated/nodetool.variable.js +9 -0
- package/dist/generated/nodetool.variable.js.map +1 -0
- package/dist/generated/nodetool.video.d.ts +153 -105
- package/dist/generated/nodetool.video.d.ts.map +1 -1
- package/dist/generated/nodetool.video.js +70 -58
- package/dist/generated/nodetool.video.js.map +1 -1
- package/dist/generated/nodetool.workflows.base_node.d.ts +4 -4
- package/dist/generated/nodetool.workflows.base_node.d.ts.map +1 -1
- package/dist/generated/nodetool.workflows.base_node.js +2 -2
- package/dist/generated/nodetool.workflows.base_node.js.map +1 -1
- package/dist/generated/nodetool.workflows.subgraph.d.ts +9 -0
- package/dist/generated/nodetool.workflows.subgraph.d.ts.map +1 -0
- package/dist/generated/nodetool.workflows.subgraph.js +6 -0
- package/dist/generated/nodetool.workflows.subgraph.js.map +1 -0
- package/dist/generated/nodetool.workflows.workflow_node.d.ts +5 -4
- package/dist/generated/nodetool.workflows.workflow_node.d.ts.map +1 -1
- package/dist/generated/nodetool.workflows.workflow_node.js +2 -2
- package/dist/generated/nodetool.workflows.workflow_node.js.map +1 -1
- package/dist/generated/openai.agents.d.ts +23 -7
- package/dist/generated/openai.agents.d.ts.map +1 -1
- package/dist/generated/openai.agents.js +7 -4
- package/dist/generated/openai.agents.js.map +1 -1
- package/dist/generated/openai.audio.d.ts +11 -10
- package/dist/generated/openai.audio.d.ts.map +1 -1
- package/dist/generated/openai.audio.js +6 -6
- package/dist/generated/openai.audio.js.map +1 -1
- package/dist/generated/openai.image.d.ts +15 -7
- package/dist/generated/openai.image.d.ts.map +1 -1
- package/dist/generated/openai.image.js +7 -4
- package/dist/generated/openai.image.js.map +1 -1
- package/dist/generated/openai.text.d.ts +10 -10
- package/dist/generated/openai.text.d.ts.map +1 -1
- package/dist/generated/openai.text.js +6 -6
- package/dist/generated/openai.text.js.map +1 -1
- package/dist/generated/vector.d.ts +40 -40
- package/dist/generated/vector.d.ts.map +1 -1
- package/dist/generated/vector.js +26 -26
- package/dist/generated/vector.js.map +1 -1
- package/dist/generated/whisper_cpp.d.ts +16 -0
- package/dist/generated/whisper_cpp.d.ts.map +1 -0
- package/dist/generated/whisper_cpp.js +6 -0
- package/dist/generated/whisper_cpp.js.map +1 -0
- package/dist/generated/xai.image.d.ts +12 -0
- package/dist/generated/xai.image.d.ts.map +1 -0
- package/dist/generated/xai.image.js +6 -0
- package/dist/generated/xai.image.js.map +1 -0
- package/dist/generated/xai.text.d.ts +24 -0
- package/dist/generated/xai.text.d.ts.map +1 -0
- package/dist/generated/xai.text.js +9 -0
- package/dist/generated/xai.text.js.map +1 -0
- package/dist/generated/xai.vision.d.ts +14 -0
- package/dist/generated/xai.vision.d.ts.map +1 -0
- package/dist/generated/xai.vision.js +6 -0
- package/dist/generated/xai.vision.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/registry.d.ts +32 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +99 -0
- package/dist/registry.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +44 -14
- package/dist/generated/anthropic.agents.d.ts +0 -15
- package/dist/generated/anthropic.agents.d.ts.map +0 -1
- package/dist/generated/anthropic.agents.js +0 -6
- package/dist/generated/anthropic.agents.js.map +0 -1
- package/dist/generated/apify.scraping.d.ts +0 -83
- package/dist/generated/apify.scraping.d.ts.map +0 -1
- package/dist/generated/apify.scraping.js +0 -24
- package/dist/generated/apify.scraping.js.map +0 -1
- package/dist/generated/lib.convert.d.ts +0 -11
- package/dist/generated/lib.convert.d.ts.map +0 -1
- package/dist/generated/lib.convert.js +0 -6
- package/dist/generated/lib.convert.js.map +0 -1
- package/dist/generated/lib.convert.pandoc.d.ts +0 -22
- package/dist/generated/lib.convert.pandoc.d.ts.map +0 -1
- package/dist/generated/lib.convert.pandoc.js +0 -9
- package/dist/generated/lib.convert.pandoc.js.map +0 -1
- package/dist/generated/lib.docx.d.ts +0 -81
- package/dist/generated/lib.docx.d.ts.map +0 -1
- package/dist/generated/lib.docx.js +0 -30
- package/dist/generated/lib.docx.js.map +0 -1
- package/dist/generated/lib.excel.d.ts +0 -58
- package/dist/generated/lib.excel.d.ts.map +0 -1
- package/dist/generated/lib.excel.js +0 -21
- package/dist/generated/lib.excel.js.map +0 -1
- package/dist/generated/lib.graphql.d.ts +0 -47
- package/dist/generated/lib.graphql.d.ts.map +0 -1
- package/dist/generated/lib.graphql.js +0 -15
- package/dist/generated/lib.graphql.js.map +0 -1
- package/dist/generated/lib.html.d.ts +0 -72
- package/dist/generated/lib.html.d.ts.map +0 -1
- package/dist/generated/lib.html.js +0 -27
- package/dist/generated/lib.html.js.map +0 -1
- package/dist/generated/lib.http.d.ts +0 -68
- package/dist/generated/lib.http.d.ts.map +0 -1
- package/dist/generated/lib.http.js +0 -24
- package/dist/generated/lib.http.js.map +0 -1
- package/dist/generated/lib.mail.d.ts +0 -49
- package/dist/generated/lib.mail.d.ts.map +0 -1
- package/dist/generated/lib.mail.js +0 -15
- package/dist/generated/lib.mail.js.map +0 -1
- package/dist/generated/lib.markdown.d.ts +0 -47
- package/dist/generated/lib.markdown.d.ts.map +0 -1
- package/dist/generated/lib.markdown.js +0 -21
- package/dist/generated/lib.markdown.js.map +0 -1
- package/dist/generated/lib.nlp.d.ts +0 -69
- package/dist/generated/lib.nlp.d.ts.map +0 -1
- package/dist/generated/lib.nlp.js +0 -24
- package/dist/generated/lib.nlp.js.map +0 -1
- package/dist/generated/lib.notion.d.ts +0 -61
- package/dist/generated/lib.notion.d.ts.map +0 -1
- package/dist/generated/lib.notion.js +0 -21
- package/dist/generated/lib.notion.js.map +0 -1
- package/dist/generated/lib.os.d.ts +0 -215
- package/dist/generated/lib.os.d.ts.map +0 -1
- package/dist/generated/lib.os.js +0 -90
- package/dist/generated/lib.os.js.map +0 -1
- package/dist/generated/lib.rss.d.ts +0 -21
- package/dist/generated/lib.rss.d.ts.map +0 -1
- package/dist/generated/lib.rss.js +0 -9
- package/dist/generated/lib.rss.js.map +0 -1
- package/dist/generated/lib.s3.d.ts +0 -73
- package/dist/generated/lib.s3.d.ts.map +0 -1
- package/dist/generated/lib.s3.js +0 -24
- package/dist/generated/lib.s3.js.map +0 -1
- package/dist/generated/lib.secret.d.ts +0 -10
- package/dist/generated/lib.secret.d.ts.map +0 -1
- package/dist/generated/lib.secret.js +0 -6
- package/dist/generated/lib.secret.js.map +0 -1
- package/dist/generated/lib.supabase.d.ts +0 -60
- package/dist/generated/lib.supabase.d.ts.map +0 -1
- package/dist/generated/lib.supabase.js +0 -21
- package/dist/generated/lib.supabase.js.map +0 -1
- package/dist/generated/lib.twilio.d.ts +0 -46
- package/dist/generated/lib.twilio.d.ts.map +0 -1
- package/dist/generated/lib.twilio.js +0 -15
- package/dist/generated/lib.twilio.js.map +0 -1
- package/dist/generated/nodetool.team.d.ts +0 -27
- package/dist/generated/nodetool.team.d.ts.map +0 -1
- package/dist/generated/nodetool.team.js +0 -9
- package/dist/generated/nodetool.team.js.map +0 -1
- package/dist/generated/nodetool.workspace.d.ts +0 -146
- package/dist/generated/nodetool.workspace.d.ts.map +0 -1
- package/dist/generated/nodetool.workspace.js +0 -57
- package/dist/generated/nodetool.workspace.js.map +0 -1
- package/dist/generated/search.google.d.ts +0 -78
- package/dist/generated/search.google.d.ts.map +0 -1
- package/dist/generated/search.google.js +0 -27
- package/dist/generated/search.google.js.map +0 -1
package/README.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# @nodetool-ai/dsl
|
|
2
|
+
|
|
3
|
+
Type-safe TypeScript DSL for defining [NodeTool](https://nodetool.ai) workflows.
|
|
4
|
+
|
|
5
|
+
Build a workflow graph in code — nodes, edges, and typed output handles — then run it or export it. Node factories are generated from the registry, so connections are checked at compile time.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @nodetool-ai/dsl
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Exported symbols
|
|
14
|
+
|
|
15
|
+
| Symbol | Kind | Description |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| `createNode` | function | Create a graph node from a node type, inputs, and options |
|
|
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 |
|
|
23
|
+
| `run` | function | Execute a workflow and return its outputs |
|
|
24
|
+
| `workflowToDsl` | function | Generate DSL source from a workflow graph (used by `export-dsl`) |
|
|
25
|
+
| `OutputHandle`, `Connectable`, `SingleOutput` | type | Typed wiring between node outputs and inputs |
|
|
26
|
+
| `DslNode`, `Workflow`, `WorkflowNode`, `WorkflowEdge` | type | Graph value types |
|
|
27
|
+
| `RunOptions`, `WorkflowResult`, `SecretResolver` | type | Execution configuration and results |
|
|
28
|
+
| generated namespaces (`text`, `agents`, `geminiImage`, …) | module | Typed factories for every registered node, grouped by namespace |
|
|
29
|
+
|
|
30
|
+
## Usage
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
import { workflow, run, t, template } from "@nodetool-ai/dsl";
|
|
34
|
+
|
|
35
|
+
const greeter = workflow({ name: t.string() }, ({ name }) => ({
|
|
36
|
+
greeting: template`Hello ${name}!`
|
|
37
|
+
}));
|
|
38
|
+
const result = await run(greeter, { params: { name: "Ada" } });
|
|
39
|
+
// { greeting: "Hello Ada!" }
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
`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).
|
|
43
|
+
|
|
44
|
+
Regenerate the node factories after node changes:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npm run codegen # rewrite both generated trees from the node registry
|
|
48
|
+
npm run codegen:check # exit 1 when either tree no longer matches it
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
`codegen:check` runs in CI, so a node that is renamed or deleted cannot leave a
|
|
52
|
+
factory behind in the DSL. Pass `--graph` or `--flow` to work on one tree.
|
|
53
|
+
|
|
54
|
+
## Native flow (internal)
|
|
55
|
+
|
|
56
|
+
`src/flow/` calls a node as an async function — registry resolve, secret
|
|
57
|
+
injection, `process()`, outputs — with no graph and no `WorkflowRunner`. It is
|
|
58
|
+
**not** exported from this package. The public surface is the sandbox pack
|
|
59
|
+
`@nodetool-ai/sandbox-flow`, whose guest modules are generated into
|
|
60
|
+
`src/flow/generated/` by the same codegen pass and reach this code through the
|
|
61
|
+
`@nodetool-ai/sandbox-nodetool/flow` capability module. Two files here are
|
|
62
|
+
guest-only: `src/flow/guest-core.ts` (the call bridge the generated modules
|
|
63
|
+
import) and the generated tree itself — the pack build transforms them to
|
|
64
|
+
JavaScript, and nothing on the host imports either.
|
|
65
|
+
|
|
66
|
+
See [docs/dsl-native-flow-design.md](../../docs/dsl-native-flow-design.md).
|
|
67
|
+
|
|
68
|
+
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.
|
|
69
|
+
|
|
70
|
+
## Links
|
|
71
|
+
|
|
72
|
+
- [NodeTool](https://nodetool.ai)
|
|
73
|
+
- [GitHub](https://github.com/nodetool-ai/nodetool)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2026-10-07T23:09:53.182Z
|
|
@@ -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,36 +1,60 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* OutputHandle, Connectable, DslNode, SingleOutput, createNode(), workflow(), run()
|
|
5
|
-
*/
|
|
6
|
-
import { NodeRegistry } from "@nodetool-ai/node-sdk";
|
|
1
|
+
import type { InputSchema, WorkflowDefinition } from "./authoring.js";
|
|
2
|
+
import type { NodeRegistry } from "@nodetool-ai/node-sdk";
|
|
3
|
+
import { type PythonBridgeOptions } from "@nodetool-ai/runtime";
|
|
7
4
|
export interface OutputHandle<T> {
|
|
8
5
|
readonly __brand: "OutputHandle";
|
|
9
6
|
readonly nodeId: string;
|
|
10
7
|
readonly slot: string;
|
|
11
8
|
readonly __phantom?: T;
|
|
9
|
+
readonly valueType?: string;
|
|
12
10
|
}
|
|
13
11
|
export declare function isOutputHandle(value: unknown): value is OutputHandle<unknown>;
|
|
14
|
-
export
|
|
12
|
+
export interface SingleOutputNode<T> {
|
|
13
|
+
readonly defaultOutputHandle: OutputHandle<T>;
|
|
14
|
+
}
|
|
15
|
+
export type Connectable<T> = T | OutputHandle<T> | SingleOutputNode<T>;
|
|
15
16
|
export type SingleOutput<T, TSlot extends string = "output"> = {
|
|
16
17
|
readonly [K in TSlot]: T;
|
|
17
18
|
};
|
|
18
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;
|
|
19
24
|
export interface OutputAccessor<TOutputs extends object, TDefault extends OutputSlot<TOutputs> | undefined = undefined> {
|
|
20
25
|
(): TDefault extends OutputSlot<TOutputs> ? OutputHandle<TOutputs[TDefault]> : never;
|
|
21
26
|
<K extends OutputSlot<TOutputs>>(slot: K): OutputHandle<TOutputs[K]>;
|
|
22
27
|
}
|
|
23
|
-
export interface DslNode<TOutputs extends object, TDefault extends 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;
|
|
24
32
|
readonly nodeId: string;
|
|
25
33
|
readonly nodeType: string;
|
|
26
34
|
readonly inputs: Record<string, unknown>;
|
|
27
35
|
readonly output: OutputAccessor<TOutputs, TDefault>;
|
|
28
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>;
|
|
29
46
|
export interface WorkflowNode {
|
|
30
47
|
readonly id: string;
|
|
31
48
|
readonly type: string;
|
|
32
49
|
readonly data: Record<string, unknown>;
|
|
33
50
|
readonly streaming: boolean;
|
|
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>;
|
|
34
58
|
}
|
|
35
59
|
export interface WorkflowEdge {
|
|
36
60
|
readonly source: string;
|
|
@@ -42,21 +66,67 @@ export interface Workflow {
|
|
|
42
66
|
readonly nodes: WorkflowNode[];
|
|
43
67
|
readonly edges: WorkflowEdge[];
|
|
44
68
|
}
|
|
45
|
-
export type
|
|
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 & {
|
|
46
85
|
streaming?: boolean;
|
|
86
|
+
streamingInput?: boolean;
|
|
47
87
|
outputNames?: readonly OutputSlot<TOutputs>[];
|
|
48
88
|
defaultOutput?: TDefault;
|
|
49
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>;
|
|
50
97
|
};
|
|
51
|
-
export declare function createNode<TOutputs extends object, TDefault extends OutputSlot<TOutputs> | undefined =
|
|
52
|
-
export declare function workflow(...terminals:
|
|
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>;
|
|
99
|
+
export declare function workflow(...terminals: WorkflowTerminal[]): Workflow;
|
|
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. */
|
|
57
106
|
registry?: NodeRegistry;
|
|
107
|
+
/**
|
|
108
|
+
* Resolve a credential by name for the running job. Bind your storage
|
|
109
|
+
* backend here — typically `(key, userId) => getSecret(key, userId)` from
|
|
110
|
+
* `@nodetool-ai/models`. Without it the context falls back to env vars
|
|
111
|
+
* only, and any node declaring `requiredSettings` will warn that its
|
|
112
|
+
* secret is missing.
|
|
113
|
+
*/
|
|
114
|
+
secretResolver?: SecretResolver;
|
|
115
|
+
/**
|
|
116
|
+
* Python worker bridge options forwarded to {@link createPythonBridge} when
|
|
117
|
+
* the graph contains Python nodes. Omit to rely on the environment
|
|
118
|
+
* (`NODETOOL_WORKER_URL` / `NODETOOL_WORKER_TOKEN`); set `wsUrl`/`workerToken`
|
|
119
|
+
* here to target a specific remote worker programmatically.
|
|
120
|
+
*/
|
|
121
|
+
bridgeOptions?: PythonBridgeOptions;
|
|
58
122
|
};
|
|
59
123
|
export type WorkflowResult = Record<string, unknown>;
|
|
60
|
-
export declare function run(wf:
|
|
61
|
-
|
|
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>;
|
|
130
|
+
export declare function runGraph(...terminals: DslNode<never>[]): Promise<WorkflowResult>;
|
|
131
|
+
export {};
|
|
62
132
|
//# sourceMappingURL=core.d.ts.map
|