@nodetool-ai/node-sdk 0.7.0-rc.23 → 0.8.2

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 (158) hide show
  1. package/README.md +34 -0
  2. package/dist/.nodetool-build-stamp +1 -0
  3. package/dist/base-node.d.ts +285 -14
  4. package/dist/base-node.d.ts.map +1 -1
  5. package/dist/base-node.js +359 -49
  6. package/dist/base-node.js.map +1 -1
  7. package/dist/class-name-to-title.d.ts +26 -0
  8. package/dist/class-name-to-title.d.ts.map +1 -0
  9. package/dist/class-name-to-title.js +59 -0
  10. package/dist/class-name-to-title.js.map +1 -0
  11. package/dist/code-analysis.d.ts +234 -0
  12. package/dist/code-analysis.d.ts.map +1 -0
  13. package/dist/code-analysis.js +919 -0
  14. package/dist/code-analysis.js.map +1 -0
  15. package/dist/code-body.d.ts +61 -0
  16. package/dist/code-body.d.ts.map +1 -0
  17. package/dist/code-body.js +288 -0
  18. package/dist/code-body.js.map +1 -0
  19. package/dist/code-node-validation.d.ts +67 -0
  20. package/dist/code-node-validation.d.ts.map +1 -0
  21. package/dist/code-node-validation.js +540 -0
  22. package/dist/code-node-validation.js.map +1 -0
  23. package/dist/content-card.d.ts +30 -0
  24. package/dist/content-card.d.ts.map +1 -0
  25. package/dist/content-card.js +68 -0
  26. package/dist/content-card.js.map +1 -0
  27. package/dist/correlation-validation.d.ts +19 -0
  28. package/dist/correlation-validation.d.ts.map +1 -0
  29. package/dist/correlation-validation.js +101 -0
  30. package/dist/correlation-validation.js.map +1 -0
  31. package/dist/cost-estimate.d.ts +244 -0
  32. package/dist/cost-estimate.d.ts.map +1 -0
  33. package/dist/cost-estimate.js +637 -0
  34. package/dist/cost-estimate.js.map +1 -0
  35. package/dist/decorators.d.ts.map +1 -1
  36. package/dist/decorators.js +4 -1
  37. package/dist/decorators.js.map +1 -1
  38. package/dist/docs/nodes.d.ts.map +1 -1
  39. package/dist/docs/nodes.js +3 -2
  40. package/dist/docs/nodes.js.map +1 -1
  41. package/dist/docs/overview.d.ts.map +1 -1
  42. package/dist/docs/overview.js +4 -3
  43. package/dist/docs/overview.js.map +1 -1
  44. package/dist/docs/workflows.d.ts.map +1 -1
  45. package/dist/docs/workflows.js +10 -9
  46. package/dist/docs/workflows.js.map +1 -1
  47. package/dist/field-classification.d.ts +31 -0
  48. package/dist/field-classification.d.ts.map +1 -0
  49. package/dist/field-classification.js +58 -0
  50. package/dist/field-classification.js.map +1 -0
  51. package/dist/graph-validation.d.ts +239 -0
  52. package/dist/graph-validation.d.ts.map +1 -0
  53. package/dist/graph-validation.js +1174 -0
  54. package/dist/graph-validation.js.map +1 -0
  55. package/dist/index.d.ts +27 -2
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +29 -1
  58. package/dist/index.js.map +1 -1
  59. package/dist/js-script-link.d.ts +53 -0
  60. package/dist/js-script-link.d.ts.map +1 -0
  61. package/dist/js-script-link.js +58 -0
  62. package/dist/js-script-link.js.map +1 -0
  63. package/dist/js-script-materialize.d.ts +52 -0
  64. package/dist/js-script-materialize.d.ts.map +1 -0
  65. package/dist/js-script-materialize.js +24 -0
  66. package/dist/js-script-materialize.js.map +1 -0
  67. package/dist/manifest-node-values.d.ts +106 -0
  68. package/dist/manifest-node-values.d.ts.map +1 -0
  69. package/dist/manifest-node-values.js +195 -0
  70. package/dist/manifest-node-values.js.map +1 -0
  71. package/dist/metadata.d.ts +75 -3
  72. package/dist/metadata.d.ts.map +1 -1
  73. package/dist/metadata.js +132 -49
  74. package/dist/metadata.js.map +1 -1
  75. package/dist/node-metadata.d.ts.map +1 -1
  76. package/dist/node-metadata.js +61 -56
  77. package/dist/node-metadata.js.map +1 -1
  78. package/dist/node-type-inventory.d.ts +51 -0
  79. package/dist/node-type-inventory.d.ts.map +1 -0
  80. package/dist/node-type-inventory.js +121 -0
  81. package/dist/node-type-inventory.js.map +1 -0
  82. package/dist/nodes/test-nodes.d.ts +77 -30
  83. package/dist/nodes/test-nodes.d.ts.map +1 -1
  84. package/dist/nodes/test-nodes.js +2 -34
  85. package/dist/nodes/test-nodes.js.map +1 -1
  86. package/dist/pack-loader.d.ts +202 -0
  87. package/dist/pack-loader.d.ts.map +1 -0
  88. package/dist/pack-loader.js +529 -0
  89. package/dist/pack-loader.js.map +1 -0
  90. package/dist/port-types.d.ts +15 -0
  91. package/dist/port-types.d.ts.map +1 -0
  92. package/dist/port-types.js +72 -0
  93. package/dist/port-types.js.map +1 -0
  94. package/dist/pricing-bundle.d.ts +83 -0
  95. package/dist/pricing-bundle.d.ts.map +1 -0
  96. package/dist/pricing-bundle.js +82 -0
  97. package/dist/pricing-bundle.js.map +1 -0
  98. package/dist/pricing-params.d.ts +59 -0
  99. package/dist/pricing-params.d.ts.map +1 -0
  100. package/dist/pricing-params.js +282 -0
  101. package/dist/pricing-params.js.map +1 -0
  102. package/dist/python-package-scan.d.ts +8 -0
  103. package/dist/python-package-scan.d.ts.map +1 -1
  104. package/dist/python-package-scan.js +21 -8
  105. package/dist/python-package-scan.js.map +1 -1
  106. package/dist/registry.d.ts +105 -2
  107. package/dist/registry.d.ts.map +1 -1
  108. package/dist/registry.js +403 -30
  109. package/dist/registry.js.map +1 -1
  110. package/dist/sandbox-bridge-packs.d.ts +39 -0
  111. package/dist/sandbox-bridge-packs.d.ts.map +1 -0
  112. package/dist/sandbox-bridge-packs.js +249 -0
  113. package/dist/sandbox-bridge-packs.js.map +1 -0
  114. package/dist/sandbox-catalog-host.d.ts +31 -0
  115. package/dist/sandbox-catalog-host.d.ts.map +1 -0
  116. package/dist/sandbox-catalog-host.js +78 -0
  117. package/dist/sandbox-catalog-host.js.map +1 -0
  118. package/dist/sandbox-module-catalog.d.ts +14 -0
  119. package/dist/sandbox-module-catalog.d.ts.map +1 -0
  120. package/dist/sandbox-module-catalog.js +402 -0
  121. package/dist/sandbox-module-catalog.js.map +1 -0
  122. package/dist/sandbox-npm-artifacts.d.ts +56 -0
  123. package/dist/sandbox-npm-artifacts.d.ts.map +1 -0
  124. package/dist/sandbox-npm-artifacts.js +17 -0
  125. package/dist/sandbox-npm-artifacts.js.map +1 -0
  126. package/dist/sandbox-pack-discovery.d.ts +93 -0
  127. package/dist/sandbox-pack-discovery.d.ts.map +1 -0
  128. package/dist/sandbox-pack-discovery.js +807 -0
  129. package/dist/sandbox-pack-discovery.js.map +1 -0
  130. package/dist/search.d.ts +29 -1
  131. package/dist/search.d.ts.map +1 -1
  132. package/dist/search.js +136 -9
  133. package/dist/search.js.map +1 -1
  134. package/dist/type-compat.d.ts +36 -0
  135. package/dist/type-compat.d.ts.map +1 -0
  136. package/dist/type-compat.js +98 -0
  137. package/dist/type-compat.js.map +1 -0
  138. package/dist/type-predicates.d.ts +25 -0
  139. package/dist/type-predicates.d.ts.map +1 -0
  140. package/dist/type-predicates.js +31 -0
  141. package/dist/type-predicates.js.map +1 -0
  142. package/dist/validation.d.ts +18 -0
  143. package/dist/validation.d.ts.map +1 -1
  144. package/dist/validation.js +70 -11
  145. package/dist/validation.js.map +1 -1
  146. package/dist/workflow-document-tools.d.ts +35 -0
  147. package/dist/workflow-document-tools.d.ts.map +1 -0
  148. package/dist/workflow-document-tools.js +402 -0
  149. package/dist/workflow-document-tools.js.map +1 -0
  150. package/dist/workflow-interface.d.ts +62 -0
  151. package/dist/workflow-interface.d.ts.map +1 -0
  152. package/dist/workflow-interface.js +351 -0
  153. package/dist/workflow-interface.js.map +1 -0
  154. package/package.json +67 -10
  155. package/dist/package-registry-client.d.ts +0 -12
  156. package/dist/package-registry-client.d.ts.map +0 -1
  157. package/dist/package-registry-client.js +0 -40
  158. package/dist/package-registry-client.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-analysis.js","sourceRoot":"","sources":["../src/code-analysis.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * How a Code-node body becomes a runnable function, shared by every host that
3
+ * executes one: the `nodetool.code.Code` node itself and the agent-facing
4
+ * `run_code` / `test_code` harness. One implementation, so a body that runs in
5
+ * the authoring harness runs the same way inside a workflow.
6
+ */
7
+ /**
8
+ * Check for a real `return` statement — not one inside a string or comment.
9
+ */
10
+ export declare function hasReturnStatement(code: string): boolean;
11
+ /**
12
+ * Check for a real `yield` statement — not one inside a string or comment.
13
+ *
14
+ * The keyword is delimited the way {@link usesEmitOutputContract} delimits its
15
+ * own: anything that is not a word character or a `.` may precede it, and a
16
+ * word character may not follow. Demanding whitespace on both sides instead
17
+ * missed `yield*`, `(yield x)` and `[yield x]`, which are all real yields.
18
+ * `{ yield: 1 }` is a property key, not the keyword.
19
+ */
20
+ export declare function hasYieldStatement(code: string): boolean;
21
+ /**
22
+ * Whether the body uses the `emit`/`output` contract rather than the legacy
23
+ * return/yield one.
24
+ *
25
+ * A body that calls either function names its outputs explicitly and its return
26
+ * value is ignored; a body that calls neither runs the legacy path. Every host
27
+ * routes on this one probe, so the two contracts never both apply to one body.
28
+ *
29
+ * The match is textual on purpose — it runs before the parser, on bodies that
30
+ * may not parse. `x.output(` and `myemit(` are not calls to the bridge, and a
31
+ * call inside a string or a comment is not a call at all.
32
+ */
33
+ export declare function usesEmitOutputContract(code: string): boolean;
34
+ /**
35
+ * Whether the body consumes its inputs as streams rather than as one buffered
36
+ * snapshot per upstream item.
37
+ *
38
+ * A body that calls `stream(name)` — or reaches any member of it, `stream.any`,
39
+ * `stream.first`, `stream.open` — runs once and drains its inbox itself, so the
40
+ * node hydrates `is_streaming_input: true`. A body that never mentions `stream`
41
+ * keeps today's per-item invocation.
42
+ *
43
+ * Textual for the same reason as {@link usesEmitOutputContract}: it answers
44
+ * before the parser, on bodies that may not parse. `x.stream(` is a method on
45
+ * something else, `mystream(` is another function, and a mention inside a
46
+ * string or a comment is not a call at all.
47
+ */
48
+ export declare function usesStreamInputContract(code: string): boolean;
49
+ /**
50
+ * Wrap the last expression with `return(...)` for implicit return support.
51
+ */
52
+ export declare function wrapImplicitReturn(code: string): string;
53
+ /**
54
+ * Normalize a body's return value into an output bag.
55
+ *
56
+ * A plain object is the outputs themselves — its keys become handles. Anything
57
+ * else (a string, an array, a class instance) becomes the single `output`
58
+ * handle. `null`/`undefined` mean "no outputs".
59
+ */
60
+ export declare function normalizeCodeOutput(value: unknown): Record<string, unknown>;
61
+ //# sourceMappingURL=code-body.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-body.d.ts","sourceRoot":"","sources":["../src/code-body.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsLH;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG5D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA4BvD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,2BAMjD"}
@@ -0,0 +1,288 @@
1
+ /**
2
+ * How a Code-node body becomes a runnable function, shared by every host that
3
+ * executes one: the `nodetool.code.Code` node itself and the agent-facing
4
+ * `run_code` / `test_code` harness. One implementation, so a body that runs in
5
+ * the authoring harness runs the same way inside a workflow.
6
+ */
7
+ /** Statement keywords that should never be wrapped with `return (...)`. */
8
+ import { isRecord } from "./type-predicates.js";
9
+ const STATEMENT_KEYWORDS = /^(if|else|for|while|do|switch|try|catch|finally|throw|const|let|var|class|function|with|debugger|break|continue|return)\b/;
10
+ /**
11
+ * Identifiers after which a `/` opens a regex literal rather than dividing —
12
+ * every other identifier is a value, and a value is divisible.
13
+ */
14
+ const REGEX_AFTER_KEYWORD = new Set([
15
+ "return",
16
+ "yield",
17
+ "typeof",
18
+ "instanceof",
19
+ "in",
20
+ "of",
21
+ "new",
22
+ "delete",
23
+ "void",
24
+ "case",
25
+ "do",
26
+ "else"
27
+ ]);
28
+ /**
29
+ * Blank out everything that is not code — comments, strings, template literal
30
+ * text, regex literals — so the keyword probes below only see code.
31
+ *
32
+ * One left-to-right scan, because whichever construct opens first wins: a `//`
33
+ * inside a string is not a comment, a quote inside a comment does not open a
34
+ * string, and a quote inside a regex character class opens neither. Passing
35
+ * over the whole body once per construct instead let a URL literal
36
+ * (`"http://a.com"`) swallow the rest of its line as a comment.
37
+ *
38
+ * A comment becomes a space rather than nothing, so a comment sitting between
39
+ * two identifiers does not fuse them into one token. A template literal keeps
40
+ * its `${…}` interpolations, which are code.
41
+ */
42
+ function stripStringsAndComments(code) {
43
+ const n = code.length;
44
+ let out = "";
45
+ let i = 0;
46
+ // Brace depth inside the innermost `${…}`, with the enclosing depths stacked
47
+ // — so a `}` is only an interpolation's end when nothing else is open.
48
+ const templates = [];
49
+ let braces = 0;
50
+ // Last significant character, and the last identifier, which together decide
51
+ // whether a `/` opens a regex literal.
52
+ let prev = "";
53
+ let prevWord = "";
54
+ const setPrev = (char, word = "") => {
55
+ prev = char;
56
+ prevWord = word;
57
+ };
58
+ /** Skip a template's literal run; stops after its closing tick or its `${`. */
59
+ const skipTemplateText = () => {
60
+ while (i < n) {
61
+ if (code[i] === "\\") {
62
+ i += 2;
63
+ continue;
64
+ }
65
+ if (code[i] === "`") {
66
+ i++;
67
+ braces = templates.pop() ?? 0;
68
+ out += "`";
69
+ setPrev("`");
70
+ return;
71
+ }
72
+ if (code.startsWith("${", i)) {
73
+ i += 2;
74
+ out += "${";
75
+ setPrev("{");
76
+ return;
77
+ }
78
+ i++;
79
+ }
80
+ };
81
+ const opensRegex = () => {
82
+ if (prev === "")
83
+ return true;
84
+ if (/[\w$]/.test(prev))
85
+ return REGEX_AFTER_KEYWORD.has(prevWord);
86
+ // `}` is ambiguous: a block's is followed by a regex, an object
87
+ // literal's by a division. Read it as a value so the text after it stays
88
+ // code — missing a real `yield` breaks a working body, while seeing one
89
+ // inside a regex only mis-routes a body that mentions the word.
90
+ return !")]}`".includes(prev);
91
+ };
92
+ while (i < n) {
93
+ const char = code[i];
94
+ if (code.startsWith("//", i)) {
95
+ while (i < n && code[i] !== "\n")
96
+ i++;
97
+ out += " ";
98
+ continue;
99
+ }
100
+ if (code.startsWith("/*", i)) {
101
+ i += 2;
102
+ while (i < n && !code.startsWith("*/", i))
103
+ i++;
104
+ i = Math.min(n, i + 2);
105
+ out += " ";
106
+ continue;
107
+ }
108
+ if (char === '"' || char === "'") {
109
+ i++;
110
+ // A quoted string cannot hold a raw newline, so an unterminated one ends
111
+ // at the line break rather than eating the rest of the body.
112
+ while (i < n && code[i] !== char && code[i] !== "\n") {
113
+ i += code[i] === "\\" ? 2 : 1;
114
+ }
115
+ if (code[i] === char)
116
+ i++;
117
+ out += char + char;
118
+ setPrev(char);
119
+ continue;
120
+ }
121
+ if (char === "`") {
122
+ i++;
123
+ templates.push(braces);
124
+ braces = 0;
125
+ out += "`";
126
+ skipTemplateText();
127
+ continue;
128
+ }
129
+ if (char === "}" && templates.length > 0 && braces === 0) {
130
+ i++;
131
+ out += "}";
132
+ setPrev("}");
133
+ skipTemplateText();
134
+ continue;
135
+ }
136
+ if (char === "/" && opensRegex()) {
137
+ const start = i;
138
+ i++;
139
+ let inClass = false;
140
+ let closed = false;
141
+ while (i < n && code[i] !== "\n") {
142
+ const inner = code[i];
143
+ if (inner === "\\") {
144
+ i += 2;
145
+ continue;
146
+ }
147
+ if (inner === "[")
148
+ inClass = true;
149
+ else if (inner === "]")
150
+ inClass = false;
151
+ else if (inner === "/" && !inClass) {
152
+ i++;
153
+ closed = true;
154
+ break;
155
+ }
156
+ i++;
157
+ }
158
+ if (closed) {
159
+ while (i < n && /[a-z]/.test(code[i]))
160
+ i++;
161
+ out += " ";
162
+ // A regex literal is a value, so the next `/` divides it.
163
+ setPrev(")");
164
+ continue;
165
+ }
166
+ // No closing slash on the line: it was a division after all.
167
+ i = start;
168
+ }
169
+ if (/[\w$]/.test(char)) {
170
+ let j = i;
171
+ while (j < n && /[\w$]/.test(code[j]))
172
+ j++;
173
+ const word = code.slice(i, j);
174
+ out += word;
175
+ setPrev(word.slice(-1), word);
176
+ i = j;
177
+ continue;
178
+ }
179
+ if (char === "{")
180
+ braces++;
181
+ if (char === "}")
182
+ braces = Math.max(0, braces - 1);
183
+ out += char;
184
+ if (!/\s/.test(char))
185
+ setPrev(char);
186
+ i++;
187
+ }
188
+ return out;
189
+ }
190
+ /**
191
+ * Check for a real `return` statement — not one inside a string or comment.
192
+ */
193
+ export function hasReturnStatement(code) {
194
+ const stripped = stripStringsAndComments(code);
195
+ return /(?:^|[;\n{}\s])return[\s;(]/.test(stripped);
196
+ }
197
+ /**
198
+ * Check for a real `yield` statement — not one inside a string or comment.
199
+ *
200
+ * The keyword is delimited the way {@link usesEmitOutputContract} delimits its
201
+ * own: anything that is not a word character or a `.` may precede it, and a
202
+ * word character may not follow. Demanding whitespace on both sides instead
203
+ * missed `yield*`, `(yield x)` and `[yield x]`, which are all real yields.
204
+ * `{ yield: 1 }` is a property key, not the keyword.
205
+ */
206
+ export function hasYieldStatement(code) {
207
+ const stripped = stripStringsAndComments(code);
208
+ return /(?:^|[^.\w$])yield(?![\w$])(?!\s*:)/.test(stripped);
209
+ }
210
+ /**
211
+ * Whether the body uses the `emit`/`output` contract rather than the legacy
212
+ * return/yield one.
213
+ *
214
+ * A body that calls either function names its outputs explicitly and its return
215
+ * value is ignored; a body that calls neither runs the legacy path. Every host
216
+ * routes on this one probe, so the two contracts never both apply to one body.
217
+ *
218
+ * The match is textual on purpose — it runs before the parser, on bodies that
219
+ * may not parse. `x.output(` and `myemit(` are not calls to the bridge, and a
220
+ * call inside a string or a comment is not a call at all.
221
+ */
222
+ export function usesEmitOutputContract(code) {
223
+ const stripped = stripStringsAndComments(code);
224
+ return /(?:^|[^.\w$])(?:emit|output)\s*\(/.test(stripped);
225
+ }
226
+ /**
227
+ * Whether the body consumes its inputs as streams rather than as one buffered
228
+ * snapshot per upstream item.
229
+ *
230
+ * A body that calls `stream(name)` — or reaches any member of it, `stream.any`,
231
+ * `stream.first`, `stream.open` — runs once and drains its inbox itself, so the
232
+ * node hydrates `is_streaming_input: true`. A body that never mentions `stream`
233
+ * keeps today's per-item invocation.
234
+ *
235
+ * Textual for the same reason as {@link usesEmitOutputContract}: it answers
236
+ * before the parser, on bodies that may not parse. `x.stream(` is a method on
237
+ * something else, `mystream(` is another function, and a mention inside a
238
+ * string or a comment is not a call at all.
239
+ */
240
+ export function usesStreamInputContract(code) {
241
+ const stripped = stripStringsAndComments(code);
242
+ return /(?:^|[^.\w$])stream\s*[(.]/.test(stripped);
243
+ }
244
+ /**
245
+ * Wrap the last expression with `return(...)` for implicit return support.
246
+ */
247
+ export function wrapImplicitReturn(code) {
248
+ const trimmed = code.trim();
249
+ if (!trimmed)
250
+ return "return {};";
251
+ const lines = trimmed.split("\n");
252
+ const lastIdx = lines.length - 1;
253
+ const last = lines[lastIdx].trim();
254
+ if (STATEMENT_KEYWORDS.test(last))
255
+ return code;
256
+ if (!last || last.startsWith("//") || last.startsWith("/*"))
257
+ return code;
258
+ if (last.startsWith("{") ||
259
+ last.startsWith("(") ||
260
+ last.startsWith("[") ||
261
+ last.startsWith('"') ||
262
+ last.startsWith("'") ||
263
+ last.startsWith("`") ||
264
+ last.startsWith(".") ||
265
+ /^[0-9]/.test(last) ||
266
+ /^(true|false|null|undefined|NaN|Infinity)\b/.test(last) ||
267
+ /^[a-zA-Z_$][a-zA-Z0-9_$.]*(\s*[({[])?/.test(last)) {
268
+ lines[lastIdx] = `return (${lines[lastIdx]})`;
269
+ return lines.join("\n");
270
+ }
271
+ return code;
272
+ }
273
+ /**
274
+ * Normalize a body's return value into an output bag.
275
+ *
276
+ * A plain object is the outputs themselves — its keys become handles. Anything
277
+ * else (a string, an array, a class instance) becomes the single `output`
278
+ * handle. `null`/`undefined` mean "no outputs".
279
+ */
280
+ export function normalizeCodeOutput(value) {
281
+ if (value === null || value === undefined)
282
+ return {};
283
+ if (isRecord(value) && value.constructor?.name === "Object") {
284
+ return value;
285
+ }
286
+ return { output: value };
287
+ }
288
+ //# sourceMappingURL=code-body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-body.js","sourceRoot":"","sources":["../src/code-body.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import type { SandboxModuleCatalog } from "@nodetool-ai/runtime";
2
+ /** Node types whose `code` property is a JavaScript sandbox body. */
3
+ export declare const JS_CODE_NODE_TYPES: ReadonlySet<string>;
4
+ export declare function isJsCodeNodeType(nodeType: string): boolean;
5
+ /**
6
+ * Names the QuickJS sandbox and the Code node itself put in scope.
7
+ *
8
+ * Mirrors the sandbox manifest in `@nodetool-ai/agents`
9
+ * (`src/code-gen/sandbox-manifest.ts`), which this package cannot import — the
10
+ * dependency runs the other way, and the manifest pulls in the QuickJS WASM
11
+ * runtime. A name missing here turns a legitimate bridge call into a bogus
12
+ * "not defined" error; a name that is not really in the sandbox hides a real
13
+ * one. The pinning test lives in
14
+ * `packages/agents/tests/sandbox-manifest-drift.test.ts`.
15
+ */
16
+ export declare const SANDBOX_GLOBALS: ReadonlySet<string>;
17
+ export interface CodeNodeIssue {
18
+ severity: "error" | "warning";
19
+ /**
20
+ * Stable category: "code_syntax" | "code_module" | "code_no_return" |
21
+ * "code_return_shape" | "code_missing_output" | "code_undeclared_output" |
22
+ * "code_output_dynamic_name" | "code_return_ignored" |
23
+ * "code_undefined_name" | "code_undefined_input" | "code_unused_input" |
24
+ * "code_package_unavailable" | "code_package_mismatch" |
25
+ * "code_undefined_stream" |
26
+ * "code_stream_dynamic_name" | "code_unconnected_stream" |
27
+ * "code_stream_input_read" | "code_stream_return_contract".
28
+ */
29
+ code: string;
30
+ message: string;
31
+ }
32
+ export interface CodeNodeValidationInput {
33
+ /** The node's `code` property. */
34
+ code: unknown;
35
+ /**
36
+ * Names in scope for the body: declared dynamic slots, inline dynamic
37
+ * property values, and handles fed by an incoming edge.
38
+ */
39
+ availableInputs: readonly string[];
40
+ /**
41
+ * Input handles an incoming edge feeds. A subset of `availableInputs`, and
42
+ * the only handles a streaming body can take from — a declared handle with
43
+ * no edge yields nothing, and a connected handle is unreadable through
44
+ * `inputs.<name>`.
45
+ */
46
+ connectedInputs?: readonly string[];
47
+ /** Output handles the node declares (`dynamic_outputs` keys). */
48
+ declaredOutputs: readonly string[];
49
+ /** Output handles other nodes are wired to. A superset check on `keys`. */
50
+ connectedOutputs?: readonly string[];
51
+ /**
52
+ * The installed catalog, when the caller has one. Given it, the specifiers
53
+ * the body imports are resolved offline: one no installed pack offers is an
54
+ * error, and a pack whose version or content digest moved since the catalog
55
+ * was built is a warning.
56
+ */
57
+ sandboxModuleCatalog?: SandboxModuleCatalog | null;
58
+ }
59
+ /**
60
+ * Check one Code node's body against the handles the graph gives it.
61
+ *
62
+ * A syntax error stops the analysis — every later check reads the AST, and
63
+ * reporting invented output problems on top of "line 3 is not valid JavaScript"
64
+ * only buries the one issue that matters.
65
+ */
66
+ export declare function validateCodeNodeBody(input: CodeNodeValidationInput): CodeNodeIssue[];
67
+ //# sourceMappingURL=code-node-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-node-validation.d.ts","sourceRoot":"","sources":["../src/code-node-validation.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAwBjE,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAEjD,CAAC;AAEH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAuC9C,CAAC;AAkBH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;;;;;;;;OASG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,kCAAkC;IAClC,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,iEAAiE;IACjE,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACpD;AAiCD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,uBAAuB,GAC7B,aAAa,EAAE,CAsXjB"}