@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.
- package/README.md +34 -0
- package/dist/.nodetool-build-stamp +1 -0
- package/dist/base-node.d.ts +285 -14
- package/dist/base-node.d.ts.map +1 -1
- package/dist/base-node.js +359 -49
- package/dist/base-node.js.map +1 -1
- package/dist/class-name-to-title.d.ts +26 -0
- package/dist/class-name-to-title.d.ts.map +1 -0
- package/dist/class-name-to-title.js +59 -0
- package/dist/class-name-to-title.js.map +1 -0
- package/dist/code-analysis.d.ts +234 -0
- package/dist/code-analysis.d.ts.map +1 -0
- package/dist/code-analysis.js +919 -0
- package/dist/code-analysis.js.map +1 -0
- package/dist/code-body.d.ts +61 -0
- package/dist/code-body.d.ts.map +1 -0
- package/dist/code-body.js +288 -0
- package/dist/code-body.js.map +1 -0
- package/dist/code-node-validation.d.ts +67 -0
- package/dist/code-node-validation.d.ts.map +1 -0
- package/dist/code-node-validation.js +540 -0
- package/dist/code-node-validation.js.map +1 -0
- package/dist/content-card.d.ts +30 -0
- package/dist/content-card.d.ts.map +1 -0
- package/dist/content-card.js +68 -0
- package/dist/content-card.js.map +1 -0
- package/dist/correlation-validation.d.ts +19 -0
- package/dist/correlation-validation.d.ts.map +1 -0
- package/dist/correlation-validation.js +101 -0
- package/dist/correlation-validation.js.map +1 -0
- package/dist/cost-estimate.d.ts +244 -0
- package/dist/cost-estimate.d.ts.map +1 -0
- package/dist/cost-estimate.js +637 -0
- package/dist/cost-estimate.js.map +1 -0
- package/dist/decorators.d.ts.map +1 -1
- package/dist/decorators.js +4 -1
- package/dist/decorators.js.map +1 -1
- package/dist/docs/nodes.d.ts.map +1 -1
- package/dist/docs/nodes.js +3 -2
- package/dist/docs/nodes.js.map +1 -1
- package/dist/docs/overview.d.ts.map +1 -1
- package/dist/docs/overview.js +4 -3
- package/dist/docs/overview.js.map +1 -1
- package/dist/docs/workflows.d.ts.map +1 -1
- package/dist/docs/workflows.js +10 -9
- package/dist/docs/workflows.js.map +1 -1
- package/dist/field-classification.d.ts +31 -0
- package/dist/field-classification.d.ts.map +1 -0
- package/dist/field-classification.js +58 -0
- package/dist/field-classification.js.map +1 -0
- package/dist/graph-validation.d.ts +239 -0
- package/dist/graph-validation.d.ts.map +1 -0
- package/dist/graph-validation.js +1174 -0
- package/dist/graph-validation.js.map +1 -0
- package/dist/index.d.ts +27 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -1
- package/dist/index.js.map +1 -1
- package/dist/js-script-link.d.ts +53 -0
- package/dist/js-script-link.d.ts.map +1 -0
- package/dist/js-script-link.js +58 -0
- package/dist/js-script-link.js.map +1 -0
- package/dist/js-script-materialize.d.ts +52 -0
- package/dist/js-script-materialize.d.ts.map +1 -0
- package/dist/js-script-materialize.js +24 -0
- package/dist/js-script-materialize.js.map +1 -0
- package/dist/manifest-node-values.d.ts +106 -0
- package/dist/manifest-node-values.d.ts.map +1 -0
- package/dist/manifest-node-values.js +195 -0
- package/dist/manifest-node-values.js.map +1 -0
- package/dist/metadata.d.ts +75 -3
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +132 -49
- package/dist/metadata.js.map +1 -1
- package/dist/node-metadata.d.ts.map +1 -1
- package/dist/node-metadata.js +61 -56
- package/dist/node-metadata.js.map +1 -1
- package/dist/node-type-inventory.d.ts +51 -0
- package/dist/node-type-inventory.d.ts.map +1 -0
- package/dist/node-type-inventory.js +121 -0
- package/dist/node-type-inventory.js.map +1 -0
- package/dist/nodes/test-nodes.d.ts +77 -30
- package/dist/nodes/test-nodes.d.ts.map +1 -1
- package/dist/nodes/test-nodes.js +2 -34
- package/dist/nodes/test-nodes.js.map +1 -1
- package/dist/pack-loader.d.ts +202 -0
- package/dist/pack-loader.d.ts.map +1 -0
- package/dist/pack-loader.js +529 -0
- package/dist/pack-loader.js.map +1 -0
- package/dist/port-types.d.ts +15 -0
- package/dist/port-types.d.ts.map +1 -0
- package/dist/port-types.js +72 -0
- package/dist/port-types.js.map +1 -0
- package/dist/pricing-bundle.d.ts +83 -0
- package/dist/pricing-bundle.d.ts.map +1 -0
- package/dist/pricing-bundle.js +82 -0
- package/dist/pricing-bundle.js.map +1 -0
- package/dist/pricing-params.d.ts +59 -0
- package/dist/pricing-params.d.ts.map +1 -0
- package/dist/pricing-params.js +282 -0
- package/dist/pricing-params.js.map +1 -0
- package/dist/python-package-scan.d.ts +8 -0
- package/dist/python-package-scan.d.ts.map +1 -1
- package/dist/python-package-scan.js +21 -8
- package/dist/python-package-scan.js.map +1 -1
- package/dist/registry.d.ts +105 -2
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +403 -30
- package/dist/registry.js.map +1 -1
- package/dist/sandbox-bridge-packs.d.ts +39 -0
- package/dist/sandbox-bridge-packs.d.ts.map +1 -0
- package/dist/sandbox-bridge-packs.js +249 -0
- package/dist/sandbox-bridge-packs.js.map +1 -0
- package/dist/sandbox-catalog-host.d.ts +31 -0
- package/dist/sandbox-catalog-host.d.ts.map +1 -0
- package/dist/sandbox-catalog-host.js +78 -0
- package/dist/sandbox-catalog-host.js.map +1 -0
- package/dist/sandbox-module-catalog.d.ts +14 -0
- package/dist/sandbox-module-catalog.d.ts.map +1 -0
- package/dist/sandbox-module-catalog.js +402 -0
- package/dist/sandbox-module-catalog.js.map +1 -0
- package/dist/sandbox-npm-artifacts.d.ts +56 -0
- package/dist/sandbox-npm-artifacts.d.ts.map +1 -0
- package/dist/sandbox-npm-artifacts.js +17 -0
- package/dist/sandbox-npm-artifacts.js.map +1 -0
- package/dist/sandbox-pack-discovery.d.ts +93 -0
- package/dist/sandbox-pack-discovery.d.ts.map +1 -0
- package/dist/sandbox-pack-discovery.js +807 -0
- package/dist/sandbox-pack-discovery.js.map +1 -0
- package/dist/search.d.ts +29 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +136 -9
- package/dist/search.js.map +1 -1
- package/dist/type-compat.d.ts +36 -0
- package/dist/type-compat.d.ts.map +1 -0
- package/dist/type-compat.js +98 -0
- package/dist/type-compat.js.map +1 -0
- package/dist/type-predicates.d.ts +25 -0
- package/dist/type-predicates.d.ts.map +1 -0
- package/dist/type-predicates.js +31 -0
- package/dist/type-predicates.js.map +1 -0
- package/dist/validation.d.ts +18 -0
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +70 -11
- package/dist/validation.js.map +1 -1
- package/dist/workflow-document-tools.d.ts +35 -0
- package/dist/workflow-document-tools.d.ts.map +1 -0
- package/dist/workflow-document-tools.js +402 -0
- package/dist/workflow-document-tools.js.map +1 -0
- package/dist/workflow-interface.d.ts +62 -0
- package/dist/workflow-interface.d.ts.map +1 -0
- package/dist/workflow-interface.js +351 -0
- package/dist/workflow-interface.js.map +1 -0
- package/package.json +67 -10
- package/dist/package-registry-client.d.ts +0 -12
- package/dist/package-registry-client.d.ts.map +0 -1
- package/dist/package-registry-client.js +0 -40
- 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":"AAAA;;;;;GAKG;AAEH,2EAA2E;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,MAAM,kBAAkB,GACtB,2HAA2H,CAAC;AAE9H;;;GAGG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,YAAY;IACZ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,QAAQ;IACR,MAAM;IACN,MAAM;IACN,IAAI;IACJ,MAAM;CACP,CAAC,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,SAAS,uBAAuB,CAAC,IAAY;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IACtB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,6EAA6E;IAC7E,uEAAuE;IACvE,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,6EAA6E;IAC7E,uCAAuC;IACvC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,IAAI,GAAG,EAAE,EAAQ,EAAE;QAChD,IAAI,GAAG,IAAI,CAAC;QACZ,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC,CAAC;IAEF,+EAA+E;IAC/E,MAAM,gBAAgB,GAAG,GAAS,EAAE;QAClC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACrB,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpB,CAAC,EAAE,CAAC;gBACJ,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC9B,GAAG,IAAI,GAAG,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,CAAC;gBACb,OAAO;YACT,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC7B,CAAC,IAAI,CAAC,CAAC;gBACP,GAAG,IAAI,IAAI,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,CAAC;gBACb,OAAO;YACT,CAAC;YACD,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAY,EAAE;QAC/B,IAAI,IAAI,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAC7B,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjE,gEAAgE;QAChE,yEAAyE;QACzE,wEAAwE;QACxE,gEAAgE;QAChE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,CAAC,EAAE,CAAC;YACtC,GAAG,IAAI,GAAG,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC7B,CAAC,IAAI,CAAC,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;gBAAE,CAAC,EAAE,CAAC;YAC/C,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,GAAG,IAAI,GAAG,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,CAAC,EAAE,CAAC;YACJ,yEAAyE;YACzE,6DAA6D;YAC7D,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACrD,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC;YACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,CAAC,EAAE,CAAC;YAC1B,GAAG,IAAI,IAAI,GAAG,IAAI,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,CAAC,EAAE,CAAC;YACJ,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,MAAM,GAAG,CAAC,CAAC;YACX,GAAG,IAAI,GAAG,CAAC;YACX,gBAAgB,EAAE,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,CAAC,EAAE,CAAC;YACJ,GAAG,IAAI,GAAG,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,CAAC;YACb,gBAAgB,EAAE,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,UAAU,EAAE,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,CAAC,EAAE,CAAC;YACJ,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,GAAG,IAAI,CAAC;qBAC7B,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,GAAG,KAAK,CAAC;qBACnC,IAAI,KAAK,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;oBACnC,CAAC,EAAE,CAAC;oBACJ,MAAM,GAAG,IAAI,CAAC;oBACd,MAAM;gBACR,CAAC;gBACD,CAAC,EAAE,CAAC;YACN,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAAE,CAAC,EAAE,CAAC;gBAC3C,GAAG,IAAI,GAAG,CAAC;gBACX,0DAA0D;gBAC1D,OAAO,CAAC,GAAG,CAAC,CAAC;gBACb,SAAS;YACX,CAAC;YACD,6DAA6D;YAC7D,CAAC,GAAG,KAAK,CAAC;QACZ,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAE,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,GAAG,IAAI,IAAI,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9B,CAAC,GAAG,CAAC,CAAC;YACN,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,EAAE,CAAC;QAC3B,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACnD,GAAG,IAAI,IAAI,CAAC;QACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,mCAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO;QAAE,OAAO,YAAY,CAAC;IAElC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAEnC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzE,IACE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACnB,6CAA6C,CAAC,IAAI,CAAC,IAAI,CAAC;QACxD,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC,EAClD,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACrD,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,KAAgC,CAAC;IAC1C,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -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"}
|