@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,16 @@
1
+ // Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
2
+ import { callNode } from "../guest-core.js";
3
+ function textToSpeech(inputs) {
4
+ return callNode("openai.audio.TextToSpeech", inputs);
5
+ }
6
+ function translate(inputs) {
7
+ return callNode("openai.audio.Translate", inputs);
8
+ }
9
+ function transcribe(inputs) {
10
+ return callNode("openai.audio.Transcribe", inputs);
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 { callNode } from "../guest-core.js";
3
+ function createImage(inputs) {
4
+ return callNode("openai.image.CreateImage", inputs);
5
+ }
6
+ function editImage(inputs) {
7
+ return callNode("openai.image.EditImage", inputs);
8
+ }
9
+ function imageVariation(inputs) {
10
+ return callNode("openai.image.ImageVariation", inputs);
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 { callNode } from "../guest-core.js";
3
+ function embedding(inputs) {
4
+ return callNode("openai.text.Embedding", inputs);
5
+ }
6
+ function webSearch(inputs) {
7
+ return callNode("openai.text.WebSearch", inputs);
8
+ }
9
+ function moderation(inputs) {
10
+ return callNode("openai.text.Moderation", inputs);
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 { callNode } from "../guest-core.js";
3
+ function collection(inputs) {
4
+ return callNode("vector.Collection", inputs);
5
+ }
6
+ function count(inputs) {
7
+ return callNode("vector.Count", inputs);
8
+ }
9
+ function getDocuments(inputs) {
10
+ return callNode("vector.GetDocuments", inputs);
11
+ }
12
+ function peek(inputs) {
13
+ return callNode("vector.Peek", inputs);
14
+ }
15
+ function indexImage(inputs) {
16
+ return callNode("vector.IndexImage", inputs);
17
+ }
18
+ function indexEmbedding(inputs) {
19
+ return callNode("vector.IndexEmbedding", inputs);
20
+ }
21
+ function indexTextChunk(inputs) {
22
+ return callNode("vector.IndexTextChunk", inputs);
23
+ }
24
+ function indexAggregatedText(inputs) {
25
+ return callNode("vector.IndexAggregatedText", inputs);
26
+ }
27
+ function indexString(inputs) {
28
+ return callNode("vector.IndexString", inputs);
29
+ }
30
+ function queryImage(inputs) {
31
+ return callNode("vector.QueryImage", inputs);
32
+ }
33
+ function queryText(inputs) {
34
+ return callNode("vector.QueryText", inputs);
35
+ }
36
+ function removeOverlap(inputs) {
37
+ return callNode("vector.RemoveOverlap", inputs);
38
+ }
39
+ function hybridSearch(inputs) {
40
+ return callNode("vector.HybridSearch", inputs);
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,11 @@
1
+ // Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
2
+ import { callNode, streamNode } from "../guest-core.js";
3
+ function liveTranscription(inputs) {
4
+ return callNode("whisper_cpp.LiveTranscription", inputs);
5
+ }
6
+ liveTranscription.stream = function(inputs) {
7
+ return streamNode("whisper_cpp.LiveTranscription", inputs);
8
+ };
9
+ export {
10
+ liveTranscription
11
+ };
@@ -0,0 +1,8 @@
1
+ // Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
2
+ import { callNode } from "../guest-core.js";
3
+ function generateImage(inputs) {
4
+ return callNode("xai.image.GenerateImage", inputs);
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 { callNode } from "../guest-core.js";
3
+ function chatComplete(inputs) {
4
+ return callNode("xai.text.ChatComplete", inputs);
5
+ }
6
+ function webSearch(inputs) {
7
+ return callNode("xai.text.WebSearch", inputs);
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 { callNode } from "../guest-core.js";
3
+ function imageToText(inputs) {
4
+ return callNode("xai.vision.ImageToText", inputs);
5
+ }
6
+ export {
7
+ imageToText
8
+ };
@@ -0,0 +1,35 @@
1
+ // Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit
2
+ import {
3
+ invoke_node,
4
+ open_node_stream,
5
+ take_node_stream,
6
+ close_node_stream
7
+ } from "@nodetool-ai/sandbox-nodetool/flow";
8
+ async function callNode(type, inputs) {
9
+ const outputs = await invoke_node({ type, inputs });
10
+ return outputs;
11
+ }
12
+ function streamNode(type, inputs) {
13
+ return {
14
+ async *[Symbol.asyncIterator]() {
15
+ const { stream_id } = await open_node_stream({ type, inputs });
16
+ let exhausted = false;
17
+ try {
18
+ while (true) {
19
+ const next = await take_node_stream({ stream_id });
20
+ if (next.done) {
21
+ exhausted = true;
22
+ return;
23
+ }
24
+ yield next.value;
25
+ }
26
+ } finally {
27
+ if (!exhausted) await close_node_stream({ stream_id });
28
+ }
29
+ }
30
+ };
31
+ }
32
+ export {
33
+ callNode,
34
+ streamNode
35
+ };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The pack's root module: the untyped call bridge.
3
+ *
4
+ * The typed surface is the per-namespace modules — `callNode(type, inputs)` is
5
+ * what they are built on, and takes a node type as a string, so it checks
6
+ * nothing until the host answers. Import it when the type is decided at run
7
+ * time; otherwise import the namespace and let the missing export be the error.
8
+ */
9
+
10
+ export { callNode, streamNode } from "./guest-core.js";
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Build the pack's guest modules from `packages/dsl/src/flow`.
3
+ *
4
+ * The flow surface is TypeScript whose only runtime import is
5
+ * `../guest-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 them
7
+ * sharing the one `guest-core.js` this build ships from
8
+ * `packages/dsl/src/flow/guest-core.ts`. Bundling instead would inline that
9
+ * core — and the capability import behind it — into all 69 entries.
10
+ *
11
+ * The manifest's `sandboxModules` list is written from the same pass, so the
12
+ * pack cannot declare a module it did not build.
13
+ *
14
+ * node packages/sandbox-packs/sandbox-flow/scripts/build.mjs
15
+ * node packages/sandbox-packs/sandbox-flow/scripts/build.mjs --check
16
+ *
17
+ * `--check` writes nothing and exits non-zero when the built output differs
18
+ * from what is committed. The pack carries its own copy of the flow surface, so
19
+ * it can rot against `packages/dsl` — and this copy is what agents author
20
+ * against.
21
+ */
22
+
23
+ import { createRequire } from "node:module";
24
+ import { readdirSync, readFileSync, rmSync, mkdirSync, writeFileSync } from "node:fs";
25
+ import { dirname, join } from "node:path";
26
+ import { fileURLToPath } from "node:url";
27
+
28
+ const require = createRequire(import.meta.url);
29
+ /** @type {import("esbuild")} */
30
+ const esbuild = require("esbuild");
31
+
32
+ const here = dirname(fileURLToPath(import.meta.url));
33
+ const packDir = join(here, "..");
34
+ const flowSource = join(packDir, "..", "..", "dsl", "src", "flow");
35
+ const generatedSource = join(flowSource, "generated");
36
+ const generatedOut = join(packDir, "sandbox", "generated");
37
+
38
+ const banner = "// Built from @nodetool-ai/dsl by scripts/build.mjs — do not edit\n";
39
+
40
+ const check = process.argv.includes("--check");
41
+
42
+ /** Built files, path → contents. Written at the end, or compared under --check. */
43
+ const outputs = new Map();
44
+ /** Paths that differ from what is on disk. */
45
+ const stale = [];
46
+
47
+ function emit(path, contents) {
48
+ outputs.set(path, contents);
49
+ if (!check) return;
50
+ let current = null;
51
+ try {
52
+ current = readFileSync(path, "utf8");
53
+ } catch {
54
+ // Missing counts as stale, reported by the null comparison below.
55
+ }
56
+ if (current !== contents) stale.push(path);
57
+ }
58
+
59
+ async function transform(file, sourcefile) {
60
+ const built = await esbuild.transform(readFileSync(file, "utf8"), {
61
+ loader: "ts",
62
+ format: "esm",
63
+ target: "es2022",
64
+ sourcefile
65
+ });
66
+ return `${banner}${built.code}`;
67
+ }
68
+
69
+ if (!check) {
70
+ rmSync(generatedOut, { recursive: true, force: true });
71
+ mkdirSync(generatedOut, { recursive: true });
72
+ }
73
+
74
+ const core = await transform(join(flowSource, "guest-core.ts"), "guest-core.ts");
75
+ emit(join(packDir, "sandbox", "guest-core.js"), core);
76
+
77
+ const sources = readdirSync(generatedSource)
78
+ .filter((file) => file.endsWith(".ts"))
79
+ .sort();
80
+
81
+ const modules = [];
82
+ let bytes = 0;
83
+ for (const file of sources) {
84
+ const stem = file.replace(/\.ts$/, "");
85
+ const code = await transform(join(generatedSource, file), file);
86
+ emit(join(generatedOut, `${stem}.js`), code);
87
+ bytes += Buffer.byteLength(code, "utf8");
88
+ modules.push({ name: stem, kind: "js", file: `sandbox/generated/${stem}.js` });
89
+ }
90
+
91
+ modules.sort((left, right) => (left.name < right.name ? -1 : 1));
92
+ // The root is hand-written: it re-exports the core's untyped `callNode` under
93
+ // the pack's own name, which no generated namespace can do.
94
+ modules.unshift({ name: ".", kind: "js", file: "sandbox/index.js" });
95
+
96
+ const manifestPath = join(packDir, "package.json");
97
+ const manifest = JSON.parse(readFileSync(manifestPath, "utf8"));
98
+ manifest.nodetool.sandboxModules = modules;
99
+ // The core is a sibling every namespace imports, not a module anyone declares.
100
+ manifest.nodetool.internal = ["sandbox/guest-core.js"];
101
+ emit(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`);
102
+
103
+ if (check) {
104
+ if (stale.length > 0) {
105
+ console.error(
106
+ `sandbox-flow is stale — ${stale.length === 1 ? "1 file differs" : `${stale.length} files differ`} from @nodetool-ai/dsl:`
107
+ );
108
+ for (const path of stale.slice(0, 10)) console.error(` ${path}`);
109
+ if (stale.length > 10) console.error(` … and ${stale.length - 10} more`);
110
+ console.error("Run `npm run build:sandbox-flow` and commit the result.");
111
+ process.exit(1);
112
+ }
113
+ console.log(`sandbox-flow is up to date (${modules.length} modules).`);
114
+ } else {
115
+ for (const [path, contents] of outputs) writeFileSync(path, contents);
116
+ }
117
+
118
+ console.log(
119
+ `${modules.length} modules, ${bytes} bytes of generated JavaScript, ${Buffer.byteLength(core, "utf8")} bytes of core`
120
+ );
@@ -0,0 +1,116 @@
1
+ ---
2
+ name: sandbox-game
3
+ description: Build a complete native game document with entities, scripts and level geometry, then save the draft in one edit
4
+ ---
5
+
6
+ # Games as code
7
+
8
+ Import `@nodetool-ai/sandbox-game` in a game chat, CodeAct action or JS script.
9
+ It creates plain game documents for `nodetool.games`. Build geometry in local
10
+ loops and save the entire draft with one `set_document` edit. The server
11
+ validates the schema and references before writing. It retains the game's
12
+ stored ID and revision. Publishing requires a separate request.
13
+
14
+ The helpers follow the shipped game document schema. Position, size and
15
+ gravity use world units. Simulation runs at 60 ticks per second. Assets must
16
+ already be installed or use the built-in asset bindings.
17
+
18
+ ## Build and save a level
19
+
20
+ ```js
21
+ import { game, entity, script, registerAssets, fill, plank, arc, saveGame }
22
+ from "@nodetool-ai/sandbox-game";
23
+
24
+ const document = game({ pixelsPerUnit: 48 });
25
+ registerAssets(document, {
26
+ stone: { assetId: "builtin:wall", digest: "builtin:wall-v1", width: 32, height: 32 },
27
+ gem: { assetId: "builtin:gem", digest: "builtin:gem-v1", width: 32, height: 32 }
28
+ });
29
+ const tiles = [];
30
+ fill(tiles, 0, -2, 80, 2);
31
+ plank(tiles, 4, 2, 8, { oneWay: true });
32
+ const level = document.scenes[0];
33
+ level.entities.push(entity("terrain", 0, 0, {
34
+ tilemap: { assetId: "stone", tiles, solid: true, layer: 0 }
35
+ }));
36
+ for (const [index, point] of arc(8, 3, 3, 2, 7).entries()) {
37
+ level.entities.push(entity(`gem-${index}`, point.x, point.y, {
38
+ sprite: { assetId: "gem", width: 0.5, height: 0.5 },
39
+ collider2d: { width: 0.5, height: 0.5, sensor: true },
40
+ behaviors: [{ kind: "collectible", score: 1 }]
41
+ }));
42
+ }
43
+ level.entities.push(entity("camera", 8, 2, { camera2d: { width: 16, height: 9 } }));
44
+ level.entities.push(entity("logic", 0, 0, {
45
+ behaviors: [script(({ tick }) => ({ state: {}, commands: tick === 600 ? [{ kind: "emit", event: "ready" }] : [] }))]
46
+ }));
47
+ const saved = await saveGame({ name: "Arc study", document }, {
48
+ games: nodetool.games, project_id: "<owned-project-id>"
49
+ });
50
+ await output("game_id", saved.game_id);
51
+ ```
52
+
53
+ Add a player and its controller before calling a level playable. Read
54
+ `nodetool.games.getExample("kindle")` for a complete platformer document and
55
+ load the `native-game` and `game-direction` skills for the runtime contract
56
+ and craft requirements.
57
+
58
+ ## Helpers
59
+
60
+ | Export | Contract |
61
+ |---|---|
62
+ | `game(options = {})` | Creates a schema version 2 document. Defaults to one empty `level` scene, 32 pixels per unit and left/right/up/down/space actions. Pass scenes, assets, collision layers and render effects directly. |
63
+ | `entity(id, x = 0, y = 0, options = {})` | Creates an entity with a complete transform and behavior list. Pass sprite, body, collider, animator, camera, light and prefab settings in options. |
64
+ | `script(source, options = {})` | Creates a script behavior from a source string or function. Defaults to 16 commands and 8 ms per tick. Functions cannot close over the builder's variables. |
65
+ | `registerAssets(document, bindings)` | Copies slot bindings into the document. Sets pivot and sampling defaults. Audio and font dimensions default to 1×1. Images require their actual dimensions. This does not install files. |
66
+ | `fill(tiles, x, y, cols, rows, options = {})` | Appends tile centres to an array. The first centre is `(x,y)`. Spacing is `width` and `height`, which default to `size` or 1. Options also carry frame, solid and oneWay fields. |
67
+ | `plank(tiles, x, y, cols, options = {})` | Appends one horizontal row using `fill`. |
68
+ | `arc(x, y, radiusX, radiusY, points, from = 0, to = Math.PI)` | Returns evenly spaced elliptical arc positions including both endpoints. Angles use radians. One point uses `from`. |
69
+ | `saveGame({name, document}, options)` | Pass `{games: nodetool.games, project_id}` to create a game and save its draft. Pass `{games, game_id, base_updated_at}` to replace an existing draft. Returns game_id, revision and draft_updated_at. Refused writes and conflicts throw. |
70
+ | `constructGame({inputs, seed}, build)` | Runs an explicit callback with `inputs` and `builder`, returning `{document, program}` plus retained parameters, prefabs and instance relationships. Preparation results must be literal JSON inputs. Use stable scene and entity IDs. |
71
+
72
+ For an existing draft, read its `draft_updated_at` and pass it as
73
+ `base_updated_at`. Save all scene references and bindings together. Invalid
74
+ asset references, duplicate entities or script budget violations reject the
75
+ whole edit. A failed replacement leaves the previous draft intact.
76
+
77
+ ## Retained construction
78
+
79
+ Use an explicit callback for construction that can run again without preparation.
80
+ The callback receives `inputs` and `builder` and returns a native document. It
81
+ cannot close over variables in the authoring session. Keep runtime script
82
+ behavior source separate from this construction body.
83
+
84
+ ```js
85
+ import { constructGame, saveGame } from "@nodetool-ai/sandbox-game";
86
+ const bundle = constructGame({ seed: 17, inputs: { speed: 4 } }, (inputs, builder) => {
87
+ const speed = builder.parameter("speed", {type: "number", default: 4, min: 1, max: 10});
88
+ const document = builder.game();
89
+ builder.prefab("marker", builder.entity("definition", 0, 0));
90
+ builder.instance(document.scenes[0], "north-marker", "marker", {
91
+ transform2d: {x: speed, y: 0, rotation: 0, scaleX: 1, scaleY: 1}
92
+ });
93
+ return document;
94
+ });
95
+ await saveGame({ name: "Retained study", ...bundle }, {
96
+ games: nodetool.games, project_id: "<owned-project-id>"
97
+ });
98
+ ```
99
+
100
+ `builder` includes the ordinary document helpers plus `parameter`, `prefab`,
101
+ `instance`, and seeded `random`. Parameter types are number, string and
102
+ boolean, enum, vector2 and vector3. Numeric parameters accept min and max.
103
+ Enum parameters declare `values`. Vector parameters use arrays of two or
104
+ three finite numbers. Prefabs are retained in the
105
+ construction source and emit native entities through stable instance keys.
106
+ Instance component overrides merge individual object fields with the prefab.
107
+ Arrays replace the complete inherited array. Preparation inputs are copied
108
+ before the callback runs, so mutating a template does not alter retained inputs.
109
+ Duplicate scene, entity and prefab keys reject the build.
110
+
111
+ Saving a bundle with `program` first previews a hermetic rebuild and checks
112
+ that it reproduces `document`. Applying the candidate checks the draft has
113
+ not changed since preview. Rebuilds cannot fetch, install assets, generate
114
+ resources, access secrets or read the workspace. Pass accepted asset
115
+ bindings through `inputs`. Use `builder.random()` for authoring randomness.
116
+ The construction seed is independent of the play session seed.
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@nodetool-ai/sandbox-game",
3
+ "version": "0.8.4",
4
+ "description": "Build a complete native game document with entities, scripts and level geometry, then save the draft in one edit",
5
+ "license": "MIT",
6
+ "nodetool": {
7
+ "apiVersion": 1,
8
+ "recommended": true,
9
+ "sandboxModules": [
10
+ {
11
+ "name": ".",
12
+ "kind": "js",
13
+ "file": "sandbox/index.js"
14
+ }
15
+ ]
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://github.com/nodetool-ai/nodetool.git",
20
+ "directory": "packages/sandbox-packs/sandbox-game"
21
+ },
22
+ "homepage": "https://nodetool.ai",
23
+ "publishConfig": {
24
+ "access": "public"
25
+ },
26
+ "files": [
27
+ "SKILL.md",
28
+ "sandbox"
29
+ ],
30
+ "keywords": [
31
+ "nodetool",
32
+ "nodetool-sandbox-pack",
33
+ "sandbox",
34
+ "game"
35
+ ]
36
+ }