@nodetool-ai/node-sdk 0.8.4-a24.2 → 0.8.4
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/dist/.nodetool-build-stamp +1 -1
- package/dist/_sandbox/README.md +176 -0
- package/dist/_sandbox/sandbox-aws/SKILL.md +98 -0
- package/dist/_sandbox/sandbox-aws/package.json +40 -0
- package/dist/_sandbox/sandbox-chrono/SKILL.md +39 -0
- package/dist/_sandbox/sandbox-chrono/package.json +40 -0
- package/dist/_sandbox/sandbox-color/SKILL.md +35 -0
- package/dist/_sandbox/sandbox-color/package.json +43 -0
- package/dist/_sandbox/sandbox-csv/SKILL.md +50 -0
- package/dist/_sandbox/sandbox-csv/package.json +39 -0
- package/dist/_sandbox/sandbox-dates/SKILL.md +47 -0
- package/dist/_sandbox/sandbox-dates/package.json +41 -0
- package/dist/_sandbox/sandbox-decimal/SKILL.md +36 -0
- package/dist/_sandbox/sandbox-decimal/package.json +43 -0
- package/dist/_sandbox/sandbox-diff/SKILL.md +36 -0
- package/dist/_sandbox/sandbox-diff/package.json +39 -0
- package/dist/_sandbox/sandbox-docx/SKILL.md +53 -0
- package/dist/_sandbox/sandbox-docx/package.json +40 -0
- package/dist/_sandbox/sandbox-dsl/SKILL.md +137 -0
- package/dist/_sandbox/sandbox-dsl/package.json +413 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/authoring.js +382 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/core.js +382 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/gemini.audio.js +12 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/gemini.image.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/gemini.text.js +12 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/gemini.video.js +12 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/index.js +149 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/kie.dynamic_schema.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.audio.js +68 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.browser.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.charts.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.comfy.js +16 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.grid.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.channel.js +12 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.color.js +32 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.color_grading.js +44 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.draw.js +36 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.effects.js +24 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.enhance.js +28 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.filter.js +64 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.keyer.js +12 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.mask.js +16 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.warp.js +36 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.pdf.js +32 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.sqlite.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.stable_diffusion_cpp.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.svg.js +12 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.video.download.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/messaging.discord.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/messaging.telegram.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/mistral.embeddings.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/mistral.text.js +12 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/mistral.vision.js +12 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.agents.js +32 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.audio.js +104 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.audio.realtime.js +28 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.audio.synth.js +40 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.blender.js +28 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.code.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.compare.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.constant.js +132 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.control.js +96 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.creative.js +24 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.data.js +12 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.document.js +16 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.entity.js +16 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.fake.js +12 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.game.js +36 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.generators.js +24 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.image.js +120 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.input.js +140 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.manimgx.js +16 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.model3d.js +76 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.output.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.script.js +28 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.sketch.js +16 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.storyboard.js +32 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.text.js +56 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.timeline.js +24 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.triggers.js +24 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.variable.js +12 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.video.js +136 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.workflows.app_node.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.workflows.base_node.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.workflows.subgraph.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.workflows.workflow_node.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/openai.agents.js +16 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/openai.audio.js +16 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/openai.image.js +16 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/openai.text.js +16 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/vector.js +56 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/whisper_cpp.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/xai.image.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/xai.text.js +12 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/xai.vision.js +8 -0
- package/dist/_sandbox/sandbox-dsl/sandbox/index.js +13 -0
- package/dist/_sandbox/sandbox-dsl/scripts/build.mjs +116 -0
- package/dist/_sandbox/sandbox-epub/SKILL.md +61 -0
- package/dist/_sandbox/sandbox-epub/package.json +40 -0
- package/dist/_sandbox/sandbox-exif/SKILL.md +30 -0
- package/dist/_sandbox/sandbox-exif/package.json +40 -0
- package/dist/_sandbox/sandbox-expr/SKILL.md +28 -0
- package/dist/_sandbox/sandbox-expr/package.json +40 -0
- package/dist/_sandbox/sandbox-fabric/SKILL.md +113 -0
- package/dist/_sandbox/sandbox-fabric/package.json +40 -0
- package/dist/_sandbox/sandbox-flow/SKILL.md +131 -0
- package/dist/_sandbox/sandbox-flow/package.json +411 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/gemini.audio.js +12 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/gemini.image.js +8 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/gemini.text.js +12 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/gemini.video.js +12 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/kie.dynamic_schema.js +8 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.audio.js +68 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.browser.js +8 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.charts.js +8 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.comfy.js +25 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.grid.js +8 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.channel.js +12 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.color.js +32 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.color_grading.js +44 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.draw.js +36 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.effects.js +24 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.enhance.js +28 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.filter.js +64 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.js +8 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.keyer.js +12 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.mask.js +16 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.warp.js +36 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.pdf.js +32 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.sqlite.js +8 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.stable_diffusion_cpp.js +8 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.svg.js +12 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.video.download.js +8 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/messaging.discord.js +11 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/messaging.telegram.js +11 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/mistral.embeddings.js +8 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/mistral.text.js +12 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/mistral.vision.js +12 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.agents.js +41 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.audio.js +110 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.audio.realtime.js +46 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.audio.synth.js +67 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.blender.js +28 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.code.js +11 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.compare.js +8 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.constant.js +132 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.control.js +165 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.creative.js +27 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.data.js +18 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.document.js +19 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.entity.js +19 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.fake.js +12 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.game.js +39 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.generators.js +30 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.image.js +126 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.input.js +143 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.manimgx.js +16 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.model3d.js +76 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.output.js +11 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.script.js +28 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.sketch.js +16 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.storyboard.js +35 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.text.js +68 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.timeline.js +24 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.triggers.js +33 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.variable.js +15 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.video.js +145 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.workflows.app_node.js +11 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.workflows.base_node.js +8 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.workflows.subgraph.js +11 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.workflows.workflow_node.js +11 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/openai.agents.js +25 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/openai.audio.js +16 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/openai.image.js +16 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/openai.text.js +16 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/vector.js +56 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/whisper_cpp.js +11 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/xai.image.js +8 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/xai.text.js +12 -0
- package/dist/_sandbox/sandbox-flow/sandbox/generated/xai.vision.js +8 -0
- package/dist/_sandbox/sandbox-flow/sandbox/guest-core.js +35 -0
- package/dist/_sandbox/sandbox-flow/sandbox/index.js +10 -0
- package/dist/_sandbox/sandbox-flow/scripts/build.mjs +120 -0
- package/dist/_sandbox/sandbox-game/SKILL.md +116 -0
- package/dist/_sandbox/sandbox-game/package.json +36 -0
- package/dist/_sandbox/sandbox-game/sandbox/index.js +208 -0
- package/dist/_sandbox/sandbox-gif/SKILL.md +36 -0
- package/dist/_sandbox/sandbox-gif/package.json +43 -0
- package/dist/_sandbox/sandbox-html/SKILL.md +107 -0
- package/dist/_sandbox/sandbox-html/package.json +40 -0
- package/dist/_sandbox/sandbox-ics/SKILL.md +41 -0
- package/dist/_sandbox/sandbox-ics/package.json +40 -0
- package/dist/_sandbox/sandbox-jmespath/SKILL.md +26 -0
- package/dist/_sandbox/sandbox-jmespath/package.json +43 -0
- package/dist/_sandbox/sandbox-mammoth/SKILL.md +46 -0
- package/dist/_sandbox/sandbox-mammoth/package.json +41 -0
- package/dist/_sandbox/sandbox-markdown/SKILL.md +123 -0
- package/dist/_sandbox/sandbox-markdown/package.json +41 -0
- package/dist/_sandbox/sandbox-notion/SKILL.md +101 -0
- package/dist/_sandbox/sandbox-notion/package.json +38 -0
- package/dist/_sandbox/sandbox-ocr/SKILL.md +47 -0
- package/dist/_sandbox/sandbox-ocr/package.json +40 -0
- package/dist/_sandbox/sandbox-pdf/SKILL.md +47 -0
- package/dist/_sandbox/sandbox-pdf/package.json +39 -0
- package/dist/_sandbox/sandbox-pdflib/SKILL.md +56 -0
- package/dist/_sandbox/sandbox-pdflib/package.json +38 -0
- package/dist/_sandbox/sandbox-pptx/SKILL.md +42 -0
- package/dist/_sandbox/sandbox-pptx/package.json +40 -0
- package/dist/_sandbox/sandbox-pptxgen/SKILL.md +49 -0
- package/dist/_sandbox/sandbox-pptxgen/package.json +38 -0
- package/dist/_sandbox/sandbox-qr/SKILL.md +43 -0
- package/dist/_sandbox/sandbox-qr/package.json +42 -0
- package/dist/_sandbox/sandbox-rrule/SKILL.md +37 -0
- package/dist/_sandbox/sandbox-rrule/package.json +43 -0
- package/dist/_sandbox/sandbox-stats/SKILL.md +42 -0
- package/dist/_sandbox/sandbox-stats/package.json +43 -0
- package/dist/_sandbox/sandbox-subtitle/SKILL.md +38 -0
- package/dist/_sandbox/sandbox-subtitle/package.json +41 -0
- package/dist/_sandbox/sandbox-supabase/SKILL.md +108 -0
- package/dist/_sandbox/sandbox-supabase/package.json +39 -0
- package/dist/_sandbox/sandbox-tfjs/SKILL.md +76 -0
- package/dist/_sandbox/sandbox-tfjs/package.json +42 -0
- package/dist/_sandbox/sandbox-timeline/SKILL.md +647 -0
- package/dist/_sandbox/sandbox-timeline/package.json +46 -0
- package/dist/_sandbox/sandbox-timeline/sandbox/charts.js +356 -0
- package/dist/_sandbox/sandbox-timeline/sandbox/components.js +171 -0
- package/dist/_sandbox/sandbox-timeline/sandbox/index.d.ts +700 -0
- package/dist/_sandbox/sandbox-timeline/sandbox/index.js +1658 -0
- package/dist/_sandbox/sandbox-tokens/SKILL.md +46 -0
- package/dist/_sandbox/sandbox-tokens/package.json +40 -0
- package/dist/_sandbox/sandbox-twilio/SKILL.md +93 -0
- package/dist/_sandbox/sandbox-twilio/package.json +39 -0
- package/dist/_sandbox/sandbox-xlsx/SKILL.md +74 -0
- package/dist/_sandbox/sandbox-xlsx/package.json +40 -0
- package/dist/_sandbox/sandbox-xml/SKILL.md +36 -0
- package/dist/_sandbox/sandbox-xml/package.json +40 -0
- package/dist/_sandbox/sandbox-yaml/SKILL.md +48 -0
- package/dist/_sandbox/sandbox-yaml/package.json +41 -0
- package/dist/_sandbox/sandbox-zip/SKILL.md +54 -0
- package/dist/_sandbox/sandbox-zip/package.json +40 -0
- package/dist/code-node-validation.d.ts +2 -0
- package/dist/code-node-validation.d.ts.map +1 -1
- package/dist/code-node-validation.js +1 -1
- package/dist/code-node-validation.js.map +1 -1
- package/dist/pack-loader.d.ts +1 -0
- package/dist/pack-loader.d.ts.map +1 -1
- package/dist/pack-loader.js +1 -0
- package/dist/pack-loader.js.map +1 -1
- package/dist/sandbox-catalog-host.js +1 -1
- package/dist/sandbox-catalog-host.js.map +1 -1
- package/dist/sandbox-pack-discovery.d.ts +3 -0
- package/dist/sandbox-pack-discovery.d.ts.map +1 -1
- package/dist/sandbox-pack-discovery.js +7 -3
- package/dist/sandbox-pack-discovery.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
// Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
|
|
2
|
+
import { createNode } from "../core.js";
|
|
3
|
+
function textToVideo(inputs, options) {
|
|
4
|
+
return createNode("nodetool.video.TextToVideo", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
5
|
+
}
|
|
6
|
+
function imageToVideo(inputs, options) {
|
|
7
|
+
return createNode("nodetool.video.ImageToVideo", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
8
|
+
}
|
|
9
|
+
function referenceToVideo(inputs, options) {
|
|
10
|
+
return createNode("nodetool.video.ReferenceToVideo", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
11
|
+
}
|
|
12
|
+
function loadVideoFile(inputs, options) {
|
|
13
|
+
return createNode("nodetool.video.LoadVideoFile", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
14
|
+
}
|
|
15
|
+
function saveVideoFile(inputs, options) {
|
|
16
|
+
return createNode("nodetool.video.SaveVideoFile", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
17
|
+
}
|
|
18
|
+
function loadVideoAssets(inputs, options) {
|
|
19
|
+
return createNode("nodetool.video.LoadVideoAssets", inputs, { id: options?.id, outputNames: ["video", "name", "videos", "names"], outputTypes: { "video": "video", "name": "str", "videos": "list", "names": "list" }, streaming: true, inputMode: "buffered", outputCorrelation: { "video": { "kind": "iteration", "source": "__execution__", "group": "items" }, "name": { "kind": "iteration", "source": "__execution__", "group": "items" }, "videos": { "kind": "single", "source": "__execution__" }, "names": { "kind": "single", "source": "__execution__" } } });
|
|
20
|
+
}
|
|
21
|
+
function saveVideo(inputs, options) {
|
|
22
|
+
return createNode("nodetool.video.SaveVideo", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
23
|
+
}
|
|
24
|
+
function forEachFrame(inputs, options) {
|
|
25
|
+
return createNode("nodetool.video.ForEachFrame", inputs, { id: options?.id, outputNames: ["frame", "index", "fps"], outputTypes: { "frame": "image", "index": "int", "fps": "float" }, streaming: true, inputMode: "buffered", outputCorrelation: { "frame": { "kind": "iteration", "source": "video", "group": "items" }, "index": { "kind": "iteration", "source": "video", "group": "items" }, "fps": { "kind": "single", "source": "video" } } });
|
|
26
|
+
}
|
|
27
|
+
function fps(inputs, options) {
|
|
28
|
+
return createNode("nodetool.video.Fps", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "float" }, defaultOutput: "output" });
|
|
29
|
+
}
|
|
30
|
+
function frameToVideo(inputs, options) {
|
|
31
|
+
return createNode("nodetool.video.FrameToVideo", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output", streamingInput: true, inputMode: "stream", outputCorrelation: { "output": { "kind": "aggregate", "source": "frame", "collapse": "innermost" } } });
|
|
32
|
+
}
|
|
33
|
+
function concat(inputs, options) {
|
|
34
|
+
return createNode("nodetool.video.Concat", inputs ?? {}, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
35
|
+
}
|
|
36
|
+
function trim(inputs, options) {
|
|
37
|
+
return createNode("nodetool.video.Trim", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
38
|
+
}
|
|
39
|
+
function resize(inputs, options) {
|
|
40
|
+
return createNode("nodetool.video.Resize", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
41
|
+
}
|
|
42
|
+
function rotate(inputs, options) {
|
|
43
|
+
return createNode("nodetool.video.Rotate", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
44
|
+
}
|
|
45
|
+
function setSpeed(inputs, options) {
|
|
46
|
+
return createNode("nodetool.video.SetSpeed", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
47
|
+
}
|
|
48
|
+
function easeCurve(inputs, options) {
|
|
49
|
+
return createNode("nodetool.video.EaseCurve", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
50
|
+
}
|
|
51
|
+
function overlay(inputs, options) {
|
|
52
|
+
return createNode("nodetool.video.Overlay", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
53
|
+
}
|
|
54
|
+
function colorBalance(inputs, options) {
|
|
55
|
+
return createNode("nodetool.video.ColorBalance", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
56
|
+
}
|
|
57
|
+
function denoise(inputs, options) {
|
|
58
|
+
return createNode("nodetool.video.Denoise", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
59
|
+
}
|
|
60
|
+
function stabilize(inputs, options) {
|
|
61
|
+
return createNode("nodetool.video.Stabilize", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
62
|
+
}
|
|
63
|
+
function sharpness(inputs, options) {
|
|
64
|
+
return createNode("nodetool.video.Sharpness", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
65
|
+
}
|
|
66
|
+
function blur(inputs, options) {
|
|
67
|
+
return createNode("nodetool.video.Blur", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
68
|
+
}
|
|
69
|
+
function saturation(inputs, options) {
|
|
70
|
+
return createNode("nodetool.video.Saturation", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
71
|
+
}
|
|
72
|
+
function addSubtitles(inputs, options) {
|
|
73
|
+
return createNode("nodetool.video.AddSubtitles", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
74
|
+
}
|
|
75
|
+
function reverse(inputs, options) {
|
|
76
|
+
return createNode("nodetool.video.Reverse", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
77
|
+
}
|
|
78
|
+
function transition(inputs, options) {
|
|
79
|
+
return createNode("nodetool.video.Transition", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
80
|
+
}
|
|
81
|
+
function addAudio(inputs, options) {
|
|
82
|
+
return createNode("nodetool.video.AddAudio", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
83
|
+
}
|
|
84
|
+
function chromaKey(inputs, options) {
|
|
85
|
+
return createNode("nodetool.video.ChromaKey", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
86
|
+
}
|
|
87
|
+
function extractAudio(inputs, options) {
|
|
88
|
+
return createNode("nodetool.video.ExtractAudio", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "audio" }, defaultOutput: "output" });
|
|
89
|
+
}
|
|
90
|
+
function extractFrame(inputs, options) {
|
|
91
|
+
return createNode("nodetool.video.ExtractFrame", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "image" }, defaultOutput: "output" });
|
|
92
|
+
}
|
|
93
|
+
function getVideoInfo(inputs, options) {
|
|
94
|
+
return createNode("nodetool.video.GetVideoInfo", inputs, { id: options?.id, outputNames: ["duration", "width", "height", "fps", "frame_count", "codec", "has_audio"], outputTypes: { "duration": "float", "width": "int", "height": "int", "fps": "float", "frame_count": "int", "codec": "str", "has_audio": "bool" } });
|
|
95
|
+
}
|
|
96
|
+
function videoToVideo(inputs, options) {
|
|
97
|
+
return createNode("nodetool.video.VideoToVideo", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
98
|
+
}
|
|
99
|
+
function lipSync(inputs, options) {
|
|
100
|
+
return createNode("nodetool.video.LipSync", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
|
|
101
|
+
}
|
|
102
|
+
export {
|
|
103
|
+
addAudio,
|
|
104
|
+
addSubtitles,
|
|
105
|
+
blur,
|
|
106
|
+
chromaKey,
|
|
107
|
+
colorBalance,
|
|
108
|
+
concat,
|
|
109
|
+
denoise,
|
|
110
|
+
easeCurve,
|
|
111
|
+
extractAudio,
|
|
112
|
+
extractFrame,
|
|
113
|
+
forEachFrame,
|
|
114
|
+
fps,
|
|
115
|
+
frameToVideo,
|
|
116
|
+
getVideoInfo,
|
|
117
|
+
imageToVideo,
|
|
118
|
+
lipSync,
|
|
119
|
+
loadVideoAssets,
|
|
120
|
+
loadVideoFile,
|
|
121
|
+
overlay,
|
|
122
|
+
referenceToVideo,
|
|
123
|
+
resize,
|
|
124
|
+
reverse,
|
|
125
|
+
rotate,
|
|
126
|
+
saturation,
|
|
127
|
+
saveVideo,
|
|
128
|
+
saveVideoFile,
|
|
129
|
+
setSpeed,
|
|
130
|
+
sharpness,
|
|
131
|
+
stabilize,
|
|
132
|
+
textToVideo,
|
|
133
|
+
transition,
|
|
134
|
+
trim,
|
|
135
|
+
videoToVideo
|
|
136
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
|
|
2
|
+
import { createNode } from "../core.js";
|
|
3
|
+
function app(inputs, options) {
|
|
4
|
+
return createNode("nodetool.workflows.app_node.App", inputs, { id: options?.id, outputNames: [], outputTypes: {}, streaming: true, inputMode: "buffered" });
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
app
|
|
8
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
|
|
2
|
+
import { createNode } from "../core.js";
|
|
3
|
+
function preview(inputs, options) {
|
|
4
|
+
return createNode("nodetool.workflows.base_node.Preview", inputs, { id: options?.id, outputNames: [], outputTypes: {} });
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
preview
|
|
8
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
|
|
2
|
+
import { createNode } from "../core.js";
|
|
3
|
+
function subgraph(inputs, options) {
|
|
4
|
+
return createNode("nodetool.workflows.subgraph.Subgraph", inputs, { id: options?.id, outputNames: [], outputTypes: {}, streaming: true, inputMode: "buffered", outputCorrelation: { "output": { "kind": "single", "source": "__execution__" } } });
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
subgraph
|
|
8
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
|
|
2
|
+
import { createNode } from "../core.js";
|
|
3
|
+
function workflow(inputs, options) {
|
|
4
|
+
return createNode("nodetool.workflows.workflow_node.Workflow", inputs, { id: options?.id, outputNames: [], outputTypes: {}, streaming: true, inputMode: "buffered", outputCorrelation: { "output": { "kind": "single", "source": "__execution__" } } });
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
workflow
|
|
8
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
|
|
2
|
+
import { createNode } from "../core.js";
|
|
3
|
+
function realtimeAgent(inputs, options) {
|
|
4
|
+
return createNode("openai.agents.RealtimeAgent", inputs, { id: options?.id, outputNames: ["chunk", "audio", "text"], outputTypes: { "chunk": "chunk", "audio": "audio", "text": "str" }, streamingInput: true });
|
|
5
|
+
}
|
|
6
|
+
function realtimeTranscription(inputs, options) {
|
|
7
|
+
return createNode("openai.agents.RealtimeTranscription", inputs, { id: options?.id, outputNames: ["text", "chunk"], outputTypes: { "text": "str", "chunk": "chunk" }, streamingInput: true });
|
|
8
|
+
}
|
|
9
|
+
function liveAgent(inputs, options) {
|
|
10
|
+
return createNode("openai.agents.LiveAgent", inputs, { id: options?.id, outputNames: ["chunk", "audio", "text", "input_transcript"], outputTypes: { "chunk": "chunk", "audio": "audio", "text": "str", "input_transcript": "str" }, streamingInput: true });
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
liveAgent,
|
|
14
|
+
realtimeAgent,
|
|
15
|
+
realtimeTranscription
|
|
16
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
|
|
2
|
+
import { createNode } from "../core.js";
|
|
3
|
+
function textToSpeech(inputs, options) {
|
|
4
|
+
return createNode("openai.audio.TextToSpeech", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "audio" }, defaultOutput: "output" });
|
|
5
|
+
}
|
|
6
|
+
function translate(inputs, options) {
|
|
7
|
+
return createNode("openai.audio.Translate", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "str" }, defaultOutput: "output" });
|
|
8
|
+
}
|
|
9
|
+
function transcribe(inputs, options) {
|
|
10
|
+
return createNode("openai.audio.Transcribe", inputs, { id: options?.id, outputNames: ["text", "words", "segments"], outputTypes: { "text": "str", "words": "list[audio_chunk]", "segments": "list[audio_chunk]" } });
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
textToSpeech,
|
|
14
|
+
transcribe,
|
|
15
|
+
translate
|
|
16
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
|
|
2
|
+
import { createNode } from "../core.js";
|
|
3
|
+
function createImage(inputs, options) {
|
|
4
|
+
return createNode("openai.image.CreateImage", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "image" }, defaultOutput: "output" });
|
|
5
|
+
}
|
|
6
|
+
function editImage(inputs, options) {
|
|
7
|
+
return createNode("openai.image.EditImage", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "image" }, defaultOutput: "output" });
|
|
8
|
+
}
|
|
9
|
+
function imageVariation(inputs, options) {
|
|
10
|
+
return createNode("openai.image.ImageVariation", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "image" }, defaultOutput: "output" });
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
createImage,
|
|
14
|
+
editImage,
|
|
15
|
+
imageVariation
|
|
16
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
|
|
2
|
+
import { createNode } from "../core.js";
|
|
3
|
+
function embedding(inputs, options) {
|
|
4
|
+
return createNode("openai.text.Embedding", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "list" }, defaultOutput: "output" });
|
|
5
|
+
}
|
|
6
|
+
function webSearch(inputs, options) {
|
|
7
|
+
return createNode("openai.text.WebSearch", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "str" }, defaultOutput: "output" });
|
|
8
|
+
}
|
|
9
|
+
function moderation(inputs, options) {
|
|
10
|
+
return createNode("openai.text.Moderation", inputs, { id: options?.id, outputNames: ["flagged", "categories", "category_scores"], outputTypes: { "flagged": "bool", "categories": "dict[str, bool]", "category_scores": "dict[str, float]" } });
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
embedding,
|
|
14
|
+
moderation,
|
|
15
|
+
webSearch
|
|
16
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
|
|
2
|
+
import { createNode } from "../core.js";
|
|
3
|
+
function collection(inputs, options) {
|
|
4
|
+
return createNode("vector.Collection", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "collection" }, defaultOutput: "output" });
|
|
5
|
+
}
|
|
6
|
+
function count(inputs, options) {
|
|
7
|
+
return createNode("vector.Count", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "int" }, defaultOutput: "output" });
|
|
8
|
+
}
|
|
9
|
+
function getDocuments(inputs, options) {
|
|
10
|
+
return createNode("vector.GetDocuments", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "list[str]" }, defaultOutput: "output" });
|
|
11
|
+
}
|
|
12
|
+
function peek(inputs, options) {
|
|
13
|
+
return createNode("vector.Peek", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "list[str]" }, defaultOutput: "output" });
|
|
14
|
+
}
|
|
15
|
+
function indexImage(inputs, options) {
|
|
16
|
+
return createNode("vector.IndexImage", inputs, { id: options?.id, outputNames: [], outputTypes: {} });
|
|
17
|
+
}
|
|
18
|
+
function indexEmbedding(inputs, options) {
|
|
19
|
+
return createNode("vector.IndexEmbedding", inputs, { id: options?.id, outputNames: [], outputTypes: {} });
|
|
20
|
+
}
|
|
21
|
+
function indexTextChunk(inputs, options) {
|
|
22
|
+
return createNode("vector.IndexTextChunk", inputs, { id: options?.id, outputNames: [], outputTypes: {} });
|
|
23
|
+
}
|
|
24
|
+
function indexAggregatedText(inputs, options) {
|
|
25
|
+
return createNode("vector.IndexAggregatedText", inputs, { id: options?.id, outputNames: [], outputTypes: {} });
|
|
26
|
+
}
|
|
27
|
+
function indexString(inputs, options) {
|
|
28
|
+
return createNode("vector.IndexString", inputs, { id: options?.id, outputNames: [], outputTypes: {} });
|
|
29
|
+
}
|
|
30
|
+
function queryImage(inputs, options) {
|
|
31
|
+
return createNode("vector.QueryImage", inputs, { id: options?.id, outputNames: ["ids", "documents", "metadatas", "distances"], outputTypes: { "ids": "list[str]", "documents": "list[str]", "metadatas": "list[dict]", "distances": "list[float]" } });
|
|
32
|
+
}
|
|
33
|
+
function queryText(inputs, options) {
|
|
34
|
+
return createNode("vector.QueryText", inputs, { id: options?.id, outputNames: ["ids", "documents", "metadatas", "distances"], outputTypes: { "ids": "list[str]", "documents": "list[str]", "metadatas": "list[dict]", "distances": "list[float]" } });
|
|
35
|
+
}
|
|
36
|
+
function removeOverlap(inputs, options) {
|
|
37
|
+
return createNode("vector.RemoveOverlap", inputs, { id: options?.id, outputNames: ["documents"], outputTypes: { "documents": "list[str]" }, defaultOutput: "documents" });
|
|
38
|
+
}
|
|
39
|
+
function hybridSearch(inputs, options) {
|
|
40
|
+
return createNode("vector.HybridSearch", inputs, { id: options?.id, outputNames: ["ids", "documents", "metadatas", "distances", "scores"], outputTypes: { "ids": "list[str]", "documents": "list[str]", "metadatas": "list[dict]", "distances": "list[float]", "scores": "list[float]" } });
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
collection,
|
|
44
|
+
count,
|
|
45
|
+
getDocuments,
|
|
46
|
+
hybridSearch,
|
|
47
|
+
indexAggregatedText,
|
|
48
|
+
indexEmbedding,
|
|
49
|
+
indexImage,
|
|
50
|
+
indexString,
|
|
51
|
+
indexTextChunk,
|
|
52
|
+
peek,
|
|
53
|
+
queryImage,
|
|
54
|
+
queryText,
|
|
55
|
+
removeOverlap
|
|
56
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
|
|
2
|
+
import { createNode } from "../core.js";
|
|
3
|
+
function liveTranscription(inputs, options) {
|
|
4
|
+
return createNode("whisper_cpp.LiveTranscription", inputs, { id: options?.id, outputNames: ["chunk", "text"], outputTypes: { "chunk": "chunk", "text": "str" }, streaming: true, streamingInput: true, outputCorrelation: { "chunk": { "kind": "iteration", "source": "__execution__", "group": "stream" }, "text": { "kind": "single", "source": "__execution__" } } });
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
liveTranscription
|
|
8
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
|
|
2
|
+
import { createNode } from "../core.js";
|
|
3
|
+
function generateImage(inputs, options) {
|
|
4
|
+
return createNode("xai.image.GenerateImage", inputs, { id: options?.id, outputNames: ["output", "revised_prompt"], outputTypes: { "output": "image", "revised_prompt": "str" } });
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
generateImage
|
|
8
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
|
|
2
|
+
import { createNode } from "../core.js";
|
|
3
|
+
function chatComplete(inputs, options) {
|
|
4
|
+
return createNode("xai.text.ChatComplete", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "str" }, defaultOutput: "output" });
|
|
5
|
+
}
|
|
6
|
+
function webSearch(inputs, options) {
|
|
7
|
+
return createNode("xai.text.WebSearch", inputs, { id: options?.id, outputNames: ["output", "citations"], outputTypes: { "output": "str", "citations": "list[str]" } });
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
chatComplete,
|
|
11
|
+
webSearch
|
|
12
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
|
|
2
|
+
import { createNode } from "../core.js";
|
|
3
|
+
function imageToText(inputs, options) {
|
|
4
|
+
return createNode("xai.vision.ImageToText", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "str" }, defaultOutput: "output" });
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
imageToText
|
|
8
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The pack's root module: the graph builder, plus every namespace under one
|
|
3
|
+
* name.
|
|
4
|
+
*
|
|
5
|
+
* `workflow()` lives only here. A program that imports a namespace subpath for
|
|
6
|
+
* its node wrappers still declares the root, because the root is what turns the
|
|
7
|
+
* nodes it built into a graph.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export { createNode, isOutputHandle, resolveConnection } from "./core.js";
|
|
11
|
+
export * from "./generated/index.js";
|
|
12
|
+
|
|
13
|
+
export { workflow, t, choose, map, template } from "./authoring.js";
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build the pack's guest modules from `packages/dsl/src/generated`.
|
|
3
|
+
*
|
|
4
|
+
* The DSL's namespace files are TypeScript whose only runtime import is
|
|
5
|
+
* `../core.js`; every type in a signature is erased. So the build is a
|
|
6
|
+
* per-file transform, not a bundle: one guest module per namespace, all of
|
|
7
|
+
* them sharing the one `core.js` this pack ships by hand. Bundling instead
|
|
8
|
+
* would inline that core into all 71 entries.
|
|
9
|
+
*
|
|
10
|
+
* The manifest's `sandboxModules` list is written from the same pass, so the
|
|
11
|
+
* pack cannot declare a module it did not build.
|
|
12
|
+
*
|
|
13
|
+
* node packages/sandbox-packs/sandbox-dsl/scripts/build.mjs
|
|
14
|
+
* node packages/sandbox-packs/sandbox-dsl/scripts/build.mjs --check
|
|
15
|
+
*
|
|
16
|
+
* `--check` writes nothing and exits non-zero when the built output differs
|
|
17
|
+
* from what is committed. The pack carries its own copy of the DSL, so it can
|
|
18
|
+
* rot against `packages/dsl` exactly the way that directory rotted against the
|
|
19
|
+
* node registry — and this copy is what agents author against.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
import { createRequire } from "node:module";
|
|
23
|
+
import { readdirSync, readFileSync, rmSync, mkdirSync, writeFileSync } from "node:fs";
|
|
24
|
+
import { dirname, join } from "node:path";
|
|
25
|
+
import { fileURLToPath } from "node:url";
|
|
26
|
+
|
|
27
|
+
const require = createRequire(import.meta.url);
|
|
28
|
+
/** @type {import("esbuild")} */
|
|
29
|
+
const esbuild = require("esbuild");
|
|
30
|
+
|
|
31
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
32
|
+
const packDir = join(here, "..");
|
|
33
|
+
const generatedSource = join(packDir, "..", "..", "dsl", "src", "generated");
|
|
34
|
+
const generatedOut = join(packDir, "sandbox", "generated");
|
|
35
|
+
|
|
36
|
+
const banner = "// Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit\n";
|
|
37
|
+
|
|
38
|
+
const check = process.argv.includes("--check");
|
|
39
|
+
|
|
40
|
+
/** Built files, path → contents. Written at the end, or compared under --check. */
|
|
41
|
+
const outputs = new Map();
|
|
42
|
+
/** Paths that differ from what is on disk. */
|
|
43
|
+
const stale = [];
|
|
44
|
+
|
|
45
|
+
function emit(path, contents) {
|
|
46
|
+
outputs.set(path, contents);
|
|
47
|
+
if (!check) return;
|
|
48
|
+
let current = null;
|
|
49
|
+
try {
|
|
50
|
+
current = readFileSync(path, "utf8");
|
|
51
|
+
} catch {
|
|
52
|
+
// Missing counts as stale, reported by the null comparison below.
|
|
53
|
+
}
|
|
54
|
+
if (current !== contents) stale.push(path);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (!check) {
|
|
58
|
+
rmSync(generatedOut, { recursive: true, force: true });
|
|
59
|
+
mkdirSync(generatedOut, { recursive: true });
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const sources = readdirSync(generatedSource)
|
|
63
|
+
.filter((file) => file.endsWith(".ts"))
|
|
64
|
+
.sort();
|
|
65
|
+
|
|
66
|
+
const modules = [];
|
|
67
|
+
let bytes = 0;
|
|
68
|
+
for (const file of sources) {
|
|
69
|
+
const stem = file.replace(/\.ts$/, "");
|
|
70
|
+
const built = await esbuild.transform(readFileSync(join(generatedSource, file), "utf8"), {
|
|
71
|
+
loader: "ts",
|
|
72
|
+
format: "esm",
|
|
73
|
+
target: "es2022",
|
|
74
|
+
sourcefile: file
|
|
75
|
+
});
|
|
76
|
+
const code = `${banner}${built.code}`;
|
|
77
|
+
emit(join(generatedOut, `${stem}.js`), code);
|
|
78
|
+
bytes += Buffer.byteLength(code, "utf8");
|
|
79
|
+
if (stem === "index") continue;
|
|
80
|
+
modules.push({ name: stem, kind: "js", file: `sandbox/generated/${stem}.js` });
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
modules.sort((left, right) => (left.name < right.name ? -1 : 1));
|
|
84
|
+
// The root is hand-written: it exports `workflow` from the core alongside the
|
|
85
|
+
// generated namespaces, which the generated barrel alone cannot do.
|
|
86
|
+
modules.unshift({ name: ".", kind: "js", file: "sandbox/index.js" });
|
|
87
|
+
|
|
88
|
+
const authoringSource = join(packDir, "..", "..", "dsl", "src", "authoring.ts");
|
|
89
|
+
const authoring = await esbuild.transform(readFileSync(authoringSource, "utf8"), { loader: "ts", format: "esm", target: "es2022" });
|
|
90
|
+
emit(join(packDir, "sandbox", "authoring.js"), banner + authoring.code);
|
|
91
|
+
|
|
92
|
+
const manifestPath = join(packDir, "package.json");
|
|
93
|
+
const manifest = JSON.parse(readFileSync(manifestPath, "utf8"));
|
|
94
|
+
manifest.nodetool.sandboxModules = modules;
|
|
95
|
+
manifest.nodetool.internal = ["sandbox/core.js", "sandbox/authoring.js", "sandbox/generated/index.js"];
|
|
96
|
+
emit(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`);
|
|
97
|
+
|
|
98
|
+
if (check) {
|
|
99
|
+
if (stale.length > 0) {
|
|
100
|
+
console.error(
|
|
101
|
+
`sandbox-dsl is stale — ${stale.length === 1 ? "1 file differs" : `${stale.length} files differ`} from @nodetool-ai/dsl:`
|
|
102
|
+
);
|
|
103
|
+
for (const path of stale.slice(0, 10)) console.error(` ${path}`);
|
|
104
|
+
if (stale.length > 10) console.error(` … and ${stale.length - 10} more`);
|
|
105
|
+
console.error("Run `npm run build:sandbox-dsl` and commit the result.");
|
|
106
|
+
process.exit(1);
|
|
107
|
+
}
|
|
108
|
+
console.log(`sandbox-dsl is up to date (${modules.length} modules).`);
|
|
109
|
+
} else {
|
|
110
|
+
for (const [path, contents] of outputs) writeFileSync(path, contents);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
const core = Buffer.byteLength(readFileSync(join(packDir, "sandbox", "core.js"), "utf8"), "utf8");
|
|
114
|
+
console.log(
|
|
115
|
+
`${modules.length} modules, ${bytes} bytes of generated JavaScript, ${core} bytes of core`
|
|
116
|
+
);
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sandbox-epub
|
|
3
|
+
description: Read an EPUB's metadata, table of contents, and chapters in a Code node or CodeAct action, with epub2 running on the host
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# EPUB e-books in the sandbox
|
|
7
|
+
|
|
8
|
+
Specifier: `@nodetool-ai/sandbox-epub`. Import it at the top of the body.
|
|
9
|
+
|
|
10
|
+
epub2 reads from a file path, not a buffer, so this pack is a **host module**:
|
|
11
|
+
the host stages your bytes in a temp file for the call and removes it
|
|
12
|
+
afterward. The import resolves to a generated facade over NodeTool's own
|
|
13
|
+
implementation.
|
|
14
|
+
|
|
15
|
+
## metadata — title, author, language, and the rest
|
|
16
|
+
|
|
17
|
+
```js
|
|
18
|
+
import { metadata } from "@nodetool-ai/sandbox-epub";
|
|
19
|
+
|
|
20
|
+
const bytes = await workspace.readBytes("book.epub");
|
|
21
|
+
const meta = await metadata(bytes); // { title, creator, language, publisher, ... }
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## tableOfContents — chapter titles in reading order
|
|
25
|
+
|
|
26
|
+
```js
|
|
27
|
+
import { tableOfContents } from "@nodetool-ai/sandbox-epub";
|
|
28
|
+
|
|
29
|
+
const toc = await tableOfContents(bytes);
|
|
30
|
+
// [{ id, title, href, order }, ...]
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## extractText — every chapter, concatenated
|
|
34
|
+
|
|
35
|
+
```js
|
|
36
|
+
import { extractText } from "@nodetool-ai/sandbox-epub";
|
|
37
|
+
|
|
38
|
+
const text = await extractText(bytes);
|
|
39
|
+
const withCustomBreaks = await extractText(bytes, { chapterSeparator: "\n\n---\n\n" });
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
`chapterSeparator` defaults to `"\n\n"`.
|
|
43
|
+
|
|
44
|
+
## extractChapters — each chapter as its own item
|
|
45
|
+
|
|
46
|
+
```js
|
|
47
|
+
import { extractChapters } from "@nodetool-ai/sandbox-epub";
|
|
48
|
+
|
|
49
|
+
const chapters = await extractChapters(bytes);
|
|
50
|
+
// [{ id, title, href, text }, ...]
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Get the bytes from `workspace.readBytes`, or from a fetched body with
|
|
54
|
+
`await response.bytes()`.
|
|
55
|
+
|
|
56
|
+
## Gotchas
|
|
57
|
+
|
|
58
|
+
- **Every export is async.**
|
|
59
|
+
- **10 MB per book.** Larger input is refused by name.
|
|
60
|
+
- **HTML is stripped, not rendered.** `extractText`/`extractChapters` return
|
|
61
|
+
plain text — no headings, links, or images survive the conversion.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nodetool-ai/sandbox-epub",
|
|
3
|
+
"version": "0.8.4",
|
|
4
|
+
"description": "Read EPUB e-books inside the NodeTool sandbox, from epub2 running on the host",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"nodetool": {
|
|
7
|
+
"apiVersion": 1,
|
|
8
|
+
"recommended": true,
|
|
9
|
+
"sandboxModules": [
|
|
10
|
+
{
|
|
11
|
+
"name": ".",
|
|
12
|
+
"kind": "host",
|
|
13
|
+
"host": "epub"
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "https://github.com/nodetool-ai/nodetool.git",
|
|
20
|
+
"directory": "packages/sandbox-packs/sandbox-epub"
|
|
21
|
+
},
|
|
22
|
+
"homepage": "https://nodetool.ai",
|
|
23
|
+
"bugs": {
|
|
24
|
+
"url": "https://github.com/nodetool-ai/nodetool/issues"
|
|
25
|
+
},
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"access": "public"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"SKILL.md"
|
|
31
|
+
],
|
|
32
|
+
"keywords": [
|
|
33
|
+
"nodetool",
|
|
34
|
+
"nodetool-sandbox-pack",
|
|
35
|
+
"sandbox",
|
|
36
|
+
"epub",
|
|
37
|
+
"ebook",
|
|
38
|
+
"book"
|
|
39
|
+
]
|
|
40
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sandbox-exif
|
|
3
|
+
description: Read EXIF from image bytes in a Code node or CodeAct action, with exifr running on the host
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Photo metadata in the sandbox
|
|
7
|
+
|
|
8
|
+
Specifier: `@nodetool-ai/sandbox-exif`. Import it at the top of the body.
|
|
9
|
+
|
|
10
|
+
exifr does not compile into QuickJS, so this pack is a **host module**.
|
|
11
|
+
|
|
12
|
+
## parse — bytes to tags
|
|
13
|
+
|
|
14
|
+
```js
|
|
15
|
+
import { parse } from "@nodetool-ai/sandbox-exif";
|
|
16
|
+
|
|
17
|
+
const tags = await parse(inputs.bytes);
|
|
18
|
+
return {
|
|
19
|
+
make: tags?.Make ?? null,
|
|
20
|
+
model: tags?.Model ?? null,
|
|
21
|
+
takenAt: tags?.DateTimeOriginal ?? null
|
|
22
|
+
};
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
`inputs.bytes` is a `Uint8Array` from `workspace.readBytes` or `image.bytes`.
|
|
26
|
+
|
|
27
|
+
## Gotchas
|
|
28
|
+
|
|
29
|
+
- **Named export `parse`.** Not the library's default export.
|
|
30
|
+
- **Missing tags return `null`.** A stripped JPEG has no EXIF.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nodetool-ai/sandbox-exif",
|
|
3
|
+
"version": "0.8.4",
|
|
4
|
+
"description": "Read EXIF and other photo metadata inside the NodeTool sandbox, from exifr",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"nodetool": {
|
|
7
|
+
"apiVersion": 1,
|
|
8
|
+
"recommended": true,
|
|
9
|
+
"sandboxModules": [
|
|
10
|
+
{
|
|
11
|
+
"name": ".",
|
|
12
|
+
"kind": "host",
|
|
13
|
+
"host": "exif"
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "https://github.com/nodetool-ai/nodetool.git",
|
|
20
|
+
"directory": "packages/sandbox-packs/sandbox-exif"
|
|
21
|
+
},
|
|
22
|
+
"homepage": "https://nodetool.ai",
|
|
23
|
+
"bugs": {
|
|
24
|
+
"url": "https://github.com/nodetool-ai/nodetool/issues"
|
|
25
|
+
},
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"access": "public"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"SKILL.md"
|
|
31
|
+
],
|
|
32
|
+
"keywords": [
|
|
33
|
+
"nodetool",
|
|
34
|
+
"nodetool-sandbox-pack",
|
|
35
|
+
"sandbox",
|
|
36
|
+
"exif",
|
|
37
|
+
"photo",
|
|
38
|
+
"metadata"
|
|
39
|
+
]
|
|
40
|
+
}
|