@oomol-lab/open-flow 0.1.0-beta.15 → 0.1.0-beta.17
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/browser/{createResourceDialog-mW21KMfJ.js → createResourceDialog-DOWv3Zj0.js} +24 -25
- package/dist/browser/dist-B_T-OpQp.js +4 -0
- package/dist/browser/{dist-C46JByB-.js → dist-Dz6Nglsd.js} +61 -61
- package/dist/browser/{esm-DOipoo54.js → esm-B7A42FzW.js} +11 -1
- package/dist/browser/flow-authoring.js +1464 -1463
- package/dist/browser/flow-change.js +1 -0
- package/dist/browser/flowChanges-BDLNaCWZ.js +11014 -0
- package/dist/browser/{flowRunInputEditorStore-NPGePkvP.js → flowRunInputEditorStore-BBqQIOCR.js} +1017 -4100
- package/dist/browser/{flowWorkspace-wssXq1cX.js → flowWorkspace-BtNfkYuG.js} +78243 -89430
- package/dist/browser/i18n-CNu41MKH.js +7021 -0
- package/dist/browser/inputValues-CQlPBtdF.js +43 -0
- package/dist/browser/{languages-i3Xmpt6S.js → languages-C0zQ4GSo.js} +2 -13
- package/dist/browser/licenses.md +78 -713
- package/dist/browser/main-BDnNHhkU.js +50 -0
- package/dist/browser/{markdownContent-BawLYUjh.js → markdownContent-BBgH9ZIV.js} +18 -18
- package/dist/browser/theme.css +429 -2
- package/dist/browser/ui-input.d.ts +3 -0
- package/dist/browser/ui-label.d.ts +3 -0
- package/dist/browser/ui-textarea.d.ts +3 -0
- package/dist/browser/ui.css +2 -0
- package/dist/browser/ui.css.d.ts +1 -0
- package/dist/browser/ui.d.ts +12 -0
- package/dist/browser/ui.js +2598 -0
- package/dist/browser/useValueChanged-DUuqLWPg.js +2944 -0
- package/dist/browser/workbench.css +1 -1
- package/dist/browser/workbench.js +1013 -712
- package/dist/browser/workbenchSelect-Bb3cewZj.js +11666 -0
- package/dist/common/control-api-conformance.js +395 -399
- package/dist/common/control-api-errors.d.ts +5 -0
- package/dist/common/control-api.d.ts +1 -6
- package/dist/common/control-api.js +1034 -1018
- package/dist/common/control-requests.js +1 -0
- package/dist/common/engine-contract.d.ts +2 -0
- package/dist/common/flow-encoding.js +1 -0
- package/dist/common/flow-semantics.js +2802 -2767
- package/dist/common/mcp.d.ts +220 -0
- package/dist/common/mcp.js +2959 -1495
- package/dist/common/runtime-contract.d.ts +2 -1
- package/dist/common/runtime-contract.js +99 -28
- package/dist/common/scheduler.js +1254 -1253
- package/package.json +9 -1
- package/dist/browser/DesignerIcon-Bzpx8BtG.js +0 -2272
- package/dist/browser/dist-CP0883sY.js +0 -4
- package/dist/browser/flowChanges-DYV6OEQd.js +0 -14094
- package/dist/browser/getPseudoElementBounds-Dfqo78k7.js +0 -7151
- package/dist/browser/inputValues-CEe8GspD.js +0 -30
- package/dist/browser/main-DmjVyuWr.js +0 -76
- package/dist/browser/select-DIMWIiL5.js +0 -7428
- package/dist/browser/workbenchSelect-NZCIKdkk.js +0 -30
|
@@ -4336,6 +4336,12 @@ function Ws(e) {
|
|
|
4336
4336
|
]));
|
|
4337
4337
|
return t;
|
|
4338
4338
|
}
|
|
4339
|
+
cs({
|
|
4340
|
+
pointer: D().max(4096).default(""),
|
|
4341
|
+
offset: k().int().nonnegative().default(0),
|
|
4342
|
+
limit: k().int().min(1).max(100).default(20),
|
|
4343
|
+
maxBytes: k().int().min(1).max(1048576).default(15e3)
|
|
4344
|
+
});
|
|
4339
4345
|
//#endregion
|
|
4340
4346
|
//#region src/control/common/results.ts
|
|
4341
4347
|
var Gs = Ws(), Ks = cs({
|
|
@@ -4368,11 +4374,6 @@ var Gs = Ws(), Ks = cs({
|
|
|
4368
4374
|
createdAt: D().datetime()
|
|
4369
4375
|
});
|
|
4370
4376
|
cs({
|
|
4371
|
-
pointer: D().max(4096).default(""),
|
|
4372
|
-
offset: k().int().nonnegative().default(0),
|
|
4373
|
-
limit: k().int().min(1).max(100).default(20),
|
|
4374
|
-
maxBytes: k().int().min(1).max(1048576).default(15e3)
|
|
4375
|
-
}), cs({
|
|
4376
4377
|
version: F(1),
|
|
4377
4378
|
runId: D(),
|
|
4378
4379
|
results: A(Js),
|
|
@@ -4384,65 +4385,130 @@ cs({
|
|
|
4384
4385
|
page: qs
|
|
4385
4386
|
}), new TextEncoder();
|
|
4386
4387
|
//#endregion
|
|
4388
|
+
//#region src/control/common/errors.ts
|
|
4389
|
+
var I = {
|
|
4390
|
+
authenticationRequired: "authentication.required",
|
|
4391
|
+
authorizationDenied: "authorization.denied",
|
|
4392
|
+
bindingUnresolved: "binding.unresolved",
|
|
4393
|
+
connectorActionNotFound: "connector.action-not-found",
|
|
4394
|
+
connectorUnconfigured: "connector.unconfigured",
|
|
4395
|
+
connectorUnavailable: "connector.unavailable",
|
|
4396
|
+
engineUnavailable: "engine.unavailable",
|
|
4397
|
+
engineUnsupported: "engine.unsupported",
|
|
4398
|
+
flowInvalid: "flow.invalid",
|
|
4399
|
+
flowNotFound: "flow.not-found",
|
|
4400
|
+
flowBusy: "flow.busy",
|
|
4401
|
+
flowConflict: "flow.conflict",
|
|
4402
|
+
flowPresentationConflict: "flow.presentation-conflict",
|
|
4403
|
+
flowRevisionConflict: "flow.revision-conflict",
|
|
4404
|
+
liveConflict: "live.conflict",
|
|
4405
|
+
liveNotFound: "live.not-found",
|
|
4406
|
+
pageInvalidCursor: "page.invalid-cursor",
|
|
4407
|
+
publicationConflict: "publication.conflict",
|
|
4408
|
+
publicationNotFound: "publication.not-found",
|
|
4409
|
+
publicationUnsupported: "publication.unsupported",
|
|
4410
|
+
publishOperationNotFound: "publication.operation-not-found",
|
|
4411
|
+
routeNotFound: "route.not-found",
|
|
4412
|
+
runConflict: "run.conflict",
|
|
4413
|
+
runEventsExpired: "run.events-expired",
|
|
4414
|
+
runInvalid: "run.invalid",
|
|
4415
|
+
runNotFound: "run.not-found",
|
|
4416
|
+
runNotTerminal: "run.not-terminal",
|
|
4417
|
+
runOverloaded: "run.overloaded",
|
|
4418
|
+
runWaitNotFound: "run.wait-not-found",
|
|
4419
|
+
triggerKeyInvalid: "trigger-key.invalid",
|
|
4420
|
+
triggerKeyNotFound: "trigger-key.not-found",
|
|
4421
|
+
triggerNotFound: "trigger.not-found",
|
|
4422
|
+
variableInvalid: "variable.invalid",
|
|
4423
|
+
variableLimitReached: "variable.limit-reached",
|
|
4424
|
+
variableNotFound: "variable.not-found"
|
|
4425
|
+
};
|
|
4426
|
+
I.authenticationRequired, I.authorizationDenied, I.bindingUnresolved, I.connectorActionNotFound, I.connectorUnconfigured, I.connectorUnavailable, I.engineUnavailable, I.engineUnsupported, I.flowInvalid, I.flowNotFound, I.flowBusy, I.flowConflict, I.flowPresentationConflict, I.flowRevisionConflict, I.liveConflict, I.liveNotFound, I.pageInvalidCursor, I.publicationConflict, I.publicationNotFound, I.publicationUnsupported, I.publishOperationNotFound, I.routeNotFound, I.runConflict, I.runEventsExpired, I.runInvalid, I.runNotFound, I.runNotTerminal, I.runOverloaded, I.runWaitNotFound, I.triggerKeyInvalid, I.triggerKeyNotFound, I.triggerNotFound, I.variableInvalid, I.variableLimitReached, I.variableNotFound;
|
|
4427
|
+
var Ys = class extends Error {
|
|
4428
|
+
constructor(e, t, n) {
|
|
4429
|
+
super(n), this.code = t, this.name = "ApiError", this.status = e;
|
|
4430
|
+
}
|
|
4431
|
+
};
|
|
4432
|
+
//#endregion
|
|
4433
|
+
//#region src/control/common/decoding.ts
|
|
4434
|
+
function L() {
|
|
4435
|
+
throw new Ys(502, "response.invalid", "The Control API returned an invalid response.");
|
|
4436
|
+
}
|
|
4437
|
+
function Xs(e) {
|
|
4438
|
+
return typeof e != "object" || !e || Array.isArray(e) ? L() : e;
|
|
4439
|
+
}
|
|
4440
|
+
function R(e) {
|
|
4441
|
+
return typeof e == "string" && e.length > 0 ? e : L();
|
|
4442
|
+
}
|
|
4443
|
+
function Zs(e) {
|
|
4444
|
+
return Number.isSafeInteger(e) ? e : L();
|
|
4445
|
+
}
|
|
4446
|
+
function Qs(e) {
|
|
4447
|
+
if (e === null || typeof e == "boolean" || typeof e == "string" || typeof e == "number" && Number.isFinite(e)) return e;
|
|
4448
|
+
if (Array.isArray(e)) return e.map(Qs);
|
|
4449
|
+
let t = Xs(e);
|
|
4450
|
+
return Object.fromEntries(Object.entries(t).map(([e, t]) => [e, Qs(t)]));
|
|
4451
|
+
}
|
|
4452
|
+
//#endregion
|
|
4387
4453
|
//#region src/flow/common/changeSchema.ts
|
|
4388
|
-
var
|
|
4389
|
-
description:
|
|
4390
|
-
jsonSchema:
|
|
4454
|
+
var z = D(), B = Ws(), $s = A(z), ec = j({
|
|
4455
|
+
description: z.optional(),
|
|
4456
|
+
jsonSchema: B,
|
|
4391
4457
|
nullable: $o(),
|
|
4392
|
-
handle:
|
|
4393
|
-
}),
|
|
4458
|
+
handle: z
|
|
4459
|
+
}), V = ec.extend({ value: B.optional() }), tc = j({
|
|
4394
4460
|
collapsed: $o().optional(),
|
|
4395
|
-
group:
|
|
4396
|
-
}),
|
|
4461
|
+
group: z
|
|
4462
|
+
}), nc = j({
|
|
4397
4463
|
kind: F("node"),
|
|
4398
|
-
nodeId:
|
|
4399
|
-
output:
|
|
4400
|
-
}),
|
|
4464
|
+
nodeId: z,
|
|
4465
|
+
output: z
|
|
4466
|
+
}), rc = j({
|
|
4401
4467
|
kind: F("flow"),
|
|
4402
|
-
input:
|
|
4403
|
-
}),
|
|
4404
|
-
|
|
4405
|
-
|
|
4468
|
+
input: z
|
|
4469
|
+
}), ic = M([
|
|
4470
|
+
nc,
|
|
4471
|
+
rc,
|
|
4406
4472
|
j({
|
|
4407
4473
|
kind: F("binding"),
|
|
4408
|
-
bindingId:
|
|
4474
|
+
bindingId: z
|
|
4409
4475
|
})
|
|
4410
|
-
]),
|
|
4476
|
+
]), ac = M([j({
|
|
4411
4477
|
kind: F("value"),
|
|
4412
|
-
value:
|
|
4478
|
+
value: B
|
|
4413
4479
|
}), j({
|
|
4414
4480
|
kind: F("sources"),
|
|
4415
|
-
sources: A(
|
|
4416
|
-
})]),
|
|
4417
|
-
inputs: A(M([
|
|
4418
|
-
outputs: A(M([
|
|
4419
|
-
},
|
|
4481
|
+
sources: A(ic)
|
|
4482
|
+
})]), oc = N(z, ac), sc = {
|
|
4483
|
+
inputs: A(M([V, tc])),
|
|
4484
|
+
outputs: A(M([ec, tc]))
|
|
4485
|
+
}, cc = j({
|
|
4420
4486
|
kind: F("connector"),
|
|
4421
|
-
action:
|
|
4422
|
-
connectionId:
|
|
4487
|
+
action: z,
|
|
4488
|
+
connectionId: z.optional(),
|
|
4423
4489
|
connections: A(j({
|
|
4424
|
-
connectionId:
|
|
4425
|
-
alias:
|
|
4490
|
+
connectionId: z,
|
|
4491
|
+
alias: z.optional()
|
|
4426
4492
|
}))
|
|
4427
|
-
}),
|
|
4428
|
-
...
|
|
4429
|
-
name:
|
|
4430
|
-
moduleId:
|
|
4431
|
-
capabilities: A(
|
|
4432
|
-
}),
|
|
4493
|
+
}), lc = j({
|
|
4494
|
+
...sc,
|
|
4495
|
+
name: z,
|
|
4496
|
+
moduleId: z,
|
|
4497
|
+
capabilities: A(cc).optional()
|
|
4498
|
+
}), uc = M([j({
|
|
4433
4499
|
kind: F("value"),
|
|
4434
|
-
value:
|
|
4500
|
+
value: B
|
|
4435
4501
|
}), j({
|
|
4436
4502
|
kind: F("input"),
|
|
4437
|
-
input:
|
|
4438
|
-
})]),
|
|
4439
|
-
...
|
|
4440
|
-
name:
|
|
4503
|
+
input: z
|
|
4504
|
+
})]), dc = M([uc, j({ kind: F("model") })]), fc = j({
|
|
4505
|
+
...sc,
|
|
4506
|
+
name: z,
|
|
4441
4507
|
executor: M([
|
|
4442
4508
|
j({
|
|
4443
4509
|
kind: F("connector"),
|
|
4444
|
-
action:
|
|
4445
|
-
connectionId:
|
|
4510
|
+
action: z,
|
|
4511
|
+
connectionId: z.optional()
|
|
4446
4512
|
}),
|
|
4447
4513
|
j({
|
|
4448
4514
|
kind: F("llm"),
|
|
@@ -4451,33 +4517,33 @@ var I = D(), L = Ws(), Ys = A(I), Xs = j({
|
|
|
4451
4517
|
j({
|
|
4452
4518
|
kind: F("agent"),
|
|
4453
4519
|
code: $o().optional(),
|
|
4454
|
-
model:
|
|
4455
|
-
prompt:
|
|
4456
|
-
system:
|
|
4520
|
+
model: z,
|
|
4521
|
+
prompt: uc,
|
|
4522
|
+
system: z,
|
|
4457
4523
|
maxRounds: k(),
|
|
4458
4524
|
tools: A(j({
|
|
4459
|
-
id:
|
|
4460
|
-
name:
|
|
4461
|
-
description:
|
|
4462
|
-
action:
|
|
4463
|
-
connectionId:
|
|
4525
|
+
id: z,
|
|
4526
|
+
name: z,
|
|
4527
|
+
description: z,
|
|
4528
|
+
action: z,
|
|
4529
|
+
connectionId: z.optional(),
|
|
4464
4530
|
approval: $o(),
|
|
4465
|
-
inputs: A(
|
|
4531
|
+
inputs: A(V.extend({ source: dc }))
|
|
4466
4532
|
})),
|
|
4467
4533
|
notification: j({
|
|
4468
|
-
taskId:
|
|
4469
|
-
messageHandle:
|
|
4470
|
-
inputs: N(
|
|
4534
|
+
taskId: z,
|
|
4535
|
+
messageHandle: z,
|
|
4536
|
+
inputs: N(z, uc)
|
|
4471
4537
|
}).optional()
|
|
4472
4538
|
})
|
|
4473
4539
|
])
|
|
4474
|
-
}),
|
|
4475
|
-
input:
|
|
4540
|
+
}), pc = {
|
|
4541
|
+
input: V,
|
|
4476
4542
|
cases: A(j({
|
|
4477
|
-
output:
|
|
4543
|
+
output: z,
|
|
4478
4544
|
relation: P(["all", "any"]),
|
|
4479
4545
|
expressions: A(j({
|
|
4480
|
-
input:
|
|
4546
|
+
input: z,
|
|
4481
4547
|
operator: P([
|
|
4482
4548
|
"!=",
|
|
4483
4549
|
"<",
|
|
@@ -4500,32 +4566,32 @@ var I = D(), L = Ws(), Ys = A(I), Xs = j({
|
|
|
4500
4566
|
"notHasValue",
|
|
4501
4567
|
"startsWith"
|
|
4502
4568
|
]),
|
|
4503
|
-
value:
|
|
4569
|
+
value: B.optional()
|
|
4504
4570
|
}))
|
|
4505
4571
|
})),
|
|
4506
|
-
defaultOutput:
|
|
4507
|
-
},
|
|
4572
|
+
defaultOutput: z.optional()
|
|
4573
|
+
}, mc = {
|
|
4508
4574
|
actions: M([hs([F("continue")]), hs([F("approve"), F("reject")])]),
|
|
4509
|
-
prompt:
|
|
4575
|
+
prompt: z,
|
|
4510
4576
|
notification: j({
|
|
4511
|
-
inputs:
|
|
4512
|
-
messageHandle:
|
|
4513
|
-
taskId:
|
|
4577
|
+
inputs: oc,
|
|
4578
|
+
messageHandle: z,
|
|
4579
|
+
taskId: z
|
|
4514
4580
|
}).optional()
|
|
4515
|
-
},
|
|
4516
|
-
inputsDef: A(
|
|
4581
|
+
}, hc = {
|
|
4582
|
+
inputsDef: A(V),
|
|
4517
4583
|
options: j({
|
|
4518
|
-
allowedMethods:
|
|
4519
|
-
allowedOrigins:
|
|
4584
|
+
allowedMethods: $s.optional(),
|
|
4585
|
+
allowedOrigins: $s.optional(),
|
|
4520
4586
|
noResponseBody: $o().optional(),
|
|
4521
|
-
responseData:
|
|
4522
|
-
responseHeaders: N(
|
|
4587
|
+
responseData: z.optional(),
|
|
4588
|
+
responseHeaders: N(z, z).optional(),
|
|
4523
4589
|
responseStatusCode: k().optional()
|
|
4524
4590
|
}).optional()
|
|
4525
|
-
},
|
|
4591
|
+
}, gc = A(M([j({
|
|
4526
4592
|
type: F("cron"),
|
|
4527
|
-
expression:
|
|
4528
|
-
timezone:
|
|
4593
|
+
expression: z,
|
|
4594
|
+
timezone: z
|
|
4529
4595
|
}), j({
|
|
4530
4596
|
type: F("every"),
|
|
4531
4597
|
unit: P([
|
|
@@ -4536,16 +4602,16 @@ var I = D(), L = Ws(), Ys = A(I), Xs = j({
|
|
|
4536
4602
|
"week"
|
|
4537
4603
|
]),
|
|
4538
4604
|
value: k()
|
|
4539
|
-
})])),
|
|
4540
|
-
configSchema:
|
|
4605
|
+
})])), _c = {
|
|
4606
|
+
configSchema: B,
|
|
4541
4607
|
definitionVersion: k(),
|
|
4542
|
-
description:
|
|
4543
|
-
displayName:
|
|
4544
|
-
key:
|
|
4545
|
-
name:
|
|
4546
|
-
payloadSchema:
|
|
4547
|
-
provider:
|
|
4548
|
-
},
|
|
4608
|
+
description: z,
|
|
4609
|
+
displayName: z,
|
|
4610
|
+
key: z,
|
|
4611
|
+
name: z,
|
|
4612
|
+
payloadSchema: B,
|
|
4613
|
+
provider: z
|
|
4614
|
+
}, vc = j({
|
|
4549
4615
|
body: j({
|
|
4550
4616
|
allowArray: $o(),
|
|
4551
4617
|
allowEmpty: $o(),
|
|
@@ -4565,361 +4631,291 @@ var I = D(), L = Ws(), Ys = A(I), Xs = j({
|
|
|
4565
4631
|
"PUT"
|
|
4566
4632
|
])),
|
|
4567
4633
|
successStatus: k()
|
|
4568
|
-
}),
|
|
4569
|
-
name:
|
|
4570
|
-
description:
|
|
4571
|
-
icon:
|
|
4572
|
-
},
|
|
4573
|
-
inputs:
|
|
4574
|
-
name:
|
|
4575
|
-
description:
|
|
4576
|
-
icon:
|
|
4634
|
+
}), yc = {
|
|
4635
|
+
name: z,
|
|
4636
|
+
description: z.optional(),
|
|
4637
|
+
icon: z.optional()
|
|
4638
|
+
}, bc = {
|
|
4639
|
+
inputs: oc,
|
|
4640
|
+
name: z.optional(),
|
|
4641
|
+
description: z.optional(),
|
|
4642
|
+
icon: z.optional(),
|
|
4577
4643
|
timeoutMs: k().optional()
|
|
4578
|
-
},
|
|
4644
|
+
}, xc = M([
|
|
4579
4645
|
j({
|
|
4580
|
-
...
|
|
4646
|
+
...bc,
|
|
4581
4647
|
kind: F("condition"),
|
|
4582
|
-
...
|
|
4648
|
+
...pc
|
|
4583
4649
|
}),
|
|
4584
4650
|
j({
|
|
4585
|
-
...
|
|
4651
|
+
...bc,
|
|
4652
|
+
inputs: rs().transform(() => ({})).default({}),
|
|
4586
4653
|
kind: F("value"),
|
|
4587
|
-
values: A(
|
|
4654
|
+
values: A(V)
|
|
4588
4655
|
}),
|
|
4589
4656
|
j({
|
|
4590
|
-
...
|
|
4657
|
+
...bc,
|
|
4591
4658
|
kind: F("subflow"),
|
|
4592
|
-
subflowId:
|
|
4659
|
+
subflowId: z
|
|
4593
4660
|
}),
|
|
4594
4661
|
j({
|
|
4595
|
-
...
|
|
4662
|
+
...bc,
|
|
4596
4663
|
kind: F("task"),
|
|
4597
|
-
task:
|
|
4598
|
-
additionalInputs: A(
|
|
4664
|
+
task: lc,
|
|
4665
|
+
additionalInputs: A(V).optional()
|
|
4599
4666
|
}),
|
|
4600
4667
|
j({
|
|
4601
|
-
...
|
|
4668
|
+
...bc,
|
|
4602
4669
|
kind: F("task"),
|
|
4603
|
-
taskId:
|
|
4604
|
-
additionalInputs: A(
|
|
4670
|
+
taskId: z,
|
|
4671
|
+
additionalInputs: A(V).optional()
|
|
4605
4672
|
}),
|
|
4606
4673
|
j({
|
|
4607
|
-
...
|
|
4674
|
+
...bc,
|
|
4608
4675
|
kind: F("wait"),
|
|
4609
|
-
input:
|
|
4610
|
-
...
|
|
4676
|
+
input: V,
|
|
4677
|
+
...mc
|
|
4611
4678
|
}).omit({ timeoutMs: !0 }),
|
|
4612
4679
|
j({
|
|
4613
|
-
...
|
|
4680
|
+
...yc,
|
|
4614
4681
|
kind: F("manual")
|
|
4615
4682
|
}),
|
|
4616
4683
|
j({
|
|
4617
|
-
...
|
|
4684
|
+
...yc,
|
|
4618
4685
|
kind: F("webhook"),
|
|
4619
|
-
...
|
|
4686
|
+
...hc
|
|
4620
4687
|
}),
|
|
4621
4688
|
j({
|
|
4622
|
-
...
|
|
4689
|
+
...yc,
|
|
4623
4690
|
kind: F("cron"),
|
|
4624
|
-
cronTimes:
|
|
4691
|
+
cronTimes: gc
|
|
4625
4692
|
}),
|
|
4626
4693
|
j({
|
|
4627
|
-
...
|
|
4694
|
+
...yc,
|
|
4628
4695
|
kind: F("poll"),
|
|
4629
|
-
bindingId:
|
|
4630
|
-
config: N(
|
|
4696
|
+
bindingId: z,
|
|
4697
|
+
config: N(z, B),
|
|
4631
4698
|
definition: j({
|
|
4632
|
-
...
|
|
4699
|
+
..._c,
|
|
4633
4700
|
type: F("poll")
|
|
4634
4701
|
}),
|
|
4635
|
-
pollTimes:
|
|
4702
|
+
pollTimes: gc
|
|
4636
4703
|
}),
|
|
4637
4704
|
j({
|
|
4638
|
-
...
|
|
4705
|
+
...yc,
|
|
4639
4706
|
kind: F("integration"),
|
|
4640
|
-
bindingId:
|
|
4641
|
-
config: N(
|
|
4707
|
+
bindingId: z,
|
|
4708
|
+
config: N(z, B),
|
|
4642
4709
|
definition: j({
|
|
4643
|
-
...
|
|
4710
|
+
..._c,
|
|
4644
4711
|
type: F("integration"),
|
|
4645
|
-
endpoint:
|
|
4712
|
+
endpoint: vc
|
|
4646
4713
|
})
|
|
4647
4714
|
})
|
|
4648
|
-
]),
|
|
4715
|
+
]), Sc = M([j({ kind: F("flow") }), j({
|
|
4649
4716
|
kind: F("subflow"),
|
|
4650
|
-
id:
|
|
4651
|
-
})]),
|
|
4652
|
-
source:
|
|
4653
|
-
target:
|
|
4654
|
-
sourceHandle:
|
|
4655
|
-
}),
|
|
4656
|
-
nodeId:
|
|
4657
|
-
target:
|
|
4658
|
-
},
|
|
4659
|
-
name:
|
|
4660
|
-
inputs: A(
|
|
4661
|
-
outputs: A(
|
|
4662
|
-
}),
|
|
4663
|
-
nodes: N(
|
|
4664
|
-
edges: A(
|
|
4665
|
-
}),
|
|
4717
|
+
id: z
|
|
4718
|
+
})]), Cc = j({
|
|
4719
|
+
source: z,
|
|
4720
|
+
target: z,
|
|
4721
|
+
sourceHandle: z.optional()
|
|
4722
|
+
}), H = {
|
|
4723
|
+
nodeId: z,
|
|
4724
|
+
target: Sc
|
|
4725
|
+
}, wc = j({
|
|
4726
|
+
name: z,
|
|
4727
|
+
inputs: A(V),
|
|
4728
|
+
outputs: A(ec.extend({ sources: A(M([nc, rc])) }))
|
|
4729
|
+
}), Tc = j({
|
|
4730
|
+
nodes: N(z, xc),
|
|
4731
|
+
edges: A(Cc).default([])
|
|
4732
|
+
}), Ec = j({
|
|
4666
4733
|
kind: P(["connection", "variable"]),
|
|
4667
|
-
target:
|
|
4668
|
-
}),
|
|
4669
|
-
name:
|
|
4670
|
-
imports:
|
|
4671
|
-
source:
|
|
4672
|
-
}),
|
|
4673
|
-
bindings: N(
|
|
4674
|
-
graph:
|
|
4675
|
-
subflows: N(
|
|
4676
|
-
tasks: N(
|
|
4734
|
+
target: z
|
|
4735
|
+
}), Dc = j({
|
|
4736
|
+
name: z,
|
|
4737
|
+
imports: $s,
|
|
4738
|
+
source: z
|
|
4739
|
+
}), Oc = j({
|
|
4740
|
+
bindings: N(z, Ec),
|
|
4741
|
+
graph: Tc,
|
|
4742
|
+
subflows: N(z, wc.extend({ graph: Tc })),
|
|
4743
|
+
tasks: N(z, fc)
|
|
4677
4744
|
});
|
|
4678
4745
|
j({
|
|
4679
4746
|
modelVersion: F(1),
|
|
4680
|
-
document:
|
|
4681
|
-
modules: N(
|
|
4747
|
+
document: Oc,
|
|
4748
|
+
modules: N(z, Dc)
|
|
4682
4749
|
}).extend({
|
|
4683
4750
|
kind: F("open-flow-flow-revision"),
|
|
4684
4751
|
version: F(1)
|
|
4685
4752
|
});
|
|
4686
|
-
var
|
|
4753
|
+
var kc = {
|
|
4687
4754
|
"binding.create": {
|
|
4688
|
-
bindingId:
|
|
4689
|
-
binding:
|
|
4755
|
+
bindingId: z,
|
|
4756
|
+
binding: Ec
|
|
4690
4757
|
},
|
|
4691
|
-
"binding.delete": { bindingId:
|
|
4758
|
+
"binding.delete": { bindingId: z },
|
|
4692
4759
|
"binding.target.set": {
|
|
4693
|
-
bindingId:
|
|
4694
|
-
before:
|
|
4695
|
-
value:
|
|
4760
|
+
bindingId: z,
|
|
4761
|
+
before: z,
|
|
4762
|
+
value: z
|
|
4696
4763
|
},
|
|
4697
4764
|
"graph.edge.connect": {
|
|
4698
|
-
target:
|
|
4699
|
-
edge:
|
|
4765
|
+
target: Sc,
|
|
4766
|
+
edge: Cc
|
|
4700
4767
|
},
|
|
4701
4768
|
"graph.edge.disconnect": {
|
|
4702
|
-
target:
|
|
4703
|
-
edge:
|
|
4769
|
+
target: Sc,
|
|
4770
|
+
edge: Cc
|
|
4704
4771
|
},
|
|
4705
4772
|
"graph.node.create": {
|
|
4706
|
-
...
|
|
4707
|
-
node:
|
|
4773
|
+
...H,
|
|
4774
|
+
node: xc
|
|
4708
4775
|
},
|
|
4709
|
-
"graph.node.delete":
|
|
4776
|
+
"graph.node.delete": H,
|
|
4710
4777
|
"graph.node.field.set": M([j({
|
|
4711
|
-
...
|
|
4778
|
+
...H,
|
|
4712
4779
|
kind: F("graph.node.field.set"),
|
|
4713
4780
|
field: P([
|
|
4714
4781
|
"description",
|
|
4715
4782
|
"icon",
|
|
4716
4783
|
"name"
|
|
4717
4784
|
]),
|
|
4718
|
-
before:
|
|
4719
|
-
value:
|
|
4785
|
+
before: z.optional(),
|
|
4786
|
+
value: z.optional()
|
|
4720
4787
|
}), j({
|
|
4721
|
-
...
|
|
4788
|
+
...H,
|
|
4722
4789
|
kind: F("graph.node.field.set"),
|
|
4723
4790
|
field: F("timeoutMs"),
|
|
4724
4791
|
before: k().optional(),
|
|
4725
4792
|
value: k().optional()
|
|
4726
4793
|
})]),
|
|
4727
4794
|
"graph.node.input.set": {
|
|
4728
|
-
...
|
|
4729
|
-
handle:
|
|
4730
|
-
before:
|
|
4731
|
-
value:
|
|
4795
|
+
...H,
|
|
4796
|
+
handle: z,
|
|
4797
|
+
before: ac.optional(),
|
|
4798
|
+
value: ac.optional()
|
|
4732
4799
|
},
|
|
4733
4800
|
"graph.node.additional-inputs.set": {
|
|
4734
|
-
...
|
|
4735
|
-
before: A(
|
|
4736
|
-
value: A(
|
|
4801
|
+
...H,
|
|
4802
|
+
before: A(V).optional(),
|
|
4803
|
+
value: A(V).optional()
|
|
4737
4804
|
},
|
|
4738
4805
|
"graph.node.condition.set": {
|
|
4739
|
-
...
|
|
4740
|
-
before: j(
|
|
4741
|
-
value: j(
|
|
4806
|
+
...H,
|
|
4807
|
+
before: j(pc),
|
|
4808
|
+
value: j(pc)
|
|
4742
4809
|
},
|
|
4743
4810
|
"graph.node.values.set": {
|
|
4744
|
-
...
|
|
4745
|
-
before: A(
|
|
4746
|
-
value: A(
|
|
4811
|
+
...H,
|
|
4812
|
+
before: A(V),
|
|
4813
|
+
value: A(V)
|
|
4747
4814
|
},
|
|
4748
4815
|
"graph.node.wait.set": {
|
|
4749
|
-
...
|
|
4816
|
+
...H,
|
|
4750
4817
|
target: j({ kind: F("flow") }),
|
|
4751
|
-
before: j(
|
|
4752
|
-
value: j(
|
|
4818
|
+
before: j(mc),
|
|
4819
|
+
value: j(mc)
|
|
4753
4820
|
},
|
|
4754
4821
|
"graph.node.webhook.set": {
|
|
4755
|
-
...
|
|
4822
|
+
...H,
|
|
4756
4823
|
target: j({ kind: F("flow") }),
|
|
4757
|
-
before: j(
|
|
4758
|
-
value: j(
|
|
4824
|
+
before: j(hc),
|
|
4825
|
+
value: j(hc)
|
|
4759
4826
|
},
|
|
4760
4827
|
"graph.node.task.ports.set": {
|
|
4761
|
-
...
|
|
4762
|
-
before: j(
|
|
4763
|
-
value: j(
|
|
4828
|
+
...H,
|
|
4829
|
+
before: j(sc),
|
|
4830
|
+
value: j(sc)
|
|
4764
4831
|
},
|
|
4765
4832
|
"graph.node.task.name.set": {
|
|
4766
|
-
...
|
|
4767
|
-
before:
|
|
4768
|
-
value:
|
|
4833
|
+
...H,
|
|
4834
|
+
before: z,
|
|
4835
|
+
value: z
|
|
4769
4836
|
},
|
|
4770
4837
|
"graph.node.task.capabilities.set": {
|
|
4771
|
-
...
|
|
4772
|
-
before: A(
|
|
4773
|
-
value: A(
|
|
4838
|
+
...H,
|
|
4839
|
+
before: A(cc).optional(),
|
|
4840
|
+
value: A(cc).optional()
|
|
4774
4841
|
},
|
|
4775
4842
|
"graph.trigger.config.set": {
|
|
4776
|
-
nodeId:
|
|
4777
|
-
name:
|
|
4778
|
-
before:
|
|
4779
|
-
value:
|
|
4843
|
+
nodeId: z,
|
|
4844
|
+
name: z,
|
|
4845
|
+
before: B.optional(),
|
|
4846
|
+
value: B.optional()
|
|
4780
4847
|
},
|
|
4781
4848
|
"graph.trigger.schedule.set": {
|
|
4782
|
-
nodeId:
|
|
4783
|
-
before:
|
|
4784
|
-
value:
|
|
4849
|
+
nodeId: z,
|
|
4850
|
+
before: gc,
|
|
4851
|
+
value: gc
|
|
4785
4852
|
},
|
|
4786
4853
|
"module.create": {
|
|
4787
|
-
moduleId:
|
|
4788
|
-
module:
|
|
4854
|
+
moduleId: z,
|
|
4855
|
+
module: Dc
|
|
4789
4856
|
},
|
|
4790
|
-
"module.delete": { moduleId:
|
|
4857
|
+
"module.delete": { moduleId: z },
|
|
4791
4858
|
"module.rename": {
|
|
4792
|
-
moduleId:
|
|
4793
|
-
before:
|
|
4794
|
-
name:
|
|
4859
|
+
moduleId: z,
|
|
4860
|
+
before: z,
|
|
4861
|
+
name: z
|
|
4795
4862
|
},
|
|
4796
4863
|
"module.source.replace": {
|
|
4797
|
-
moduleId:
|
|
4798
|
-
beforeImports:
|
|
4799
|
-
beforeSource:
|
|
4800
|
-
imports:
|
|
4801
|
-
source:
|
|
4864
|
+
moduleId: z,
|
|
4865
|
+
beforeImports: $s,
|
|
4866
|
+
beforeSource: z,
|
|
4867
|
+
imports: $s,
|
|
4868
|
+
source: z
|
|
4802
4869
|
},
|
|
4803
4870
|
"subflow.create": {
|
|
4804
|
-
subflowId:
|
|
4805
|
-
subflow:
|
|
4871
|
+
subflowId: z,
|
|
4872
|
+
subflow: wc.extend({ graph: Tc })
|
|
4806
4873
|
},
|
|
4807
4874
|
"subflow.definition.set": {
|
|
4808
|
-
subflowId:
|
|
4809
|
-
before:
|
|
4810
|
-
definition:
|
|
4875
|
+
subflowId: z,
|
|
4876
|
+
before: wc,
|
|
4877
|
+
definition: wc
|
|
4811
4878
|
},
|
|
4812
|
-
"subflow.delete": { subflowId:
|
|
4879
|
+
"subflow.delete": { subflowId: z },
|
|
4813
4880
|
"task.create": {
|
|
4814
|
-
taskId:
|
|
4815
|
-
task:
|
|
4881
|
+
taskId: z,
|
|
4882
|
+
task: fc
|
|
4816
4883
|
},
|
|
4817
|
-
"task.delete": { taskId:
|
|
4884
|
+
"task.delete": { taskId: z },
|
|
4818
4885
|
"task.connector.connection.set": {
|
|
4819
|
-
taskId:
|
|
4820
|
-
before:
|
|
4821
|
-
value:
|
|
4886
|
+
taskId: z,
|
|
4887
|
+
before: z.optional(),
|
|
4888
|
+
value: z.optional()
|
|
4822
4889
|
},
|
|
4823
4890
|
"task.agent.set": {
|
|
4824
|
-
taskId:
|
|
4825
|
-
before:
|
|
4826
|
-
value:
|
|
4891
|
+
taskId: z,
|
|
4892
|
+
before: fc,
|
|
4893
|
+
value: fc
|
|
4827
4894
|
},
|
|
4828
4895
|
"task.llm.mode.set": {
|
|
4829
|
-
taskId:
|
|
4896
|
+
taskId: z,
|
|
4830
4897
|
before: P(["chat", "json"]),
|
|
4831
4898
|
value: P(["chat", "json"])
|
|
4832
4899
|
},
|
|
4833
4900
|
"task.name.set": {
|
|
4834
|
-
taskId:
|
|
4835
|
-
before:
|
|
4836
|
-
value:
|
|
4901
|
+
taskId: z,
|
|
4902
|
+
before: z,
|
|
4903
|
+
value: z
|
|
4837
4904
|
}
|
|
4838
4905
|
};
|
|
4839
|
-
A(M([...new Map(Object.entries(
|
|
4906
|
+
A(M([...new Map(Object.entries(kc).map(([e, t]) => [e, t instanceof E ? t : j({
|
|
4840
4907
|
kind: F(e),
|
|
4841
4908
|
...t
|
|
4842
4909
|
})])).values()])).min(1), new TextEncoder();
|
|
4843
4910
|
//#endregion
|
|
4844
|
-
//#region src/control/common/
|
|
4845
|
-
var B = {
|
|
4846
|
-
authenticationRequired: "authentication.required",
|
|
4847
|
-
authorizationDenied: "authorization.denied",
|
|
4848
|
-
bindingUnresolved: "binding.unresolved",
|
|
4849
|
-
connectorActionNotFound: "connector.action-not-found",
|
|
4850
|
-
connectorUnconfigured: "connector.unconfigured",
|
|
4851
|
-
connectorUnavailable: "connector.unavailable",
|
|
4852
|
-
engineUnavailable: "engine.unavailable",
|
|
4853
|
-
engineUnsupported: "engine.unsupported",
|
|
4854
|
-
flowInvalid: "flow.invalid",
|
|
4855
|
-
flowNotFound: "flow.not-found",
|
|
4856
|
-
flowBusy: "flow.busy",
|
|
4857
|
-
flowConflict: "flow.conflict",
|
|
4858
|
-
flowPresentationConflict: "flow.presentation-conflict",
|
|
4859
|
-
flowRevisionConflict: "flow.revision-conflict",
|
|
4860
|
-
liveConflict: "live.conflict",
|
|
4861
|
-
liveNotFound: "live.not-found",
|
|
4862
|
-
pageInvalidCursor: "page.invalid-cursor",
|
|
4863
|
-
publicationConflict: "publication.conflict",
|
|
4864
|
-
publicationNotFound: "publication.not-found",
|
|
4865
|
-
publicationUnsupported: "publication.unsupported",
|
|
4866
|
-
publishOperationNotFound: "publication.operation-not-found",
|
|
4867
|
-
routeNotFound: "route.not-found",
|
|
4868
|
-
runConflict: "run.conflict",
|
|
4869
|
-
runEventsExpired: "run.events-expired",
|
|
4870
|
-
runInvalid: "run.invalid",
|
|
4871
|
-
runNotFound: "run.not-found",
|
|
4872
|
-
runNotTerminal: "run.not-terminal",
|
|
4873
|
-
runOverloaded: "run.overloaded",
|
|
4874
|
-
runWaitNotFound: "run.wait-not-found",
|
|
4875
|
-
triggerKeyInvalid: "trigger-key.invalid",
|
|
4876
|
-
triggerKeyNotFound: "trigger-key.not-found",
|
|
4877
|
-
triggerNotFound: "trigger.not-found",
|
|
4878
|
-
variableInvalid: "variable.invalid",
|
|
4879
|
-
variableLimitReached: "variable.limit-reached",
|
|
4880
|
-
variableNotFound: "variable.not-found"
|
|
4881
|
-
};
|
|
4882
|
-
B.authenticationRequired, B.authorizationDenied, B.bindingUnresolved, B.connectorActionNotFound, B.connectorUnconfigured, B.connectorUnavailable, B.engineUnavailable, B.engineUnsupported, B.flowInvalid, B.flowNotFound, B.flowBusy, B.flowConflict, B.flowPresentationConflict, B.flowRevisionConflict, B.liveConflict, B.liveNotFound, B.pageInvalidCursor, B.publicationConflict, B.publicationNotFound, B.publicationUnsupported, B.publishOperationNotFound, B.routeNotFound, B.runConflict, B.runEventsExpired, B.runInvalid, B.runNotFound, B.runNotTerminal, B.runOverloaded, B.runWaitNotFound, B.triggerKeyInvalid, B.triggerKeyNotFound, B.triggerNotFound, B.variableInvalid, B.variableLimitReached, B.variableNotFound;
|
|
4883
|
-
var Ec = [
|
|
4884
|
-
"canceled",
|
|
4885
|
-
"completed",
|
|
4886
|
-
"failed",
|
|
4887
|
-
"indeterminate",
|
|
4888
|
-
"queued",
|
|
4889
|
-
"running",
|
|
4890
|
-
"starting",
|
|
4891
|
-
"waiting"
|
|
4892
|
-
], Dc = class extends Error {
|
|
4893
|
-
constructor(e, t, n) {
|
|
4894
|
-
super(n), this.code = t, this.name = "ApiError", this.status = e;
|
|
4895
|
-
}
|
|
4896
|
-
};
|
|
4897
|
-
function V() {
|
|
4898
|
-
throw new Dc(502, "response.invalid", "The Control API returned an invalid response.");
|
|
4899
|
-
}
|
|
4900
|
-
function Oc(e) {
|
|
4901
|
-
return typeof e != "object" || !e || Array.isArray(e) ? V() : e;
|
|
4902
|
-
}
|
|
4903
|
-
function H(e) {
|
|
4904
|
-
return typeof e == "string" && e.length > 0 ? e : V();
|
|
4905
|
-
}
|
|
4906
|
-
function kc(e) {
|
|
4907
|
-
return Number.isSafeInteger(e) ? e : V();
|
|
4908
|
-
}
|
|
4911
|
+
//#region src/control/common/api.ts
|
|
4909
4912
|
function Ac(e) {
|
|
4910
|
-
|
|
4911
|
-
if (
|
|
4912
|
-
let t = Oc(e);
|
|
4913
|
-
return Object.fromEntries(Object.entries(t).map(([e, t]) => [e, Ac(t)]));
|
|
4914
|
-
}
|
|
4915
|
-
new Set(Ec);
|
|
4916
|
-
function jc(e) {
|
|
4917
|
-
let t = Oc(e), n = kc(t.sequence);
|
|
4918
|
-
if (n < 0) return V();
|
|
4913
|
+
let t = Xs(e), n = Zs(t.sequence);
|
|
4914
|
+
if (n < 0) return L();
|
|
4919
4915
|
let r = {
|
|
4920
|
-
createdAt:
|
|
4916
|
+
createdAt: R(t.createdAt),
|
|
4921
4917
|
sequence: n
|
|
4922
|
-
}, i =
|
|
4918
|
+
}, i = Xs(t.payload), a = t.kind;
|
|
4923
4919
|
switch (a) {
|
|
4924
4920
|
case "run.queued": return {
|
|
4925
4921
|
...r,
|
|
@@ -4930,39 +4926,39 @@ function jc(e) {
|
|
|
4930
4926
|
...r,
|
|
4931
4927
|
kind: a,
|
|
4932
4928
|
payload: {
|
|
4933
|
-
flowId:
|
|
4934
|
-
scopeId:
|
|
4935
|
-
...i.parentScopeId === void 0 ? {} : { parentScopeId:
|
|
4929
|
+
flowId: R(i.flowId),
|
|
4930
|
+
scopeId: R(i.scopeId),
|
|
4931
|
+
...i.parentScopeId === void 0 ? {} : { parentScopeId: R(i.parentScopeId) }
|
|
4936
4932
|
}
|
|
4937
4933
|
};
|
|
4938
4934
|
case "run.progress": return {
|
|
4939
4935
|
...r,
|
|
4940
4936
|
kind: a,
|
|
4941
4937
|
payload: {
|
|
4942
|
-
flowId:
|
|
4943
|
-
scopeId:
|
|
4944
|
-
progress:
|
|
4938
|
+
flowId: R(i.flowId),
|
|
4939
|
+
scopeId: R(i.scopeId),
|
|
4940
|
+
progress: jc(i.progress)
|
|
4945
4941
|
}
|
|
4946
4942
|
};
|
|
4947
4943
|
case "run.waiting": return {
|
|
4948
4944
|
...r,
|
|
4949
4945
|
kind: a,
|
|
4950
4946
|
payload: {
|
|
4951
|
-
expiresAt:
|
|
4952
|
-
nodeId:
|
|
4953
|
-
waitId:
|
|
4954
|
-
waitingSince:
|
|
4947
|
+
expiresAt: R(i.expiresAt),
|
|
4948
|
+
nodeId: R(i.nodeId),
|
|
4949
|
+
waitId: R(i.waitId),
|
|
4950
|
+
waitingSince: R(i.waitingSince)
|
|
4955
4951
|
}
|
|
4956
4952
|
};
|
|
4957
4953
|
case "run.resolved": {
|
|
4958
4954
|
let e = i.action;
|
|
4959
|
-
return e !== "approve" && e !== "continue" && e !== "reject" ?
|
|
4955
|
+
return e !== "approve" && e !== "continue" && e !== "reject" ? L() : {
|
|
4960
4956
|
...r,
|
|
4961
4957
|
kind: a,
|
|
4962
4958
|
payload: {
|
|
4963
4959
|
action: e,
|
|
4964
|
-
resolvedAt:
|
|
4965
|
-
waitId:
|
|
4960
|
+
resolvedAt: R(i.resolvedAt),
|
|
4961
|
+
waitId: R(i.waitId)
|
|
4966
4962
|
}
|
|
4967
4963
|
};
|
|
4968
4964
|
}
|
|
@@ -4972,12 +4968,12 @@ function jc(e) {
|
|
|
4972
4968
|
case "run.indeterminate": return {
|
|
4973
4969
|
...r,
|
|
4974
4970
|
kind: a,
|
|
4975
|
-
payload: { result:
|
|
4971
|
+
payload: { result: Qs(i.result) }
|
|
4976
4972
|
};
|
|
4977
4973
|
case "run.events-truncated": return {
|
|
4978
4974
|
...r,
|
|
4979
4975
|
kind: a,
|
|
4980
|
-
payload: Object.fromEntries(Object.entries(i).map(([e, t]) => [e,
|
|
4976
|
+
payload: Object.fromEntries(Object.entries(i).map(([e, t]) => [e, Qs(t)]))
|
|
4981
4977
|
};
|
|
4982
4978
|
case "node.started":
|
|
4983
4979
|
case "node.completed":
|
|
@@ -4986,22 +4982,22 @@ function jc(e) {
|
|
|
4986
4982
|
case "node.progress":
|
|
4987
4983
|
case "node.artifact": {
|
|
4988
4984
|
let e = {
|
|
4989
|
-
flowId:
|
|
4990
|
-
scopeId:
|
|
4991
|
-
nodeId:
|
|
4992
|
-
executionId:
|
|
4985
|
+
flowId: R(i.flowId),
|
|
4986
|
+
scopeId: R(i.scopeId),
|
|
4987
|
+
nodeId: R(i.nodeId),
|
|
4988
|
+
executionId: R(i.executionId)
|
|
4993
4989
|
};
|
|
4994
4990
|
switch (a) {
|
|
4995
4991
|
case "node.started": {
|
|
4996
4992
|
let t = i.nodeKind;
|
|
4997
|
-
return t !== void 0 && t !== "condition" && t !== "connector" && t !== "javascript" && t !== "llm" && t !== "agent" && t !== "subflow" && t !== "value" && t !== "wait" ?
|
|
4993
|
+
return t !== void 0 && t !== "condition" && t !== "connector" && t !== "javascript" && t !== "llm" && t !== "agent" && t !== "subflow" && t !== "value" && t !== "wait" ? L() : {
|
|
4998
4994
|
...r,
|
|
4999
4995
|
kind: a,
|
|
5000
4996
|
payload: {
|
|
5001
4997
|
...e,
|
|
5002
4998
|
...t === void 0 ? {} : { nodeKind: t },
|
|
5003
|
-
...i.nodeTitle === void 0 ? {} : { nodeTitle:
|
|
5004
|
-
...i.operation === void 0 ? {} : { operation:
|
|
4999
|
+
...i.nodeTitle === void 0 ? {} : { nodeTitle: R(i.nodeTitle) },
|
|
5000
|
+
...i.operation === void 0 ? {} : { operation: R(i.operation) }
|
|
5005
5001
|
}
|
|
5006
5002
|
};
|
|
5007
5003
|
}
|
|
@@ -5010,32 +5006,32 @@ function jc(e) {
|
|
|
5010
5006
|
kind: a,
|
|
5011
5007
|
payload: {
|
|
5012
5008
|
...e,
|
|
5013
|
-
outputs: Object.fromEntries(Object.entries(
|
|
5009
|
+
outputs: Object.fromEntries(Object.entries(Xs(i.outputs)).map(([e, t]) => [e, Qs(t)]))
|
|
5014
5010
|
}
|
|
5015
5011
|
};
|
|
5016
5012
|
case "node.failed": {
|
|
5017
|
-
let t =
|
|
5013
|
+
let t = Xs(i.error);
|
|
5018
5014
|
return {
|
|
5019
5015
|
...r,
|
|
5020
5016
|
kind: a,
|
|
5021
5017
|
payload: {
|
|
5022
5018
|
...e,
|
|
5023
5019
|
error: {
|
|
5024
|
-
code:
|
|
5025
|
-
message:
|
|
5020
|
+
code: R(t.code),
|
|
5021
|
+
message: R(t.message)
|
|
5026
5022
|
}
|
|
5027
5023
|
}
|
|
5028
5024
|
};
|
|
5029
5025
|
}
|
|
5030
5026
|
case "node.log": {
|
|
5031
5027
|
let t = i.level;
|
|
5032
|
-
return t !== "debug" && t !== "info" && t !== "warn" && t !== "error" ?
|
|
5028
|
+
return t !== "debug" && t !== "info" && t !== "warn" && t !== "error" ? L() : {
|
|
5033
5029
|
...r,
|
|
5034
5030
|
kind: a,
|
|
5035
5031
|
payload: {
|
|
5036
5032
|
...e,
|
|
5037
5033
|
level: t,
|
|
5038
|
-
message:
|
|
5034
|
+
message: R(i.message)
|
|
5039
5035
|
}
|
|
5040
5036
|
};
|
|
5041
5037
|
}
|
|
@@ -5044,34 +5040,34 @@ function jc(e) {
|
|
|
5044
5040
|
kind: a,
|
|
5045
5041
|
payload: {
|
|
5046
5042
|
...e,
|
|
5047
|
-
progress:
|
|
5043
|
+
progress: jc(i.progress)
|
|
5048
5044
|
}
|
|
5049
5045
|
};
|
|
5050
5046
|
case "node.artifact": {
|
|
5051
|
-
let t =
|
|
5052
|
-
return t.kind != "artifact" || n < 0 || !/^sha256:[0-9a-f]{64}$/.test(o) ?
|
|
5047
|
+
let t = Xs(i.artifact), n = Zs(t.size), o = R(t.digest);
|
|
5048
|
+
return t.kind != "artifact" || n < 0 || !/^sha256:[0-9a-f]{64}$/.test(o) ? L() : {
|
|
5053
5049
|
...r,
|
|
5054
5050
|
kind: a,
|
|
5055
5051
|
payload: {
|
|
5056
5052
|
...e,
|
|
5057
5053
|
artifact: {
|
|
5058
5054
|
kind: "artifact",
|
|
5059
|
-
id:
|
|
5060
|
-
name:
|
|
5055
|
+
id: R(t.id),
|
|
5056
|
+
name: R(t.name),
|
|
5061
5057
|
size: n,
|
|
5062
5058
|
digest: o,
|
|
5063
|
-
...t.mediaType === void 0 ? {} : { mediaType:
|
|
5059
|
+
...t.mediaType === void 0 ? {} : { mediaType: R(t.mediaType) }
|
|
5064
5060
|
}
|
|
5065
5061
|
}
|
|
5066
5062
|
};
|
|
5067
5063
|
}
|
|
5068
5064
|
}
|
|
5069
5065
|
}
|
|
5070
|
-
default: return
|
|
5066
|
+
default: return L();
|
|
5071
5067
|
}
|
|
5072
5068
|
}
|
|
5073
|
-
function
|
|
5074
|
-
return typeof e == "number" && Number.isFinite(e) && e >= 0 && e <= 100 ? e :
|
|
5069
|
+
function jc(e) {
|
|
5070
|
+
return typeof e == "number" && Number.isFinite(e) && e >= 0 && e <= 100 ? e : L();
|
|
5075
5071
|
}
|
|
5076
5072
|
//#endregion
|
|
5077
5073
|
//#region src/control/common/conformance.ts
|
|
@@ -5107,7 +5103,7 @@ function Z(e, t, n = {}) {
|
|
|
5107
5103
|
headers: r
|
|
5108
5104
|
}));
|
|
5109
5105
|
}
|
|
5110
|
-
function
|
|
5106
|
+
function Mc(e, t, n) {
|
|
5111
5107
|
return Z(e, "/v1/flows", {
|
|
5112
5108
|
body: JSON.stringify({
|
|
5113
5109
|
name: t,
|
|
@@ -5118,9 +5114,9 @@ function Nc(e, t, n) {
|
|
|
5118
5114
|
});
|
|
5119
5115
|
}
|
|
5120
5116
|
async function Q(e, t, n) {
|
|
5121
|
-
return Y(await
|
|
5117
|
+
return Y(await Mc(e, t, n), 201, "Create Flow");
|
|
5122
5118
|
}
|
|
5123
|
-
function
|
|
5119
|
+
function Nc(e, t, n, r, i = `change-${crypto.randomUUID()}`) {
|
|
5124
5120
|
return Z(e, `/v1/flows/${encodeURIComponent(t)}/draft/changes`, {
|
|
5125
5121
|
body: JSON.stringify({
|
|
5126
5122
|
expectedRevisionId: n,
|
|
@@ -5132,7 +5128,7 @@ function Pc(e, t, n, r, i = `change-${crypto.randomUUID()}`) {
|
|
|
5132
5128
|
});
|
|
5133
5129
|
}
|
|
5134
5130
|
function $(e, t, n, r = "marker", i) {
|
|
5135
|
-
return
|
|
5131
|
+
return Nc(e, t, n, [{
|
|
5136
5132
|
kind: "graph.node.create",
|
|
5137
5133
|
node: {
|
|
5138
5134
|
inputs: {},
|
|
@@ -5149,8 +5145,8 @@ function $(e, t, n, r = "marker", i) {
|
|
|
5149
5145
|
target: { kind: "flow" }
|
|
5150
5146
|
}], i);
|
|
5151
5147
|
}
|
|
5152
|
-
async function
|
|
5153
|
-
return
|
|
5148
|
+
async function Pc(e, t, n) {
|
|
5149
|
+
return Fc(await Y(await Nc(e, t, n, [{
|
|
5154
5150
|
kind: "graph.node.create",
|
|
5155
5151
|
node: {
|
|
5156
5152
|
kind: "manual",
|
|
@@ -5160,10 +5156,10 @@ async function Fc(e, t, n) {
|
|
|
5160
5156
|
target: { kind: "flow" }
|
|
5161
5157
|
}]), 200, "Add manual trigger"), "Manual trigger Revision");
|
|
5162
5158
|
}
|
|
5163
|
-
function
|
|
5159
|
+
function Fc(e, t) {
|
|
5164
5160
|
return J(K(e.revision, `${t} revision`).revisionId, `${t} revisionId`);
|
|
5165
5161
|
}
|
|
5166
|
-
function
|
|
5162
|
+
function Ic(e, t, n, r, i) {
|
|
5167
5163
|
return Z(e, `/v1/flows/${encodeURIComponent(t)}/revisions/${encodeURIComponent(n)}/publications`, {
|
|
5168
5164
|
body: JSON.stringify({
|
|
5169
5165
|
engineContract: U,
|
|
@@ -5174,7 +5170,7 @@ function Lc(e, t, n, r, i) {
|
|
|
5174
5170
|
method: "POST"
|
|
5175
5171
|
});
|
|
5176
5172
|
}
|
|
5177
|
-
async function
|
|
5173
|
+
async function Lc(e, t, n, r) {
|
|
5178
5174
|
let i = await Y(t, n, r), a = J(i.operationId, `${r} operationId`);
|
|
5179
5175
|
for (let t = 0; i.status == "pending" && t < 100; t += 1) await new Promise((e) => setTimeout(e, 10)), i = await Y(await Z(e, `/v1/flows/${J(i.flowId, `${r} flowId`)}/publish-operations/${a}`), 200, `${r} operation`);
|
|
5180
5176
|
G(i.status, "succeeded", `${r} terminal status`);
|
|
@@ -5184,7 +5180,7 @@ async function Rc(e, t, n, r) {
|
|
|
5184
5180
|
publication: s
|
|
5185
5181
|
};
|
|
5186
5182
|
}
|
|
5187
|
-
function
|
|
5183
|
+
function Rc(e, t, n, r, i) {
|
|
5188
5184
|
return Z(e, `/v1/flows/${encodeURIComponent(t)}/publications/${encodeURIComponent(n)}/rollback`, {
|
|
5189
5185
|
body: JSON.stringify({
|
|
5190
5186
|
expectedLivePublicationId: r,
|
|
@@ -5194,7 +5190,7 @@ function zc(e, t, n, r, i) {
|
|
|
5194
5190
|
method: "POST"
|
|
5195
5191
|
});
|
|
5196
5192
|
}
|
|
5197
|
-
function
|
|
5193
|
+
function zc(e, t, n) {
|
|
5198
5194
|
return Z(e, "/v1/runs", {
|
|
5199
5195
|
body: JSON.stringify({
|
|
5200
5196
|
inputs: {},
|
|
@@ -5209,11 +5205,11 @@ function Bc(e, t, n) {
|
|
|
5209
5205
|
method: "POST"
|
|
5210
5206
|
});
|
|
5211
5207
|
}
|
|
5212
|
-
var
|
|
5208
|
+
var Bc = [
|
|
5213
5209
|
{
|
|
5214
5210
|
name: "admits simultaneous retries as one Run and preserves its Trigger identity",
|
|
5215
5211
|
async verify(e) {
|
|
5216
|
-
let t = await Q(e, "Concurrent Run", "concurrent-run-flow"), n = J(t.flowId, "Flow ID"), r = await
|
|
5212
|
+
let t = await Q(e, "Concurrent Run", "concurrent-run-flow"), n = J(t.flowId, "Flow ID"), r = await Pc(e, n, J(t.draftRevisionId, "Revision ID")), i = (t = {}) => Z(e, `/v1/flows/${n}/revisions/${r}/runs`, {
|
|
5217
5213
|
method: "POST",
|
|
5218
5214
|
headers: { "idempotency-key": "concurrent-run" },
|
|
5219
5215
|
body: JSON.stringify({
|
|
@@ -5245,7 +5241,7 @@ var Vc = [
|
|
|
5245
5241
|
{
|
|
5246
5242
|
name: "deduplicates simultaneous creation and lost-response retries",
|
|
5247
5243
|
async verify(e) {
|
|
5248
|
-
let t = await Promise.all(Array.from({ length: 4 }, () =>
|
|
5244
|
+
let t = await Promise.all(Array.from({ length: 4 }, () => Mc(e, "Concurrent Flow", "concurrent-create")));
|
|
5249
5245
|
G(t.map((e) => e.status).toSorted(), [
|
|
5250
5246
|
200,
|
|
5251
5247
|
200,
|
|
@@ -5254,7 +5250,7 @@ var Vc = [
|
|
|
5254
5250
|
], "One creation commits");
|
|
5255
5251
|
let n = await Promise.all(t.map((e) => e.json()));
|
|
5256
5252
|
for (let e of n) G(e, n[0], "Concurrent replay identity");
|
|
5257
|
-
G(await Y(await
|
|
5253
|
+
G(await Y(await Mc(e, "Concurrent Flow", "concurrent-create"), 200, "Retry lost creation response"), n[0], "Lost-response replay"), await X(await Mc(e, "Different Flow", "concurrent-create"), 409, "flow.conflict", "Reject changed retry");
|
|
5258
5254
|
}
|
|
5259
5255
|
},
|
|
5260
5256
|
{
|
|
@@ -5313,7 +5309,7 @@ var Vc = [
|
|
|
5313
5309
|
name: "creates, replays, lists, reads, renames, and retires a Flow",
|
|
5314
5310
|
async verify(e) {
|
|
5315
5311
|
let t = await Q(e, "Control flow", "flow-lifecycle"), n = J(t.flowId, "Created Flow flowId"), r = J(t.draftRevisionId, "Created Flow draftRevisionId");
|
|
5316
|
-
G(t.name, "Control flow", "Created Flow name"), G(t.status, "active", "Created Flow status"), G(await Y(await
|
|
5312
|
+
G(t.name, "Control flow", "Created Flow name"), G(t.status, "active", "Created Flow status"), G(await Y(await Mc(e, "Control flow", "flow-lifecycle"), 200, "Replay Flow"), t, "Replayed Flow"), await X(await Mc(e, "Different flow", "flow-lifecycle"), 409, "flow.conflict", "Conflicting Flow"), G(await Y(await Z(e, `/v1/flows/${n}`), 200, "Read Flow"), t, "Read Flow");
|
|
5317
5313
|
let i = await Y(await Z(e, "/v1/flows?includeTotal=true"), 200, "List Flows");
|
|
5318
5314
|
G(i.flows, [t], "Listed Flows"), G(i.total, 1, "Flow total");
|
|
5319
5315
|
let a = await Q(e, "Second control flow", "flow-lifecycle-second"), o = await Y(await Z(e, "/v1/flows?limit=1"), 200, "List first Flow page");
|
|
@@ -5331,8 +5327,8 @@ var Vc = [
|
|
|
5331
5327
|
{
|
|
5332
5328
|
name: "commits immutable Draft Revisions for one Flow",
|
|
5333
5329
|
async verify(e) {
|
|
5334
|
-
let t = await Q(e, "Draft flow", "draft-flow"), n = J(t.flowId, "Draft Flow flowId"), r = J(t.draftRevisionId, "Draft Flow revisionId"), i = await Y(await $(e, n, r, "marker", "draft-change"), 200, "Change Draft"), a =
|
|
5335
|
-
G(K(i.revision, "Changed Draft revision").parentRevisionId, r, "Changed Draft parent"), G(await Y(await $(e, n, r, "marker", "draft-change"), 200, "Replay Draft change"), i, "Replayed Draft change"), await X(await $(e, n, r, "another-marker", "draft-change"), 409, "flow.conflict", "Conflicting Draft change replay"), await X(await $(e, n, a, "marker"), 400, "flow.invalid", "Duplicate Draft Node", "A Node with this ID already exists"), await X(await
|
|
5330
|
+
let t = await Q(e, "Draft flow", "draft-flow"), n = J(t.flowId, "Draft Flow flowId"), r = J(t.draftRevisionId, "Draft Flow revisionId"), i = await Y(await $(e, n, r, "marker", "draft-change"), 200, "Change Draft"), a = Fc(i, "Changed Draft");
|
|
5331
|
+
G(K(i.revision, "Changed Draft revision").parentRevisionId, r, "Changed Draft parent"), G(await Y(await $(e, n, r, "marker", "draft-change"), 200, "Replay Draft change"), i, "Replayed Draft change"), await X(await $(e, n, r, "another-marker", "draft-change"), 409, "flow.conflict", "Conflicting Draft change replay"), await X(await $(e, n, a, "marker"), 400, "flow.invalid", "Duplicate Draft Node", "A Node with this ID already exists"), await X(await Nc(e, n, a, [{
|
|
5336
5332
|
before: [{
|
|
5337
5333
|
handle: "ready",
|
|
5338
5334
|
jsonSchema: { type: "boolean" },
|
|
@@ -5367,7 +5363,7 @@ var Vc = [
|
|
|
5367
5363
|
version: 1
|
|
5368
5364
|
})
|
|
5369
5365
|
}), 200, "Update editor Presentation"), a = await Y(await Z(e, `/v1/flows/${n}/editor`), 200, "Read editor");
|
|
5370
|
-
G(a.version, 1, "Editor version"), G(K(a.flow, "Editor Flow").draftRevisionId,
|
|
5366
|
+
G(a.version, 1, "Editor version"), G(K(a.flow, "Editor Flow").draftRevisionId, Fc(r, "Editor change"), "Editor Draft head");
|
|
5371
5367
|
for (let t of [
|
|
5372
5368
|
"flow",
|
|
5373
5369
|
"draft",
|
|
@@ -5417,7 +5413,7 @@ var Vc = [
|
|
|
5417
5413
|
{
|
|
5418
5414
|
name: "admits a Draft entry while unrelated branches remain invalid",
|
|
5419
5415
|
async verify(e) {
|
|
5420
|
-
let t = await Q(e, "Partial Draft", "partial-draft"), n = J(t.flowId, "Partial Flow identity"), r =
|
|
5416
|
+
let t = await Q(e, "Partial Draft", "partial-draft"), n = J(t.flowId, "Partial Flow identity"), r = Fc(await Y(await Nc(e, n, await Pc(e, n, J(t.draftRevisionId, "Partial Draft identity")), [
|
|
5421
5417
|
{
|
|
5422
5418
|
kind: "graph.node.create",
|
|
5423
5419
|
nodeId: "other",
|
|
@@ -5473,13 +5469,13 @@ var Vc = [
|
|
|
5473
5469
|
version: 1
|
|
5474
5470
|
})
|
|
5475
5471
|
});
|
|
5476
|
-
await Y(await a("start"), 202, "Run valid entry"), await X(await a("other"), 400, "flow.invalid", "Reject invalid entry branch"), await X(await
|
|
5472
|
+
await Y(await a("start"), 202, "Run valid entry"), await X(await a("other"), 400, "flow.invalid", "Reject invalid entry branch"), await X(await Ic(e, n, r, null, "partial-publish"), 400, "flow.invalid", "Reject incomplete publication");
|
|
5477
5473
|
}
|
|
5478
5474
|
},
|
|
5479
5475
|
{
|
|
5480
5476
|
name: "validates, admits, lists, and cancels one Draft Run",
|
|
5481
5477
|
async verify(e) {
|
|
5482
|
-
let t = await Q(e, "Run flow", "run-flow"), n = J(t.flowId, "Run Flow flowId"), r = await
|
|
5478
|
+
let t = await Q(e, "Run flow", "run-flow"), n = J(t.flowId, "Run Flow flowId"), r = await Pc(e, n, J(t.draftRevisionId, "Run Flow revisionId"));
|
|
5483
5479
|
G((await Y(await Z(e, `/v1/flows/${n}/revisions/${r}/check`, {
|
|
5484
5480
|
body: JSON.stringify({
|
|
5485
5481
|
engineContract: U,
|
|
@@ -5562,7 +5558,7 @@ var Vc = [
|
|
|
5562
5558
|
name: "pauses, resolves, resumes, and cancels waiting Draft Runs",
|
|
5563
5559
|
runtime: !0,
|
|
5564
5560
|
async verify(e) {
|
|
5565
|
-
let t = await Q(e, "Wait flow", "wait-flow"), n = J(t.flowId, "Wait Flow flowId"), r = `/v1/flows/${n}/revisions/${
|
|
5561
|
+
let t = await Q(e, "Wait flow", "wait-flow"), n = J(t.flowId, "Wait Flow flowId"), r = `/v1/flows/${n}/revisions/${Fc(await Y(await Nc(e, n, await Pc(e, n, J(t.draftRevisionId, "Wait Flow revisionId")), [{
|
|
5566
5562
|
kind: "graph.node.create",
|
|
5567
5563
|
node: {
|
|
5568
5564
|
actions: ["approve", "reject"],
|
|
@@ -5609,7 +5605,7 @@ var Vc = [
|
|
|
5609
5605
|
let l = J(c.waitId, "Wait id");
|
|
5610
5606
|
G(q((await Y(await Z(e, `/v1/flows/${n}/runs?status=waiting`), 200, "List waiting Runs")).runs, "Waiting Runs").map((e) => K(e, "Waiting Run").runId), [o], "Waiting Run list");
|
|
5611
5607
|
let u = await Y(await Z(e, `/v1/runs/${o}/events`), 200, "Read waiting Run events");
|
|
5612
|
-
for (let e of q(u.events, "Run events"))
|
|
5608
|
+
for (let e of q(u.events, "Run events")) Ac(e);
|
|
5613
5609
|
G(u.done, !1, "Waiting events done"), q(u.events, "Waiting events").some((e) => K(e, "Waiting event").kind == "run.waiting") || W("Waiting Run must contain run.waiting."), await X(await Z(e, `/v1/runs/${o}/result`), 409, "run.not-terminal", "Read waiting Run result");
|
|
5614
5610
|
let d = `/v1/runs/${o}/waits/${l}/resolve`, f = (t) => Z(e, d, {
|
|
5615
5611
|
body: JSON.stringify({
|
|
@@ -5628,7 +5624,7 @@ var Vc = [
|
|
|
5628
5624
|
let ee = await Y(await f("approve"), 200, "Replay approved Wait");
|
|
5629
5625
|
G(ee.resolutionAccepted, !0, "Replayed resolution"), G(ee.status, "completed", "Replayed terminal status");
|
|
5630
5626
|
let te = await Y(await Z(e, `/v1/runs/${o}/events`), 200, "Read resumed Run events");
|
|
5631
|
-
for (let e of q(te.events, "Run events"))
|
|
5627
|
+
for (let e of q(te.events, "Run events")) Ac(e);
|
|
5632
5628
|
G(q(te.events, "Completed events").filter((e) => K(e, "Completed event").kind == "run.resolved").length, 1, "Resolved event count");
|
|
5633
5629
|
let ne = await i("wait-run-cancel", "Create cancelable Wait Run"), re = J(ne.runId, "Cancelable Wait Run id"), ie = ne;
|
|
5634
5630
|
for (let t = 0; ie.status != "waiting" && t < 200; t += 1) await new Promise((e) => setTimeout(e, 10)), ie = await Y(await Z(e, `/v1/runs/${re}`), 200, "Read cancelable Wait Run");
|
|
@@ -5683,11 +5679,11 @@ var Vc = [
|
|
|
5683
5679
|
await X(await c(o, "unsupported-engine/v1", "unsupported-run"), 409, "engine.unsupported", "Run unsupported Engine"), await X(await c(n, U, "missing-revision-run"), 404, "flow.not-found", "Run missing Revision");
|
|
5684
5680
|
}
|
|
5685
5681
|
}
|
|
5686
|
-
],
|
|
5682
|
+
], Vc = [
|
|
5687
5683
|
{
|
|
5688
5684
|
name: "controls Live admission independently from publishing and Draft testing",
|
|
5689
5685
|
async verify(e) {
|
|
5690
|
-
let t = await Q(e, "Enabled flow", "enabled-flow"), n = J(t.flowId, "Flow id"), r = await
|
|
5686
|
+
let t = await Q(e, "Enabled flow", "enabled-flow"), n = J(t.flowId, "Flow id"), r = await Pc(e, n, J(t.draftRevisionId, "Draft id")), i = (t, r) => Z(e, `/v1/flows/${n}/enabled`, {
|
|
5691
5687
|
method: "PUT",
|
|
5692
5688
|
body: JSON.stringify({
|
|
5693
5689
|
enabled: t,
|
|
@@ -5696,12 +5692,12 @@ var Vc = [
|
|
|
5696
5692
|
})
|
|
5697
5693
|
});
|
|
5698
5694
|
await X(await i(!0, "missing"), 409, "flow.conflict", "Cannot enable unpublished Flow");
|
|
5699
|
-
let a = J((await
|
|
5695
|
+
let a = J((await Lc(e, await Ic(e, n, r, null, "enable-first"), 202, "Publish")).publication.publicationId, "Publication id"), o = await Y(await i(!1, a), 200, "Disable");
|
|
5700
5696
|
G(o.live, {
|
|
5701
5697
|
enabled: !1,
|
|
5702
5698
|
publicationId: a,
|
|
5703
5699
|
revisionId: r
|
|
5704
|
-
}, "Disabled summary"), G((await Y(await Z(e, "/v1/flows"), 200, "List disabled Flow")).flows, [o], "List includes Live state"), G((await Y(await Z(e, `/v1/flows/${n}/live`), 200, "Disabled Live")).status, "suspended", "Disabled Live status"), await X(await
|
|
5700
|
+
}, "Disabled summary"), G((await Y(await Z(e, "/v1/flows"), 200, "List disabled Flow")).flows, [o], "List includes Live state"), G((await Y(await Z(e, `/v1/flows/${n}/live`), 200, "Disabled Live")).status, "suspended", "Disabled Live status"), await X(await zc(e, a, "disabled-run"), 412, "live.conflict", "Disabled Live rejects Run"), await Y(await Z(e, `/v1/flows/${n}/revisions/${r}/runs`, {
|
|
5705
5701
|
method: "POST",
|
|
5706
5702
|
headers: { "idempotency-key": "disabled-draft" },
|
|
5707
5703
|
body: JSON.stringify({
|
|
@@ -5714,17 +5710,17 @@ var Vc = [
|
|
|
5714
5710
|
version: 1
|
|
5715
5711
|
})
|
|
5716
5712
|
}), 202, "Disabled Flow permits Draft test");
|
|
5717
|
-
let s = J((await
|
|
5718
|
-
G(K((await Y(await Z(e, `/v1/flows/${n}`), 200, "Read Flow")).live, "Live").enabled, !1, "Publish preserves disabled state"), await X(await i(!0, a), 409, "flow.conflict", "Stale switch rejects"), await Y(await i(!0, s), 200, "Enable"), await Y(await
|
|
5713
|
+
let s = J((await Lc(e, await Ic(e, n, r, a, "enable-next"), 202, "Publish disabled Flow")).publication.publicationId, "Next Publication id");
|
|
5714
|
+
G(K((await Y(await Z(e, `/v1/flows/${n}`), 200, "Read Flow")).live, "Live").enabled, !1, "Publish preserves disabled state"), await X(await i(!0, a), 409, "flow.conflict", "Stale switch rejects"), await Y(await i(!0, s), 200, "Enable"), await Y(await zc(e, s, "enabled-run"), 202, "Enabled Live accepts Run");
|
|
5719
5715
|
}
|
|
5720
5716
|
},
|
|
5721
5717
|
{
|
|
5722
5718
|
name: "publishes one immutable Flow with idempotent Live CAS",
|
|
5723
5719
|
async verify(e) {
|
|
5724
|
-
let t = await Q(e, "Publication flow", "publication-flow"), n = J(t.flowId, "Publication Flow flowId"), r = await
|
|
5720
|
+
let t = await Q(e, "Publication flow", "publication-flow"), n = J(t.flowId, "Publication Flow flowId"), r = await Pc(e, n, J(t.draftRevisionId, "Publication Flow revisionId"));
|
|
5725
5721
|
G((await Y(await Z(e, `/v1/flows/${n}/live`), 200, "Read Live")).status, "not-published", "Initial Live status");
|
|
5726
|
-
let i = () =>
|
|
5727
|
-
G(await Y(await i(), 202, "Replay Publish"), a.operation, "Replayed Publish operation"), await X(await
|
|
5722
|
+
let i = () => Ic(e, n, r, null, "publication-first"), a = await Lc(e, await i(), 202, "Publish Flow"), o = a.publication, s = J(o.publicationId, "Publication id");
|
|
5723
|
+
G(await Y(await i(), 202, "Replay Publish"), a.operation, "Replayed Publish operation"), await X(await Ic(e, n, r, s, "publication-first"), 409, "publication.conflict", "Conflicting replay");
|
|
5728
5724
|
let c = await Y(await Z(e, `/v1/flows/${n}/live`), 200, "Read published Live");
|
|
5729
5725
|
G(c.publication, o, "Live Publication"), G((await Y(await Z(e, `/v1/flows/${n}/editor`), 200, "Read published editor")).live, c, "Published editor Live projection");
|
|
5730
5726
|
let l = await Y(await Z(e, `/v1/flows/${n}/publications?includeTotal=true`), 200, "List Publications");
|
|
@@ -5736,21 +5732,21 @@ var Vc = [
|
|
|
5736
5732
|
}),
|
|
5737
5733
|
headers: { "idempotency-key": "unsupported-publication" },
|
|
5738
5734
|
method: "POST"
|
|
5739
|
-
}), 409, "engine.unsupported", "Publish unsupported Engine"), await X(await
|
|
5735
|
+
}), 409, "engine.unsupported", "Publish unsupported Engine"), await X(await Ic(e, n, "00000000-0000-7000-8000-000000000002", s, "missing-revision-publication"), 404, "flow.not-found", "Publish missing Revision"), await X(await Rc(e, n, "00000000-0000-7000-8000-000000000004", s, "missing-rollback"), 404, "publication.not-found", "Rollback missing Publication"), await X(await zc(e, "00000000-0000-7000-8000-000000000004", "missing-publication-run"), 404, "publication.not-found", "Run missing Publication");
|
|
5740
5736
|
}
|
|
5741
5737
|
},
|
|
5742
5738
|
{
|
|
5743
5739
|
name: "rolls back immutable history and fixes a Live Run target",
|
|
5744
5740
|
async verify(e) {
|
|
5745
|
-
let t = await Q(e, "Rollback flow", "rollback-flow"), n = J(t.flowId, "Rollback Flow flowId"), r = await
|
|
5746
|
-
await X(await
|
|
5747
|
-
let c = () =>
|
|
5741
|
+
let t = await Q(e, "Rollback flow", "rollback-flow"), n = J(t.flowId, "Rollback Flow flowId"), r = await Pc(e, n, J(t.draftRevisionId, "Rollback Flow revisionId")), i = (await Lc(e, await Ic(e, n, r, null, "publish-first"), 202, "Publish first Revision")).publication, a = J(i.publicationId, "First Publication"), o = (await Lc(e, await Ic(e, n, Fc(await Y(await $(e, n, r), 200, "Change Draft"), "Second Revision"), a, "publish-second"), 202, "Publish second Revision")).publication, s = J(o.publicationId, "Second Publication");
|
|
5742
|
+
await X(await zc(e, a, "stale-live-run"), 412, "live.conflict", "Run stale Publication");
|
|
5743
|
+
let c = () => Rc(e, n, a, s, "rollback-first"), l = await Y(await c(), 201, "Rollback Flow"), u = J(l.publicationId, "Rollback Publication");
|
|
5748
5744
|
G(l.operation, "rollback", "Rollback operation"), G(l.sourcePublicationId, a, "Rollback source"), G(await Y(await c(), 200, "Replay Rollback"), l, "Replayed Rollback");
|
|
5749
|
-
let d = await Y(await
|
|
5750
|
-
G(d.flowId, n, "Live Run flowId"), G(d.revisionId, r, "Live Run revisionId"), await Y(await Z(e, `/v1/flows/${n}`, { method: "DELETE" }), 202, "Retire Flow"), await X(await
|
|
5745
|
+
let d = await Y(await zc(e, u, "rollback-run"), 202, "Create Live Run");
|
|
5746
|
+
G(d.flowId, n, "Live Run flowId"), G(d.revisionId, r, "Live Run revisionId"), await Y(await Z(e, `/v1/flows/${n}`, { method: "DELETE" }), 202, "Retire Flow"), await X(await zc(e, u, "retired-run"), 409, "flow.busy", "Run retired Flow");
|
|
5751
5747
|
}
|
|
5752
5748
|
}
|
|
5753
|
-
],
|
|
5749
|
+
], Hc = [{
|
|
5754
5750
|
name: "exposes one deployment-scoped Trigger Key catalog",
|
|
5755
5751
|
async verify(e) {
|
|
5756
5752
|
let t = await Y(await Z(e, "/v1/trigger-keys"), 200, "List Trigger Keys"), n = await Y(await Z(e, "/v1/trigger-keys/catalog"), 200, "List Trigger definitions"), r = q(t.keys, "Trigger Keys").map((e) => K(e, "Trigger Key")), i = q(n.definitions, "Trigger definitions").map((e) => K(e, "Trigger definition"));
|
|
@@ -5764,7 +5760,7 @@ var Vc = [
|
|
|
5764
5760
|
}, {
|
|
5765
5761
|
name: "operates and retires one Live Trigger binding",
|
|
5766
5762
|
async verify(e) {
|
|
5767
|
-
let t = await Q(e, "Trigger flow", "trigger-flow"), n = J(t.flowId, "Trigger Flow flowId"), r =
|
|
5763
|
+
let t = await Q(e, "Trigger flow", "trigger-flow"), n = J(t.flowId, "Trigger Flow flowId"), r = Fc(await Y(await Nc(e, n, J(t.draftRevisionId, "Trigger Flow revisionId"), [{
|
|
5768
5764
|
kind: "graph.node.create",
|
|
5769
5765
|
node: {
|
|
5770
5766
|
cronTimes: [{
|
|
@@ -5786,7 +5782,7 @@ var Vc = [
|
|
|
5786
5782
|
},
|
|
5787
5783
|
nodeId: "webhook",
|
|
5788
5784
|
target: { kind: "flow" }
|
|
5789
|
-
}]), 200, "Create Trigger nodes"), "Trigger Revision"), i = (await
|
|
5785
|
+
}]), 200, "Create Trigger nodes"), "Trigger Revision"), i = (await Lc(e, await Ic(e, n, r, null, "trigger-publication"), 202, "Publish Trigger Flow")).publication, a = J(i.publicationId, "Trigger Publication"), o = `/v1/flows/${n}/triggers`, s = q((await Y(await Z(e, o), 200, "List Trigger bindings")).bindings, "Trigger bindings").map((e) => K(e, "Trigger binding"));
|
|
5790
5786
|
G(s.map((e) => e.triggerNodeId), ["cron", "webhook"], "Trigger binding order");
|
|
5791
5787
|
for (let e of s) G(e.currentPublicationId, a, "Trigger Publication");
|
|
5792
5788
|
let c = `${o}/webhook`, l = J(K((await Y(await Z(e, c), 200, "Read Webhook")).binding, "Webhook").endpointUrl, "Webhook endpoint"), u = (t) => Z(e, `${c}/${t}`, {
|
|
@@ -5802,13 +5798,13 @@ var Vc = [
|
|
|
5802
5798
|
version: 1
|
|
5803
5799
|
})
|
|
5804
5800
|
});
|
|
5805
|
-
await Y(await d(!1), 200, "Disable Trigger Flow"), G((await e.request(new Request(l, { method: "POST" }))).status, 404, "Disabled Flow blocks callback"), await Y(await u("pause"), 200, "Pause binding while Flow disabled"), await Y(await d(!0), 200, "Enable Trigger Flow"), G((await e.request(new Request(l, { method: "POST" }))).status, 404, "Enabling preserves binding pause"), await Y(await u("resume"), 200, "Resume binding after enabling Flow"), G((await e.request(new Request(l, { method: "POST" }))).status, 200, "Enabled Flow permits callback"), await
|
|
5801
|
+
await Y(await d(!1), 200, "Disable Trigger Flow"), G((await e.request(new Request(l, { method: "POST" }))).status, 404, "Disabled Flow blocks callback"), await Y(await u("pause"), 200, "Pause binding while Flow disabled"), await Y(await d(!0), 200, "Enable Trigger Flow"), G((await e.request(new Request(l, { method: "POST" }))).status, 404, "Enabling preserves binding pause"), await Y(await u("resume"), 200, "Resume binding after enabling Flow"), G((await e.request(new Request(l, { method: "POST" }))).status, 200, "Enabled Flow permits callback"), await Lc(e, await Ic(e, n, Fc(await Y(await Nc(e, n, r, [{
|
|
5806
5802
|
kind: "graph.node.delete",
|
|
5807
5803
|
nodeId: "webhook",
|
|
5808
5804
|
target: { kind: "flow" }
|
|
5809
5805
|
}]), 200, "Delete Webhook"), "Retired Trigger Revision"), a, "retire-trigger"), 202, "Publish retired Trigger"), G(K((await Y(await Z(e, c), 200, "Read retired Webhook")).binding, "Retired Webhook").currentPublicationId, void 0, "Retired Publication");
|
|
5810
5806
|
}
|
|
5811
|
-
}],
|
|
5807
|
+
}], Uc = [{
|
|
5812
5808
|
name: "projects the deployment Connector catalog and authorized Connections",
|
|
5813
5809
|
async verify(e) {
|
|
5814
5810
|
let t = q((await Y(await Z(e, "/v1/connector/providers"), 200, "List Connector Providers")).providers, "Connector Providers").map((e) => K(e, "Connector Provider")), n = q((await Y(await Z(e, "/v1/connector/actions"), 200, "List Connector Actions")).actions, "Connector Actions").map((e) => K(e, "Connector Action"));
|
|
@@ -5828,12 +5824,12 @@ var Vc = [
|
|
|
5828
5824
|
async verify(e) {
|
|
5829
5825
|
await X(await Z(e, "/v1/connector/actions?service=mail&q=send"), 400, "flow.invalid", "Conflicting Connector query"), await X(await Z(e, "/v1/connector/actions?q=%20%20"), 400, "flow.invalid", "Empty Connector query"), await X(await Z(e, `/v1/connector/connections/${"a".repeat(257)}`), 400, "flow.invalid", "Oversized Connector service"), await X(await Z(e, "/v1/connector/actions/conformance.missing"), 404, "connector.action-not-found", "Missing Connector Action");
|
|
5830
5826
|
}
|
|
5831
|
-
}],
|
|
5827
|
+
}], Wc = [{
|
|
5832
5828
|
name: "preserves committed mutations and idempotency receipts after restart",
|
|
5833
5829
|
async verify(e) {
|
|
5834
5830
|
let t = await Q(e, "Recovery", "recovery-create"), n = J(t.flowId, "Flow ID"), r = J(t.draftRevisionId, "Revision ID"), i = await Y(await $(e, n, r, "marker", "recovery-change"), 200, "Commit change");
|
|
5835
|
-
await e.restart(), G((await Y(await
|
|
5831
|
+
await e.restart(), G((await Y(await Mc(e, "Recovery", "recovery-create"), 200, "Replay creation after restart")).flowId, n, "Durable creation identity"), G(await Y(await $(e, n, r, "marker", "recovery-change"), 200, "Replay change after restart"), i, "Durable change receipt"), G((await Y(await Z(e, `/v1/flows/${n}/draft`), 200, "Recovered Draft")).revisionId, K(i.revision, "Revision").revisionId, "Recovered head");
|
|
5836
5832
|
}
|
|
5837
5833
|
}];
|
|
5838
5834
|
//#endregion
|
|
5839
|
-
export {
|
|
5835
|
+
export { Uc as connectorControlApiConformanceCases, Bc as controlApiConformanceCases, Wc as controlRecoveryConformanceCases, Vc as publicationControlApiConformanceCases, Hc as triggerControlApiConformanceCases };
|