@oomol-lab/open-flow 0.1.0-beta.76 → 0.1.0-beta.77
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 +1 -0
- package/dist/browser/{ContentIcon-Cm1hbVzW.js → ContentIcon-VZQO8VZU.js} +8 -5
- package/dist/browser/{FlowCanvas-NzKtla_c.js → FlowCanvas-BNGDMaWr.js} +15 -3
- package/dist/browser/{createResourceDialog-BgdedQqu.js → createResourceDialog-BmtakfVg.js} +63 -57
- package/dist/browser/{dialog-aSElFFw2.js → dialog-BcFBfRB1.js} +84 -15
- package/dist/browser/{exportSvg-Dcz4HTo_.js → exportSvg-CG8hEUNk.js} +2 -2
- package/dist/browser/{flowChanges-NZyS7HSp.js → flowChanges-BGo_4Ypo.js} +5849 -10882
- package/dist/browser/{flowWorkspace-Bl0SDehy.js → flowWorkspace-BFHGev7s.js} +1025 -2607
- package/dist/browser/preview.css +112 -5
- package/dist/browser/preview.js +1630 -9295
- package/dist/browser/theme.css +4 -2
- package/dist/browser/{tooltip-3XMK9jkr.js → tooltip-BAWSUexx.js} +1 -1
- package/dist/browser/{typeScriptSession-C9sBGOKZ.js → typeScriptSession-CRoezJPN.js} +1 -1
- package/dist/browser/ui.css +111 -4
- package/dist/browser/ui.js +3 -2
- package/dist/browser/workbench.css +9906 -9778
- package/dist/browser/workbench.d.ts +6 -2
- package/dist/browser/workbench.js +838 -499
- package/dist/browser/{workbenchSelect-DBGP7Y4Z.js → workbenchSelect-CjK-xdm3.js} +2 -2
- package/dist/command/index.js +48 -48
- package/dist/common/authoring.d.ts +4 -4
- package/dist/common/authoringExamples.d.ts +3 -2
- package/dist/common/authoringSchema.d.ts +23 -4
- package/dist/common/control-api-conformance.js +162 -15
- package/dist/common/control-api-errors.d.ts +12 -0
- package/dist/common/control-api.d.ts +35 -2
- package/dist/common/control-api.js +187 -37
- package/dist/common/control-requests.d.ts +22 -3
- package/dist/common/control-requests.js +152 -14
- package/dist/common/engine-contract.d.ts +3 -2
- package/dist/common/flow-authoring.js +55 -7
- package/dist/common/flow-change-schema.d.ts +1 -1
- package/dist/common/flow-change.d.ts +2 -2
- package/dist/common/flow-change.js +56 -8
- package/dist/common/flow-encoding.js +55 -7
- package/dist/common/flow-semantics.js +91 -7
- package/dist/common/flow-state.d.ts +123 -0
- package/dist/common/flow-state.js +5852 -0
- package/dist/common/mcp.d.ts +96 -3
- package/dist/common/mcp.js +165 -13
- package/dist/common/run-events.js +1 -0
- package/dist/common/runtime-contract.d.ts +14 -0
- package/dist/common/runtime-contract.js +118 -5
- package/dist/common/scheduler-node-execution.d.ts +1 -0
- package/dist/common/scheduler.d.ts +1 -1
- package/dist/common/scheduler.js +52 -3
- package/dist/common/state-conformance.d.ts +16 -0
- package/dist/common/tags.d.ts +4 -0
- package/dist/index.d.ts +11 -0
- package/package.json +5 -1
- package/src/control/common/api.ts +84 -11
- package/src/control/common/authoring.ts +6 -1
- package/src/control/common/authoringExamples.ts +8 -0
- package/src/control/common/authoringSchema.ts +18 -12
- package/src/control/common/errors.ts +6 -0
- package/src/control/common/flowDecoders.ts +1 -0
- package/src/control/common/mcp.ts +16 -0
- package/src/control/common/requests.ts +10 -2
- package/src/control/common/tags.ts +20 -0
- package/src/execution/common/events.ts +3 -0
- package/src/execution/common/node-execution.ts +3 -0
- package/src/execution/common/scheduler.ts +2 -0
- package/src/flow/common/change.ts +2 -1
- package/src/flow/common/changeSchema.ts +11 -1
- package/src/flow/common/errorHandling.ts +1 -1
- package/src/flow/common/semantics.ts +20 -0
- package/src/runtime/common/engineContract.ts +6 -3
- package/src/runtime/common/runtime.ts +116 -0
- package/src/state/common/conformance.ts +86 -0
- package/src/state/common/state.ts +169 -0
- package/src/types/index.ts +11 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/runtime/common/engineContract.ts
|
|
2
|
-
/**
|
|
3
|
-
var currentEngineContract = "open-flow-engine/
|
|
2
|
+
/** v10 adds persistent Flow State to the published v9 Node compatibility and fetch contract. */
|
|
3
|
+
var currentEngineContract = "open-flow-engine/v10";
|
|
4
4
|
/** The published v8 Node compatibility contract, retained for existing Publications and Runs. */
|
|
5
5
|
var nodejsEngineContract = "open-flow-engine/v8/nodejs-compat-v1";
|
|
6
6
|
var platformSource = (contract) => `export const engineContract = ${JSON.stringify(contract)}
|
|
@@ -45,13 +45,19 @@ var nodejsContract = {
|
|
|
45
45
|
].flatMap((name) => [name, `node:${name}`])),
|
|
46
46
|
platformSource: platformSource(nodejsEngineContract)
|
|
47
47
|
};
|
|
48
|
-
var
|
|
48
|
+
var v9Contract = {
|
|
49
49
|
...nodejsContract,
|
|
50
50
|
codeFetch: true,
|
|
51
|
+
platformSource: platformSource("open-flow-engine/v9")
|
|
52
|
+
};
|
|
53
|
+
var currentContract = {
|
|
54
|
+
...v9Contract,
|
|
55
|
+
flowState: true,
|
|
51
56
|
platformSource: platformSource(currentEngineContract)
|
|
52
57
|
};
|
|
53
58
|
function findEngineContract(contract) {
|
|
54
|
-
if (contract == "open-flow-engine/
|
|
59
|
+
if (contract == "open-flow-engine/v10") return currentContract;
|
|
60
|
+
if (contract == "open-flow-engine/v9") return v9Contract;
|
|
55
61
|
if (contract == "open-flow-engine/v8") return v8Contract;
|
|
56
62
|
if (contract == "open-flow-engine/v8/nodejs-compat-v1") return nodejsContract;
|
|
57
63
|
if (contract == "open-flow-engine/v7" || contract == "open-flow-engine/v7/nodejs-compat-v1") return {
|
|
@@ -70,30 +76,6 @@ function findEngineContract(contract) {
|
|
|
70
76
|
};
|
|
71
77
|
}
|
|
72
78
|
//#endregion
|
|
73
|
-
//#region ../../node_modules/.bun/dequal@2.0.3/node_modules/dequal/lite/index.mjs
|
|
74
|
-
var has = Object.prototype.hasOwnProperty;
|
|
75
|
-
function dequal(foo, bar) {
|
|
76
|
-
var ctor, len;
|
|
77
|
-
if (foo === bar) return true;
|
|
78
|
-
if (foo && bar && (ctor = foo.constructor) === bar.constructor) {
|
|
79
|
-
if (ctor === Date) return foo.getTime() === bar.getTime();
|
|
80
|
-
if (ctor === RegExp) return foo.toString() === bar.toString();
|
|
81
|
-
if (ctor === Array) {
|
|
82
|
-
if ((len = foo.length) === bar.length) while (len-- && dequal(foo[len], bar[len]));
|
|
83
|
-
return len === -1;
|
|
84
|
-
}
|
|
85
|
-
if (!ctor || typeof foo === "object") {
|
|
86
|
-
len = 0;
|
|
87
|
-
for (ctor in foo) {
|
|
88
|
-
if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;
|
|
89
|
-
if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;
|
|
90
|
-
}
|
|
91
|
-
return Object.keys(bar).length === len;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return foo !== foo && bar !== bar;
|
|
95
|
-
}
|
|
96
|
-
//#endregion
|
|
97
79
|
//#region ../../node_modules/.bun/zod@4.6.5/node_modules/zod/v4/core/util.js
|
|
98
80
|
function getEnumValues(entries) {
|
|
99
81
|
const numericValues = Object.values(entries).filter((v) => typeof v === "number");
|
|
@@ -5768,6 +5750,76 @@ function datetime(params) {
|
|
|
5768
5750
|
return /* @__PURE__ */ _isoDateTime(ZodISODateTime, params);
|
|
5769
5751
|
}
|
|
5770
5752
|
//#endregion
|
|
5753
|
+
//#region ../../node_modules/.bun/dequal@2.0.3/node_modules/dequal/lite/index.mjs
|
|
5754
|
+
var has = Object.prototype.hasOwnProperty;
|
|
5755
|
+
function dequal(foo, bar) {
|
|
5756
|
+
var ctor, len;
|
|
5757
|
+
if (foo === bar) return true;
|
|
5758
|
+
if (foo && bar && (ctor = foo.constructor) === bar.constructor) {
|
|
5759
|
+
if (ctor === Date) return foo.getTime() === bar.getTime();
|
|
5760
|
+
if (ctor === RegExp) return foo.toString() === bar.toString();
|
|
5761
|
+
if (ctor === Array) {
|
|
5762
|
+
if ((len = foo.length) === bar.length) while (len-- && dequal(foo[len], bar[len]));
|
|
5763
|
+
return len === -1;
|
|
5764
|
+
}
|
|
5765
|
+
if (!ctor || typeof foo === "object") {
|
|
5766
|
+
len = 0;
|
|
5767
|
+
for (ctor in foo) {
|
|
5768
|
+
if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;
|
|
5769
|
+
if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;
|
|
5770
|
+
}
|
|
5771
|
+
return Object.keys(bar).length === len;
|
|
5772
|
+
}
|
|
5773
|
+
}
|
|
5774
|
+
return foo !== foo && bar !== bar;
|
|
5775
|
+
}
|
|
5776
|
+
strictObject({
|
|
5777
|
+
scope: _enum(["draft", "live"]),
|
|
5778
|
+
values: boolean().optional()
|
|
5779
|
+
});
|
|
5780
|
+
strictObject({
|
|
5781
|
+
scope: _enum(["draft", "live"]),
|
|
5782
|
+
key: string$1().min(1).refine((key) => new TextEncoder().encode(key).length <= 256).optional()
|
|
5783
|
+
});
|
|
5784
|
+
strictObject({
|
|
5785
|
+
scope: _enum(["draft", "live"]),
|
|
5786
|
+
space: string$1().regex(/^(flow|node:.+)$/)
|
|
5787
|
+
});
|
|
5788
|
+
var dedupeConfigSchema = strictObject({
|
|
5789
|
+
field: string$1().default(""),
|
|
5790
|
+
mode: _enum(["new", "increasing"]).default("new"),
|
|
5791
|
+
space: _enum(["node", "flow"]).default("node")
|
|
5792
|
+
});
|
|
5793
|
+
var dedupeExecutorSchema = dedupeConfigSchema.extend({ kind: literal("dedupe") });
|
|
5794
|
+
var flowStateViewSchema = object({
|
|
5795
|
+
version: literal(1),
|
|
5796
|
+
scope: _enum(["draft", "live"]),
|
|
5797
|
+
limits: object({
|
|
5798
|
+
maxValueBytes: number().positive(),
|
|
5799
|
+
maxValues: number().int().positive(),
|
|
5800
|
+
maxSpaces: number().int().positive(),
|
|
5801
|
+
maxIdentities: number().positive(),
|
|
5802
|
+
maxRunWrites: number().positive()
|
|
5803
|
+
}),
|
|
5804
|
+
values: array(object({
|
|
5805
|
+
key: string$1(),
|
|
5806
|
+
size: number().nonnegative(),
|
|
5807
|
+
updatedAt: number(),
|
|
5808
|
+
value: json$3().optional()
|
|
5809
|
+
})),
|
|
5810
|
+
spaces: array(object({
|
|
5811
|
+
space: string$1(),
|
|
5812
|
+
mode: _enum(["new", "increasing"]),
|
|
5813
|
+
count: number().nonnegative(),
|
|
5814
|
+
watermark: union([
|
|
5815
|
+
string$1(),
|
|
5816
|
+
number(),
|
|
5817
|
+
_null()
|
|
5818
|
+
]),
|
|
5819
|
+
updatedAt: number()
|
|
5820
|
+
}))
|
|
5821
|
+
});
|
|
5822
|
+
//#endregion
|
|
5771
5823
|
//#region src/json-schema-subset/utils.ts
|
|
5772
5824
|
var nextId = 0;
|
|
5773
5825
|
function createId() {
|
|
@@ -9045,7 +9097,8 @@ var managedFields = object({
|
|
|
9045
9097
|
flowId: text,
|
|
9046
9098
|
revisionId: text
|
|
9047
9099
|
}),
|
|
9048
|
-
httpRequestExecutorSchema
|
|
9100
|
+
httpRequestExecutorSchema,
|
|
9101
|
+
dedupeExecutorSchema
|
|
9049
9102
|
])
|
|
9050
9103
|
});
|
|
9051
9104
|
var managed = managedFields.transform(limitDecisionTask);
|
|
@@ -9315,7 +9368,8 @@ var revision = object({
|
|
|
9315
9368
|
literal(9),
|
|
9316
9369
|
literal(10),
|
|
9317
9370
|
literal(11),
|
|
9318
|
-
literal(12)
|
|
9371
|
+
literal(12),
|
|
9372
|
+
literal(13)
|
|
9319
9373
|
]),
|
|
9320
9374
|
document,
|
|
9321
9375
|
modules: record$2(text, module)
|
|
@@ -9516,6 +9570,7 @@ array(union([...new Map(Object.entries(shapes).map(([kind, shape]) => [kind, sha
|
|
|
9516
9570
|
...shape
|
|
9517
9571
|
})])).values()])).min(1);
|
|
9518
9572
|
function checkModelVersion(content) {
|
|
9573
|
+
if (content.modelVersion < 13 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind === "task" && "executor" in candidateNode.task && candidateNode.task.executor.kind === "dedupe")) throw new Error("Deduplication requires Flow model v13.");
|
|
9519
9574
|
if (content.modelVersion < 12 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "task" && "moduleId" in candidateNode.task && candidateNode.task.capabilities?.some((item) => item.kind == "http"))) throw new TypeError("Code HTTP access requires Flow model version 12.");
|
|
9520
9575
|
if (content.modelVersion < 11 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "task" && "executor" in candidateNode.task && candidateNode.task.executor.kind == "http-request")) throw new TypeError("HTTP Request requires Flow model version 11.");
|
|
9521
9576
|
if (content.modelVersion < 11 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "task" && ("moduleId" in candidateNode.task ? candidateNode.task.capabilities?.some((item) => item.kind == "workflow") : candidateNode.task.executor.kind == "agent" && candidateNode.task.executor.tools.some((item) => item.kind == "workflow")))) throw new TypeError("Workflow tools require Flow model version 11.");
|
|
@@ -9584,6 +9639,7 @@ var type = _enum([
|
|
|
9584
9639
|
"decision",
|
|
9585
9640
|
"openapi",
|
|
9586
9641
|
"http-request",
|
|
9642
|
+
"dedupe",
|
|
9587
9643
|
"condition",
|
|
9588
9644
|
"value",
|
|
9589
9645
|
"wait",
|
|
@@ -9714,6 +9770,7 @@ var authoringConfigurations = {
|
|
|
9714
9770
|
"connector": authoringDefinitionSchemas.connector.omit({ outputMode: true }).strict(),
|
|
9715
9771
|
"openapi": authoringOpenApiSchema,
|
|
9716
9772
|
"http-request": httpRequestConfigSchema,
|
|
9773
|
+
"dedupe": dedupeConfigSchema,
|
|
9717
9774
|
"agent": authoringDefinitionSchemas.agent.omit({
|
|
9718
9775
|
prompt: true,
|
|
9719
9776
|
tools: true
|
|
@@ -9981,6 +10038,9 @@ var controlErrorCode = {
|
|
|
9981
10038
|
triggerKeyInvalid: "trigger-key.invalid",
|
|
9982
10039
|
triggerKeyNotFound: "trigger-key.not-found",
|
|
9983
10040
|
triggerNotFound: "trigger.not-found",
|
|
10041
|
+
tagInvalid: "tag.invalid",
|
|
10042
|
+
tagConflict: "tag.conflict",
|
|
10043
|
+
tagNotFound: "tag.not-found",
|
|
9984
10044
|
variableInvalid: "variable.invalid",
|
|
9985
10045
|
variableLimitReached: "variable.limit-reached",
|
|
9986
10046
|
variableNotFound: "variable.not-found"
|
|
@@ -10029,6 +10089,9 @@ var controlErrorMetadata = {
|
|
|
10029
10089
|
[controlErrorCode.triggerKeyInvalid]: { status: 409 },
|
|
10030
10090
|
[controlErrorCode.triggerKeyNotFound]: { status: 404 },
|
|
10031
10091
|
[controlErrorCode.triggerNotFound]: { status: 404 },
|
|
10092
|
+
[controlErrorCode.tagInvalid]: { status: 400 },
|
|
10093
|
+
[controlErrorCode.tagConflict]: { status: 409 },
|
|
10094
|
+
[controlErrorCode.tagNotFound]: { status: 404 },
|
|
10032
10095
|
[controlErrorCode.variableInvalid]: { status: 400 },
|
|
10033
10096
|
[controlErrorCode.variableLimitReached]: { status: 409 },
|
|
10034
10097
|
[controlErrorCode.variableNotFound]: { status: 404 }
|
|
@@ -11915,6 +11978,7 @@ function flow(value) {
|
|
|
11915
11978
|
publicationId: string(target.publicationId),
|
|
11916
11979
|
revisionId: string(target.revisionId)
|
|
11917
11980
|
} },
|
|
11981
|
+
tagIds: source.tagIds === void 0 ? [] : strings(source.tagIds),
|
|
11918
11982
|
createdAt: string(source.createdAt),
|
|
11919
11983
|
...source.connectorTeamId == null ? {} : { connectorTeamId: string(source.connectorTeamId) },
|
|
11920
11984
|
draftRevisionId: string(source.draftRevisionId),
|
|
@@ -12360,6 +12424,33 @@ function randomId() {
|
|
|
12360
12424
|
return `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;
|
|
12361
12425
|
}
|
|
12362
12426
|
//#endregion
|
|
12427
|
+
//#region src/control/common/tags.ts
|
|
12428
|
+
function normalizeFlowQuery(query = {}) {
|
|
12429
|
+
return {
|
|
12430
|
+
query: query.query?.trim().toLowerCase() ?? "",
|
|
12431
|
+
tagIds: [...new Set(query.tagIds ?? [])].toSorted(),
|
|
12432
|
+
untagged: query.untagged ?? false
|
|
12433
|
+
};
|
|
12434
|
+
}
|
|
12435
|
+
function decodeTag(value) {
|
|
12436
|
+
const source = record(value);
|
|
12437
|
+
if (source.version != 1) return invalidResponse();
|
|
12438
|
+
return {
|
|
12439
|
+
tagId: string(source.tagId),
|
|
12440
|
+
name: string(source.name),
|
|
12441
|
+
version: 1
|
|
12442
|
+
};
|
|
12443
|
+
}
|
|
12444
|
+
function decodeTagListItem(value) {
|
|
12445
|
+
const source = record(value);
|
|
12446
|
+
const referenceCount = integer(source.referenceCount);
|
|
12447
|
+
if (referenceCount < 0) return invalidResponse();
|
|
12448
|
+
return {
|
|
12449
|
+
...decodeTag(source),
|
|
12450
|
+
referenceCount
|
|
12451
|
+
};
|
|
12452
|
+
}
|
|
12453
|
+
//#endregion
|
|
12363
12454
|
//#region src/control/common/api.ts
|
|
12364
12455
|
function isRunTerminalEvent(event) {
|
|
12365
12456
|
return event?.kind == "run.completed" || event?.kind == "run.failed" || event?.kind == "run.canceled" || event?.kind == "run.indeterminate";
|
|
@@ -12466,7 +12557,7 @@ function decodeRunEvent(value) {
|
|
|
12466
12557
|
switch (kind) {
|
|
12467
12558
|
case "node.started": {
|
|
12468
12559
|
const nodeKind = payload.nodeKind;
|
|
12469
|
-
if (nodeKind !== void 0 && nodeKind !== "approval" && nodeKind !== "condition" && nodeKind !== "connector" && nodeKind !== "javascript" && nodeKind !== "decision" && nodeKind !== "openapi" && nodeKind !== "http-request" && nodeKind !== "llm" && nodeKind !== "agent" && nodeKind !== "value" && nodeKind !== "outputs" && nodeKind !== "webhook-response" && nodeKind !== "workflow" && nodeKind !== "wait") return invalidResponse();
|
|
12560
|
+
if (nodeKind !== void 0 && nodeKind !== "approval" && nodeKind !== "condition" && nodeKind !== "connector" && nodeKind !== "javascript" && nodeKind !== "decision" && nodeKind !== "openapi" && nodeKind !== "http-request" && nodeKind !== "dedupe" && nodeKind !== "llm" && nodeKind !== "agent" && nodeKind !== "value" && nodeKind !== "outputs" && nodeKind !== "webhook-response" && nodeKind !== "workflow" && nodeKind !== "wait") return invalidResponse();
|
|
12470
12561
|
return {
|
|
12471
12562
|
...base,
|
|
12472
12563
|
kind,
|
|
@@ -12593,6 +12684,10 @@ var ControlClient = class {
|
|
|
12593
12684
|
}
|
|
12594
12685
|
async listFlows(options = {}) {
|
|
12595
12686
|
const parameters = new URLSearchParams();
|
|
12687
|
+
const filter = normalizeFlowQuery(options);
|
|
12688
|
+
if (filter.query) parameters.set("query", filter.query);
|
|
12689
|
+
if (filter.tagIds.length) parameters.set("tagIds", filter.tagIds.join(","));
|
|
12690
|
+
if (filter.untagged) parameters.set("untagged", "true");
|
|
12596
12691
|
if (options.cursor != null) parameters.set("cursor", options.cursor);
|
|
12597
12692
|
if (options.limit != null) parameters.set("limit", String(options.limit));
|
|
12598
12693
|
if (options.includeTotal != null) parameters.set("includeTotal", String(options.includeTotal));
|
|
@@ -12682,15 +12777,17 @@ var ControlClient = class {
|
|
|
12682
12777
|
file,
|
|
12683
12778
|
name: options.name,
|
|
12684
12779
|
teamId: options.teamId,
|
|
12780
|
+
tagIds: options.tagIds,
|
|
12685
12781
|
version: 1
|
|
12686
12782
|
})
|
|
12687
12783
|
}));
|
|
12688
12784
|
}
|
|
12689
|
-
async createFlow(name, idempotencyKey = `flow-${randomId()}`, teamId) {
|
|
12785
|
+
async createFlow(name, idempotencyKey = `flow-${randomId()}`, teamId, tagIds) {
|
|
12690
12786
|
return flow(await this.request("/v1/flows", {
|
|
12691
12787
|
body: JSON.stringify({
|
|
12692
12788
|
name,
|
|
12693
12789
|
...teamId == null ? {} : { teamId },
|
|
12790
|
+
...tagIds == null ? {} : { tagIds },
|
|
12694
12791
|
version: 1
|
|
12695
12792
|
}),
|
|
12696
12793
|
headers: { "idempotency-key": idempotencyKey },
|
|
@@ -12725,15 +12822,68 @@ var ControlClient = class {
|
|
|
12725
12822
|
if (source.version != 1 || !Array.isArray(source.listeners)) return invalidResponse();
|
|
12726
12823
|
return source.listeners.map(errorListener);
|
|
12727
12824
|
}
|
|
12728
|
-
async
|
|
12729
|
-
|
|
12825
|
+
async listTags(signal) {
|
|
12826
|
+
const source = record(await this.request("/v1/tags", { signal }));
|
|
12827
|
+
if (source.version != 1 || !Array.isArray(source.tags)) return invalidResponse();
|
|
12828
|
+
return {
|
|
12829
|
+
tags: source.tags.map(decodeTagListItem),
|
|
12830
|
+
version: 1
|
|
12831
|
+
};
|
|
12832
|
+
}
|
|
12833
|
+
async createTag(name) {
|
|
12834
|
+
return decodeTag(await this.request("/v1/tags", {
|
|
12835
|
+
method: "POST",
|
|
12730
12836
|
body: JSON.stringify({
|
|
12731
12837
|
name,
|
|
12732
12838
|
version: 1
|
|
12733
|
-
})
|
|
12734
|
-
method: "PATCH"
|
|
12839
|
+
})
|
|
12735
12840
|
}));
|
|
12736
12841
|
}
|
|
12842
|
+
async renameTag(tagId, name) {
|
|
12843
|
+
return decodeTag(await this.request(`/v1/tags/${segment(tagId)}`, {
|
|
12844
|
+
method: "PATCH",
|
|
12845
|
+
body: JSON.stringify({
|
|
12846
|
+
name,
|
|
12847
|
+
version: 1
|
|
12848
|
+
})
|
|
12849
|
+
}));
|
|
12850
|
+
}
|
|
12851
|
+
async deleteTag(tagId) {
|
|
12852
|
+
if (record(await this.request(`/v1/tags/${segment(tagId)}`, { method: "DELETE" })).version != 1) invalidResponse();
|
|
12853
|
+
}
|
|
12854
|
+
async setFlowTags(flowId, tagIds) {
|
|
12855
|
+
return flow(await this.request(`/v1/flows/${segment(flowId)}/tags`, {
|
|
12856
|
+
method: "PUT",
|
|
12857
|
+
body: JSON.stringify({
|
|
12858
|
+
tagIds,
|
|
12859
|
+
version: 1
|
|
12860
|
+
})
|
|
12861
|
+
}));
|
|
12862
|
+
}
|
|
12863
|
+
async updateFlow(flowId, changes) {
|
|
12864
|
+
return flow(await this.request(`/v1/flows/${segment(flowId)}`, {
|
|
12865
|
+
method: "PATCH",
|
|
12866
|
+
body: JSON.stringify({
|
|
12867
|
+
...changes,
|
|
12868
|
+
version: 1
|
|
12869
|
+
})
|
|
12870
|
+
}));
|
|
12871
|
+
}
|
|
12872
|
+
async getFlowState(flowId, scope, values = false) {
|
|
12873
|
+
const result = flowStateViewSchema.safeParse(await this.request(`/v1/flows/${segment(flowId)}/state?scope=${scope}&values=${values}`));
|
|
12874
|
+
return result.success && result.data.scope === scope ? result.data : invalidResponse();
|
|
12875
|
+
}
|
|
12876
|
+
async clearFlowState(flowId, scope, key) {
|
|
12877
|
+
const source = record(await this.request(`/v1/flows/${segment(flowId)}/state?scope=${scope}${key == null ? "" : `&key=${encodeURIComponent(key)}`}`, { method: "DELETE" }));
|
|
12878
|
+
if (source.version !== 1 || source.cleared !== true) invalidResponse();
|
|
12879
|
+
}
|
|
12880
|
+
async clearFlowDedupe(flowId, scope, space) {
|
|
12881
|
+
const source = record(await this.request(`/v1/flows/${segment(flowId)}/dedupe?scope=${scope}&space=${encodeURIComponent(space)}`, { method: "DELETE" }));
|
|
12882
|
+
if (source.version !== 1 || source.cleared !== true) invalidResponse();
|
|
12883
|
+
}
|
|
12884
|
+
async renameFlow(flowId, name) {
|
|
12885
|
+
return this.updateFlow(flowId, { name });
|
|
12886
|
+
}
|
|
12737
12887
|
async deleteFlow(flowId) {
|
|
12738
12888
|
return flow(await this.request(`/v1/flows/${segment(flowId)}`, { method: "DELETE" }));
|
|
12739
12889
|
}
|
|
@@ -13249,4 +13399,4 @@ var ControlClient = class {
|
|
|
13249
13399
|
}
|
|
13250
13400
|
};
|
|
13251
13401
|
//#endregion
|
|
13252
|
-
export { ApiError, ControlClient, actionSummary, controlErrorCode, controlErrorMetadata, connectorAccess as decodeConnectorAccess, connectorAccessSnapshot as decodeConnectorAccessSnapshot, decodeEventSource, decodeEventSources, decodeResultList, decodeResultRead, decodeRunEvent, decodeTriggerCatalog, flowInputDefinitions, flowInspection, inspectFlowDraft, isRunTerminalEvent, liveEntries, nodeDetails, parseProviderAccessSource, parseResultQuery, providerAccessBindingId, providerIconAppearance, readResult, searchTriggerKeys };
|
|
13402
|
+
export { ApiError, ControlClient, actionSummary, controlErrorCode, controlErrorMetadata, connectorAccess as decodeConnectorAccess, connectorAccessSnapshot as decodeConnectorAccessSnapshot, decodeEventSource, decodeEventSources, decodeResultList, decodeResultRead, decodeRunEvent, decodeTriggerCatalog, flowInputDefinitions, flowInspection, inspectFlowDraft, isRunTerminalEvent, liveEntries, nodeDetails, normalizeFlowQuery, parseProviderAccessSource, parseResultQuery, providerAccessBindingId, providerIconAppearance, readResult, searchTriggerKeys };
|
|
@@ -35,7 +35,7 @@ export declare const controlRequests: {
|
|
|
35
35
|
edits: ({
|
|
36
36
|
op: "node.add";
|
|
37
37
|
as: string;
|
|
38
|
-
type: "agent" | "approval" | "code" | "condition" | "connector" | "cron" | "decision" | "error" | "http-request" | "integration" | "llm" | "openapi" | "outputs" | "poll" | "start" | "value" | "wait" | "webhook" | "webhook-response" | "workflow";
|
|
38
|
+
type: "agent" | "approval" | "code" | "condition" | "connector" | "cron" | "decision" | "dedupe" | "error" | "http-request" | "integration" | "llm" | "openapi" | "outputs" | "poll" | "start" | "value" | "wait" | "webhook" | "webhook-response" | "workflow";
|
|
39
39
|
name: string;
|
|
40
40
|
onError?: "error" | "stop" | undefined;
|
|
41
41
|
retry?: {
|
|
@@ -178,12 +178,12 @@ export declare const controlRequests: {
|
|
|
178
178
|
authoringSearch: (value: unknown) => {
|
|
179
179
|
revision?: string | undefined;
|
|
180
180
|
query: string;
|
|
181
|
-
type?: "agent" | "approval" | "code" | "condition" | "connector" | "cron" | "decision" | "error" | "http-request" | "integration" | "llm" | "openapi" | "outputs" | "poll" | "start" | "value" | "wait" | "webhook" | "webhook-response" | "workflow" | undefined;
|
|
181
|
+
type?: "agent" | "approval" | "code" | "condition" | "connector" | "cron" | "decision" | "dedupe" | "error" | "http-request" | "integration" | "llm" | "openapi" | "outputs" | "poll" | "start" | "value" | "wait" | "webhook" | "webhook-response" | "workflow" | undefined;
|
|
182
182
|
offset: number;
|
|
183
183
|
limit: number;
|
|
184
184
|
};
|
|
185
185
|
authoringSchema: (value: unknown) => {
|
|
186
|
-
type?: "agent" | "approval" | "code" | "condition" | "connector" | "cron" | "decision" | "error" | "http-request" | "integration" | "llm" | "openapi" | "outputs" | "poll" | "start" | "value" | "wait" | "webhook" | "webhook-response" | "workflow" | undefined;
|
|
186
|
+
type?: "agent" | "approval" | "code" | "condition" | "connector" | "cron" | "decision" | "dedupe" | "error" | "http-request" | "integration" | "llm" | "openapi" | "outputs" | "poll" | "start" | "value" | "wait" | "webhook" | "webhook-response" | "workflow" | undefined;
|
|
187
187
|
action?: string | undefined;
|
|
188
188
|
};
|
|
189
189
|
loadOpenApiDocument: (value: unknown) => {
|
|
@@ -200,11 +200,30 @@ export declare const controlRequests: {
|
|
|
200
200
|
file: JsonValue;
|
|
201
201
|
name?: string | undefined;
|
|
202
202
|
teamId?: string | undefined;
|
|
203
|
+
tagIds?: string[] | undefined;
|
|
203
204
|
version: 1;
|
|
204
205
|
};
|
|
205
206
|
createFlow: (value: unknown) => {
|
|
206
207
|
name: string;
|
|
207
208
|
teamId?: string | undefined;
|
|
209
|
+
tagIds?: string[] | undefined;
|
|
210
|
+
version: 1;
|
|
211
|
+
};
|
|
212
|
+
saveTag: (value: unknown) => {
|
|
213
|
+
name: string;
|
|
214
|
+
version: 1;
|
|
215
|
+
};
|
|
216
|
+
setFlowTags: (value: unknown) => {
|
|
217
|
+
tagIds: string[];
|
|
218
|
+
version: 1;
|
|
219
|
+
};
|
|
220
|
+
updateFlow: (value: unknown) => {
|
|
221
|
+
name: string;
|
|
222
|
+
tagIds?: string[] | undefined;
|
|
223
|
+
version: 1;
|
|
224
|
+
} | {
|
|
225
|
+
name?: string | undefined;
|
|
226
|
+
tagIds: string[];
|
|
208
227
|
version: 1;
|
|
209
228
|
};
|
|
210
229
|
renameFlow: (value: unknown) => {
|