@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.
Files changed (256) hide show
  1. package/dist/.nodetool-build-stamp +1 -1
  2. package/dist/_sandbox/README.md +176 -0
  3. package/dist/_sandbox/sandbox-aws/SKILL.md +98 -0
  4. package/dist/_sandbox/sandbox-aws/package.json +40 -0
  5. package/dist/_sandbox/sandbox-chrono/SKILL.md +39 -0
  6. package/dist/_sandbox/sandbox-chrono/package.json +40 -0
  7. package/dist/_sandbox/sandbox-color/SKILL.md +35 -0
  8. package/dist/_sandbox/sandbox-color/package.json +43 -0
  9. package/dist/_sandbox/sandbox-csv/SKILL.md +50 -0
  10. package/dist/_sandbox/sandbox-csv/package.json +39 -0
  11. package/dist/_sandbox/sandbox-dates/SKILL.md +47 -0
  12. package/dist/_sandbox/sandbox-dates/package.json +41 -0
  13. package/dist/_sandbox/sandbox-decimal/SKILL.md +36 -0
  14. package/dist/_sandbox/sandbox-decimal/package.json +43 -0
  15. package/dist/_sandbox/sandbox-diff/SKILL.md +36 -0
  16. package/dist/_sandbox/sandbox-diff/package.json +39 -0
  17. package/dist/_sandbox/sandbox-docx/SKILL.md +53 -0
  18. package/dist/_sandbox/sandbox-docx/package.json +40 -0
  19. package/dist/_sandbox/sandbox-dsl/SKILL.md +137 -0
  20. package/dist/_sandbox/sandbox-dsl/package.json +413 -0
  21. package/dist/_sandbox/sandbox-dsl/sandbox/authoring.js +382 -0
  22. package/dist/_sandbox/sandbox-dsl/sandbox/core.js +382 -0
  23. package/dist/_sandbox/sandbox-dsl/sandbox/generated/gemini.audio.js +12 -0
  24. package/dist/_sandbox/sandbox-dsl/sandbox/generated/gemini.image.js +8 -0
  25. package/dist/_sandbox/sandbox-dsl/sandbox/generated/gemini.text.js +12 -0
  26. package/dist/_sandbox/sandbox-dsl/sandbox/generated/gemini.video.js +12 -0
  27. package/dist/_sandbox/sandbox-dsl/sandbox/generated/index.js +149 -0
  28. package/dist/_sandbox/sandbox-dsl/sandbox/generated/kie.dynamic_schema.js +8 -0
  29. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.audio.js +68 -0
  30. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.browser.js +8 -0
  31. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.charts.js +8 -0
  32. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.comfy.js +16 -0
  33. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.grid.js +8 -0
  34. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.channel.js +12 -0
  35. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.color.js +32 -0
  36. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.color_grading.js +44 -0
  37. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.draw.js +36 -0
  38. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.effects.js +24 -0
  39. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.enhance.js +28 -0
  40. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.filter.js +64 -0
  41. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.js +8 -0
  42. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.keyer.js +12 -0
  43. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.mask.js +16 -0
  44. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.image.warp.js +36 -0
  45. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.pdf.js +32 -0
  46. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.sqlite.js +8 -0
  47. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.stable_diffusion_cpp.js +8 -0
  48. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.svg.js +12 -0
  49. package/dist/_sandbox/sandbox-dsl/sandbox/generated/lib.video.download.js +8 -0
  50. package/dist/_sandbox/sandbox-dsl/sandbox/generated/messaging.discord.js +8 -0
  51. package/dist/_sandbox/sandbox-dsl/sandbox/generated/messaging.telegram.js +8 -0
  52. package/dist/_sandbox/sandbox-dsl/sandbox/generated/mistral.embeddings.js +8 -0
  53. package/dist/_sandbox/sandbox-dsl/sandbox/generated/mistral.text.js +12 -0
  54. package/dist/_sandbox/sandbox-dsl/sandbox/generated/mistral.vision.js +12 -0
  55. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.agents.js +32 -0
  56. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.audio.js +104 -0
  57. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.audio.realtime.js +28 -0
  58. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.audio.synth.js +40 -0
  59. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.blender.js +28 -0
  60. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.code.js +8 -0
  61. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.compare.js +8 -0
  62. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.constant.js +132 -0
  63. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.control.js +96 -0
  64. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.creative.js +24 -0
  65. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.data.js +12 -0
  66. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.document.js +16 -0
  67. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.entity.js +16 -0
  68. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.fake.js +12 -0
  69. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.game.js +36 -0
  70. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.generators.js +24 -0
  71. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.image.js +120 -0
  72. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.input.js +140 -0
  73. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.manimgx.js +16 -0
  74. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.model3d.js +76 -0
  75. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.output.js +8 -0
  76. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.script.js +28 -0
  77. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.sketch.js +16 -0
  78. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.storyboard.js +32 -0
  79. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.text.js +56 -0
  80. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.timeline.js +24 -0
  81. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.triggers.js +24 -0
  82. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.variable.js +12 -0
  83. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.video.js +136 -0
  84. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.workflows.app_node.js +8 -0
  85. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.workflows.base_node.js +8 -0
  86. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.workflows.subgraph.js +8 -0
  87. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.workflows.workflow_node.js +8 -0
  88. package/dist/_sandbox/sandbox-dsl/sandbox/generated/openai.agents.js +16 -0
  89. package/dist/_sandbox/sandbox-dsl/sandbox/generated/openai.audio.js +16 -0
  90. package/dist/_sandbox/sandbox-dsl/sandbox/generated/openai.image.js +16 -0
  91. package/dist/_sandbox/sandbox-dsl/sandbox/generated/openai.text.js +16 -0
  92. package/dist/_sandbox/sandbox-dsl/sandbox/generated/vector.js +56 -0
  93. package/dist/_sandbox/sandbox-dsl/sandbox/generated/whisper_cpp.js +8 -0
  94. package/dist/_sandbox/sandbox-dsl/sandbox/generated/xai.image.js +8 -0
  95. package/dist/_sandbox/sandbox-dsl/sandbox/generated/xai.text.js +12 -0
  96. package/dist/_sandbox/sandbox-dsl/sandbox/generated/xai.vision.js +8 -0
  97. package/dist/_sandbox/sandbox-dsl/sandbox/index.js +13 -0
  98. package/dist/_sandbox/sandbox-dsl/scripts/build.mjs +116 -0
  99. package/dist/_sandbox/sandbox-epub/SKILL.md +61 -0
  100. package/dist/_sandbox/sandbox-epub/package.json +40 -0
  101. package/dist/_sandbox/sandbox-exif/SKILL.md +30 -0
  102. package/dist/_sandbox/sandbox-exif/package.json +40 -0
  103. package/dist/_sandbox/sandbox-expr/SKILL.md +28 -0
  104. package/dist/_sandbox/sandbox-expr/package.json +40 -0
  105. package/dist/_sandbox/sandbox-fabric/SKILL.md +113 -0
  106. package/dist/_sandbox/sandbox-fabric/package.json +40 -0
  107. package/dist/_sandbox/sandbox-flow/SKILL.md +131 -0
  108. package/dist/_sandbox/sandbox-flow/package.json +411 -0
  109. package/dist/_sandbox/sandbox-flow/sandbox/generated/gemini.audio.js +12 -0
  110. package/dist/_sandbox/sandbox-flow/sandbox/generated/gemini.image.js +8 -0
  111. package/dist/_sandbox/sandbox-flow/sandbox/generated/gemini.text.js +12 -0
  112. package/dist/_sandbox/sandbox-flow/sandbox/generated/gemini.video.js +12 -0
  113. package/dist/_sandbox/sandbox-flow/sandbox/generated/kie.dynamic_schema.js +8 -0
  114. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.audio.js +68 -0
  115. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.browser.js +8 -0
  116. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.charts.js +8 -0
  117. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.comfy.js +25 -0
  118. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.grid.js +8 -0
  119. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.channel.js +12 -0
  120. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.color.js +32 -0
  121. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.color_grading.js +44 -0
  122. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.draw.js +36 -0
  123. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.effects.js +24 -0
  124. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.enhance.js +28 -0
  125. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.filter.js +64 -0
  126. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.js +8 -0
  127. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.keyer.js +12 -0
  128. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.mask.js +16 -0
  129. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.image.warp.js +36 -0
  130. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.pdf.js +32 -0
  131. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.sqlite.js +8 -0
  132. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.stable_diffusion_cpp.js +8 -0
  133. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.svg.js +12 -0
  134. package/dist/_sandbox/sandbox-flow/sandbox/generated/lib.video.download.js +8 -0
  135. package/dist/_sandbox/sandbox-flow/sandbox/generated/messaging.discord.js +11 -0
  136. package/dist/_sandbox/sandbox-flow/sandbox/generated/messaging.telegram.js +11 -0
  137. package/dist/_sandbox/sandbox-flow/sandbox/generated/mistral.embeddings.js +8 -0
  138. package/dist/_sandbox/sandbox-flow/sandbox/generated/mistral.text.js +12 -0
  139. package/dist/_sandbox/sandbox-flow/sandbox/generated/mistral.vision.js +12 -0
  140. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.agents.js +41 -0
  141. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.audio.js +110 -0
  142. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.audio.realtime.js +46 -0
  143. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.audio.synth.js +67 -0
  144. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.blender.js +28 -0
  145. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.code.js +11 -0
  146. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.compare.js +8 -0
  147. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.constant.js +132 -0
  148. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.control.js +165 -0
  149. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.creative.js +27 -0
  150. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.data.js +18 -0
  151. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.document.js +19 -0
  152. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.entity.js +19 -0
  153. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.fake.js +12 -0
  154. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.game.js +39 -0
  155. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.generators.js +30 -0
  156. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.image.js +126 -0
  157. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.input.js +143 -0
  158. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.manimgx.js +16 -0
  159. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.model3d.js +76 -0
  160. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.output.js +11 -0
  161. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.script.js +28 -0
  162. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.sketch.js +16 -0
  163. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.storyboard.js +35 -0
  164. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.text.js +68 -0
  165. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.timeline.js +24 -0
  166. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.triggers.js +33 -0
  167. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.variable.js +15 -0
  168. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.video.js +145 -0
  169. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.workflows.app_node.js +11 -0
  170. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.workflows.base_node.js +8 -0
  171. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.workflows.subgraph.js +11 -0
  172. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.workflows.workflow_node.js +11 -0
  173. package/dist/_sandbox/sandbox-flow/sandbox/generated/openai.agents.js +25 -0
  174. package/dist/_sandbox/sandbox-flow/sandbox/generated/openai.audio.js +16 -0
  175. package/dist/_sandbox/sandbox-flow/sandbox/generated/openai.image.js +16 -0
  176. package/dist/_sandbox/sandbox-flow/sandbox/generated/openai.text.js +16 -0
  177. package/dist/_sandbox/sandbox-flow/sandbox/generated/vector.js +56 -0
  178. package/dist/_sandbox/sandbox-flow/sandbox/generated/whisper_cpp.js +11 -0
  179. package/dist/_sandbox/sandbox-flow/sandbox/generated/xai.image.js +8 -0
  180. package/dist/_sandbox/sandbox-flow/sandbox/generated/xai.text.js +12 -0
  181. package/dist/_sandbox/sandbox-flow/sandbox/generated/xai.vision.js +8 -0
  182. package/dist/_sandbox/sandbox-flow/sandbox/guest-core.js +35 -0
  183. package/dist/_sandbox/sandbox-flow/sandbox/index.js +10 -0
  184. package/dist/_sandbox/sandbox-flow/scripts/build.mjs +120 -0
  185. package/dist/_sandbox/sandbox-game/SKILL.md +116 -0
  186. package/dist/_sandbox/sandbox-game/package.json +36 -0
  187. package/dist/_sandbox/sandbox-game/sandbox/index.js +208 -0
  188. package/dist/_sandbox/sandbox-gif/SKILL.md +36 -0
  189. package/dist/_sandbox/sandbox-gif/package.json +43 -0
  190. package/dist/_sandbox/sandbox-html/SKILL.md +107 -0
  191. package/dist/_sandbox/sandbox-html/package.json +40 -0
  192. package/dist/_sandbox/sandbox-ics/SKILL.md +41 -0
  193. package/dist/_sandbox/sandbox-ics/package.json +40 -0
  194. package/dist/_sandbox/sandbox-jmespath/SKILL.md +26 -0
  195. package/dist/_sandbox/sandbox-jmespath/package.json +43 -0
  196. package/dist/_sandbox/sandbox-mammoth/SKILL.md +46 -0
  197. package/dist/_sandbox/sandbox-mammoth/package.json +41 -0
  198. package/dist/_sandbox/sandbox-markdown/SKILL.md +123 -0
  199. package/dist/_sandbox/sandbox-markdown/package.json +41 -0
  200. package/dist/_sandbox/sandbox-notion/SKILL.md +101 -0
  201. package/dist/_sandbox/sandbox-notion/package.json +38 -0
  202. package/dist/_sandbox/sandbox-ocr/SKILL.md +47 -0
  203. package/dist/_sandbox/sandbox-ocr/package.json +40 -0
  204. package/dist/_sandbox/sandbox-pdf/SKILL.md +47 -0
  205. package/dist/_sandbox/sandbox-pdf/package.json +39 -0
  206. package/dist/_sandbox/sandbox-pdflib/SKILL.md +56 -0
  207. package/dist/_sandbox/sandbox-pdflib/package.json +38 -0
  208. package/dist/_sandbox/sandbox-pptx/SKILL.md +42 -0
  209. package/dist/_sandbox/sandbox-pptx/package.json +40 -0
  210. package/dist/_sandbox/sandbox-pptxgen/SKILL.md +49 -0
  211. package/dist/_sandbox/sandbox-pptxgen/package.json +38 -0
  212. package/dist/_sandbox/sandbox-qr/SKILL.md +43 -0
  213. package/dist/_sandbox/sandbox-qr/package.json +42 -0
  214. package/dist/_sandbox/sandbox-rrule/SKILL.md +37 -0
  215. package/dist/_sandbox/sandbox-rrule/package.json +43 -0
  216. package/dist/_sandbox/sandbox-stats/SKILL.md +42 -0
  217. package/dist/_sandbox/sandbox-stats/package.json +43 -0
  218. package/dist/_sandbox/sandbox-subtitle/SKILL.md +38 -0
  219. package/dist/_sandbox/sandbox-subtitle/package.json +41 -0
  220. package/dist/_sandbox/sandbox-supabase/SKILL.md +108 -0
  221. package/dist/_sandbox/sandbox-supabase/package.json +39 -0
  222. package/dist/_sandbox/sandbox-tfjs/SKILL.md +76 -0
  223. package/dist/_sandbox/sandbox-tfjs/package.json +42 -0
  224. package/dist/_sandbox/sandbox-timeline/SKILL.md +647 -0
  225. package/dist/_sandbox/sandbox-timeline/package.json +46 -0
  226. package/dist/_sandbox/sandbox-timeline/sandbox/charts.js +356 -0
  227. package/dist/_sandbox/sandbox-timeline/sandbox/components.js +171 -0
  228. package/dist/_sandbox/sandbox-timeline/sandbox/index.d.ts +700 -0
  229. package/dist/_sandbox/sandbox-timeline/sandbox/index.js +1658 -0
  230. package/dist/_sandbox/sandbox-tokens/SKILL.md +46 -0
  231. package/dist/_sandbox/sandbox-tokens/package.json +40 -0
  232. package/dist/_sandbox/sandbox-twilio/SKILL.md +93 -0
  233. package/dist/_sandbox/sandbox-twilio/package.json +39 -0
  234. package/dist/_sandbox/sandbox-xlsx/SKILL.md +74 -0
  235. package/dist/_sandbox/sandbox-xlsx/package.json +40 -0
  236. package/dist/_sandbox/sandbox-xml/SKILL.md +36 -0
  237. package/dist/_sandbox/sandbox-xml/package.json +40 -0
  238. package/dist/_sandbox/sandbox-yaml/SKILL.md +48 -0
  239. package/dist/_sandbox/sandbox-yaml/package.json +41 -0
  240. package/dist/_sandbox/sandbox-zip/SKILL.md +54 -0
  241. package/dist/_sandbox/sandbox-zip/package.json +40 -0
  242. package/dist/code-node-validation.d.ts +2 -0
  243. package/dist/code-node-validation.d.ts.map +1 -1
  244. package/dist/code-node-validation.js +1 -1
  245. package/dist/code-node-validation.js.map +1 -1
  246. package/dist/pack-loader.d.ts +1 -0
  247. package/dist/pack-loader.d.ts.map +1 -1
  248. package/dist/pack-loader.js +1 -0
  249. package/dist/pack-loader.js.map +1 -1
  250. package/dist/sandbox-catalog-host.js +1 -1
  251. package/dist/sandbox-catalog-host.js.map +1 -1
  252. package/dist/sandbox-pack-discovery.d.ts +3 -0
  253. package/dist/sandbox-pack-discovery.d.ts.map +1 -1
  254. package/dist/sandbox-pack-discovery.js +7 -3
  255. package/dist/sandbox-pack-discovery.js.map +1 -1
  256. package/package.json +5 -5
@@ -0,0 +1,382 @@
1
+ // Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
2
+ import {
3
+ createNode,
4
+ resolveConnection,
5
+ connectionIdentity,
6
+ connectionSlot,
7
+ workflow as graphWorkflow,
8
+ withBuildScope,
9
+ withNodeScope
10
+ } from "./core.js";
11
+ function inputType(type, optionalInput = false, fallback) {
12
+ return Object.freeze({
13
+ type,
14
+ optionalInput,
15
+ fallback,
16
+ optional(value) {
17
+ return inputType(
18
+ type,
19
+ true,
20
+ value === void 0 ? null : value
21
+ );
22
+ }
23
+ });
24
+ }
25
+ const t = Object.freeze({
26
+ string: () => inputType("str"),
27
+ int: () => inputType("int"),
28
+ float: () => inputType("float"),
29
+ boolean: () => inputType("bool"),
30
+ image: () => inputType("image"),
31
+ audio: () => inputType("audio"),
32
+ video: () => inputType("video"),
33
+ value: () => inputType("any"),
34
+ list: (item) => inputType(`list[${item.type}]`)
35
+ });
36
+ function workflow(...args) {
37
+ if (args.length === 2 && typeof args[1] === "function") {
38
+ return defineWorkflow(
39
+ args[0],
40
+ args[1]
41
+ );
42
+ }
43
+ return graphWorkflow(...args);
44
+ }
45
+ const INPUT_NODES = {
46
+ str: "StringInput",
47
+ int: "IntegerInput",
48
+ float: "FloatInput",
49
+ bool: "BooleanInput",
50
+ image: "ImageInput",
51
+ audio: "AudioInput",
52
+ video: "VideoInput"
53
+ };
54
+ function input(name, descriptor) {
55
+ const specialized = !descriptor.optionalInput && descriptor.type in INPUT_NODES ? INPUT_NODES[descriptor.type] : void 0;
56
+ const properties = { name };
57
+ if (descriptor.optionalInput) {
58
+ properties.value = descriptor.fallback;
59
+ }
60
+ return createNode(
61
+ `nodetool.input.${specialized || "ValueInput"}`,
62
+ properties,
63
+ {
64
+ id: `input/${name}`,
65
+ outputNames: ["output"],
66
+ defaultOutput: "output",
67
+ outputTypes: { output: descriptor.type }
68
+ }
69
+ );
70
+ }
71
+ function valueType(value) {
72
+ const handle = resolveConnection(value);
73
+ if (handle) return handle.valueType ?? "any";
74
+ if (typeof value === "string") return "str";
75
+ if (typeof value === "boolean") return "bool";
76
+ if (typeof value === "number")
77
+ return Number.isInteger(value) ? "int" : "float";
78
+ if (Array.isArray(value))
79
+ return `list[${value.length ? valueType(value[0]) : "any"}]`;
80
+ if (value && typeof value === "object" && "type" in value && typeof value.type === "string") {
81
+ if (["image", "audio", "video", "model3d"].includes(value.type))
82
+ return value.type;
83
+ }
84
+ return "any";
85
+ }
86
+ function resultNodes(result) {
87
+ if (!result || typeof result !== "object" || Array.isArray(result) || typeof result.then === "function") {
88
+ throw new Error(
89
+ "A workflow builder must synchronously return a named output object"
90
+ );
91
+ }
92
+ if (!Object.keys(result).length)
93
+ throw new Error("A workflow must return at least one named output");
94
+ return Object.entries(result).map(
95
+ ([name, value]) => createNode(
96
+ "nodetool.output.Output",
97
+ { name, value },
98
+ { id: `output/${name}`, outputNames: ["output"] }
99
+ )
100
+ );
101
+ }
102
+ function defineWorkflow(schema, builder) {
103
+ schema = Object.freeze({ ...schema });
104
+ for (const [name, descriptor] of Object.entries(schema)) {
105
+ if (!name || !descriptor || typeof descriptor.type !== "string" || typeof descriptor.optionalInput !== "boolean") {
106
+ throw new Error(`Invalid workflow input descriptor: ${name}`);
107
+ }
108
+ }
109
+ let outputNames = [];
110
+ const graph = withBuildScope(() => {
111
+ const inputs = Object.fromEntries(
112
+ Object.entries(schema).map(([name, descriptor]) => [
113
+ name,
114
+ input(name, descriptor)
115
+ ])
116
+ );
117
+ const symbols = Object.fromEntries(
118
+ Object.entries(inputs).map(([name, node]) => [name, node.output()])
119
+ );
120
+ const result = builder(symbols);
121
+ const outputs = resultNodes(result);
122
+ outputNames = Object.keys(result);
123
+ return graphWorkflow(...outputs, ...Object.values(inputs));
124
+ });
125
+ const definition = (params, options) => withNodeScope(options?.id, () => {
126
+ for (const [name, descriptor] of Object.entries(schema)) {
127
+ if ((!Object.hasOwn(params, name) || params[name] === void 0) && !descriptor.optionalInput)
128
+ throw new Error(`Missing required workflow input "${name}"`);
129
+ }
130
+ for (const name of Object.keys(params)) {
131
+ if (!Object.hasOwn(schema, name))
132
+ throw new Error(`Unknown workflow input "${name}"`);
133
+ }
134
+ const inputs = Object.fromEntries(
135
+ Object.entries(schema).map(([name, descriptor]) => [
136
+ name,
137
+ createNode(
138
+ "nodetool.control.Reroute",
139
+ {
140
+ input_value: Object.hasOwn(params, name) && params[name] !== void 0 ? params[name] : descriptor.fallback
141
+ },
142
+ {
143
+ id: `input/${name}`,
144
+ outputNames: ["output"],
145
+ defaultOutput: "output",
146
+ outputTypes: { output: descriptor.type },
147
+ outputCorrelation: {
148
+ output: { kind: "forward", source: "input_value" }
149
+ }
150
+ }
151
+ ).output()
152
+ ])
153
+ );
154
+ const result = builder(inputs);
155
+ if (!result || Object.keys(result).join("\0") !== outputNames.join("\0")) {
156
+ throw new Error(
157
+ "A composed workflow must preserve its declared output names"
158
+ );
159
+ }
160
+ return result;
161
+ });
162
+ return Object.freeze(
163
+ Object.assign(definition, graph, {
164
+ inputSchema: schema,
165
+ outputNames: Object.freeze(outputNames),
166
+ toJSON: () => graph
167
+ })
168
+ );
169
+ }
170
+ function toKernelGraph(graph) {
171
+ return {
172
+ nodes: graph.nodes.map((node) => {
173
+ if (!("data" in node)) {
174
+ return Object.fromEntries(Object.entries(node));
175
+ }
176
+ const { data, streaming, streamingInput, ...rest } = node;
177
+ return {
178
+ ...rest,
179
+ properties: data,
180
+ is_streaming_output: streaming,
181
+ is_streaming_input: streamingInput
182
+ };
183
+ }),
184
+ edges: graph.edges.map((edge) => ({ ...edge }))
185
+ };
186
+ }
187
+ function bodyGraph(build) {
188
+ const captures = {};
189
+ const captured = /* @__PURE__ */ new Map();
190
+ let type = "any";
191
+ let captureCount = 0;
192
+ const graph = withBuildScope(
193
+ () => {
194
+ const value = build();
195
+ if (value && typeof value === "object" && "then" in value && typeof value.then === "function") {
196
+ throw new Error("Branch and map callbacks must return synchronously");
197
+ }
198
+ type = valueType(value);
199
+ return graphWorkflow(...resultNodes({ value }));
200
+ },
201
+ (handle) => {
202
+ const identity = connectionIdentity(handle);
203
+ const slot = connectionSlot(handle);
204
+ let slots = captured.get(identity);
205
+ if (!slots) {
206
+ slots = /* @__PURE__ */ new Map();
207
+ captured.set(identity, slots);
208
+ }
209
+ let local = slots.get(slot);
210
+ if (!local) {
211
+ const name = `capture_${captureCount++}`;
212
+ captures[name] = handle;
213
+ local = input(name, inputType(handle.valueType ?? "any")).output();
214
+ slots.set(slot, local);
215
+ }
216
+ return local;
217
+ }
218
+ );
219
+ return { graph: toKernelGraph(graph), captures, type };
220
+ }
221
+ function route(condition, value, type, source) {
222
+ return createNode(
223
+ "nodetool.control.If",
224
+ { condition, value },
225
+ {
226
+ outputNames: ["if_true", "if_false"],
227
+ outputTypes: { if_true: type, if_false: type },
228
+ outputCorrelation: source ? {
229
+ if_true: { kind: "forward", source },
230
+ if_false: { kind: "forward", source }
231
+ } : void 0
232
+ }
233
+ );
234
+ }
235
+ function subgraph(body, inputs, correlationSource) {
236
+ return createNode(
237
+ "nodetool.workflows.subgraph.Subgraph",
238
+ { graph: body.graph, ...inputs },
239
+ {
240
+ outputNames: ["value"],
241
+ defaultOutput: "value",
242
+ outputTypes: { value: body.type },
243
+ dynamicOutputs: { value: { type: body.type, type_args: [] } },
244
+ outputCorrelation: {
245
+ value: { kind: "forward", source: correlationSource }
246
+ }
247
+ }
248
+ );
249
+ }
250
+ function choose(condition, branches) {
251
+ const yes = bodyGraph(branches.then);
252
+ const no = bodyGraph(branches.else);
253
+ if (yes.type !== "any" && no.type !== "any" && yes.type !== no.type && ![yes.type, no.type].every((type) => ["int", "float"].includes(type))) {
254
+ throw new Error(
255
+ `Branch output types do not match: ${yes.type} and ${no.type}`
256
+ );
257
+ }
258
+ const gate = route(condition, true, "bool");
259
+ const branch = (body, slot) => {
260
+ const inputs = { gate: gate.output(slot) };
261
+ for (const [name, handle] of Object.entries(body.captures)) {
262
+ inputs[name] = route(condition, handle, handle.valueType ?? "any").output(
263
+ slot
264
+ );
265
+ }
266
+ return subgraph(body, inputs, "gate");
267
+ };
268
+ const a = branch(yes, "if_true");
269
+ const b = branch(no, "if_false");
270
+ return createNode(
271
+ "nodetool.code.Code",
272
+ {
273
+ code: 'for await (const value of stream("yes")) { await emit("output", value); }\nfor await (const value of stream("no")) { await emit("output", value); }',
274
+ yes: a,
275
+ no: b
276
+ },
277
+ {
278
+ outputNames: ["output"],
279
+ defaultOutput: "output",
280
+ outputTypes: { output: yes.type },
281
+ streamingInput: true,
282
+ streaming: true
283
+ }
284
+ ).output();
285
+ }
286
+ function map(items, build) {
287
+ const listType = valueType(items);
288
+ const itemType = listType.startsWith("list[") ? listType.slice(5, -1) : "any";
289
+ const body = bodyGraph(
290
+ () => build(
291
+ input("item", inputType(itemType)).output(),
292
+ input("index", t.int()).output()
293
+ )
294
+ );
295
+ const each = createNode(
296
+ "nodetool.control.ForEach",
297
+ { input_list: items },
298
+ {
299
+ outputNames: ["output", "index"],
300
+ outputTypes: { output: itemType, index: "int" },
301
+ streaming: true,
302
+ outputCorrelation: {
303
+ output: { kind: "iteration", source: "__execution__", group: "items" },
304
+ index: { kind: "iteration", source: "__execution__", group: "items" }
305
+ }
306
+ }
307
+ );
308
+ const inputs = {
309
+ item: each.output("output"),
310
+ index: each.output("index")
311
+ };
312
+ if (Object.keys(body.captures).length) {
313
+ const gate = createNode(
314
+ "nodetool.code.Code",
315
+ {
316
+ code: 'await output("output", true);',
317
+ item: each.output("output")
318
+ },
319
+ {
320
+ outputNames: ["output"],
321
+ defaultOutput: "output",
322
+ outputTypes: { output: "bool" },
323
+ outputCorrelation: { output: { kind: "forward", source: "item" } }
324
+ }
325
+ );
326
+ for (const [name, handle] of Object.entries(body.captures)) {
327
+ inputs[name] = route(
328
+ gate,
329
+ handle,
330
+ handle.valueType ?? "any",
331
+ "condition"
332
+ ).output("if_true");
333
+ }
334
+ }
335
+ const invocation = subgraph(body, inputs, "item");
336
+ return createNode(
337
+ "nodetool.control.Collect",
338
+ { input_item: invocation },
339
+ {
340
+ outputNames: ["output"],
341
+ defaultOutput: "output",
342
+ outputTypes: { output: `list[${body.type}]` },
343
+ streamingInput: true,
344
+ inputMode: "stream",
345
+ outputCorrelation: {
346
+ output: {
347
+ kind: "aggregate",
348
+ source: "input_item",
349
+ collapse: "innermost"
350
+ }
351
+ }
352
+ }
353
+ ).output();
354
+ }
355
+ function template(strings, ...values) {
356
+ const inputs = {};
357
+ let text = strings[0] ?? "";
358
+ values.forEach((value, index) => {
359
+ const name = `value_${index}`;
360
+ inputs[name] = value;
361
+ text += `{{${name}}}${strings[index + 1] ?? ""}`;
362
+ });
363
+ return createNode(
364
+ "nodetool.text.Template",
365
+ { string: text, ...inputs },
366
+ {
367
+ outputNames: ["output"],
368
+ defaultOutput: "output",
369
+ outputTypes: { output: "str" }
370
+ }
371
+ ).output();
372
+ }
373
+ export {
374
+ choose,
375
+ defineWorkflow,
376
+ map,
377
+ t,
378
+ template,
379
+ toKernelGraph,
380
+ valueType,
381
+ workflow
382
+ };