@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.
- package/dist/.nodetool-build-stamp +1 -1
- package/dist/_sandbox/sandbox-aws/package.json +1 -1
- package/dist/_sandbox/sandbox-chrono/package.json +1 -1
- package/dist/_sandbox/sandbox-color/package.json +1 -1
- package/dist/_sandbox/sandbox-csv/package.json +1 -1
- package/dist/_sandbox/sandbox-dates/package.json +1 -1
- package/dist/_sandbox/sandbox-decimal/package.json +1 -1
- package/dist/_sandbox/sandbox-diff/package.json +1 -1
- package/dist/_sandbox/sandbox-docx/package.json +1 -1
- package/dist/_sandbox/sandbox-dsl/package.json +1 -1
- package/dist/_sandbox/sandbox-dsl/sandbox/generated/nodetool.video.js +12 -0
- package/dist/_sandbox/sandbox-epub/package.json +1 -1
- package/dist/_sandbox/sandbox-exif/package.json +1 -1
- package/dist/_sandbox/sandbox-expr/package.json +1 -1
- package/dist/_sandbox/sandbox-fabric/package.json +1 -1
- package/dist/_sandbox/sandbox-flow/package.json +1 -1
- package/dist/_sandbox/sandbox-flow/sandbox/generated/nodetool.video.js +12 -0
- package/dist/_sandbox/sandbox-game/package.json +1 -1
- package/dist/_sandbox/sandbox-gif/package.json +1 -1
- package/dist/_sandbox/sandbox-html/package.json +1 -1
- package/dist/_sandbox/sandbox-ics/package.json +1 -1
- package/dist/_sandbox/sandbox-jmespath/package.json +1 -1
- package/dist/_sandbox/sandbox-mammoth/package.json +1 -1
- package/dist/_sandbox/sandbox-markdown/package.json +1 -1
- package/dist/_sandbox/sandbox-notion/package.json +1 -1
- package/dist/_sandbox/sandbox-ocr/package.json +1 -1
- package/dist/_sandbox/sandbox-pdf/package.json +1 -1
- package/dist/_sandbox/sandbox-pdflib/package.json +1 -1
- package/dist/_sandbox/sandbox-pptx/package.json +1 -1
- package/dist/_sandbox/sandbox-pptxgen/package.json +1 -1
- package/dist/_sandbox/sandbox-qr/package.json +1 -1
- package/dist/_sandbox/sandbox-rrule/package.json +1 -1
- package/dist/_sandbox/sandbox-stats/package.json +1 -1
- package/dist/_sandbox/sandbox-subtitle/package.json +1 -1
- package/dist/_sandbox/sandbox-supabase/package.json +1 -1
- package/dist/_sandbox/sandbox-tfjs/package.json +1 -1
- package/dist/_sandbox/sandbox-timeline/package.json +1 -1
- package/dist/_sandbox/sandbox-tokens/package.json +1 -1
- package/dist/_sandbox/sandbox-twilio/package.json +1 -1
- package/dist/_sandbox/sandbox-xlsx/package.json +1 -1
- package/dist/_sandbox/sandbox-xml/package.json +1 -1
- package/dist/_sandbox/sandbox-yaml/package.json +1 -1
- package/dist/_sandbox/sandbox-zip/package.json +1 -1
- package/dist/field-classification.d.ts +3 -0
- package/dist/field-classification.d.ts.map +1 -1
- package/dist/field-classification.js +10 -1
- package/dist/field-classification.js.map +1 -1
- package/package.json +6 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
2026-10-
|
|
1
|
+
2026-10-25T16:17:27.338Z
|
|
@@ -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,
|
|
@@ -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-html",
|
|
3
|
-
"version": "0.8.
|
|
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-notion",
|
|
3
|
-
"version": "0.8.
|
|
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-timeline",
|
|
3
|
-
"version": "0.8.
|
|
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",
|
|
@@ -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
|
|
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
|
|
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
|
+
"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.
|
|
24
|
-
"@nodetool-ai/kernel": "0.8.
|
|
25
|
-
"@nodetool-ai/protocol": "0.8.
|
|
26
|
-
"@nodetool-ai/runtime": "0.8.
|
|
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",
|