@flat8n/cli 0.1.0

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 (105) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +155 -0
  3. package/dist/src/cli/api.d.ts +10 -0
  4. package/dist/src/cli/api.js +57 -0
  5. package/dist/src/cli/api.js.map +1 -0
  6. package/dist/src/cli/build.d.ts +2 -0
  7. package/dist/src/cli/build.js +162 -0
  8. package/dist/src/cli/build.js.map +1 -0
  9. package/dist/src/cli/compile.d.ts +2 -0
  10. package/dist/src/cli/compile.js +149 -0
  11. package/dist/src/cli/compile.js.map +1 -0
  12. package/dist/src/cli/deploy.d.ts +4 -0
  13. package/dist/src/cli/deploy.js +47 -0
  14. package/dist/src/cli/deploy.js.map +1 -0
  15. package/dist/src/cli/dev.d.ts +2 -0
  16. package/dist/src/cli/dev.js +54 -0
  17. package/dist/src/cli/dev.js.map +1 -0
  18. package/dist/src/cli/init.d.ts +1 -0
  19. package/dist/src/cli/init.js +237 -0
  20. package/dist/src/cli/init.js.map +1 -0
  21. package/dist/src/cli/main.d.ts +2 -0
  22. package/dist/src/cli/main.js +249 -0
  23. package/dist/src/cli/main.js.map +1 -0
  24. package/dist/src/cli/run.d.ts +2 -0
  25. package/dist/src/cli/run.js +84 -0
  26. package/dist/src/cli/run.js.map +1 -0
  27. package/dist/src/cli/server.d.ts +2 -0
  28. package/dist/src/cli/server.js +62 -0
  29. package/dist/src/cli/server.js.map +1 -0
  30. package/dist/src/cli/setup.d.ts +1 -0
  31. package/dist/src/cli/setup.js +62 -0
  32. package/dist/src/cli/setup.js.map +1 -0
  33. package/dist/src/cli/sync.d.ts +4 -0
  34. package/dist/src/cli/sync.js +45 -0
  35. package/dist/src/cli/sync.js.map +1 -0
  36. package/dist/src/cli/ui.d.ts +5 -0
  37. package/dist/src/cli/ui.js +66 -0
  38. package/dist/src/cli/ui.js.map +1 -0
  39. package/dist/src/compiler/analyze.d.ts +15 -0
  40. package/dist/src/compiler/analyze.js +26 -0
  41. package/dist/src/compiler/analyze.js.map +1 -0
  42. package/dist/src/compiler/diagnostics.d.ts +28 -0
  43. package/dist/src/compiler/diagnostics.js +26 -0
  44. package/dist/src/compiler/diagnostics.js.map +1 -0
  45. package/dist/src/compiler/inputs.d.ts +30 -0
  46. package/dist/src/compiler/inputs.js +2 -0
  47. package/dist/src/compiler/inputs.js.map +1 -0
  48. package/dist/src/compiler/json.d.ts +15 -0
  49. package/dist/src/compiler/json.js +83 -0
  50. package/dist/src/compiler/json.js.map +1 -0
  51. package/dist/src/compiler/link.d.ts +18 -0
  52. package/dist/src/compiler/link.js +84 -0
  53. package/dist/src/compiler/link.js.map +1 -0
  54. package/dist/src/compiler/stable-json.d.ts +3 -0
  55. package/dist/src/compiler/stable-json.js +18 -0
  56. package/dist/src/compiler/stable-json.js.map +1 -0
  57. package/dist/src/compiler/validate.d.ts +9 -0
  58. package/dist/src/compiler/validate.js +25 -0
  59. package/dist/src/compiler/validate.js.map +1 -0
  60. package/dist/src/compiler/watch.d.ts +19 -0
  61. package/dist/src/compiler/watch.js +67 -0
  62. package/dist/src/compiler/watch.js.map +1 -0
  63. package/dist/src/compiler/workflow-file.d.ts +2 -0
  64. package/dist/src/compiler/workflow-file.js +27 -0
  65. package/dist/src/compiler/workflow-file.js.map +1 -0
  66. package/dist/src/generator/n8n-generator.d.ts +3 -0
  67. package/dist/src/generator/n8n-generator.js +129 -0
  68. package/dist/src/generator/n8n-generator.js.map +1 -0
  69. package/dist/src/graph/graph.d.ts +11 -0
  70. package/dist/src/graph/graph.js +76 -0
  71. package/dist/src/graph/graph.js.map +1 -0
  72. package/dist/src/index.d.ts +7 -0
  73. package/dist/src/index.js +5 -0
  74. package/dist/src/index.js.map +1 -0
  75. package/dist/src/ir/model.d.ts +58 -0
  76. package/dist/src/ir/model.js +29 -0
  77. package/dist/src/ir/model.js.map +1 -0
  78. package/dist/src/parser/n8n-parser.d.ts +8 -0
  79. package/dist/src/parser/n8n-parser.js +119 -0
  80. package/dist/src/parser/n8n-parser.js.map +1 -0
  81. package/dist/src/parser/n8n-schema.d.ts +60 -0
  82. package/dist/src/parser/n8n-schema.js +35 -0
  83. package/dist/src/parser/n8n-schema.js.map +1 -0
  84. package/dist/src/passes/auto-layout.d.ts +6 -0
  85. package/dist/src/passes/auto-layout.js +52 -0
  86. package/dist/src/passes/auto-layout.js.map +1 -0
  87. package/dist/src/passes/credential-isolation.d.ts +10 -0
  88. package/dist/src/passes/credential-isolation.js +56 -0
  89. package/dist/src/passes/credential-isolation.js.map +1 -0
  90. package/dist/src/passes/deterministic-ids.d.ts +7 -0
  91. package/dist/src/passes/deterministic-ids.js +40 -0
  92. package/dist/src/passes/deterministic-ids.js.map +1 -0
  93. package/dist/src/passes/expression-rewriter.d.ts +7 -0
  94. package/dist/src/passes/expression-rewriter.js +294 -0
  95. package/dist/src/passes/expression-rewriter.js.map +1 -0
  96. package/dist/src/passes/inline-subworkflows.d.ts +11 -0
  97. package/dist/src/passes/inline-subworkflows.js +437 -0
  98. package/dist/src/passes/inline-subworkflows.js.map +1 -0
  99. package/dist/src/passes/pass.d.ts +10 -0
  100. package/dist/src/passes/pass.js +2 -0
  101. package/dist/src/passes/pass.js.map +1 -0
  102. package/dist/src/validation/graph-integrity.d.ts +9 -0
  103. package/dist/src/validation/graph-integrity.js +104 -0
  104. package/dist/src/validation/graph-integrity.js.map +1 -0
  105. package/package.json +60 -0
@@ -0,0 +1,294 @@
1
+ import { isJsonObject } from "../compiler/json.js";
2
+ export function rewriteJsonReferences(value, references) {
3
+ if (typeof value === "string") {
4
+ return rewriteReferenceString(value, references);
5
+ }
6
+ if (Array.isArray(value)) {
7
+ return value.map((item) => rewriteJsonReferences(item, references));
8
+ }
9
+ if (isJsonObject(value)) {
10
+ const output = {};
11
+ for (const [key, item] of Object.entries(value)) {
12
+ output[key] = rewriteJsonReferences(item, references);
13
+ }
14
+ return output;
15
+ }
16
+ return value;
17
+ }
18
+ export function rewriteReferenceString(input, references) {
19
+ if (!input.includes("$")) {
20
+ return input;
21
+ }
22
+ let output = "";
23
+ let i = 0;
24
+ while (i < input.length) {
25
+ const skipped = skipNonCode(input, i);
26
+ if (skipped > i) {
27
+ output += input.slice(i, skipped);
28
+ i = skipped;
29
+ continue;
30
+ }
31
+ const rewrite = tryRewriteNodeBracket(input, i, references.nodeNames) ??
32
+ tryRewriteDollarCall(input, i, references.nodeNames) ??
33
+ tryRewriteVars(input, i, references.variableNames);
34
+ if (rewrite !== undefined) {
35
+ output += input.slice(i, rewrite.start);
36
+ output += rewrite.replacement;
37
+ i = rewrite.end;
38
+ continue;
39
+ }
40
+ output += input[i] ?? "";
41
+ i += 1;
42
+ }
43
+ return output;
44
+ }
45
+ function tryRewriteNodeBracket(input, index, names) {
46
+ if (!startsToken(input, index, "$node")) {
47
+ return undefined;
48
+ }
49
+ let cursor = skipWhitespace(input, index + "$node".length);
50
+ if (input[cursor] !== "[") {
51
+ return undefined;
52
+ }
53
+ cursor = skipWhitespace(input, cursor + 1);
54
+ const literal = parseStringLiteral(input, cursor);
55
+ if (literal === undefined) {
56
+ return undefined;
57
+ }
58
+ const replacement = names[literal.value];
59
+ if (replacement === undefined) {
60
+ return undefined;
61
+ }
62
+ return {
63
+ start: literal.start,
64
+ end: literal.end,
65
+ replacement: quoteString(replacement, literal.quote)
66
+ };
67
+ }
68
+ function tryRewriteDollarCall(input, index, names) {
69
+ if (input[index] !== "$") {
70
+ return undefined;
71
+ }
72
+ let cursor = skipWhitespace(input, index + 1);
73
+ if (input[cursor] !== "(") {
74
+ return undefined;
75
+ }
76
+ cursor = skipWhitespace(input, cursor + 1);
77
+ const literal = parseStringLiteral(input, cursor);
78
+ if (literal === undefined) {
79
+ return undefined;
80
+ }
81
+ const replacement = names[literal.value];
82
+ if (replacement === undefined) {
83
+ return undefined;
84
+ }
85
+ return {
86
+ start: literal.start,
87
+ end: literal.end,
88
+ replacement: quoteString(replacement, literal.quote)
89
+ };
90
+ }
91
+ function tryRewriteVars(input, index, names) {
92
+ if (!startsToken(input, index, "$vars")) {
93
+ return undefined;
94
+ }
95
+ let cursor = skipWhitespace(input, index + "$vars".length);
96
+ if (input[cursor] === "[") {
97
+ cursor = skipWhitespace(input, cursor + 1);
98
+ const literal = parseStringLiteral(input, cursor);
99
+ if (literal === undefined) {
100
+ return undefined;
101
+ }
102
+ const replacement = names[literal.value];
103
+ if (replacement === undefined) {
104
+ return undefined;
105
+ }
106
+ return {
107
+ start: literal.start,
108
+ end: literal.end,
109
+ replacement: quoteString(replacement, literal.quote)
110
+ };
111
+ }
112
+ if (input[cursor] !== ".") {
113
+ return undefined;
114
+ }
115
+ const identifierStart = cursor + 1;
116
+ const identifierEnd = readIdentifierEnd(input, identifierStart);
117
+ if (identifierEnd === identifierStart) {
118
+ return undefined;
119
+ }
120
+ const name = input.slice(identifierStart, identifierEnd);
121
+ const replacement = names[name];
122
+ if (replacement === undefined) {
123
+ return undefined;
124
+ }
125
+ if (isIdentifier(replacement)) {
126
+ return {
127
+ start: identifierStart,
128
+ end: identifierEnd,
129
+ replacement
130
+ };
131
+ }
132
+ return {
133
+ start: index,
134
+ end: identifierEnd,
135
+ replacement: `$vars[${quoteString(replacement, '"')}]`
136
+ };
137
+ }
138
+ function skipNonCode(input, index) {
139
+ const current = input[index];
140
+ const next = input[index + 1];
141
+ if (current === "/" && next === "/") {
142
+ const newline = input.indexOf("\n", index + 2);
143
+ return newline === -1 ? input.length : newline;
144
+ }
145
+ if (current === "/" && next === "*") {
146
+ const end = input.indexOf("*/", index + 2);
147
+ return end === -1 ? input.length : end + 2;
148
+ }
149
+ if (current === "#") {
150
+ const newline = input.indexOf("\n", index + 1);
151
+ return newline === -1 ? input.length : newline;
152
+ }
153
+ if (current === '"' || current === "'") {
154
+ const literal = parseStringLiteral(input, index);
155
+ return literal?.end ?? input.length;
156
+ }
157
+ if (current === "`") {
158
+ return skipTemplateLiteral(input, index);
159
+ }
160
+ return index;
161
+ }
162
+ function skipTemplateLiteral(input, index) {
163
+ let cursor = index + 1;
164
+ while (cursor < input.length) {
165
+ const current = input[cursor];
166
+ if (current === "\\") {
167
+ cursor += 2;
168
+ continue;
169
+ }
170
+ if (current === "`") {
171
+ return cursor + 1;
172
+ }
173
+ cursor += 1;
174
+ }
175
+ return input.length;
176
+ }
177
+ function parseStringLiteral(input, start) {
178
+ const quote = input[start];
179
+ if (quote !== '"' && quote !== "'") {
180
+ return undefined;
181
+ }
182
+ let value = "";
183
+ let cursor = start + 1;
184
+ while (cursor < input.length) {
185
+ const current = input[cursor];
186
+ if (current === quote) {
187
+ return {
188
+ start,
189
+ end: cursor + 1,
190
+ quote,
191
+ value
192
+ };
193
+ }
194
+ if (current === "\\") {
195
+ const escaped = input[cursor + 1];
196
+ if (escaped === undefined) {
197
+ return undefined;
198
+ }
199
+ value += decodeEscape(input, cursor);
200
+ cursor += escapeLength(input, cursor);
201
+ continue;
202
+ }
203
+ value += current;
204
+ cursor += 1;
205
+ }
206
+ return undefined;
207
+ }
208
+ function decodeEscape(input, index) {
209
+ const escaped = input[index + 1];
210
+ if (escaped === "u" && isHex(input.slice(index + 2, index + 6))) {
211
+ return String.fromCharCode(Number.parseInt(input.slice(index + 2, index + 6), 16));
212
+ }
213
+ switch (escaped) {
214
+ case "\\":
215
+ return "\\";
216
+ case "'":
217
+ return "'";
218
+ case '"':
219
+ return '"';
220
+ case "n":
221
+ return "\n";
222
+ case "r":
223
+ return "\r";
224
+ case "t":
225
+ return "\t";
226
+ default:
227
+ return escaped ?? "";
228
+ }
229
+ }
230
+ function escapeLength(input, index) {
231
+ return input[index + 1] === "u" && isHex(input.slice(index + 2, index + 6)) ? 6 : 2;
232
+ }
233
+ function quoteString(value, quote) {
234
+ let output = quote;
235
+ for (const char of value) {
236
+ if (char === "\\" || char === quote) {
237
+ output += `\\${char}`;
238
+ continue;
239
+ }
240
+ if (char === "\n") {
241
+ output += "\\n";
242
+ continue;
243
+ }
244
+ if (char === "\r") {
245
+ output += "\\r";
246
+ continue;
247
+ }
248
+ if (char === "\t") {
249
+ output += "\\t";
250
+ continue;
251
+ }
252
+ output += char;
253
+ }
254
+ return `${output}${quote}`;
255
+ }
256
+ function startsToken(input, index, token) {
257
+ if (!input.startsWith(token, index)) {
258
+ return false;
259
+ }
260
+ const before = input[index - 1];
261
+ const after = input[index + token.length];
262
+ return !isIdentifierPart(before) && !isIdentifierPart(after);
263
+ }
264
+ function skipWhitespace(input, index) {
265
+ let cursor = index;
266
+ while (/\s/u.test(input[cursor] ?? "")) {
267
+ cursor += 1;
268
+ }
269
+ return cursor;
270
+ }
271
+ function readIdentifierEnd(input, index) {
272
+ let cursor = index;
273
+ if (!isIdentifierStart(input[cursor])) {
274
+ return index;
275
+ }
276
+ cursor += 1;
277
+ while (isIdentifierPart(input[cursor])) {
278
+ cursor += 1;
279
+ }
280
+ return cursor;
281
+ }
282
+ function isIdentifier(value) {
283
+ return /^[A-Za-z_$][A-Za-z0-9_$]*$/u.test(value);
284
+ }
285
+ function isIdentifierStart(value) {
286
+ return value !== undefined && /^[A-Za-z_$]$/u.test(value);
287
+ }
288
+ function isIdentifierPart(value) {
289
+ return value !== undefined && /^[A-Za-z0-9_$]$/u.test(value);
290
+ }
291
+ function isHex(value) {
292
+ return /^[0-9A-Fa-f]{4}$/u.test(value);
293
+ }
294
+ //# sourceMappingURL=expression-rewriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-rewriter.js","sourceRoot":"","sources":["../../../src/passes/expression-rewriter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { LinkOptions } from "../compiler/inputs.js";
2
+ import type { WorkflowIR } from "../ir/model.js";
3
+ import type { LinkPass, PassResult } from "./pass.js";
4
+ export declare class InlineSubworkflowsPass implements LinkPass {
5
+ readonly name = "inline-subworkflows";
6
+ private readonly dependencies;
7
+ private readonly options;
8
+ constructor(dependencies: ReadonlyMap<string, WorkflowIR>, options: LinkOptions);
9
+ run(workflow: WorkflowIR): PassResult;
10
+ private inlineWorkflow;
11
+ }