@nodetool-ai/node-sdk 0.8.4-a24.3 → 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,36 @@
1
+ ---
2
+ name: sandbox-decimal
3
+ description: Exact decimal arithmetic inside a Code node or CodeAct action, with decimal.js running in the guest
4
+ ---
5
+
6
+ # Decimals in the sandbox
7
+
8
+ Specifier: `@nodetool-ai/sandbox-decimal`. One module, decimal.js. Import it
9
+ at the top of the body.
10
+
11
+ ## Exact sums
12
+
13
+ ```js
14
+ import Decimal from "@nodetool-ai/sandbox-decimal";
15
+
16
+ const total = inputs.amounts
17
+ .reduce((sum, n) => sum.plus(n), new Decimal(0));
18
+ return { total: total.toFixed(2) };
19
+ ```
20
+
21
+ ## Divide without float noise
22
+
23
+ ```js
24
+ import Decimal from "@nodetool-ai/sandbox-decimal";
25
+
26
+ const share = new Decimal(inputs.cents).div(inputs.parts);
27
+ return { share: share.toFixed(2) };
28
+ ```
29
+
30
+ ## Gotchas
31
+
32
+ - **Default export.** `import Decimal from "@nodetool-ai/sandbox-decimal"`.
33
+ - **Pass strings or Decimals.** `new Decimal(0.1)` already lost precision;
34
+ use `new Decimal("0.1")`.
35
+ - **The guest has no Intl.** Format with `toFixed` / `toString`, not
36
+ `toLocaleString`.
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@nodetool-ai/sandbox-decimal",
3
+ "version": "0.8.4",
4
+ "description": "Arbitrary-precision decimal arithmetic inside the NodeTool sandbox, from decimal.js",
5
+ "license": "MIT",
6
+ "dependencies": {
7
+ "decimal.js": "^10.6.0"
8
+ },
9
+ "nodetool": {
10
+ "apiVersion": 1,
11
+ "recommended": true,
12
+ "sandboxModules": [
13
+ {
14
+ "name": ".",
15
+ "kind": "js",
16
+ "npm": "decimal.js"
17
+ }
18
+ ]
19
+ },
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/nodetool-ai/nodetool.git",
23
+ "directory": "packages/sandbox-packs/sandbox-decimal"
24
+ },
25
+ "homepage": "https://nodetool.ai",
26
+ "bugs": {
27
+ "url": "https://github.com/nodetool-ai/nodetool/issues"
28
+ },
29
+ "publishConfig": {
30
+ "access": "public"
31
+ },
32
+ "files": [
33
+ "SKILL.md"
34
+ ],
35
+ "keywords": [
36
+ "nodetool",
37
+ "nodetool-sandbox-pack",
38
+ "sandbox",
39
+ "decimal",
40
+ "money",
41
+ "precision"
42
+ ]
43
+ }
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: sandbox-diff
3
+ description: Unified text diffs in a Code node or CodeAct action, with the diff library running on the host
4
+ ---
5
+
6
+ # Text diffs in the sandbox
7
+
8
+ Specifier: `@nodetool-ai/sandbox-diff`. Import it at the top of the body.
9
+
10
+ The `diff` library schedules with `setTimeout`, and the guest has no timers, so
11
+ it cannot be compiled in. This pack is a **host module**: the import resolves to
12
+ a generated facade over NodeTool's own implementation.
13
+
14
+ ## unified — a unified diff of two texts
15
+
16
+ ```js
17
+ import { unified } from "@nodetool-ai/sandbox-diff";
18
+
19
+ const patch = await unified(inputs.before, inputs.after, {
20
+ oldName: "before.md",
21
+ newName: "after.md",
22
+ context: 5
23
+ });
24
+ return { patch, changed: patch.includes("@@") };
25
+ ```
26
+
27
+ Options: `context` (lines of context, 0–100, default 3), `oldName`, `newName`.
28
+ Identical inputs produce a header with no hunks, so `includes("@@")` is the
29
+ cheap "did anything change" test — handy in a verify loop.
30
+
31
+ ## Gotchas
32
+
33
+ - **`unified` is async.**
34
+ - **5 MB per side.** Larger input is refused by name.
35
+ - **Line-oriented.** Two texts that differ only in trailing whitespace still
36
+ diff; normalize first if that is noise.
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@nodetool-ai/sandbox-diff",
3
+ "version": "0.8.4",
4
+ "description": "Unified text diffs inside the NodeTool sandbox, from the diff library 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": "diff"
14
+ }
15
+ ]
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://github.com/nodetool-ai/nodetool.git",
20
+ "directory": "packages/sandbox-packs/sandbox-diff"
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
+ "diff",
37
+ "patch"
38
+ ]
39
+ }
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: sandbox-docx
3
+ description: Build a Word document in a Code node or CodeAct action, with docx running on the host
4
+ ---
5
+
6
+ # Word documents in the sandbox
7
+
8
+ Specifier: `@nodetool-ai/sandbox-docx`. Import it at the top of the body.
9
+
10
+ `docx` builds a document out of class instances (`Paragraph`, `TextRun`,
11
+ `Table`, …) that cannot cross the guest boundary as plain data. This pack is a
12
+ **host module**: you describe the document as a JSON element list and the host
13
+ builds the real `.docx` bytes.
14
+
15
+ ## build — element list to `.docx` bytes
16
+
17
+ ```js
18
+ import { build } from "@nodetool-ai/sandbox-docx";
19
+
20
+ const bytes = await build({
21
+ properties: { title: "Q3 Report", author: "NodeTool" },
22
+ elements: [
23
+ { type: "heading", text: "Q3 Report", level: 1 },
24
+ { type: "paragraph", text: "Revenue grew 12% quarter over quarter.", bold: true },
25
+ { type: "table", rows: [["Month", "Revenue"], ["Jul", "120k"], ["Aug", "134k"]] },
26
+ { type: "pageBreak" },
27
+ { type: "paragraph", text: "See appendix for methodology.", alignment: "CENTER" }
28
+ ]
29
+ });
30
+ await workspace.writeBytes("report.docx", bytes);
31
+ ```
32
+
33
+ Element types:
34
+
35
+ - `heading` — `text`, `level` (1–6, default 1)
36
+ - `paragraph` — `text`, `alignment` (`LEFT`/`CENTER`/`RIGHT`/`JUSTIFY`, default
37
+ `LEFT`), `bold`, `italic`, `fontSize` (points, default 12)
38
+ - `table` — `rows`, a 2D array; every cell is stringified
39
+ - `image` — `data` (a `Uint8Array`), `width`/`height` in inches
40
+ - `pageBreak` — no fields
41
+
42
+ `properties.title`/`author`/`subject`/`keywords` set the document's metadata.
43
+
44
+ ## Gotchas
45
+
46
+ - **`build` is async** and returns a `Uint8Array`.
47
+ - **Writing only.** To read an existing `.docx`, use
48
+ `@nodetool-ai/sandbox-mammoth` instead — these are two different libraries on
49
+ two different sides of the format.
50
+ - **Images are inches, not pixels.** `width`/`height` follow docx's own
51
+ convention; omit them and the image renders at a fixed placeholder size.
52
+ - **10 MB per image.** The shared host-module input cap applies to each
53
+ `data` field.
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@nodetool-ai/sandbox-docx",
3
+ "version": "0.8.4",
4
+ "description": "Build Word documents inside the NodeTool sandbox, from docx 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": "docx"
14
+ }
15
+ ]
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://github.com/nodetool-ai/nodetool.git",
20
+ "directory": "packages/sandbox-packs/sandbox-docx"
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
+ "docx",
37
+ "word",
38
+ "document"
39
+ ]
40
+ }
@@ -0,0 +1,137 @@
1
+ ---
2
+ name: sandbox-dsl
3
+ description: Build a NodeTool workflow graph in the sandbox from generated node wrappers, one importable module per node namespace
4
+ ---
5
+
6
+ # The workflow DSL in the sandbox
7
+
8
+ Specifier: `@nodetool-ai/sandbox-dsl`. The root exports `workflow()` and every
9
+ namespace under a short name. Each namespace is also its own module:
10
+ `@nodetool-ai/sandbox-dsl/nodetool.image`, `@nodetool-ai/sandbox-dsl/lib.audio`,
11
+ and so on for all 71.
12
+
13
+ Every node type is a generated function whose name and inputs come from the
14
+ node's own metadata. A type this pack does not export does not exist, and the
15
+ import fails before the program runs — which is the difference from building a
16
+ graph out of type strings.
17
+
18
+ ## Build a graph
19
+
20
+ ```js
21
+ import { workflow } from "@nodetool-ai/sandbox-dsl";
22
+ import { stringInput } from "@nodetool-ai/sandbox-dsl/nodetool.input";
23
+ import { resize } from "@nodetool-ai/sandbox-dsl/nodetool.image";
24
+ import { output } from "@nodetool-ai/sandbox-dsl/nodetool.output";
25
+
26
+ const prompt = stringInput({ name: "prompt", value: "a fox in snow" });
27
+ const smaller = resize({ width: 256, height: 256 });
28
+ return workflow(output({ name: "image", value: smaller.output() }));
29
+ ```
30
+
31
+ `workflow()` returns `{ nodes, edges }` in the kernel shape — nodes carry
32
+ `{id, type, properties}`, edges carry `{id, source, sourceHandle, target,
33
+ targetHandle}`. Hand that straight to `validate_workflow` or `create_workflow`.
34
+
35
+ ## Check it, save it, run it
36
+
37
+ The graph is data until something checks it. Validate first — it costs nothing
38
+ and catches a missing property, a dangling edge, or a model nobody selected
39
+ before a run spends money on the half of the graph that does work:
40
+
41
+ ```js
42
+ import { validate_workflow, create_workflow, run_workflow, debug_workflow }
43
+ from "@nodetool-ai/sandbox-nodetool/workflows";
44
+
45
+ const graph = workflow(output({ name: "image", value: smaller.output() }));
46
+
47
+ const check = await validate_workflow({ graph });
48
+ if (!check.ok) throw new Error(check.issues.map((i) => i.message).join("; "));
49
+ ```
50
+
51
+ `validate_workflow` answers `{ok, counts, issues}` — `ok` is false only when
52
+ the graph has errors, and each issue carries `{severity, code, message}`.
53
+ Warnings do not set `ok` false; read them off `issues`.
54
+
55
+ ```js
56
+ const saved = await create_workflow({ name: "Thumbnailer", graph });
57
+ const run = await run_workflow({
58
+ workflow_id: saved.id,
59
+ params: { prompt: "a fox in snow" }
60
+ });
61
+ ```
62
+
63
+ `run_workflow` answers `{status, outputs}`. When a run fails and the graph looks
64
+ right, `debug_workflow({workflow_id, params})` runs it again and answers one
65
+ report: `{workflow_id, run, job, workflow}`. `run` carries
66
+ `{status, outputs, error, verdict}` — `outputs` is keyed by output name and
67
+ each name holds an array of emitted values (`run.outputs.image[0]`). `job`
68
+ carries status, cost and logs; `verdict.headline` and `verdict.issues` say
69
+ which node failed and why.
70
+
71
+ Every model property must be selected before you save: assign a `find_model`
72
+ result's `ref` to the node's `model`. A graph saved with unselected models is
73
+ refused by `create_workflow`, because nothing stamps models in at run time.
74
+
75
+ Where the session mounts no capability modules, the same three verbs are
76
+ `nodetool.workflows.validate/create/run/debug`. Both forms reach one
77
+ implementation past one permission gate.
78
+
79
+ ## Wiring
80
+
81
+ A node function returns a reference. `ref.output()` is the default output slot;
82
+ `ref.output("mask")` names one. Pass a handle as a property value and the edge
83
+ is wired for you:
84
+
85
+ ```js
86
+ const wired = resize({ image: source.output(), width: 512 });
87
+ ```
88
+
89
+ A `list[...]` input takes an array of handles — one edge per element, and the
90
+ sources run in parallel:
91
+
92
+ ```js
93
+ const strip = combineImageGrid({
94
+ tiles: [a.output(), b.output(), c.output()],
95
+ columns: 3
96
+ });
97
+ ```
98
+
99
+ Every element must be a handle; mixing wired outputs and literal values in one
100
+ array throws. A handle buried inside an object value throws too — a connection
101
+ is only made from a handle assigned directly to an input.
102
+
103
+ A node with several outputs has no default, so `output()` without a slot throws
104
+ and names the slots it has. A slot the node does not have throws the same way.
105
+
106
+ ## Ids
107
+
108
+ Ids are assigned from the node type: `resize`, `resize_2`, `string_input`. They
109
+ are stable for a given program, so a later edit can name one — but the generated
110
+ wrappers take inputs and nothing else, so a program cannot choose an id.
111
+
112
+ ## Everything in one import
113
+
114
+ ```js
115
+ import * as dsl from "@nodetool-ai/sandbox-dsl";
116
+
117
+ const smaller = dsl.image.resize({ width: 256, height: 256 });
118
+ return dsl.workflow(dsl.output.output({ name: "image", value: smaller.output() }));
119
+ ```
120
+
121
+ The `nodetool.*` namespaces drop the prefix (`dsl.image`, `dsl.input`,
122
+ `dsl.text`); the rest keep it in camel case (`dsl.libAudio`, `dsl.openaiImage`).
123
+ Importing one namespace module is cheaper than the root, which pulls all 71.
124
+
125
+ ## Gotchas
126
+
127
+ - **`workflow()` lives only at the root.** A program that imports namespace
128
+ subpaths still declares `@nodetool-ai/sandbox-dsl` for the builder.
129
+ - **A handle is not text.** `` `use ${node.output()}` `` throws rather than
130
+ writing `[object Object]` into a property and wiring no edge.
131
+ - **Only reachable nodes ship.** `workflow(terminal)` walks back from its
132
+ terminals; a node nothing wires to is dropped. Pass every terminal you want.
133
+ - **One graph per call.** `workflow()` clears the registry, so a handle from an
134
+ earlier call is spent and using it throws.
135
+ - **This builds a graph; it does not run one.** The pack is pure computation —
136
+ no models are called, no assets resolve, no node executes. Run the graph
137
+ through the workflow tools once it validates.