@uipath/maestro-builder-sdk 6.18.10 → 6.20.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.
- package/dist/api-index.md +185 -184
- package/dist/api-members.md +506 -473
- package/dist/check.js +358 -695
- package/dist/cli/commands/flow.js +3 -0
- package/dist/compile-cli.js +51 -0
- package/dist/core/actions.d.ts +132 -765
- package/dist/core/actions.js +1 -307
- package/dist/core/binding-identity.d.ts +22 -0
- package/dist/core/binding-identity.js +28 -0
- package/dist/core/context-index.d.ts +34 -0
- package/dist/core/context-index.js +38 -0
- package/dist/core/definitionless-node-types.d.ts +16 -0
- package/dist/core/definitionless-node-types.js +16 -0
- package/dist/core/error-port.d.ts +6 -0
- package/dist/core/error-port.js +9 -0
- package/dist/core/form-field-type.d.ts +33 -0
- package/dist/core/form-field-type.js +30 -0
- package/dist/core/hitl-routing.d.ts +8 -0
- package/dist/core/hitl-routing.js +17 -1
- package/dist/core/node-classes.d.ts +4 -63
- package/dist/core/node-classes.js +0 -112
- package/dist/core/nodes/family.d.ts +36 -0
- package/dist/core/nodes/family.js +1 -0
- package/dist/core/nodes/node-type.d.ts +136 -0
- package/dist/core/nodes/node-type.js +1 -0
- package/dist/core/nodes/registry.d.ts +57 -0
- package/dist/core/nodes/registry.js +122 -0
- package/dist/core/nodes/versioned.d.ts +50 -0
- package/dist/core/nodes/versioned.js +46 -0
- package/dist/core/process-resource-sort-order.d.ts +40 -0
- package/dist/core/process-resource-sort-order.js +44 -0
- package/dist/core/typed-raw-node.d.ts +13 -62
- package/dist/core/typed-raw-node.js +40 -154
- package/dist/core/wire-expr.d.ts +27 -0
- package/dist/core/wire-expr.js +34 -0
- package/dist/decompile-cli.js +11 -1
- package/dist/decompile.d.ts +8 -3
- package/dist/decompile.js +665 -354
- package/dist/flow-definitions.d.ts +10 -0
- package/dist/flow-definitions.js +35 -0
- package/dist/flow-expr-check.js +1 -1
- package/dist/flow-node-registry.d.ts +13 -0
- package/dist/flow-node-registry.js +19 -0
- package/dist/flow-node-type.d.ts +192 -0
- package/dist/flow-node-type.js +1 -0
- package/dist/flow-sdk.d.ts +40 -1
- package/dist/flow-sdk.js +29 -2
- package/dist/flow-step-tree.js +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -0
- package/dist/merge-cli.js +25 -8
- package/dist/merge-roundtrip.d.ts +81 -0
- package/dist/merge-roundtrip.js +404 -0
- package/dist/merge.d.ts +35 -6
- package/dist/merge.js +124 -24
- package/dist/node-placement.d.ts +93 -0
- package/dist/node-placement.js +163 -0
- package/dist/nodes/data-fabric/flow/check.d.ts +13 -0
- package/dist/nodes/data-fabric/flow/check.js +164 -0
- package/dist/nodes/data-fabric/flow/factories.d.ts +113 -0
- package/dist/nodes/data-fabric/flow/factories.js +134 -0
- package/dist/nodes/data-fabric/flow/family.d.ts +7 -0
- package/dist/nodes/data-fabric/flow/family.js +9 -0
- package/dist/nodes/data-fabric/flow/index.d.ts +8 -0
- package/dist/nodes/data-fabric/flow/index.js +8 -0
- package/dist/nodes/data-fabric/flow/raw.d.ts +32 -0
- package/dist/nodes/data-fabric/flow/raw.js +100 -0
- package/dist/nodes/data-fabric/flow/shared.d.ts +77 -0
- package/dist/nodes/data-fabric/flow/shared.js +174 -0
- package/dist/nodes/data-fabric/flow/spec.d.ts +238 -0
- package/dist/nodes/data-fabric/flow/spec.js +1 -0
- package/dist/nodes/data-fabric/flow/verbs.d.ts +29 -0
- package/dist/nodes/data-fabric/flow/verbs.js +239 -0
- package/dist/nodes/delay/flow/check.d.ts +16 -0
- package/dist/nodes/delay/flow/check.js +86 -0
- package/dist/nodes/delay/flow/factories.d.ts +28 -0
- package/dist/nodes/delay/flow/factories.js +38 -0
- package/dist/nodes/delay/flow/family.d.ts +3 -0
- package/dist/nodes/delay/flow/family.js +8 -0
- package/dist/nodes/delay/flow/index.d.ts +3 -0
- package/dist/nodes/delay/flow/index.js +3 -0
- package/dist/nodes/delay/flow/node-type.d.ts +13 -0
- package/dist/nodes/delay/flow/node-type.js +71 -0
- package/dist/nodes/delay/flow/spec.d.ts +43 -0
- package/dist/nodes/delay/flow/spec.js +16 -0
- package/dist/nodes/document/flow/factories.d.ts +27 -0
- package/dist/nodes/document/flow/factories.js +30 -0
- package/dist/nodes/document/flow/family.d.ts +3 -0
- package/dist/nodes/document/flow/family.js +7 -0
- package/dist/nodes/document/flow/index.d.ts +3 -0
- package/dist/nodes/document/flow/index.js +3 -0
- package/dist/nodes/document/flow/node-type.d.ts +14 -0
- package/dist/nodes/document/flow/node-type.js +150 -0
- package/dist/nodes/document/flow/spec.d.ts +65 -0
- package/dist/nodes/document/flow/spec.js +1 -0
- package/dist/nodes/mock/flow/factories.d.ts +51 -0
- package/dist/nodes/mock/flow/factories.js +47 -0
- package/dist/nodes/mock/flow/family.d.ts +3 -0
- package/dist/nodes/mock/flow/family.js +7 -0
- package/dist/nodes/mock/flow/index.d.ts +2 -0
- package/dist/nodes/mock/flow/index.js +2 -0
- package/dist/nodes/mock/flow/node-type.d.ts +11 -0
- package/dist/nodes/mock/flow/node-type.js +51 -0
- package/dist/nodes/script/flow/check.d.ts +19 -0
- package/dist/nodes/script/flow/check.js +49 -0
- package/dist/nodes/script/flow/factories.d.ts +14 -0
- package/dist/nodes/script/flow/factories.js +15 -0
- package/dist/nodes/script/flow/family.d.ts +3 -0
- package/dist/nodes/script/flow/family.js +8 -0
- package/dist/nodes/script/flow/index.d.ts +3 -0
- package/dist/nodes/script/flow/index.js +3 -0
- package/dist/nodes/script/flow/node-type.d.ts +7 -0
- package/dist/nodes/script/flow/node-type.js +125 -0
- package/dist/nodes/script/flow/spec.d.ts +52 -0
- package/dist/nodes/script/flow/spec.js +1 -0
- package/dist/nodes/transform/flow/check.d.ts +6 -0
- package/dist/nodes/transform/flow/check.js +229 -0
- package/dist/nodes/transform/flow/factories.d.ts +52 -0
- package/dist/nodes/transform/flow/factories.js +53 -0
- package/dist/nodes/transform/flow/family.d.ts +3 -0
- package/dist/nodes/transform/flow/family.js +8 -0
- package/dist/nodes/transform/flow/index.d.ts +3 -0
- package/dist/nodes/transform/flow/index.js +3 -0
- package/dist/nodes/transform/flow/node-type.d.ts +7 -0
- package/dist/nodes/transform/flow/node-type.js +245 -0
- package/dist/nodes/transform/flow/spec.d.ts +116 -0
- package/dist/nodes/transform/flow/spec.js +10 -0
- package/dist/raw-node-advice.d.ts +16 -0
- package/dist/raw-node-advice.js +36 -0
- package/dist/raw-node.d.ts +71 -0
- package/dist/raw-node.js +116 -0
- package/dist/registry/uip/pipeline-front-door.js +5 -3
- package/dist/serialize.js +246 -549
- package/package.json +2 -2
|
@@ -108,6 +108,7 @@ export function registerFlowCommands(program) {
|
|
|
108
108
|
.option('--original <file>', '(required) original .flow path, the artifact to merge into')
|
|
109
109
|
.option('-o, --output <file>', 'merged output path')
|
|
110
110
|
.option('--baseline <file>', 'compiled pristine decompile')
|
|
111
|
+
.option('--strict', 'refuse when the no-edit round trip (--baseline) differs from the original')
|
|
111
112
|
.allowExcessArguments()
|
|
112
113
|
.action(async (_edited, options, command) => {
|
|
113
114
|
const pair = namedOrLegacySecond(command, {
|
|
@@ -120,6 +121,8 @@ export function registerFlowCommands(program) {
|
|
|
120
121
|
const argv = [original, edited];
|
|
121
122
|
addValue(argv, '-o', options.output);
|
|
122
123
|
addValue(argv, '--baseline', options.baseline);
|
|
124
|
+
if (options.strict)
|
|
125
|
+
argv.push('--strict');
|
|
123
126
|
await invoke('flow merge', () => loadTool(import.meta.url, '../../merge-cli.js'), argv);
|
|
124
127
|
});
|
|
125
128
|
}
|
package/dist/compile-cli.js
CHANGED
|
@@ -167,7 +167,14 @@ export async function run(argv) {
|
|
|
167
167
|
// families the SDK cannot into the same directory (including `internal`
|
|
168
168
|
// built-ins such as `load-attachments`), so anything else found there is
|
|
169
169
|
// someone else's and is left alone.
|
|
170
|
+
//
|
|
171
|
+
// Owning the TYPE is not owning the FILE, though. Decompile keeps a canvas
|
|
172
|
+
// agent's `source` directory, so compiling decompiled source to another `.flow`
|
|
173
|
+
// in the same project writes into the ORIGINAL flow's agent directory, and the
|
|
174
|
+
// canvas resources there are still that flow's. A resource another
|
|
175
|
+
// `.flow` beside this one references by `inputs.source` is never pruned.
|
|
170
176
|
const removedResources = [];
|
|
177
|
+
const referencedElsewhere = resourceSourcesOfOtherFlows(outDir, resolve(out));
|
|
171
178
|
const owned = new Set(sidecars
|
|
172
179
|
.filter((s) => /\/resources\/[^/]+\/resource\.json$/.test(s.path))
|
|
173
180
|
.map((s) => resolve(outDir, s.path)));
|
|
@@ -182,6 +189,11 @@ export async function run(argv) {
|
|
|
182
189
|
const file = join(resourcesDir, entry, 'resource.json');
|
|
183
190
|
if (!existsSync(file) || owned.has(file))
|
|
184
191
|
continue;
|
|
192
|
+
const user = referencedElsewhere.get(entry);
|
|
193
|
+
if (user !== undefined) {
|
|
194
|
+
console.log(`compile: kept ${join('resources', entry, 'resource.json')}: ${user} still references it`);
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
185
197
|
let body;
|
|
186
198
|
try {
|
|
187
199
|
body = JSON.parse(readFileSync(file, 'utf8'));
|
|
@@ -248,3 +260,42 @@ function serializeWarningDiagnostic(w) {
|
|
|
248
260
|
return { level: 'warning', code: w.code, message: w.message };
|
|
249
261
|
}
|
|
250
262
|
runWhenInvokedDirectly(import.meta.url, 'compile', run);
|
|
263
|
+
/**
|
|
264
|
+
* The `inputs.source` uuids the OTHER `.flow` files in `dir` reference, each
|
|
265
|
+
* mapped to the first file that does. `dir` is the namespace sidecar paths are
|
|
266
|
+
* relative to, so these are the agent resources another flow still uses. The
|
|
267
|
+
* flow being written (`self`) is left out: what it no longer references is what
|
|
268
|
+
* pruning is for. Subflow bodies are included; an unreadable file contributes
|
|
269
|
+
* nothing.
|
|
270
|
+
*/
|
|
271
|
+
function resourceSourcesOfOtherFlows(dir, self) {
|
|
272
|
+
const users = new Map();
|
|
273
|
+
let entries;
|
|
274
|
+
try {
|
|
275
|
+
entries = readdirSync(dir).filter((f) => f.endsWith('.flow') && resolve(dir, f) !== self);
|
|
276
|
+
}
|
|
277
|
+
catch {
|
|
278
|
+
return users;
|
|
279
|
+
}
|
|
280
|
+
for (const f of entries) {
|
|
281
|
+
let flow;
|
|
282
|
+
try {
|
|
283
|
+
flow = JSON.parse(readFileSync(join(dir, f), 'utf8'));
|
|
284
|
+
}
|
|
285
|
+
catch {
|
|
286
|
+
continue;
|
|
287
|
+
}
|
|
288
|
+
const walk = (scope) => {
|
|
289
|
+
const s = scope;
|
|
290
|
+
for (const n of Array.isArray(s?.nodes) ? s.nodes : []) {
|
|
291
|
+
const src = n?.inputs?.source;
|
|
292
|
+
if (typeof src === 'string' && !users.has(src))
|
|
293
|
+
users.set(src, f);
|
|
294
|
+
}
|
|
295
|
+
if (s?.subflows && typeof s.subflows === 'object')
|
|
296
|
+
Object.values(s.subflows).forEach(walk);
|
|
297
|
+
};
|
|
298
|
+
walk(flow);
|
|
299
|
+
}
|
|
300
|
+
return users;
|
|
301
|
+
}
|