@fluidgrids/workflows 2026.1027.0 → 2026.1027.1
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 +26 -5
- package/dist/{assemble-DMOuaxRI.d.ts → assemble-CrpUyd_3.d.ts} +20 -2
- package/dist/{assemble-BJo9TECS.d.cts → assemble-DEf3znGD.d.cts} +20 -2
- package/dist/chunk-3M34AUIY.cjs +27 -0
- package/dist/chunk-5AW745OG.js +25 -0
- package/dist/{chunk-RRQ5HOBF.cjs → chunk-6AIAC2FP.cjs} +4 -4
- package/dist/{chunk-GO34UHSY.js → chunk-6BEW4QD6.js} +3 -3
- package/dist/{chunk-SS4LT2IP.js → chunk-6U446SKY.js} +5 -10
- package/dist/{chunk-AU3YW7FZ.cjs → chunk-7YR7DI7B.cjs} +46 -51
- package/dist/{chunk-27HASETB.cjs → chunk-CSYBNN3V.cjs} +3 -1
- package/dist/{chunk-LRM6JXJA.cjs → chunk-E3APHA6O.cjs} +19 -1
- package/dist/{chunk-BWSLWF2E.js → chunk-EEAIM35V.js} +38 -12
- package/dist/{chunk-X4HKU3MX.js → chunk-IHKXLG6I.js} +3 -1
- package/dist/chunk-MBBKGD7K.js +440 -0
- package/dist/{chunk-LSKSBVL4.cjs → chunk-OSPTJCDI.cjs} +6 -6
- package/dist/{chunk-KUTMY2IO.cjs → chunk-TQF7MYEN.cjs} +101 -75
- package/dist/{chunk-BYJ7QTLY.cjs → chunk-TWOYB4Y7.cjs} +13 -13
- package/dist/{chunk-PL73GJR4.js → chunk-UB2BHU2M.js} +1 -1
- package/dist/{chunk-REV7ZOA4.js → chunk-UJNHTS6D.js} +13 -2
- package/dist/{chunk-IZQNUNSU.cjs → chunk-UWQWD7BP.cjs} +17 -17
- package/dist/{chunk-4DPEGDPW.js → chunk-W32BSO3M.js} +4 -4
- package/dist/{chunk-LMX35GNQ.js → chunk-XBIID5DY.js} +4 -4
- package/dist/chunk-Y7NWR3WH.cjs +450 -0
- package/dist/codegen/index.cjs +7 -7
- package/dist/codegen/index.js +5 -5
- package/dist/index.cjs +30 -30
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/ir/index.cjs +118 -116
- package/dist/ir/index.d.cts +18 -8
- package/dist/ir/index.d.ts +18 -8
- package/dist/ir/index.js +21 -19
- package/dist/{lower-Dw5grNrI.d.ts → lower-CXggJTIo.d.ts} +20 -2
- package/dist/{lower-DcOY8ux0.d.cts → lower-DAzvsJCo.d.cts} +20 -2
- package/dist/node-evaluator-CH3XCJND.cjs +17 -0
- package/dist/node-evaluator-TULXA3WE.js +8 -0
- package/dist/quickjs/index.cjs +32 -78
- package/dist/quickjs/index.d.cts +4 -4
- package/dist/quickjs/index.d.ts +4 -4
- package/dist/quickjs/index.js +32 -78
- package/dist/roundtrip/index.cjs +201 -128
- package/dist/roundtrip/index.d.cts +7 -4
- package/dist/roundtrip/index.d.ts +7 -4
- package/dist/roundtrip/index.js +87 -18
- package/package.json +44 -18
- package/dist/chunk-265J2FCH.cjs +0 -33
- package/dist/chunk-LUXCXFOE.cjs +0 -269
- package/dist/chunk-S34NJE3A.js +0 -262
- package/dist/chunk-SRQRLWOS.js +0 -31
- package/dist/node-evaluator-2GTUZVPK.cjs +0 -17
- package/dist/node-evaluator-RMYEWCXZ.js +0 -8
package/dist/ir/index.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
3
|
+
var chunkTWOYB4Y7_cjs = require('../chunk-TWOYB4Y7.cjs');
|
|
4
|
+
var chunkOSPTJCDI_cjs = require('../chunk-OSPTJCDI.cjs');
|
|
5
|
+
var chunk7YR7DI7B_cjs = require('../chunk-7YR7DI7B.cjs');
|
|
6
6
|
var chunkG4UEPUGO_cjs = require('../chunk-G4UEPUGO.cjs');
|
|
7
|
-
var
|
|
8
|
-
var
|
|
7
|
+
var chunkCSYBNN3V_cjs = require('../chunk-CSYBNN3V.cjs');
|
|
8
|
+
var chunkE3APHA6O_cjs = require('../chunk-E3APHA6O.cjs');
|
|
9
9
|
var _2020_js = require('ajv/dist/2020.js');
|
|
10
10
|
var cronParser = require('cron-parser');
|
|
11
11
|
|
|
@@ -335,17 +335,17 @@ function stringOrEmpty(value) {
|
|
|
335
335
|
return typeof value === "string" && value ? value : "";
|
|
336
336
|
}
|
|
337
337
|
function executorNodeView(node) {
|
|
338
|
-
const record =
|
|
339
|
-
const data =
|
|
340
|
-
const args =
|
|
341
|
-
const dataArgs =
|
|
338
|
+
const record = chunkE3APHA6O_cjs.isRecord(node) ? node : {};
|
|
339
|
+
const data = chunkE3APHA6O_cjs.isRecord(record["data"]) ? record["data"] : void 0;
|
|
340
|
+
const args = chunkE3APHA6O_cjs.isRecord(record["args"]) ? record["args"] : void 0;
|
|
341
|
+
const dataArgs = chunkE3APHA6O_cjs.isRecord(data?.["args"]) ? data["args"] : void 0;
|
|
342
342
|
const type = typeof record["type"] === "string" ? record["type"] : "";
|
|
343
|
-
const merged =
|
|
343
|
+
const merged = chunk7YR7DI7B_cjs.usesMergedParameters(type);
|
|
344
344
|
let parameters;
|
|
345
345
|
if (merged) {
|
|
346
|
-
const config =
|
|
347
|
-
const dataState2 =
|
|
348
|
-
const rootState =
|
|
346
|
+
const config = chunkE3APHA6O_cjs.isRecord(record["config"]) ? record["config"] : {};
|
|
347
|
+
const dataState2 = chunkE3APHA6O_cjs.isRecord(dataArgs?.["state"]) ? dataArgs["state"] : {};
|
|
348
|
+
const rootState = chunkE3APHA6O_cjs.isRecord(args?.["state"]) ? args["state"] : {};
|
|
349
349
|
const all = { ...data, ...config, ...dataState2, ...rootState };
|
|
350
350
|
for (const key of UNREAD_INTERNAL_PARAMETER_KEYS) {
|
|
351
351
|
if (!Object.hasOwn(config, key) && !Object.hasOwn(dataState2, key) && !Object.hasOwn(rootState, key)) {
|
|
@@ -356,12 +356,14 @@ function executorNodeView(node) {
|
|
|
356
356
|
} else {
|
|
357
357
|
parameters = args?.["state"] || dataArgs?.["state"] || data?.["state"];
|
|
358
358
|
}
|
|
359
|
-
const rootSettings =
|
|
360
|
-
const dataSettings =
|
|
361
|
-
const dataState =
|
|
362
|
-
const nodeData =
|
|
363
|
-
const argsContext =
|
|
364
|
-
const contextNode =
|
|
359
|
+
const rootSettings = chunkE3APHA6O_cjs.isRecord(record["executionSettings"]) ? record["executionSettings"] : void 0;
|
|
360
|
+
const dataSettings = chunkE3APHA6O_cjs.isRecord(data?.["executionSettings"]) ? data["executionSettings"] : void 0;
|
|
361
|
+
const dataState = chunkE3APHA6O_cjs.isRecord(dataArgs?.["state"]) ? dataArgs["state"] : void 0;
|
|
362
|
+
const nodeData = chunkE3APHA6O_cjs.isRecord(data?.["nodeData"]) ? data["nodeData"] : void 0;
|
|
363
|
+
const argsContext = chunkE3APHA6O_cjs.isRecord(args?.["context"]) ? args["context"] : void 0;
|
|
364
|
+
const contextNode = chunkE3APHA6O_cjs.isRecord(argsContext?.["node"]) ? argsContext["node"] : void 0;
|
|
365
|
+
const subNodeState = merged ? void 0 : args?.["state"] || dataArgs?.["state"] || {};
|
|
366
|
+
const toolOperation = merged ? void 0 : (chunkE3APHA6O_cjs.isRecord(subNodeState) ? subNodeState["operation"] : void 0) || data?.["operation_name"];
|
|
365
367
|
return {
|
|
366
368
|
id: record["id"],
|
|
367
369
|
type: record["type"],
|
|
@@ -376,11 +378,15 @@ function executorNodeView(node) {
|
|
|
376
378
|
runOn: dataSettings?.["runOn"],
|
|
377
379
|
disabled: record["disabled"] === true || data?.["disabled"] === true,
|
|
378
380
|
nodeDataNodeType: nodeData?.["nodeType"],
|
|
379
|
-
argsContextNodeType: contextNode?.["type"]
|
|
381
|
+
argsContextNodeType: contextNode?.["type"],
|
|
382
|
+
dataOperationName: data?.["operation_name"],
|
|
383
|
+
nodeStateVersion: data?.["version"] || "1.0.0",
|
|
384
|
+
subNodeState,
|
|
385
|
+
toolOperation
|
|
380
386
|
};
|
|
381
387
|
}
|
|
382
388
|
function executorView(definition) {
|
|
383
|
-
if (!
|
|
389
|
+
if (!chunkE3APHA6O_cjs.isRecord(definition) || !chunkE3APHA6O_cjs.isRecord(definition["data"])) return [];
|
|
384
390
|
const nodes = definition["data"]["nodes"];
|
|
385
391
|
return Array.isArray(nodes) ? nodes.map(executorNodeView) : [];
|
|
386
392
|
}
|
|
@@ -443,7 +449,7 @@ function rangeValues(value, min, max, field) {
|
|
|
443
449
|
values.push(entry);
|
|
444
450
|
continue;
|
|
445
451
|
}
|
|
446
|
-
if (!
|
|
452
|
+
if (!chunkE3APHA6O_cjs.isRecord(entry) || typeof entry["start"] !== "number") {
|
|
447
453
|
throw new Error(`${field} entries must be numbers or { start, end, step }`);
|
|
448
454
|
}
|
|
449
455
|
const start = entry["start"];
|
|
@@ -493,7 +499,7 @@ function localParts(date, tz) {
|
|
|
493
499
|
function calendarTimes(entries, now, tz) {
|
|
494
500
|
const all = [];
|
|
495
501
|
for (const entry of entries) {
|
|
496
|
-
if (!
|
|
502
|
+
if (!chunkE3APHA6O_cjs.isRecord(entry)) throw new Error("each calendar entry must be an object");
|
|
497
503
|
const expression = CALENDAR_FIELDS.map((field) => cronField(entry[field.name], field)).join(
|
|
498
504
|
" "
|
|
499
505
|
);
|
|
@@ -512,7 +518,7 @@ function calendarTimes(entries, now, tz) {
|
|
|
512
518
|
function intervalTimes(entries, now) {
|
|
513
519
|
const all = [];
|
|
514
520
|
for (const entry of entries) {
|
|
515
|
-
if (!
|
|
521
|
+
if (!chunkE3APHA6O_cjs.isRecord(entry)) throw new Error("each interval entry must be an object");
|
|
516
522
|
const every = durationMs(entry["every"], "s");
|
|
517
523
|
const offset = entry["offset"] === void 0 ? 0 : durationMs(entry["offset"], "s");
|
|
518
524
|
if (every === void 0 || every <= 0)
|
|
@@ -527,7 +533,7 @@ function intervalTimes(entries, now) {
|
|
|
527
533
|
}
|
|
528
534
|
function checkScheduleSpec(spec, options = {}) {
|
|
529
535
|
const now = options.now ?? /* @__PURE__ */ new Date();
|
|
530
|
-
if (!
|
|
536
|
+
if (!chunkE3APHA6O_cjs.isRecord(spec)) return { ok: false, problem: "spec must be an object", nextFireTimes: [] };
|
|
531
537
|
const kinds = ["cron", "calendar", "interval"].filter((kind) => spec[kind] !== void 0);
|
|
532
538
|
if (kinds.length !== 1) {
|
|
533
539
|
return {
|
|
@@ -580,7 +586,7 @@ function schemaTools() {
|
|
|
580
586
|
return compiled;
|
|
581
587
|
}
|
|
582
588
|
function isValidJsonSchema(schema) {
|
|
583
|
-
if (!
|
|
589
|
+
if (!chunkE3APHA6O_cjs.isRecord(schema) && typeof schema !== "boolean") return false;
|
|
584
590
|
const { ajv } = schemaTools();
|
|
585
591
|
return ajv.validateSchema(schema) === true;
|
|
586
592
|
}
|
|
@@ -592,7 +598,7 @@ function findSecretKeys(value, path, parentKey, out) {
|
|
|
592
598
|
value.forEach((item, index) => findSecretKeys(item, `${path}[${index}]`, parentKey, out));
|
|
593
599
|
return;
|
|
594
600
|
}
|
|
595
|
-
if (!
|
|
601
|
+
if (!chunkE3APHA6O_cjs.isRecord(value)) return;
|
|
596
602
|
for (const [key, child] of Object.entries(value)) {
|
|
597
603
|
if (isSecretKey(parentKey, key)) out.push(`${path}.${key}`);
|
|
598
604
|
findSecretKeys(child, `${path}.${key}`, key, out);
|
|
@@ -600,14 +606,14 @@ function findSecretKeys(value, path, parentKey, out) {
|
|
|
600
606
|
}
|
|
601
607
|
function findLegacyTemplates(value, path, out) {
|
|
602
608
|
if (typeof value === "string") {
|
|
603
|
-
if (
|
|
609
|
+
if (chunkE3APHA6O_cjs.hasLegacyTemplate(value)) out.push(path);
|
|
604
610
|
return;
|
|
605
611
|
}
|
|
606
612
|
if (Array.isArray(value)) {
|
|
607
613
|
value.forEach((item, index) => findLegacyTemplates(item, `${path}[${index}]`, out));
|
|
608
614
|
return;
|
|
609
615
|
}
|
|
610
|
-
if (
|
|
616
|
+
if (chunkE3APHA6O_cjs.isRecord(value)) {
|
|
611
617
|
for (const [key, child] of Object.entries(value))
|
|
612
618
|
findLegacyTemplates(child, `${path}.${key}`, out);
|
|
613
619
|
}
|
|
@@ -633,35 +639,31 @@ function isHardSchemaError(error) {
|
|
|
633
639
|
function legacyMirrors(node) {
|
|
634
640
|
const found = [];
|
|
635
641
|
const type = typeof node["type"] === "string" ? node["type"] : "";
|
|
636
|
-
const merged =
|
|
637
|
-
const data =
|
|
638
|
-
const dataArgs =
|
|
642
|
+
const merged = chunk7YR7DI7B_cjs.usesMergedParameters(type);
|
|
643
|
+
const data = chunkE3APHA6O_cjs.isRecord(node["data"]) ? node["data"] : void 0;
|
|
644
|
+
const dataArgs = chunkE3APHA6O_cjs.isRecord(data?.["args"]) ? data["args"] : void 0;
|
|
639
645
|
if (data) {
|
|
640
|
-
for (const key of [
|
|
641
|
-
"label",
|
|
642
|
-
"operation_name",
|
|
643
|
-
"errorConfig",
|
|
644
|
-
"disabled",
|
|
645
|
-
"state",
|
|
646
|
-
"nodeVersion"
|
|
647
|
-
]) {
|
|
646
|
+
for (const key of ["label", "errorConfig", "disabled", "state", "nodeVersion"]) {
|
|
648
647
|
if (data[key] !== void 0) found.push(`data.${key}`);
|
|
649
648
|
}
|
|
650
|
-
if (
|
|
649
|
+
if (data["operation_name"] !== void 0 && !chunkE3APHA6O_cjs.deepEqual(data["operation_name"], node["operation_name"]))
|
|
650
|
+
found.push("data.operation_name");
|
|
651
|
+
if (!merged && data["version"] !== void 0 && !chunkE3APHA6O_cjs.deepEqual(data["version"], node["version"]))
|
|
652
|
+
found.push("data.version");
|
|
651
653
|
for (const key of ["state", "connections", "credentials", "context"]) {
|
|
652
654
|
if (dataArgs?.[key] !== void 0) found.push(`data.args.${key}`);
|
|
653
655
|
}
|
|
654
|
-
const settings2 =
|
|
656
|
+
const settings2 = chunkE3APHA6O_cjs.isRecord(data["executionSettings"]) ? data["executionSettings"] : void 0;
|
|
655
657
|
if (settings2) {
|
|
656
|
-
const onlyRunOnMirror = Object.keys(settings2).length === 1 && settings2["runOn"] !== void 0 &&
|
|
658
|
+
const onlyRunOnMirror = Object.keys(settings2).length === 1 && settings2["runOn"] !== void 0 && chunkE3APHA6O_cjs.isRecord(node["executionSettings"]) && JSON.stringify(node["executionSettings"]["runOn"]) === JSON.stringify(settings2["runOn"]);
|
|
657
659
|
if (!onlyRunOnMirror) found.push("data.executionSettings");
|
|
658
660
|
}
|
|
659
661
|
}
|
|
660
662
|
if (merged && node["config"] !== void 0) found.push("config");
|
|
661
|
-
const args =
|
|
663
|
+
const args = chunkE3APHA6O_cjs.isRecord(node["args"]) ? node["args"] : void 0;
|
|
662
664
|
if (args?.["credentials"] !== void 0) found.push("args.credentials");
|
|
663
|
-
const settings =
|
|
664
|
-
if (settings?.["runOn"] !== void 0 && !
|
|
665
|
+
const settings = chunkE3APHA6O_cjs.isRecord(node["executionSettings"]) ? node["executionSettings"] : void 0;
|
|
666
|
+
if (settings?.["runOn"] !== void 0 && !chunkE3APHA6O_cjs.isRecord(data?.["executionSettings"]))
|
|
665
667
|
found.push("executionSettings.runOn");
|
|
666
668
|
return found;
|
|
667
669
|
}
|
|
@@ -676,7 +678,7 @@ function validate(definition, options = {}) {
|
|
|
676
678
|
const warnOrFail = (issue) => {
|
|
677
679
|
(strict ? errors : warnings).push(issue);
|
|
678
680
|
};
|
|
679
|
-
if (!
|
|
681
|
+
if (!chunkE3APHA6O_cjs.isRecord(definition)) {
|
|
680
682
|
return {
|
|
681
683
|
valid: false,
|
|
682
684
|
errors: [{ code: "definition.required", message: "A workflow definition must be an object" }],
|
|
@@ -684,7 +686,7 @@ function validate(definition, options = {}) {
|
|
|
684
686
|
taskQueues: []
|
|
685
687
|
};
|
|
686
688
|
}
|
|
687
|
-
const data =
|
|
689
|
+
const data = chunkE3APHA6O_cjs.isRecord(definition["data"]) ? definition["data"] : void 0;
|
|
688
690
|
if (!data)
|
|
689
691
|
fail({ code: "definition.dataRequired", message: "The definition needs a data object" });
|
|
690
692
|
const rawNodes = data?.["nodes"];
|
|
@@ -714,8 +716,8 @@ function validate(definition, options = {}) {
|
|
|
714
716
|
else warnOrFail(issue);
|
|
715
717
|
}
|
|
716
718
|
}
|
|
717
|
-
const nodes = rawNodes.map((node) =>
|
|
718
|
-
const edges = rawEdges.map((edge) =>
|
|
719
|
+
const nodes = rawNodes.map((node) => chunkE3APHA6O_cjs.isRecord(node) ? node : {});
|
|
720
|
+
const edges = rawEdges.map((edge) => chunkE3APHA6O_cjs.isRecord(edge) ? edge : {});
|
|
719
721
|
if (nodes.length === 0 && !options.allowEmpty)
|
|
720
722
|
fail({ code: "node.atLeastOne", message: "Add at least one node" });
|
|
721
723
|
const ids = /* @__PURE__ */ new Set();
|
|
@@ -762,10 +764,10 @@ function validate(definition, options = {}) {
|
|
|
762
764
|
pairs.add(pair);
|
|
763
765
|
if (target) incoming.set(target, (incoming.get(target) ?? 0) + 1);
|
|
764
766
|
});
|
|
765
|
-
const code =
|
|
766
|
-
const exportsBlock =
|
|
767
|
-
const workflowExports =
|
|
768
|
-
const activityExports =
|
|
767
|
+
const code = chunkE3APHA6O_cjs.isRecord(definition["code"]) ? definition["code"] : void 0;
|
|
768
|
+
const exportsBlock = chunkE3APHA6O_cjs.isRecord(code?.["exports"]) ? code["exports"] : void 0;
|
|
769
|
+
const workflowExports = chunkE3APHA6O_cjs.isRecord(exportsBlock?.["workflows"]) ? exportsBlock["workflows"] : {};
|
|
770
|
+
const activityExports = chunkE3APHA6O_cjs.isRecord(exportsBlock?.["activities"]) ? exportsBlock["activities"] : {};
|
|
769
771
|
if (code?.["determinism"] === "isolate" && Object.keys(activityExports).length > 0) {
|
|
770
772
|
fail({
|
|
771
773
|
code: "code.isolateActivities",
|
|
@@ -777,13 +779,13 @@ function validate(definition, options = {}) {
|
|
|
777
779
|
...Object.entries(workflowExports),
|
|
778
780
|
...Object.entries(activityExports)
|
|
779
781
|
]) {
|
|
780
|
-
if (
|
|
782
|
+
if (chunkE3APHA6O_cjs.isRecord(exported) && typeof exported["taskQueue"] === "string")
|
|
781
783
|
taskQueues.add(exported["taskQueue"]);
|
|
782
|
-
if (
|
|
784
|
+
if (chunkE3APHA6O_cjs.isRecord(exported) && chunkE3APHA6O_cjs.isRecord(exported["interface"])) {
|
|
783
785
|
checkInterface(exported["interface"], `code.exports.*.${name}.interface`, fail);
|
|
784
786
|
}
|
|
785
787
|
}
|
|
786
|
-
if (
|
|
788
|
+
if (chunkE3APHA6O_cjs.isRecord(definition["interface"])) checkInterface(definition["interface"], "interface", fail);
|
|
787
789
|
for (const block of ["code", "interface"]) {
|
|
788
790
|
const found = [];
|
|
789
791
|
findSecretKeys(definition[block], block, void 0, found);
|
|
@@ -799,9 +801,9 @@ function validate(definition, options = {}) {
|
|
|
799
801
|
const id = typeof node["id"] === "string" ? node["id"] : void 0;
|
|
800
802
|
const at = id ? { nodeId: id } : {};
|
|
801
803
|
const type = typeof node["type"] === "string" ? node["type"] : "";
|
|
802
|
-
const args =
|
|
803
|
-
const state =
|
|
804
|
-
if (type ===
|
|
804
|
+
const args = chunkE3APHA6O_cjs.isRecord(node["args"]) ? node["args"] : void 0;
|
|
805
|
+
const state = chunkE3APHA6O_cjs.isRecord(args?.["state"]) ? args["state"] : void 0;
|
|
806
|
+
if (type === chunk7YR7DI7B_cjs.CODE_WORKFLOW_NODE_TYPE) {
|
|
805
807
|
const workflowFn = state?.["workflowFn"];
|
|
806
808
|
if (!code) {
|
|
807
809
|
fail({
|
|
@@ -819,7 +821,7 @@ function validate(definition, options = {}) {
|
|
|
819
821
|
}
|
|
820
822
|
if (typeof state?.["taskQueue"] === "string") taskQueues.add(state["taskQueue"]);
|
|
821
823
|
}
|
|
822
|
-
const isTrigger =
|
|
824
|
+
const isTrigger = chunk7YR7DI7B_cjs.INTERNAL_TRIGGER_TYPES.has(type) || id !== void 0 && (incoming.get(id) ?? 0) === 0;
|
|
823
825
|
if (isTrigger && state?.["startDelay"] !== void 0) {
|
|
824
826
|
const delay = durationMs(state["startDelay"], "s");
|
|
825
827
|
if (delay === void 0) {
|
|
@@ -869,8 +871,8 @@ function validate(definition, options = {}) {
|
|
|
869
871
|
});
|
|
870
872
|
}
|
|
871
873
|
const templates = [];
|
|
872
|
-
const args2 =
|
|
873
|
-
const scanned = type === "internal:code" && args2 &&
|
|
874
|
+
const args2 = chunkE3APHA6O_cjs.isRecord(node["args"]) ? node["args"] : void 0;
|
|
875
|
+
const scanned = type === "internal:code" && args2 && chunkE3APHA6O_cjs.isRecord(args2["state"]) ? {
|
|
874
876
|
...args2,
|
|
875
877
|
state: Object.fromEntries(
|
|
876
878
|
Object.entries(args2["state"]).filter(([key]) => key !== "code")
|
|
@@ -902,7 +904,7 @@ function validate(definition, options = {}) {
|
|
|
902
904
|
}
|
|
903
905
|
});
|
|
904
906
|
}
|
|
905
|
-
const config =
|
|
907
|
+
const config = chunkE3APHA6O_cjs.isRecord(definition["config"]) ? definition["config"] : void 0;
|
|
906
908
|
if (config) {
|
|
907
909
|
const timeout = config["timeout"] === void 0 ? void 0 : durationMs(config["timeout"], "s");
|
|
908
910
|
for (const key of ["executionTimeout", "workflowTaskTimeout"]) {
|
|
@@ -949,9 +951,9 @@ function checkInterface(block, path, fail) {
|
|
|
949
951
|
if (block["input"] !== void 0) schemas.push([`${path}.input`, block["input"]]);
|
|
950
952
|
if (block["output"] !== void 0) schemas.push([`${path}.output`, block["output"]]);
|
|
951
953
|
for (const group of ["signals", "queries", "updates"]) {
|
|
952
|
-
const members =
|
|
954
|
+
const members = chunkE3APHA6O_cjs.isRecord(block[group]) ? block[group] : {};
|
|
953
955
|
for (const [name, member] of Object.entries(members)) {
|
|
954
|
-
if (!
|
|
956
|
+
if (!chunkE3APHA6O_cjs.isRecord(member)) continue;
|
|
955
957
|
for (const part of ["payload", "args", "result"]) {
|
|
956
958
|
if (member[part] !== void 0)
|
|
957
959
|
schemas.push([`${path}.${group}.${name}.${part}`, member[part]]);
|
|
@@ -971,15 +973,15 @@ function checkInterface(block, path, fail) {
|
|
|
971
973
|
function shadowedInputs(nodes) {
|
|
972
974
|
const warnings = [];
|
|
973
975
|
for (const node of nodes) {
|
|
974
|
-
const data =
|
|
975
|
-
const declared =
|
|
976
|
+
const data = chunkE3APHA6O_cjs.isRecord(node["data"]) ? node["data"] : void 0;
|
|
977
|
+
const declared = chunkE3APHA6O_cjs.isRecord(data?.["inputs"]) ? data["inputs"] : void 0;
|
|
976
978
|
if (!declared) continue;
|
|
977
|
-
const dataArgs =
|
|
978
|
-
const args =
|
|
979
|
+
const dataArgs = chunkE3APHA6O_cjs.isRecord(data?.["args"]) ? data["args"] : void 0;
|
|
980
|
+
const args = chunkE3APHA6O_cjs.isRecord(node["args"]) ? node["args"] : void 0;
|
|
979
981
|
const staticParams = {
|
|
980
|
-
...
|
|
981
|
-
...
|
|
982
|
-
...
|
|
982
|
+
...chunkE3APHA6O_cjs.isRecord(node["config"]) ? node["config"] : {},
|
|
983
|
+
...chunkE3APHA6O_cjs.isRecord(dataArgs?.["state"]) ? dataArgs["state"] : {},
|
|
984
|
+
...chunkE3APHA6O_cjs.isRecord(args?.["state"]) ? args["state"] : {}
|
|
983
985
|
};
|
|
984
986
|
for (const key of Object.keys(declared)) {
|
|
985
987
|
if (!Object.hasOwn(staticParams, key)) continue;
|
|
@@ -997,26 +999,26 @@ function shadowedInputs(nodes) {
|
|
|
997
999
|
var WORKFLOW_DOCUMENT_FORMAT = "fluidgrids.workflow";
|
|
998
1000
|
var V2_CONFIG_KEYS = ["executionTimeout", "workflowTaskTimeout", "versioningBehavior"];
|
|
999
1001
|
function isV2Definition(definition) {
|
|
1000
|
-
if (!
|
|
1002
|
+
if (!chunkE3APHA6O_cjs.isRecord(definition)) return false;
|
|
1001
1003
|
if (definition["schemaVersion"] === 2) return true;
|
|
1002
1004
|
for (const key of ["interface", "code", "authoring"]) {
|
|
1003
1005
|
if (definition[key] !== void 0) return true;
|
|
1004
1006
|
}
|
|
1005
1007
|
const meta = definition["meta"];
|
|
1006
|
-
if (
|
|
1008
|
+
if (chunkE3APHA6O_cjs.isRecord(meta) && meta["layout"] !== void 0) return true;
|
|
1007
1009
|
const config = definition["config"];
|
|
1008
|
-
if (
|
|
1010
|
+
if (chunkE3APHA6O_cjs.isRecord(config) && V2_CONFIG_KEYS.some((key) => config[key] !== void 0)) return true;
|
|
1009
1011
|
const data = definition["data"];
|
|
1010
|
-
const nodes =
|
|
1012
|
+
const nodes = chunkE3APHA6O_cjs.isRecord(data) && Array.isArray(data["nodes"]) ? data["nodes"] : [];
|
|
1011
1013
|
return nodes.some(
|
|
1012
|
-
(node) =>
|
|
1014
|
+
(node) => chunkE3APHA6O_cjs.isRecord(node) && typeof node["type"] === "string" && chunk7YR7DI7B_cjs.V2_NODE_TYPES.has(node["type"])
|
|
1013
1015
|
);
|
|
1014
1016
|
}
|
|
1015
1017
|
function envelopeSchemaVersion(definition) {
|
|
1016
1018
|
return isV2Definition(definition) ? 2 : 1;
|
|
1017
1019
|
}
|
|
1018
1020
|
function exportDefinition(definition) {
|
|
1019
|
-
return isV2Definition(definition) ?
|
|
1021
|
+
return isV2Definition(definition) ? chunk7YR7DI7B_cjs.normalizeDefinition(definition) : definition;
|
|
1020
1022
|
}
|
|
1021
1023
|
function buildExportDocument(input) {
|
|
1022
1024
|
return {
|
|
@@ -1041,10 +1043,10 @@ function serializeWorkflowDocument(document, versionCreatedAt) {
|
|
|
1041
1043
|
`;
|
|
1042
1044
|
}
|
|
1043
1045
|
function readWorkflowDocument(value) {
|
|
1044
|
-
if (!
|
|
1046
|
+
if (!chunkE3APHA6O_cjs.isRecord(value)) return null;
|
|
1045
1047
|
if (value["format"] === WORKFLOW_DOCUMENT_FORMAT || "definitionJson" in value) {
|
|
1046
1048
|
const definitionJson = value["definitionJson"];
|
|
1047
|
-
if (!
|
|
1049
|
+
if (!chunkE3APHA6O_cjs.isRecord(definitionJson)) return null;
|
|
1048
1050
|
const schemaVersion = value["schemaVersion"];
|
|
1049
1051
|
return {
|
|
1050
1052
|
definitionJson,
|
|
@@ -1075,7 +1077,7 @@ function workflowInputsSchema(workflowInputs) {
|
|
|
1075
1077
|
const name = (rawName ?? "").trim();
|
|
1076
1078
|
if (!name) continue;
|
|
1077
1079
|
const type = (rawType ?? "").trim().toLowerCase();
|
|
1078
|
-
properties
|
|
1080
|
+
chunkE3APHA6O_cjs.setOwn(properties, name, FIELD_TYPES.has(type) ? { type } : {});
|
|
1079
1081
|
required.push(name);
|
|
1080
1082
|
}
|
|
1081
1083
|
return {
|
|
@@ -1086,15 +1088,15 @@ function workflowInputsSchema(workflowInputs) {
|
|
|
1086
1088
|
};
|
|
1087
1089
|
}
|
|
1088
1090
|
function deriveInterface(definition, options = {}) {
|
|
1089
|
-
if (!
|
|
1090
|
-
if (
|
|
1091
|
-
const data =
|
|
1092
|
-
const nodes = Array.isArray(data["nodes"]) ? data["nodes"].filter(
|
|
1093
|
-
const edges = Array.isArray(data["edges"]) ? data["edges"].filter(
|
|
1091
|
+
if (!chunkE3APHA6O_cjs.isRecord(definition)) return {};
|
|
1092
|
+
if (chunkE3APHA6O_cjs.isRecord(definition["interface"])) return definition["interface"];
|
|
1093
|
+
const data = chunkE3APHA6O_cjs.isRecord(definition["data"]) ? definition["data"] : {};
|
|
1094
|
+
const nodes = Array.isArray(data["nodes"]) ? data["nodes"].filter(chunkE3APHA6O_cjs.isRecord) : [];
|
|
1095
|
+
const edges = Array.isArray(data["edges"]) ? data["edges"].filter(chunkE3APHA6O_cjs.isRecord) : [];
|
|
1094
1096
|
const derived = {};
|
|
1095
1097
|
const call = nodes.find((node) => node["type"] === "internal:workflow-call");
|
|
1096
|
-
const callArgs =
|
|
1097
|
-
const callState =
|
|
1098
|
+
const callArgs = chunkE3APHA6O_cjs.isRecord(call?.["args"]) ? call["args"] : void 0;
|
|
1099
|
+
const callState = chunkE3APHA6O_cjs.isRecord(callArgs?.["state"]) ? callArgs["state"] : void 0;
|
|
1098
1100
|
if (callState?.["inputSource"] === "fields" && typeof callState["workflowInputs"] === "string") {
|
|
1099
1101
|
derived.input = workflowInputsSchema(callState["workflowInputs"]);
|
|
1100
1102
|
}
|
|
@@ -1102,14 +1104,14 @@ function deriveInterface(definition, options = {}) {
|
|
|
1102
1104
|
const terminals = nodes.filter((node) => !sources.has(node["id"]));
|
|
1103
1105
|
const terminal = terminals.length === 1 ? terminals[0] : void 0;
|
|
1104
1106
|
if (terminal && options.manifests && typeof terminal["type"] === "string") {
|
|
1105
|
-
const manifest =
|
|
1107
|
+
const manifest = chunkOSPTJCDI_cjs.findManifest(options.manifests, terminal["type"]);
|
|
1106
1108
|
const operationName = typeof terminal["operation_name"] === "string" ? terminal["operation_name"] : void 0;
|
|
1107
|
-
const operations = manifest ?
|
|
1109
|
+
const operations = manifest ? chunkOSPTJCDI_cjs.operationsOf(manifest) : [];
|
|
1108
1110
|
const operation = operationName ? operations.find((candidate) => candidate.name === operationName) : operations[0];
|
|
1109
1111
|
if (operation?.output_fields) {
|
|
1110
1112
|
derived.output = {
|
|
1111
1113
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
1112
|
-
...
|
|
1114
|
+
...chunkOSPTJCDI_cjs.fieldsSchema(operation.output_fields)
|
|
1113
1115
|
};
|
|
1114
1116
|
}
|
|
1115
1117
|
}
|
|
@@ -1118,63 +1120,63 @@ function deriveInterface(definition, options = {}) {
|
|
|
1118
1120
|
|
|
1119
1121
|
Object.defineProperty(exports, "diffDefinitions", {
|
|
1120
1122
|
enumerable: true,
|
|
1121
|
-
get: function () { return
|
|
1123
|
+
get: function () { return chunkTWOYB4Y7_cjs.diffDefinitions; }
|
|
1122
1124
|
});
|
|
1123
1125
|
Object.defineProperty(exports, "fieldSchema", {
|
|
1124
1126
|
enumerable: true,
|
|
1125
|
-
get: function () { return
|
|
1127
|
+
get: function () { return chunkOSPTJCDI_cjs.fieldSchema; }
|
|
1126
1128
|
});
|
|
1127
1129
|
Object.defineProperty(exports, "fieldsSchema", {
|
|
1128
1130
|
enumerable: true,
|
|
1129
|
-
get: function () { return
|
|
1131
|
+
get: function () { return chunkOSPTJCDI_cjs.fieldsSchema; }
|
|
1130
1132
|
});
|
|
1131
1133
|
Object.defineProperty(exports, "findManifest", {
|
|
1132
1134
|
enumerable: true,
|
|
1133
|
-
get: function () { return
|
|
1135
|
+
get: function () { return chunkOSPTJCDI_cjs.findManifest; }
|
|
1134
1136
|
});
|
|
1135
1137
|
Object.defineProperty(exports, "isTriggerOperation", {
|
|
1136
1138
|
enumerable: true,
|
|
1137
|
-
get: function () { return
|
|
1139
|
+
get: function () { return chunkOSPTJCDI_cjs.isTriggerOperation; }
|
|
1138
1140
|
});
|
|
1139
1141
|
Object.defineProperty(exports, "operationsOf", {
|
|
1140
1142
|
enumerable: true,
|
|
1141
|
-
get: function () { return
|
|
1143
|
+
get: function () { return chunkOSPTJCDI_cjs.operationsOf; }
|
|
1142
1144
|
});
|
|
1143
1145
|
Object.defineProperty(exports, "CODE_WORKFLOW_NODE_TYPE", {
|
|
1144
1146
|
enumerable: true,
|
|
1145
|
-
get: function () { return
|
|
1147
|
+
get: function () { return chunk7YR7DI7B_cjs.CODE_WORKFLOW_NODE_TYPE; }
|
|
1146
1148
|
});
|
|
1147
1149
|
Object.defineProperty(exports, "INTERNAL_TRIGGER_TYPES", {
|
|
1148
1150
|
enumerable: true,
|
|
1149
|
-
get: function () { return
|
|
1151
|
+
get: function () { return chunk7YR7DI7B_cjs.INTERNAL_TRIGGER_TYPES; }
|
|
1150
1152
|
});
|
|
1151
1153
|
Object.defineProperty(exports, "WAIT_FOR_SIGNAL_NODE_TYPE", {
|
|
1152
1154
|
enumerable: true,
|
|
1153
|
-
get: function () { return
|
|
1155
|
+
get: function () { return chunk7YR7DI7B_cjs.WAIT_FOR_SIGNAL_NODE_TYPE; }
|
|
1154
1156
|
});
|
|
1155
1157
|
Object.defineProperty(exports, "buildIdOf", {
|
|
1156
1158
|
enumerable: true,
|
|
1157
|
-
get: function () { return
|
|
1159
|
+
get: function () { return chunk7YR7DI7B_cjs.buildIdOf; }
|
|
1158
1160
|
});
|
|
1159
1161
|
Object.defineProperty(exports, "hashedProjection", {
|
|
1160
1162
|
enumerable: true,
|
|
1161
|
-
get: function () { return
|
|
1163
|
+
get: function () { return chunk7YR7DI7B_cjs.hashedProjection; }
|
|
1162
1164
|
});
|
|
1163
1165
|
Object.defineProperty(exports, "irHash", {
|
|
1164
1166
|
enumerable: true,
|
|
1165
|
-
get: function () { return
|
|
1167
|
+
get: function () { return chunk7YR7DI7B_cjs.irHash; }
|
|
1166
1168
|
});
|
|
1167
1169
|
Object.defineProperty(exports, "normalizeDefinition", {
|
|
1168
1170
|
enumerable: true,
|
|
1169
|
-
get: function () { return
|
|
1171
|
+
get: function () { return chunk7YR7DI7B_cjs.normalizeDefinition; }
|
|
1170
1172
|
});
|
|
1171
1173
|
Object.defineProperty(exports, "sourceHash", {
|
|
1172
1174
|
enumerable: true,
|
|
1173
|
-
get: function () { return
|
|
1175
|
+
get: function () { return chunk7YR7DI7B_cjs.sourceHash; }
|
|
1174
1176
|
});
|
|
1175
1177
|
Object.defineProperty(exports, "usesMergedParameters", {
|
|
1176
1178
|
enumerable: true,
|
|
1177
|
-
get: function () { return
|
|
1179
|
+
get: function () { return chunk7YR7DI7B_cjs.usesMergedParameters; }
|
|
1178
1180
|
});
|
|
1179
1181
|
Object.defineProperty(exports, "LAYOUT_COLUMN_WIDTH", {
|
|
1180
1182
|
enumerable: true,
|
|
@@ -1190,39 +1192,39 @@ Object.defineProperty(exports, "autoLayout", {
|
|
|
1190
1192
|
});
|
|
1191
1193
|
Object.defineProperty(exports, "CanonicalJsonError", {
|
|
1192
1194
|
enumerable: true,
|
|
1193
|
-
get: function () { return
|
|
1195
|
+
get: function () { return chunkCSYBNN3V_cjs.CanonicalJsonError; }
|
|
1194
1196
|
});
|
|
1195
1197
|
Object.defineProperty(exports, "canonicalJson", {
|
|
1196
1198
|
enumerable: true,
|
|
1197
|
-
get: function () { return
|
|
1199
|
+
get: function () { return chunkCSYBNN3V_cjs.canonicalJson; }
|
|
1198
1200
|
});
|
|
1199
1201
|
Object.defineProperty(exports, "sha256Hex", {
|
|
1200
1202
|
enumerable: true,
|
|
1201
|
-
get: function () { return
|
|
1203
|
+
get: function () { return chunkCSYBNN3V_cjs.sha256Hex; }
|
|
1202
1204
|
});
|
|
1203
1205
|
Object.defineProperty(exports, "sha256Tagged", {
|
|
1204
1206
|
enumerable: true,
|
|
1205
|
-
get: function () { return
|
|
1207
|
+
get: function () { return chunkCSYBNN3V_cjs.sha256Tagged; }
|
|
1206
1208
|
});
|
|
1207
1209
|
Object.defineProperty(exports, "stableStringify", {
|
|
1208
1210
|
enumerable: true,
|
|
1209
|
-
get: function () { return
|
|
1211
|
+
get: function () { return chunkCSYBNN3V_cjs.stableStringify; }
|
|
1210
1212
|
});
|
|
1211
1213
|
Object.defineProperty(exports, "formatRefExpression", {
|
|
1212
1214
|
enumerable: true,
|
|
1213
|
-
get: function () { return
|
|
1215
|
+
get: function () { return chunkE3APHA6O_cjs.formatRefExpression; }
|
|
1214
1216
|
});
|
|
1215
1217
|
Object.defineProperty(exports, "formatRefTemplate", {
|
|
1216
1218
|
enumerable: true,
|
|
1217
|
-
get: function () { return
|
|
1219
|
+
get: function () { return chunkE3APHA6O_cjs.formatRefTemplate; }
|
|
1218
1220
|
});
|
|
1219
1221
|
Object.defineProperty(exports, "parseRefExpression", {
|
|
1220
1222
|
enumerable: true,
|
|
1221
|
-
get: function () { return
|
|
1223
|
+
get: function () { return chunkE3APHA6O_cjs.parseRefExpression; }
|
|
1222
1224
|
});
|
|
1223
1225
|
Object.defineProperty(exports, "parseTemplate", {
|
|
1224
1226
|
enumerable: true,
|
|
1225
|
-
get: function () { return
|
|
1227
|
+
get: function () { return chunkE3APHA6O_cjs.parseTemplate; }
|
|
1226
1228
|
});
|
|
1227
1229
|
exports.IR_V2_SCHEMA = IR_V2_SCHEMA;
|
|
1228
1230
|
exports.IR_V2_SCHEMA_ID = IR_V2_SCHEMA_ID;
|
package/dist/ir/index.d.cts
CHANGED
|
@@ -610,6 +610,24 @@ interface ExecutorNodeView {
|
|
|
610
610
|
disabled: boolean;
|
|
611
611
|
nodeDataNodeType: unknown;
|
|
612
612
|
argsContextNodeType: unknown;
|
|
613
|
+
/**
|
|
614
|
+
* `data.operation_name` as the run-context node data carries it
|
|
615
|
+
* (`workflow-executor.service.ts:1823`).
|
|
616
|
+
*/
|
|
617
|
+
dataOperationName: unknown;
|
|
618
|
+
/** The node-state row version: `data.version || '1.0.0'` (`:3955`, `:4205`, `:4292`). */
|
|
619
|
+
nodeStateVersion: unknown;
|
|
620
|
+
/**
|
|
621
|
+
* The state an adapter or tool sub-node sees: `args.state || data.args.state || {}`
|
|
622
|
+
* (`:5539`, `:6486`). Sub-nodes resolve a registered store endpoint, so this is
|
|
623
|
+
* `undefined` for internal node types.
|
|
624
|
+
*/
|
|
625
|
+
subNodeState: unknown;
|
|
626
|
+
/**
|
|
627
|
+
* The operation a tool sub-node binds: `state.operation || data.operation_name`
|
|
628
|
+
* (`buildToolConfigLocally`, `:6491`). `undefined` for internal node types.
|
|
629
|
+
*/
|
|
630
|
+
toolOperation: unknown;
|
|
613
631
|
}
|
|
614
632
|
/** The executor-visible values of one node. */
|
|
615
633
|
declare function executorNodeView(node: unknown): ExecutorNodeView;
|
|
@@ -645,14 +663,6 @@ declare function isValidJsonSchema(schema: unknown): boolean;
|
|
|
645
663
|
/** Validate a workflow definition. */
|
|
646
664
|
declare function validate(definition: unknown, options?: ValidateOptions): ValidationResult;
|
|
647
665
|
|
|
648
|
-
/**
|
|
649
|
-
* Canonical JSON (RFC 8785, JSON Canonicalization Scheme).
|
|
650
|
-
*
|
|
651
|
-
* Object keys are sorted by UTF-16 code units, numbers use the ECMAScript
|
|
652
|
-
* shortest round-trip form, strings use the ECMAScript escaping, and there is
|
|
653
|
-
* no insignificant whitespace. The Python SDK implements the same scheme, so a
|
|
654
|
-
* graph lowered by either SDK hashes to the same `irHash`.
|
|
655
|
-
*/
|
|
656
666
|
declare class CanonicalJsonError extends Error {
|
|
657
667
|
constructor(message: string);
|
|
658
668
|
}
|
package/dist/ir/index.d.ts
CHANGED
|
@@ -610,6 +610,24 @@ interface ExecutorNodeView {
|
|
|
610
610
|
disabled: boolean;
|
|
611
611
|
nodeDataNodeType: unknown;
|
|
612
612
|
argsContextNodeType: unknown;
|
|
613
|
+
/**
|
|
614
|
+
* `data.operation_name` as the run-context node data carries it
|
|
615
|
+
* (`workflow-executor.service.ts:1823`).
|
|
616
|
+
*/
|
|
617
|
+
dataOperationName: unknown;
|
|
618
|
+
/** The node-state row version: `data.version || '1.0.0'` (`:3955`, `:4205`, `:4292`). */
|
|
619
|
+
nodeStateVersion: unknown;
|
|
620
|
+
/**
|
|
621
|
+
* The state an adapter or tool sub-node sees: `args.state || data.args.state || {}`
|
|
622
|
+
* (`:5539`, `:6486`). Sub-nodes resolve a registered store endpoint, so this is
|
|
623
|
+
* `undefined` for internal node types.
|
|
624
|
+
*/
|
|
625
|
+
subNodeState: unknown;
|
|
626
|
+
/**
|
|
627
|
+
* The operation a tool sub-node binds: `state.operation || data.operation_name`
|
|
628
|
+
* (`buildToolConfigLocally`, `:6491`). `undefined` for internal node types.
|
|
629
|
+
*/
|
|
630
|
+
toolOperation: unknown;
|
|
613
631
|
}
|
|
614
632
|
/** The executor-visible values of one node. */
|
|
615
633
|
declare function executorNodeView(node: unknown): ExecutorNodeView;
|
|
@@ -645,14 +663,6 @@ declare function isValidJsonSchema(schema: unknown): boolean;
|
|
|
645
663
|
/** Validate a workflow definition. */
|
|
646
664
|
declare function validate(definition: unknown, options?: ValidateOptions): ValidationResult;
|
|
647
665
|
|
|
648
|
-
/**
|
|
649
|
-
* Canonical JSON (RFC 8785, JSON Canonicalization Scheme).
|
|
650
|
-
*
|
|
651
|
-
* Object keys are sorted by UTF-16 code units, numbers use the ECMAScript
|
|
652
|
-
* shortest round-trip form, strings use the ECMAScript escaping, and there is
|
|
653
|
-
* no insignificant whitespace. The Python SDK implements the same scheme, so a
|
|
654
|
-
* graph lowered by either SDK hashes to the same `irHash`.
|
|
655
|
-
*/
|
|
656
666
|
declare class CanonicalJsonError extends Error {
|
|
657
667
|
constructor(message: string);
|
|
658
668
|
}
|