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