@nodetool-ai/node-sdk 0.8.7 → 0.8.8

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 (48) hide show
  1. package/dist/.nodetool-build-stamp +1 -1
  2. package/dist/_sandbox/sandbox-aws/package.json +1 -1
  3. package/dist/_sandbox/sandbox-chrono/package.json +1 -1
  4. package/dist/_sandbox/sandbox-color/package.json +1 -1
  5. package/dist/_sandbox/sandbox-csv/package.json +1 -1
  6. package/dist/_sandbox/sandbox-dates/package.json +1 -1
  7. package/dist/_sandbox/sandbox-decimal/package.json +1 -1
  8. package/dist/_sandbox/sandbox-diff/package.json +1 -1
  9. package/dist/_sandbox/sandbox-docx/package.json +1 -1
  10. package/dist/_sandbox/sandbox-dsl/package.json +1 -1
  11. package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.video.js +12 -0
  12. package/dist/_sandbox/sandbox-epub/package.json +1 -1
  13. package/dist/_sandbox/sandbox-exif/package.json +1 -1
  14. package/dist/_sandbox/sandbox-expr/package.json +1 -1
  15. package/dist/_sandbox/sandbox-fabric/package.json +1 -1
  16. package/dist/_sandbox/sandbox-flow/package.json +1 -1
  17. package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.video.js +12 -0
  18. package/dist/_sandbox/sandbox-game/package.json +1 -1
  19. package/dist/_sandbox/sandbox-gif/package.json +1 -1
  20. package/dist/_sandbox/sandbox-html/package.json +1 -1
  21. package/dist/_sandbox/sandbox-ics/package.json +1 -1
  22. package/dist/_sandbox/sandbox-jmespath/package.json +1 -1
  23. package/dist/_sandbox/sandbox-mammoth/package.json +1 -1
  24. package/dist/_sandbox/sandbox-markdown/package.json +1 -1
  25. package/dist/_sandbox/sandbox-notion/package.json +1 -1
  26. package/dist/_sandbox/sandbox-ocr/package.json +1 -1
  27. package/dist/_sandbox/sandbox-pdf/package.json +1 -1
  28. package/dist/_sandbox/sandbox-pdflib/package.json +1 -1
  29. package/dist/_sandbox/sandbox-pptx/package.json +1 -1
  30. package/dist/_sandbox/sandbox-pptxgen/package.json +1 -1
  31. package/dist/_sandbox/sandbox-qr/package.json +1 -1
  32. package/dist/_sandbox/sandbox-rrule/package.json +1 -1
  33. package/dist/_sandbox/sandbox-stats/package.json +1 -1
  34. package/dist/_sandbox/sandbox-subtitle/package.json +1 -1
  35. package/dist/_sandbox/sandbox-supabase/package.json +1 -1
  36. package/dist/_sandbox/sandbox-tfjs/package.json +1 -1
  37. package/dist/_sandbox/sandbox-timeline/package.json +1 -1
  38. package/dist/_sandbox/sandbox-tokens/package.json +1 -1
  39. package/dist/_sandbox/sandbox-twilio/package.json +1 -1
  40. package/dist/_sandbox/sandbox-xlsx/package.json +1 -1
  41. package/dist/_sandbox/sandbox-xml/package.json +1 -1
  42. package/dist/_sandbox/sandbox-yaml/package.json +1 -1
  43. package/dist/_sandbox/sandbox-zip/package.json +1 -1
  44. package/dist/field-classification.d.ts +3 -0
  45. package/dist/field-classification.d.ts.map +1 -1
  46. package/dist/field-classification.js +10 -1
  47. package/dist/field-classification.js.map +1 -1
  48. package/package.json +6 -7
@@ -1 +1 @@
1
- 2026-10-23T10:51:16.097Z
1
+ 2026-10-25T16:17:27.338Z
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-aws",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Sign AWS requests with Signature V4 inside the NodeTool sandbox, from NodeTool's signer running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-chrono",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Parse natural-language dates inside the NodeTool sandbox, from chrono-node",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-color",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Color conversion, mixing, and difference (deltaE) inside the NodeTool sandbox, from culori",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-csv",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Parse and write CSV inside the NodeTool sandbox, from papaparse running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-dates",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Date arithmetic, parsing and formatting inside the NodeTool sandbox, from date-fns",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-decimal",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Arbitrary-precision decimal arithmetic inside the NodeTool sandbox, from decimal.js",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-diff",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Unified text diffs inside the NodeTool sandbox, from the diff library running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-docx",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Build Word documents inside the NodeTool sandbox, from docx running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-dsl",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Build a NodeTool workflow graph inside the sandbox with the generated, typed node DSL",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -99,6 +99,15 @@ function videoToVideo(inputs, options) {
99
99
  function lipSync(inputs, options) {
100
100
  return createNode("nodetool.video.LipSync", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video" }, defaultOutput: "output" });
101
101
  }
102
+ function keyframe(inputs, options) {
103
+ return createNode("nodetool.video.Keyframe", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "keyframe" }, defaultOutput: "output" });
104
+ }
105
+ function element(inputs, options) {
106
+ return createNode("nodetool.video.Element", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "video_element" }, defaultOutput: "output" });
107
+ }
108
+ function shot(inputs, options) {
109
+ return createNode("nodetool.video.Shot", inputs, { id: options?.id, outputNames: ["output"], outputTypes: { "output": "list[shot]" }, defaultOutput: "output" });
110
+ }
102
111
  export {
103
112
  addAudio,
104
113
  addSubtitles,
@@ -108,6 +117,7 @@ export {
108
117
  concat,
109
118
  denoise,
110
119
  easeCurve,
120
+ element,
111
121
  extractAudio,
112
122
  extractFrame,
113
123
  forEachFrame,
@@ -115,6 +125,7 @@ export {
115
125
  frameToVideo,
116
126
  getVideoInfo,
117
127
  imageToVideo,
128
+ keyframe,
118
129
  lipSync,
119
130
  loadVideoAssets,
120
131
  loadVideoFile,
@@ -128,6 +139,7 @@ export {
128
139
  saveVideoFile,
129
140
  setSpeed,
130
141
  sharpness,
142
+ shot,
131
143
  stabilize,
132
144
  textToVideo,
133
145
  transition,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-epub",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Read EPUB e-books inside the NodeTool sandbox, from epub2 running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-exif",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Read EXIF and other photo metadata inside the NodeTool sandbox, from exifr",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-expr",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Evaluate a math expression without eval, inside the NodeTool sandbox, from expr-eval",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-fabric",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Build, parse, and rasterize SVG with Fabric.js (renderSVG, loadSVG, render)",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-flow",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Call NodeTool nodes as typed async functions inside the sandbox, one importable module per node namespace",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -108,6 +108,15 @@ function videoToVideo(inputs) {
108
108
  function lipSync(inputs) {
109
109
  return callNode("nodetool.video.LipSync", inputs);
110
110
  }
111
+ function keyframe(inputs) {
112
+ return callNode("nodetool.video.Keyframe", inputs);
113
+ }
114
+ function element(inputs) {
115
+ return callNode("nodetool.video.Element", inputs);
116
+ }
117
+ function shot(inputs) {
118
+ return callNode("nodetool.video.Shot", inputs);
119
+ }
111
120
  export {
112
121
  addAudio,
113
122
  addSubtitles,
@@ -117,6 +126,7 @@ export {
117
126
  concat,
118
127
  denoise,
119
128
  easeCurve,
129
+ element,
120
130
  extractAudio,
121
131
  extractFrame,
122
132
  forEachFrame,
@@ -124,6 +134,7 @@ export {
124
134
  frameToVideo,
125
135
  getVideoInfo,
126
136
  imageToVideo,
137
+ keyframe,
127
138
  lipSync,
128
139
  loadVideoAssets,
129
140
  loadVideoFile,
@@ -137,6 +148,7 @@ export {
137
148
  saveVideoFile,
138
149
  setSpeed,
139
150
  sharpness,
151
+ shot,
140
152
  stabilize,
141
153
  textToVideo,
142
154
  transition,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-game",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Build a complete native game document with entities, scripts and level geometry, then save the draft in one edit",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-gif",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Encode an animated GIF from RGBA frames inside the NodeTool sandbox, from gifenc",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-html",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "CSS selection, HTML-to-markdown/text, and link/media/metadata extraction inside the NodeTool sandbox, from cheerio and turndown running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-ics",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Build iCalendar (.ics) files inside the NodeTool sandbox",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-jmespath",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Query JSON with JMESPath inside the NodeTool sandbox",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-mammoth",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Read Word documents inside the NodeTool sandbox, from mammoth running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-markdown",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Markdown parsing inside the NodeTool sandbox, from marked's lexer running in the guest",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-notion",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Build Notion API requests and read Notion rich text and blocks inside the NodeTool sandbox, from NodeTool's helper running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-ocr",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Read text out of images inside the NodeTool sandbox, from tesseract.js running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-pdf",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Extract text from PDF files inside the NodeTool sandbox, from pdf-parse running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-pdflib",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Build and merge PDF files inside the NodeTool sandbox, with pdf-lib running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-pptx",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Extract text from PowerPoint files inside the NodeTool sandbox, from office-text-extractor running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-pptxgen",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Build PowerPoint files inside the NodeTool sandbox, with PptxGenJS running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-qr",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Encode QR codes as a matrix or SVG inside the NodeTool sandbox, from uqr",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-rrule",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Recurrence rules (iCalendar RRULE) inside the NodeTool sandbox",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-stats",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Descriptive statistics and simple regression inside the NodeTool sandbox, from simple-statistics",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-subtitle",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Parse and write SRT and WebVTT captions inside the NodeTool sandbox",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-supabase",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Build Supabase REST and RPC requests inside the NodeTool sandbox, from NodeTool's PostgREST helper running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-tfjs",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Classify images, detect objects and answer questions inside the NodeTool sandbox, from TensorFlow.js running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-timeline",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Author a motion-graphics timeline as code: scenes of shapes, text and images, keyframed in frames, saved in one call",
5
5
  "license": "MIT",
6
6
  "types": "sandbox/index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-tokens",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "LLM token counting inside the NodeTool sandbox, from js-tiktoken running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-twilio",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Build authenticated Twilio API requests inside the NodeTool sandbox, from NodeTool's helper running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-xlsx",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Read Excel workbooks inside the NodeTool sandbox, from exceljs running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-xml",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Parse XML feeds and sitemaps inside the NodeTool sandbox, from fast-xml-parser running on the host",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-yaml",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "YAML parsing and dumping inside the NodeTool sandbox, from js-yaml",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/sandbox-zip",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Read and write zip archives inside the NodeTool sandbox, from fflate running on the host with a 50 MB inflation cap",
5
5
  "license": "MIT",
6
6
  "nodetool": {
@@ -8,6 +8,9 @@
8
8
  * - Asset-ref types (image, video, audio, image_mask, model_3d, document,
9
9
  * dataframe, tensor, and their list[] variants) -> `inputFields`
10
10
  * (rendered as a handle-only port; wired from upstream).
11
+ * - Structured model inputs (`list[keyframe]`, `list[video_element]`,
12
+ * `list[shot]`) -> `inputFields`: the Keyframe, Element and Shot nodes
13
+ * wire into them, and they have no inline editor.
11
14
  * - Short-text properties (`str`, `text`) whose name matches a small set
12
15
  * of "user types this directly" keys (prompt, query, code, url, ...)
13
16
  * -> `inputFields` as well, so the prompt/text fields are exposed as
@@ -1 +1 @@
1
- {"version":3,"file":"field-classification.d.ts","sourceRoot":"","sources":["../src/field-classification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAmCH,MAAM,WAAW,kBAAkB;IACjC,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,CAAC,kBAAkB,CAAC,GACxC,mBAAmB,CAgBrB"}
1
+ {"version":3,"file":"field-classification.d.ts","sourceRoot":"","sources":["../src/field-classification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAyCH,MAAM,WAAW,kBAAkB;IACjC,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,CAAC,kBAAkB,CAAC,GACxC,mBAAmB,CAmBrB"}
@@ -8,6 +8,9 @@
8
8
  * - Asset-ref types (image, video, audio, image_mask, model_3d, document,
9
9
  * dataframe, tensor, and their list[] variants) -> `inputFields`
10
10
  * (rendered as a handle-only port; wired from upstream).
11
+ * - Structured model inputs (`list[keyframe]`, `list[video_element]`,
12
+ * `list[shot]`) -> `inputFields`: the Keyframe, Element and Shot nodes
13
+ * wire into them, and they have no inline editor.
11
14
  * - Short-text properties (`str`, `text`) whose name matches a small set
12
15
  * of "user types this directly" keys (prompt, query, code, url, ...)
13
16
  * -> `inputFields` as well, so the prompt/text fields are exposed as
@@ -30,6 +33,11 @@ const ASSET_PROP_TYPES = new Set([
30
33
  "list[video]",
31
34
  "list[audio]"
32
35
  ]);
36
+ const STRUCTURED_INPUT_PROP_TYPES = new Set([
37
+ "list[keyframe]",
38
+ "list[video_element]",
39
+ "list[shot]"
40
+ ]);
33
41
  const TEXT_PROP_TYPES = new Set(["str", "text"]);
34
42
  const INLINE_TEXT_FIELD_NAMES = new Set([
35
43
  "prompt",
@@ -51,7 +59,8 @@ export function classifyFields(fields) {
51
59
  const inlineFields = [];
52
60
  const inputFields = [];
53
61
  for (const field of fields) {
54
- if (ASSET_PROP_TYPES.has(field.propType)) {
62
+ if (ASSET_PROP_TYPES.has(field.propType) ||
63
+ STRUCTURED_INPUT_PROP_TYPES.has(field.propType)) {
55
64
  inputFields.push(field.name);
56
65
  }
57
66
  else if (TEXT_PROP_TYPES.has(field.propType) &&
@@ -1 +1 @@
1
- {"version":3,"file":"field-classification.js","sourceRoot":"","sources":["../src/field-classification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IACpD,OAAO;IACP,OAAO;IACP,OAAO;IACP,YAAY;IACZ,UAAU;IACV,UAAU;IACV,WAAW;IACX,QAAQ;IACR,aAAa;IACb,aAAa;IACb,aAAa;CACd,CAAC,CAAC;AAEH,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtE,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAAC;IAC3D,QAAQ;IACR,eAAe;IACf,OAAO;IACP,MAAM;IACN,UAAU;IACV,MAAM;IACN,YAAY;IACZ,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,aAAa;IACb,YAAY;IACZ,MAAM;CACP,CAAC,CAAC;AAcH,MAAM,UAAU,cAAc,CAC5B,MAAyC;IAEzC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;aAAM,IACL,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;YACnC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EACvC,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"field-classification.js","sourceRoot":"","sources":["../src/field-classification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IACpD,OAAO;IACP,OAAO;IACP,OAAO;IACP,YAAY;IACZ,UAAU;IACV,UAAU;IACV,WAAW;IACX,QAAQ;IACR,aAAa;IACb,aAAa;IACb,aAAa;CACd,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAwB,IAAI,GAAG,CAAC;IAC/D,gBAAgB;IAChB,qBAAqB;IACrB,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtE,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAAC;IAC3D,QAAQ;IACR,eAAe;IACf,OAAO;IACP,MAAM;IACN,UAAU;IACV,MAAM;IACN,YAAY;IACZ,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,aAAa;IACb,YAAY;IACZ,MAAM;CACP,CAAC,CAAC;AAcH,MAAM,UAAU,cAAc,CAC5B,MAAyC;IAEzC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IACE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;YACpC,2BAA2B,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAC/C,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;aAAM,IACL,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;YACnC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EACvC,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACvC,CAAC"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "engines": {
5
5
  "node": ">=22.0.0"
6
6
  },
7
- "version": "0.8.7",
7
+ "version": "0.8.8",
8
8
  "description": "Node SDK: BaseNode, NodeRegistry, and example nodes",
9
9
  "main": "dist/index.js",
10
10
  "types": "dist/index.d.ts",
@@ -20,12 +20,11 @@
20
20
  "lint": "node ../../scripts/run-tsc.mjs --noEmit"
21
21
  },
22
22
  "dependencies": {
23
- "@nodetool-ai/config": "0.8.7",
24
- "@nodetool-ai/kernel": "0.8.7",
25
- "@nodetool-ai/protocol": "0.8.7",
26
- "@nodetool-ai/runtime": "0.8.7",
27
- "acorn": "^8.16.0",
28
- "zod": "^4.0.0"
23
+ "@nodetool-ai/config": "0.8.8",
24
+ "@nodetool-ai/kernel": "0.8.8",
25
+ "@nodetool-ai/protocol": "0.8.8",
26
+ "@nodetool-ai/runtime": "0.8.8",
27
+ "acorn": "^8.16.0"
29
28
  },
30
29
  "devDependencies": {
31
30
  "@stryker-mutator/core": "^9.6.1",