@oomol-lab/open-flow 0.1.0-beta.67 → 0.1.0-beta.69

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.
Files changed (72) hide show
  1. package/dist/browser/ContentIcon-CsECY5id.js +11868 -0
  2. package/dist/browser/FlowCanvas-C5X22xQ7.js +22721 -0
  3. package/dist/browser/{createResourceDialog-BQVD8Rqb.js → createResourceDialog-Di5BBrQv.js} +3 -2
  4. package/dist/browser/dialog-Bjo-r9B0.js +8862 -0
  5. package/dist/browser/event-sources.d.ts +4 -2
  6. package/dist/browser/exportSvg-Cj6Spxx-.js +659 -0
  7. package/dist/browser/flow-authoring-node.d.ts +3 -1
  8. package/dist/browser/flow-authoring.js +68 -7
  9. package/dist/browser/flow-change-schema.d.ts +3 -1
  10. package/dist/browser/flow-change.d.ts +17 -2
  11. package/dist/browser/flow-change.js +82 -9
  12. package/dist/browser/{flowChanges-VB9Y4iy7.js → flowChanges-Dp-rcEJ6.js} +4312 -16566
  13. package/dist/browser/{flowRunInputEditorStore-DJqmR6Qh.js → flowRunInputEditorStore-ys1-w9GW.js} +2 -1
  14. package/dist/browser/{flowWorkspace-C1hlTnZq.js → flowWorkspace-CB1QACku.js} +1304 -23538
  15. package/dist/browser/languages-gYzoQqCi.js +68 -0
  16. package/dist/browser/licenses.md +24 -0
  17. package/dist/browser/preview.css +53 -41
  18. package/dist/browser/preview.js +3974 -4094
  19. package/dist/browser/{dialog-CS2Vt2if.js → tooltip-CJjYs_2I.js} +710 -9472
  20. package/dist/browser/{typeScriptSession-D0bjYDeg.js → typeScriptSession-B0hC-C8y.js} +1 -1
  21. package/dist/browser/ui.css +12 -0
  22. package/dist/browser/{value-BADHeZ9I.js → value-BbFQZZ_V.js} +1 -68
  23. package/dist/browser/workbench.css +2840 -2824
  24. package/dist/browser/workbench.js +437 -337
  25. package/dist/browser/{workbenchSelect-CpXhjUou.js → workbenchSelect-C3hxUcYm.js} +2 -1
  26. package/dist/command/index.js +55 -51
  27. package/dist/common/authoring.d.ts +20 -0
  28. package/dist/common/authoringSchema.d.ts +243 -0
  29. package/dist/common/connector-proxy.d.ts +4 -0
  30. package/dist/common/control-api-conformance.js +173 -36
  31. package/dist/common/control-api.d.ts +22 -8
  32. package/dist/common/control-api.js +156 -18
  33. package/dist/common/control-requests.d.ts +32 -19
  34. package/dist/common/control-requests.js +2854 -152
  35. package/dist/common/decision.js +27 -3
  36. package/dist/common/engine-contract.d.ts +2 -2
  37. package/dist/common/event-source-definition.d.ts +34 -16
  38. package/dist/common/event-source.d.ts +63 -5
  39. package/dist/common/event-source.js +5744 -261
  40. package/dist/common/event-sources.d.ts +99 -6
  41. package/dist/common/flow-encoding.js +49 -10
  42. package/dist/common/flow-errorHandling.d.ts +36 -0
  43. package/dist/common/flow-graph.d.ts +4 -2
  44. package/dist/common/flow-retry.d.ts +19 -0
  45. package/dist/common/flow-semantics.js +94 -10
  46. package/dist/common/{fr-Du5gv3kM.js → fr-CNTSedYU.js} +259 -18
  47. package/dist/common/integration-trigger.d.ts +1 -1
  48. package/dist/common/integration-trigger.js +27 -3
  49. package/dist/common/{ja-D2wyPdTF.js → ja-CxQBHr2J.js} +259 -18
  50. package/dist/common/{ko-Cuu2AOaC.js → ko-D1Exiv1h.js} +259 -18
  51. package/dist/common/mcp.d.ts +30 -0
  52. package/dist/common/mcp.js +158 -20
  53. package/dist/common/openapi.js +27 -3
  54. package/dist/common/poll-trigger.js +27 -3
  55. package/dist/common/provider-triggers.d.ts +0 -2
  56. package/dist/common/provider-triggers.js +358 -155
  57. package/dist/common/{ru-BjI_JSsx.js → ru-BzLZv0B7.js} +259 -18
  58. package/dist/common/run-events.d.ts +2 -0
  59. package/dist/common/run-events.js +4 -2
  60. package/dist/common/runtime-contract.d.ts +1 -0
  61. package/dist/common/runtime-contract.js +4 -4
  62. package/dist/common/scheduler.d.ts +13 -2
  63. package/dist/common/scheduler.js +288 -98
  64. package/dist/common/webhook-trigger.js +27 -3
  65. package/dist/common/workflow.js +27 -3
  66. package/dist/common/{zh-CN-CnnXkzLh.js → zh-CN-Dg_xSGde.js} +259 -18
  67. package/dist/common/{zh-TW-CJnR2dgF.js → zh-TW-oxuLwsV0.js} +259 -18
  68. package/dist/index.d.ts +1 -0
  69. package/package.json +1 -1
  70. package/dist/common/event-source-feishu.d.ts +0 -3
  71. package/dist/common/feishu-events.d.ts +0 -19
  72. package/dist/common/feishu-subscriptions.d.ts +0 -6
@@ -1,3 +1,32 @@
1
+ //#region src/execution/common/engineContract.ts
2
+ var currentEngineContract = "open-flow-engine/v6";
3
+ `${JSON.stringify(currentEngineContract)}`, new Set([
4
+ "assert",
5
+ "assert/strict",
6
+ "buffer",
7
+ "console",
8
+ "constants",
9
+ "crypto",
10
+ "events",
11
+ "fs",
12
+ "fs/promises",
13
+ "os",
14
+ "path",
15
+ "path/posix",
16
+ "process",
17
+ "punycode",
18
+ "querystring",
19
+ "stream",
20
+ "stream/promises",
21
+ "stream/web",
22
+ "string_decoder",
23
+ "timers",
24
+ "timers/promises",
25
+ "url",
26
+ "util",
27
+ "zlib"
28
+ ].flatMap((name) => [name, `node:${name}`])), `${JSON.stringify("open-flow-engine/v6/nodejs-compat-v1")}`;
29
+ //#endregion
1
30
  //#region ../../node_modules/.bun/dequal@2.0.3/node_modules/dequal/lite/index.mjs
2
31
  var has = Object.prototype.hasOwnProperty;
3
32
  function dequal(foo, bar) {
@@ -5794,6 +5823,18 @@ function checkJsonDepth(value, depth = 0) {
5794
5823
  if (value != null && typeof value == "object") for (const child of Object.values(value)) checkJsonDepth(child, depth + 1);
5795
5824
  }
5796
5825
  //#endregion
5826
+ //#region src/flow/common/retry.ts
5827
+ var nodeRetryLimits = {
5828
+ maxRetries: 5,
5829
+ minIntervalMs: 1e3,
5830
+ maxIntervalMs: 6e4,
5831
+ intervalStepMs: 1e3
5832
+ };
5833
+ var retryConfigurationSchema = strictObject({
5834
+ maxRetries: number().int().min(0).max(nodeRetryLimits.maxRetries),
5835
+ intervalMs: number().int().min(nodeRetryLimits.minIntervalMs).max(nodeRetryLimits.maxIntervalMs).multipleOf(nodeRetryLimits.intervalStepMs)
5836
+ });
5837
+ //#endregion
5797
5838
  //#region src/flow/common/triggerScheduleSchema.ts
5798
5839
  var triggerScheduleSchema = array(union([object({
5799
5840
  type: literal("cron"),
@@ -5842,6 +5883,7 @@ var source = union([object({
5842
5883
  kind: literal("node"),
5843
5884
  nodeId: text,
5844
5885
  output: text,
5886
+ system: literal(true).optional(),
5845
5887
  field: text.optional()
5846
5888
  }), object({
5847
5889
  kind: literal("binding"),
@@ -6100,7 +6142,9 @@ var base = {
6100
6142
  name: text.optional(),
6101
6143
  description: text.optional(),
6102
6144
  icon: text.optional(),
6103
- timeoutMs: number().optional()
6145
+ timeoutMs: number().optional(),
6146
+ retry: retryConfigurationSchema.optional(),
6147
+ onError: _enum(["stop", "error"]).optional()
6104
6148
  };
6105
6149
  var node = union([
6106
6150
  strictObject({
@@ -6236,7 +6280,8 @@ var revision = object({
6236
6280
  literal(5),
6237
6281
  literal(6),
6238
6282
  literal(7),
6239
- literal(8)
6283
+ literal(8),
6284
+ literal(9)
6240
6285
  ]),
6241
6286
  document,
6242
6287
  modules: record$2(text, module)
@@ -6305,6 +6350,13 @@ var shapes = {
6305
6350
  },
6306
6351
  "graph.node.delete": at,
6307
6352
  "graph.node.field.set": union([
6353
+ object({
6354
+ ...at,
6355
+ kind: literal("graph.node.field.set"),
6356
+ field: literal("retry"),
6357
+ before: retryConfigurationSchema.optional(),
6358
+ value: retryConfigurationSchema.optional()
6359
+ }),
6308
6360
  object({
6309
6361
  ...at,
6310
6362
  kind: literal("graph.node.field.set"),
@@ -6318,7 +6370,8 @@ var shapes = {
6318
6370
  field: _enum([
6319
6371
  "description",
6320
6372
  "icon",
6321
- "name"
6373
+ "name",
6374
+ "onError"
6322
6375
  ]),
6323
6376
  before: text.optional(),
6324
6377
  value: text.optional()
@@ -6423,6 +6476,12 @@ array(union([...new Map(Object.entries(shapes).map(([kind, shape]) => [kind, sha
6423
6476
  ...shape
6424
6477
  })])).values()])).min(1);
6425
6478
  function checkModelVersion(content) {
6479
+ if (content.modelVersion < 9 && Object.values(content.document.graph.nodes).some((candidateNode) => "retry" in candidateNode && candidateNode.retry != null)) throw new TypeError("Node retries require Flow model version 9.");
6480
+ if (content.modelVersion < 9 && Object.values(content.document.graph.nodes).some((candidateNode) => {
6481
+ if (candidateNode.onError != null) return true;
6482
+ if ([...Object.values("inputs" in candidateNode ? candidateNode.inputs : {}), ...Object.values(candidateNode.kind == "outputs" ? candidateNode.outputMappings : {})].some((candidateMapping) => candidateMapping.kind == "sources" && candidateMapping.sources.some((candidateSource) => candidateSource.kind == "node" && candidateSource.system))) return true;
6483
+ return candidateNode.kind == "condition" && candidateNode.cases.some((item) => item.groups.some((candidateGroup) => candidateGroup.expressions.some((expression) => [expression.left, expression.right].some((candidateOperand) => candidateOperand?.kind == "source" && candidateOperand.source.kind == "node" && candidateOperand.source.system))));
6484
+ })) throw new TypeError("Node error handling requires Flow model version 9.");
6426
6485
  if (content.modelVersion < 8 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "outputs")) throw new TypeError("Workflow outputs require Flow model version 8.");
6427
6486
  if (content.modelVersion < 7 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "start")) throw new TypeError("Start Triggers require Flow model version 7.");
6428
6487
  if (content.modelVersion < 6 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "task" && "executor" in candidateNode.task)) throw new TypeError("Node-owned managed Tasks require Flow model version 6.");
@@ -9330,12 +9389,19 @@ var output = strictObject({
9330
9389
  port: id$1.optional().describe("Omit for a node with one output. For multiple outputs, choose a name from node details."),
9331
9390
  field: string$1().optional()
9332
9391
  });
9392
+ var system = strictObject({
9393
+ kind: literal("system"),
9394
+ node: referenceSchema,
9395
+ port: literal("error"),
9396
+ field: string$1().optional()
9397
+ });
9333
9398
  var variable$1 = strictObject({
9334
9399
  kind: literal("variable"),
9335
9400
  name: id$1
9336
9401
  });
9337
9402
  var authoringSourceSchema = union([
9338
9403
  output,
9404
+ system,
9339
9405
  variable$1,
9340
9406
  strictObject({
9341
9407
  kind: literal("value"),
@@ -9345,7 +9411,11 @@ var authoringSourceSchema = union([
9345
9411
  strictObject({ kind: literal("default") }),
9346
9412
  strictObject({
9347
9413
  kind: literal("sources"),
9348
- sources: array(union([output, variable$1])).min(1)
9414
+ sources: array(union([
9415
+ output,
9416
+ system,
9417
+ variable$1
9418
+ ])).min(1)
9349
9419
  })
9350
9420
  ]);
9351
9421
  var operand = union([
@@ -9355,6 +9425,7 @@ var operand = union([
9355
9425
  schema: json$1.optional()
9356
9426
  }),
9357
9427
  output,
9428
+ system,
9358
9429
  variable$1
9359
9430
  ]);
9360
9431
  var agentTool = authoringDefinitionSchemas.agent.shape.tools.element.omit({
@@ -9446,11 +9517,13 @@ var authoringConfigurations = {
9446
9517
  approval: strictObject({ inputs: inputFields })
9447
9518
  };
9448
9519
  var updates = strictObject({
9520
+ onError: _enum(["stop", "error"]).optional(),
9449
9521
  name: id$1.optional(),
9450
9522
  description: string$1().optional(),
9451
9523
  icon: string$1().optional(),
9452
9524
  maxExecutions: int().positive().optional(),
9453
9525
  timeoutMs: number().nonnegative().optional(),
9526
+ retry: retryConfigurationSchema.partial().optional().describe("Node retry policy for Code, Connector, OpenAPI, LLM and AI Decision. Omitted update fields preserve the policy; use clear: [[\"retry\"]] to disable it. maxRetries counts additional attempts; intervalMs is 1000–60000 in whole seconds."),
9454
9527
  config: patch.optional().describe("Recursively merge configuration; omitted fields remain unchanged and arrays replace as a whole. This includes schema objects: {} does not clear an existing schema. Use clear paths to remove fields, e.g. [\"config\",\"inputs\",\"amount\",\"schema\",\"type\"].")
9455
9528
  });
9456
9529
  var authoringEditSchema = discriminatedUnion("op", [
@@ -9459,6 +9532,8 @@ var authoringEditSchema = discriminatedUnion("op", [
9459
9532
  as: id$1.regex(/^[A-Za-z][\w-]*$/).describe("Unique batch-local alias without the $ prefix. Later edits must reference this new node as $alias; the bare alias is not its node ID."),
9460
9533
  type,
9461
9534
  name: id$1,
9535
+ onError: _enum(["stop", "error"]).optional(),
9536
+ retry: retryConfigurationSchema.optional(),
9462
9537
  config: patch.optional(),
9463
9538
  inputs: record$2(id$1, authoringSourceSchema).optional().describe("Input data sources, applied after creation, as input.set operations. Execution edges are separate."),
9464
9539
  code: string$1().optional(),
@@ -11080,22 +11155,44 @@ function nodeDetails(content, nodeId, node) {
11080
11155
  //#endregion
11081
11156
  //#region src/control/common/eventSources.ts
11082
11157
  var id = string$1().min(1).max(256);
11083
- var eventType = string$1().regex(/^[a-z][a-z0-9_.]{0,127}$/);
11158
+ var eventType = string$1().regex(/^[a-z][a-z0-9_.:]{0,127}$/);
11084
11159
  var name = string$1().trim().min(1).max(128);
11085
11160
  var eventSourceSchema = object({
11086
11161
  version: literal(1),
11087
11162
  sourceId: id,
11088
11163
  revision: int().positive(),
11089
11164
  name,
11090
- provider: _enum(["feishu", "feishu_app_bot"]),
11091
- appId: id,
11165
+ provider: _enum([
11166
+ "feishu",
11167
+ "feishu_app_bot",
11168
+ "slackbot",
11169
+ "intercom",
11170
+ "sentry",
11171
+ "zoom",
11172
+ "fireflies",
11173
+ "jira"
11174
+ ]),
11175
+ appId: id.nullable(),
11176
+ workspaceId: id.optional(),
11177
+ installationId: id.optional(),
11178
+ organizationId: id.optional(),
11179
+ projectId: id.optional(),
11180
+ projectKey: id.optional(),
11181
+ subscriptionStatus: _enum([
11182
+ "idle",
11183
+ "pending",
11184
+ "ready",
11185
+ "error"
11186
+ ]).optional(),
11187
+ lastError: string$1().optional(),
11188
+ signingSecretConfigured: boolean().optional(),
11092
11189
  connectionId: id,
11093
11190
  teamId: id.nullable(),
11094
11191
  enabled: boolean(),
11095
11192
  eventTypes: array(eventType),
11096
- manageSubscriptions: boolean(),
11097
- verificationTokenConfigured: boolean(),
11098
- encryptKeyConfigured: boolean(),
11193
+ manageSubscriptions: boolean().nullable(),
11194
+ verificationTokenConfigured: boolean().nullable(),
11195
+ encryptKeyConfigured: boolean().nullable(),
11099
11196
  endpointUrl: string$1().nullable(),
11100
11197
  verifiedAt: string$1().nullable(),
11101
11198
  lastReceivedAt: string$1().nullable(),
@@ -11106,6 +11203,21 @@ var eventSourceSchema = object({
11106
11203
  triggerNodeId: id
11107
11204
  }))
11108
11205
  });
11206
+ eventSourceSchema.pick({
11207
+ appId: true,
11208
+ workspaceId: true,
11209
+ installationId: true,
11210
+ organizationId: true,
11211
+ projectId: true,
11212
+ projectKey: true,
11213
+ subscriptionStatus: true,
11214
+ lastError: true,
11215
+ signingSecretConfigured: true,
11216
+ manageSubscriptions: true,
11217
+ verificationTokenConfigured: true,
11218
+ encryptKeyConfigured: true,
11219
+ verifiedAt: true
11220
+ });
11109
11221
  function decodeEventSource(value) {
11110
11222
  return eventSourceSchema.parse(value);
11111
11223
  }
@@ -11758,6 +11870,21 @@ function workflowIdentity(value) {
11758
11870
  executionId: string(ref.executionId)
11759
11871
  };
11760
11872
  }
11873
+ function runInitiator(value) {
11874
+ const source = record(value);
11875
+ if (![
11876
+ "workbench",
11877
+ "cli",
11878
+ "mcp",
11879
+ "api",
11880
+ "trigger",
11881
+ "workflow"
11882
+ ].includes(source.channel)) return invalidResponse();
11883
+ return {
11884
+ channel: source.channel,
11885
+ ...source.actorId === void 0 ? {} : { actorId: string(source.actorId) }
11886
+ };
11887
+ }
11761
11888
  function runDetails(value) {
11762
11889
  const source = record(value);
11763
11890
  const summary = run(source);
@@ -11779,6 +11906,7 @@ function runDetails(value) {
11779
11906
  if (source.calls !== void 0 && !Array.isArray(source.calls)) return invalidResponse();
11780
11907
  const details = {
11781
11908
  ...summary,
11909
+ ...source.initiator === void 0 ? {} : { initiator: runInitiator(source.initiator) },
11782
11910
  ...errorHandling(source),
11783
11911
  ...source.triggerNodeId === void 0 ? {} : { triggerNodeId: string(source.triggerNodeId) },
11784
11912
  ...source.caller === void 0 ? {} : { caller: workflowIdentity(source.caller) },
@@ -12070,6 +12198,7 @@ function decodeRunEvent(value) {
12070
12198
  kind,
12071
12199
  payload: {
12072
12200
  ...node,
12201
+ ...payload.systemOutputs === void 0 ? {} : { systemOutputs: Object.fromEntries(Object.entries(record(payload.systemOutputs)).map(([key, item]) => [key, jsonValue(item)])) },
12073
12202
  outputs: Object.fromEntries(Object.entries(record(payload.outputs)).map(([key, item]) => [key, jsonValue(item)]))
12074
12203
  }
12075
12204
  };
@@ -12080,6 +12209,8 @@ function decodeRunEvent(value) {
12080
12209
  kind,
12081
12210
  payload: {
12082
12211
  ...node,
12212
+ ...payload.handled === true ? { handled: true } : {},
12213
+ ...payload.systemOutputs === void 0 ? {} : { systemOutputs: Object.fromEntries(Object.entries(record(payload.systemOutputs)).map(([key, item]) => [key, jsonValue(item)])) },
12083
12214
  error: {
12084
12215
  code: string(error.code),
12085
12216
  message: string(error.message)
@@ -12159,7 +12290,8 @@ function operationKey(operation) {
12159
12290
  return `${operation}-${randomId()}`;
12160
12291
  }
12161
12292
  var ControlClient = class {
12162
- constructor(requestControl) {
12293
+ constructor(requestControl, channel = "api") {
12294
+ this.channel = channel;
12163
12295
  this.requestControl = requestControl;
12164
12296
  }
12165
12297
  async loadOpenApiDocument(url, signal) {
@@ -12185,8 +12317,8 @@ var ControlClient = class {
12185
12317
  async listEventSources(flowId, signal) {
12186
12318
  return decodeEventSources(await this.request("/v1/event-sources" + (flowId == null ? "" : `?flowId=${segment(flowId)}`), { signal }));
12187
12319
  }
12188
- async listEventSourceConnections(teamId, signal) {
12189
- const source = record(await this.request(`/v1/event-sources/connections${teamId == null ? "" : `?teamId=${segment(teamId)}`}`, { signal }));
12320
+ async listEventSourceConnections(teamId, signal, kind = "feishu") {
12321
+ const source = record(await this.request(`/v1/event-sources/connections?kind=${kind}${teamId == null ? "" : `&teamId=${segment(teamId)}`}`, { signal }));
12190
12322
  requiredFields(source, ["version", "connections"]);
12191
12323
  if (source.version != 1 || !Array.isArray(source.connections)) return invalidResponse();
12192
12324
  return source.connections.map(connection);
@@ -12649,7 +12781,7 @@ var ControlClient = class {
12649
12781
  async checkFlow(flowId, revisionId) {
12650
12782
  return flowCheck(await this.request(`/v1/flows/${segment(flowId)}/revisions/${segment(revisionId)}/check`, {
12651
12783
  body: JSON.stringify({
12652
- engineContract: "open-flow-engine/v5",
12784
+ engineContract: currentEngineContract,
12653
12785
  version: 1
12654
12786
  }),
12655
12787
  method: "POST"
@@ -12674,12 +12806,15 @@ var ControlClient = class {
12674
12806
  async createDraftRun(flowId, revisionId, options) {
12675
12807
  const created = runDetails(await this.request(`/v1/flows/${segment(flowId)}/revisions/${segment(revisionId)}/runs`, {
12676
12808
  body: JSON.stringify({
12677
- engineContract: "open-flow-engine/v5",
12809
+ engineContract: currentEngineContract,
12678
12810
  inputs: options.inputs ?? {},
12679
12811
  trigger: options.trigger,
12680
12812
  version: 2
12681
12813
  }),
12682
- headers: { "idempotency-key": options.idempotencyKey ?? operationKey("run") },
12814
+ headers: {
12815
+ "idempotency-key": options.idempotencyKey ?? operationKey("run"),
12816
+ "x-open-flow-client": this.channel
12817
+ },
12683
12818
  method: "POST"
12684
12819
  }));
12685
12820
  return created.source == "draft" ? created : invalidResponse();
@@ -12692,7 +12827,10 @@ var ControlClient = class {
12692
12827
  publicationId,
12693
12828
  version: 2
12694
12829
  }),
12695
- headers: { "idempotency-key": options.idempotencyKey ?? operationKey("run") },
12830
+ headers: {
12831
+ "idempotency-key": options.idempotencyKey ?? operationKey("run"),
12832
+ "x-open-flow-client": this.channel
12833
+ },
12696
12834
  method: "POST"
12697
12835
  }));
12698
12836
  return created.source == "live" ? created : invalidResponse();
@@ -12710,7 +12848,7 @@ var ControlClient = class {
12710
12848
  async publishFlow(flowId, revisionId, expectedLivePublicationId, options = {}) {
12711
12849
  return publishOperation(await this.request(`/v1/flows/${segment(flowId)}/revisions/${segment(revisionId)}/publications`, {
12712
12850
  body: JSON.stringify({
12713
- engineContract: "open-flow-engine/v5",
12851
+ engineContract: currentEngineContract,
12714
12852
  expectedLivePublicationId,
12715
12853
  version: 1
12716
12854
  }),
@@ -37,12 +37,22 @@ export declare const controlRequests: {
37
37
  as: string;
38
38
  type: "agent" | "approval" | "code" | "condition" | "connector" | "cron" | "decision" | "error" | "integration" | "llm" | "openapi" | "outputs" | "poll" | "start" | "value" | "wait" | "webhook" | "workflow";
39
39
  name: string;
40
+ onError?: "error" | "stop" | undefined;
41
+ retry?: {
42
+ maxRetries: number;
43
+ intervalMs: number;
44
+ } | undefined;
40
45
  config?: Record<string, z.JSONType> | undefined;
41
46
  inputs?: Record<string, {
42
47
  kind: "output";
43
48
  node: string;
44
49
  port?: string | undefined;
45
50
  field?: string | undefined;
51
+ } | {
52
+ kind: "system";
53
+ node: string;
54
+ port: "error";
55
+ field?: string | undefined;
46
56
  } | {
47
57
  kind: "variable";
48
58
  name: string;
@@ -60,6 +70,11 @@ export declare const controlRequests: {
60
70
  node: string;
61
71
  port?: string | undefined;
62
72
  field?: string | undefined;
73
+ } | {
74
+ kind: "system";
75
+ node: string;
76
+ port: "error";
77
+ field?: string | undefined;
63
78
  } | {
64
79
  kind: "variable";
65
80
  name: string;
@@ -71,11 +86,16 @@ export declare const controlRequests: {
71
86
  op: "node.update";
72
87
  node: string;
73
88
  set?: {
89
+ onError?: "error" | "stop" | undefined;
74
90
  name?: string | undefined;
75
91
  description?: string | undefined;
76
92
  icon?: string | undefined;
77
93
  maxExecutions?: number | undefined;
78
94
  timeoutMs?: number | undefined;
95
+ retry?: {
96
+ maxRetries?: number | undefined;
97
+ intervalMs?: number | undefined;
98
+ } | undefined;
79
99
  config?: Record<string, z.JSONType> | undefined;
80
100
  } | undefined;
81
101
  clear?: string[][] | undefined;
@@ -94,6 +114,11 @@ export declare const controlRequests: {
94
114
  node: string;
95
115
  port?: string | undefined;
96
116
  field?: string | undefined;
117
+ } | {
118
+ kind: "system";
119
+ node: string;
120
+ port: "error";
121
+ field?: string | undefined;
97
122
  } | {
98
123
  kind: "variable";
99
124
  name: string;
@@ -111,6 +136,11 @@ export declare const controlRequests: {
111
136
  node: string;
112
137
  port?: string | undefined;
113
138
  field?: string | undefined;
139
+ } | {
140
+ kind: "system";
141
+ node: string;
142
+ port: "error";
143
+ field?: string | undefined;
114
144
  } | {
115
145
  kind: "variable";
116
146
  name: string;
@@ -159,25 +189,8 @@ export declare const controlRequests: {
159
189
  url: string;
160
190
  version: 1;
161
191
  };
162
- createEventSource: (value: unknown) => {
163
- version: 1;
164
- name: string;
165
- connectionId: string;
166
- teamId: string | null;
167
- verificationToken: string;
168
- encryptKey: string;
169
- eventTypes: string[];
170
- manageSubscriptions: boolean;
171
- };
172
- updateEventSource: (value: unknown) => {
173
- version: 1;
174
- expectedRevision: number;
175
- name: string;
176
- enabled: boolean;
177
- eventTypes: string[];
178
- verificationToken?: string | undefined;
179
- encryptKey?: string | undefined;
180
- };
192
+ createEventSource: (value: unknown) => import("./event-sources.js").CreateEventSource;
193
+ updateEventSource: (value: unknown) => import("./event-sources.js").UpdateEventSource;
181
194
  eventSourceRevision: (value: unknown) => {
182
195
  version: 1;
183
196
  expectedRevision: number;