@oomol-lab/open-flow 0.1.0-beta.3 → 0.1.0-beta.30

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 (123) hide show
  1. package/dist/browser/{_virtual_open-flow-twemoji-DJwKsM_w.js → _virtual_open-flow-twemoji-CpHJOEsk.js} +4028 -2
  2. package/dist/browser/carbon-Cn-DTyjG.js +54 -0
  3. package/dist/browser/createResourceDialog-_y2xHaUA.js +110 -0
  4. package/dist/browser/{dist-DWADUsVB.js → dist-By46o5UV.js} +47 -47
  5. package/dist/browser/dist-CoszrK7m.js +4 -0
  6. package/dist/browser/{dist-CPuF50D9.js → dist-D1VYgicl.js} +426 -305
  7. package/dist/browser/dist-DSe6KRsr.js +1224 -0
  8. package/dist/browser/dist-DYjIVIZC.js +795 -0
  9. package/dist/browser/{dist-3Mj8q8Pr.js → dist-DmuE3M0R.js} +53 -54
  10. package/dist/browser/{dist-BN4ZCyOB.js → dist-DpDLsYtO.js} +14 -15
  11. package/dist/browser/{dist-CJpzJrLM.js → dist-DwvhuMxw.js} +894 -895
  12. package/dist/browser/dist-DxahK_I8.js +2688 -0
  13. package/dist/browser/{dist-C46JByB-.js → dist-Dz6Nglsd.js} +61 -61
  14. package/dist/browser/{dist-DUzA0Ukh.js → dist-TJfrvoIQ.js} +141 -142
  15. package/dist/browser/editorComponent-Dq4IKp5R.js +14790 -0
  16. package/dist/browser/{esm-C2UUqIUP.js → esm-B7A42FzW.js} +68 -59
  17. package/dist/browser/event-sources.d.ts +30 -0
  18. package/dist/browser/flow-authoring-module.d.ts +2 -2
  19. package/dist/browser/flow-authoring-node.d.ts +26 -8
  20. package/dist/browser/flow-authoring.d.ts +1 -1
  21. package/dist/browser/flow-authoring.js +5282 -313
  22. package/dist/browser/flow-change-schema.d.ts +11 -0
  23. package/dist/browser/flow-change.d.ts +193 -18
  24. package/dist/browser/flow-change.js +5192 -137
  25. package/dist/browser/flow-notifications.d.ts +11 -2
  26. package/dist/browser/flowChanges-AdN0Iqma.js +12304 -0
  27. package/dist/browser/{flowRunInputEditorStore-CwvOiIiU.js → flowRunInputEditorStore-CTORQcA2.js} +864 -4000
  28. package/dist/browser/flowWorkspace-BrtzLKWB.js +153066 -0
  29. package/dist/browser/host-conformance.d.ts +7 -0
  30. package/dist/browser/host-conformance.js +39 -0
  31. package/dist/browser/inputValues-DJfFraxG.js +43 -0
  32. package/dist/browser/licenses.md +195 -662
  33. package/dist/browser/lite-BuKZ8joP.js +8545 -0
  34. package/dist/browser/main-BDnNHhkU.js +50 -0
  35. package/dist/browser/{markdownContent-DUfLdnUt.js → markdownContent-D2oHGWc6.js} +53 -53
  36. package/dist/browser/theme.css +527 -34
  37. package/dist/browser/{typeScriptSession-mPCiA9sV.js → typeScriptSession-DnAmJCzu.js} +70 -71
  38. package/dist/browser/ui-input.d.ts +5 -0
  39. package/dist/browser/ui-label.d.ts +3 -0
  40. package/dist/browser/ui-textarea.d.ts +3 -0
  41. package/dist/browser/ui.css +2 -0
  42. package/dist/browser/ui.css.d.ts +1 -0
  43. package/dist/browser/ui.d.ts +34 -0
  44. package/dist/browser/ui.js +2632 -0
  45. package/dist/browser/value-DPg_9yXB.js +93 -0
  46. package/dist/browser/warmCodeTheme-DVv4-rDO.js +35 -0
  47. package/dist/browser/workbench-contract.d.ts +27 -2
  48. package/dist/browser/workbench.css +1 -1
  49. package/dist/browser/workbench.d.ts +2 -0
  50. package/dist/browser/workbench.js +2767 -1406
  51. package/dist/browser/workbenchSelect-BDPIQxYK.js +5967 -0
  52. package/dist/common/authoringExamples.d.ts +28 -0
  53. package/dist/common/control-api-conformance.d.ts +7 -0
  54. package/dist/common/control-api-conformance.js +5568 -171
  55. package/dist/common/control-api-errors.d.ts +37 -0
  56. package/dist/common/control-api.d.ts +394 -47
  57. package/dist/common/control-api.js +6066 -569
  58. package/dist/common/control-requests.d.ts +98 -0
  59. package/dist/common/control-requests.js +5412 -0
  60. package/dist/common/cron-trigger.d.ts +2 -1
  61. package/dist/common/cron-trigger.js +27 -24
  62. package/dist/common/draftOperations.d.ts +14 -0
  63. package/dist/common/engine-contract.d.ts +3 -1
  64. package/dist/common/event-sources.d.ts +50 -0
  65. package/dist/common/feishu-events.d.ts +20 -0
  66. package/dist/common/feishu-subscriptions.d.ts +10 -0
  67. package/dist/common/flow-agent.d.ts +10 -0
  68. package/dist/common/flow-encoding.d.ts +16 -2
  69. package/dist/common/flow-encoding.js +5092 -68
  70. package/dist/common/flow-graph.d.ts +52 -0
  71. package/dist/common/flow-json.d.ts +2 -0
  72. package/dist/common/flow-modules.d.ts +20 -0
  73. package/dist/common/flow-notifications.d.ts +11 -2
  74. package/dist/common/flow-schema.d.ts +17 -0
  75. package/dist/common/flow-semantics.d.ts +12 -6
  76. package/dist/common/flow-semantics.js +15870 -9668
  77. package/dist/common/flowInspection.d.ts +16 -0
  78. package/dist/common/fr-iv1541dF.js +93 -0
  79. package/dist/common/integration-trigger.d.ts +29 -2
  80. package/dist/common/integration-trigger.js +192 -56
  81. package/dist/common/ja-Bq-ZDOD4.js +93 -0
  82. package/dist/common/ko-Z-k9R2c6.js +93 -0
  83. package/dist/common/localization.d.ts +2 -0
  84. package/dist/common/localization.js +37 -1
  85. package/dist/common/mcp-conformance.d.ts +2 -0
  86. package/dist/common/mcp.d.ts +767 -0
  87. package/dist/common/mcp.js +6733 -0
  88. package/dist/common/poll-trigger.d.ts +5 -0
  89. package/dist/common/poll-trigger.js +26 -22
  90. package/dist/common/provider-triggers.d.ts +4 -0
  91. package/dist/common/provider-triggers.js +7310 -1736
  92. package/dist/common/ru-B4gFecYZ.js +93 -0
  93. package/dist/common/run-events.d.ts +2 -2
  94. package/dist/common/run-events.js +13 -17
  95. package/dist/common/run-lifecycle.d.ts +21 -2
  96. package/dist/common/run-lifecycle.js +83 -2
  97. package/dist/common/run-results.d.ts +57 -0
  98. package/dist/common/runtime-contract.d.ts +38 -3
  99. package/dist/common/runtime-contract.js +291 -19
  100. package/dist/common/scheduler.d.ts +97 -19
  101. package/dist/common/scheduler.js +8234 -261
  102. package/dist/common/trigger-catalog.d.ts +17 -0
  103. package/dist/common/trigger-config-options.d.ts +13 -0
  104. package/dist/common/trigger-contract.d.ts +5 -0
  105. package/dist/common/trigger-localization.d.ts +7 -0
  106. package/dist/common/webhook-trigger.d.ts +3 -3
  107. package/dist/common/webhook-trigger.js +64 -18
  108. package/dist/common/zh-CN-ByQ6nYam.js +93 -0
  109. package/dist/common/zh-TW-QjIarvX9.js +93 -0
  110. package/dist/index.d.ts +6 -5
  111. package/package.json +21 -1
  112. package/dist/browser/carbon-DMCVsjHo.js +0 -53
  113. package/dist/browser/createResourceDialog-BkZns-oZ.js +0 -504
  114. package/dist/browser/diagnostics-SDCyFuxm.js +0 -11634
  115. package/dist/browser/dist-BMqL-qR5.js +0 -1894
  116. package/dist/browser/dist-BpopSHwP.js +0 -1543
  117. package/dist/browser/dist-CP0883sY.js +0 -4
  118. package/dist/browser/dist-CUSrALSX.js +0 -1620
  119. package/dist/browser/flowWorkspace-BZ_eiQNR.js +0 -45393
  120. package/dist/browser/getPseudoElementBounds-ESJExRFX.js +0 -7642
  121. package/dist/browser/languages-DgJehE1g.js +0 -62
  122. package/dist/browser/main-DmjVyuWr.js +0 -76
  123. package/dist/browser/workbenchSelect-B2s1HV-Y.js +0 -1374
@@ -0,0 +1,11 @@
1
+ import type { ChangeOperation, FlowDocument, JsonValue, RevisionContent } from './flow-change.js';
2
+ export declare const currentFlowModelVersion = 3;
3
+ /** Best-effort recovery for a parseable Revision envelope. Invalid collection entries are discarded. */
4
+ export declare function repairRevisionEnvelope(value: unknown): RevisionContent;
5
+ export declare function decodeFlowDocument(value: unknown): FlowDocument;
6
+ export declare function decodeRevisionContent(value: unknown): RevisionContent;
7
+ export declare function decodeRevisionEnvelope(value: unknown): RevisionContent;
8
+ export declare function parseOperation<Value>(candidate: unknown, index: number, parse: (value: unknown) => Value): Value;
9
+ export declare function decodeChangeOperation(candidate: unknown, index: number): ChangeOperation;
10
+ export declare function decodeChangeOperations(value: unknown): readonly ChangeOperation[];
11
+ export declare function changeOperationsSchema(kind?: string): JsonValue;
@@ -1,6 +1,22 @@
1
+ import { currentFlowModelVersion } from './flow-change-schema.js';
2
+ export { changeOperationsSchema, currentFlowModelVersion, decodeChangeOperations } from './flow-change-schema.js';
1
3
  export type JsonValue = null | boolean | number | string | readonly JsonValue[] | {
2
4
  readonly [key: string]: JsonValue;
3
5
  };
6
+ export type SchemaKeyword = 'const' | 'enum' | 'exclusiveMaximum' | 'exclusiveMinimum' | 'maximum' | 'maxItems' | 'maxLength' | 'maxProperties' | 'minimum' | 'minItems' | 'minLength' | 'minProperties' | 'multipleOf' | 'pattern' | 'required' | 'type';
7
+ export type SchemaMismatch = {
8
+ readonly kind: 'artifact' | 'binary' | 'nullable';
9
+ } | {
10
+ readonly kind: 'keyword';
11
+ readonly keyword: SchemaKeyword;
12
+ readonly path: readonly (string | number)[];
13
+ readonly source: JsonValue | undefined;
14
+ readonly target: JsonValue | undefined;
15
+ } | {
16
+ readonly kind: 'schema';
17
+ readonly path?: readonly (string | number)[];
18
+ };
19
+ export declare function isSchemaKeyword(value: string): value is SchemaKeyword;
4
20
  export declare const resourceNameMaxLength = 80;
5
21
  export type ResourceNameIssue = 'controlCharacter' | 'empty' | 'specialCharacter' | 'tooLong';
6
22
  export declare function resourceNameIssue(value: string): ResourceNameIssue | undefined;
@@ -48,11 +64,11 @@ export interface OutputMapping {
48
64
  readonly sources: readonly (FlowSource | NodeSource)[];
49
65
  }
50
66
  interface GraphNodeBase {
51
- readonly concurrency: number;
52
67
  readonly description?: string;
53
68
  readonly icon?: string;
54
69
  readonly inputs: Readonly<Record<string, InputMapping>>;
55
70
  readonly name?: string;
71
+ readonly maxExecutions?: number;
56
72
  readonly timeoutMs?: number;
57
73
  }
58
74
  export interface SubflowNode extends GraphNodeBase {
@@ -63,6 +79,19 @@ export interface ValueNode extends GraphNodeBase {
63
79
  readonly kind: 'value';
64
80
  readonly values: readonly InputPort[];
65
81
  }
82
+ export type WaitAction = 'approve' | 'continue' | 'reject';
83
+ interface ResolutionNodeBase extends GraphNodeBase {
84
+ readonly input: InputPort;
85
+ readonly prompt: string;
86
+ readonly timeoutMs?: never;
87
+ }
88
+ export interface WaitNode extends ResolutionNodeBase {
89
+ readonly kind: 'wait';
90
+ }
91
+ export interface ApprovalNode extends ResolutionNodeBase {
92
+ readonly kind: 'approval';
93
+ }
94
+ export type ResolutionNode = ApprovalNode | WaitNode;
66
95
  export type ConditionOperator = '!=' | '<' | '<=' | '==' | '>' | '>=' | 'contains' | 'endsWith' | 'hasKey' | 'hasValue' | 'isEmpty' | 'isFalse' | 'isNotEmpty' | 'isNotNull' | 'isNull' | 'isTrue' | 'notContains' | 'notHasKey' | 'notHasValue' | 'startsWith';
67
96
  export interface ConditionExpression {
68
97
  readonly input: string;
@@ -87,12 +116,54 @@ export type ManagedTaskExecutor = {
87
116
  } | {
88
117
  readonly kind: 'llm';
89
118
  readonly mode: 'chat' | 'json';
119
+ } | {
120
+ readonly kind: 'agent';
121
+ readonly code?: boolean;
122
+ readonly model: string;
123
+ readonly prompt: Exclude<AgentInput, {
124
+ readonly kind: 'model';
125
+ }>;
126
+ readonly system: string;
127
+ readonly maxRounds: number;
128
+ readonly tools: readonly AgentTool[];
129
+ readonly notification?: {
130
+ readonly taskId: string;
131
+ readonly messageHandle: string;
132
+ readonly inputs: Readonly<Record<string, Exclude<AgentInput, {
133
+ readonly kind: 'model';
134
+ }>>>;
135
+ };
90
136
  };
137
+ export type AgentInput = {
138
+ readonly kind: 'value';
139
+ readonly value: JsonValue;
140
+ } | {
141
+ readonly kind: 'input';
142
+ readonly input: string;
143
+ } | {
144
+ readonly kind: 'model';
145
+ };
146
+ export interface AgentTool {
147
+ readonly id: string;
148
+ readonly name: string;
149
+ readonly description: string;
150
+ readonly action: string;
151
+ readonly connectionId?: string;
152
+ readonly approval: boolean;
153
+ readonly inputs: readonly (InputPort & {
154
+ readonly source: AgentInput;
155
+ })[];
156
+ }
91
157
  export interface ConnectorCapability {
92
158
  readonly action: string;
93
- readonly connectionId: string;
159
+ readonly connections: readonly {
160
+ readonly connectionId: string;
161
+ readonly alias?: string;
162
+ }[];
163
+ readonly connectionId?: string;
94
164
  readonly kind: 'connector';
95
165
  }
166
+ export declare function decodeConnectorCapabilities(value: unknown): readonly ConnectorCapability[];
96
167
  interface TaskDefinitionBase {
97
168
  readonly inputs: readonly (InputPort | Group)[];
98
169
  readonly name: string;
@@ -109,13 +180,16 @@ export type TaskDefinition = InlineTaskDefinition | ManagedTaskDefinition;
109
180
  export type TaskNode = GraphNodeBase & {
110
181
  readonly kind: 'task';
111
182
  } & ({
183
+ readonly additionalInputs?: readonly InputPort[];
112
184
  readonly task: InlineTaskDefinition;
113
185
  readonly taskId?: never;
114
186
  } | {
187
+ readonly additionalInputs?: readonly InputPort[];
115
188
  readonly task?: never;
116
189
  readonly taskId: string;
117
190
  });
118
191
  export interface Graph {
192
+ readonly edges: readonly GraphEdge[];
119
193
  readonly nodes: Readonly<Record<string, GraphNode>>;
120
194
  }
121
195
  export type TriggerSchedule = {
@@ -134,7 +208,7 @@ interface TriggerKeySnapshotBase {
134
208
  readonly displayName: string;
135
209
  readonly key: string;
136
210
  readonly name: string;
137
- readonly payloadSchema: JsonValue;
211
+ readonly outputs: readonly Port[];
138
212
  readonly provider: string;
139
213
  }
140
214
  export type IntegrationEndpointMethod = 'DELETE' | 'GET' | 'HEAD' | 'PATCH' | 'POST' | 'PUT';
@@ -154,7 +228,7 @@ export type TriggerKeySnapshot = (TriggerKeySnapshotBase & {
154
228
  readonly endpoint: IntegrationEndpointDeclaration;
155
229
  readonly type: 'integration';
156
230
  });
157
- export interface WebhookInputDefinition extends InputPort {
231
+ export interface WebhookBodyField extends InputPort {
158
232
  }
159
233
  export interface WebhookOptions {
160
234
  readonly allowedMethods?: readonly string[];
@@ -170,7 +244,9 @@ interface TriggerNodeBase {
170
244
  readonly name: string;
171
245
  }
172
246
  export type TriggerNode = (TriggerNodeBase & {
173
- readonly inputsDef: readonly WebhookInputDefinition[];
247
+ readonly kind: 'manual';
248
+ }) | (TriggerNodeBase & {
249
+ readonly bodyFields: readonly WebhookBodyField[];
174
250
  readonly kind: 'webhook';
175
251
  readonly options?: WebhookOptions;
176
252
  }) | (TriggerNodeBase & {
@@ -192,7 +268,7 @@ export type TriggerNode = (TriggerNodeBase & {
192
268
  };
193
269
  readonly kind: 'integration';
194
270
  });
195
- export type GraphNode = ConditionNode | SubflowNode | TaskNode | TriggerNode | ValueNode;
271
+ export type GraphNode = ApprovalNode | ConditionNode | SubflowNode | TaskNode | TriggerNode | ValueNode | WaitNode;
196
272
  export interface FlowDocument {
197
273
  readonly bindings: Readonly<Record<string, {
198
274
  readonly kind: 'connection' | 'variable';
@@ -214,7 +290,7 @@ export interface CodeModule {
214
290
  }
215
291
  export interface RevisionContent {
216
292
  readonly document: FlowDocument;
217
- readonly modelVersion: 1;
293
+ readonly modelVersion: 2 | typeof currentFlowModelVersion;
218
294
  readonly modules: Readonly<Record<string, CodeModule>>;
219
295
  }
220
296
  export type GraphTarget = {
@@ -225,21 +301,30 @@ export type GraphTarget = {
225
301
  };
226
302
  export interface GraphEdge {
227
303
  readonly source: string;
228
- readonly sourceHandle: string;
304
+ readonly sourceHandle?: string;
229
305
  readonly target: string;
230
- readonly targetHandle: string;
231
306
  }
307
+ export declare function normalizeNodeName(value: string): string;
308
+ export declare function nextNodeName(value: string, names: Iterable<string>): string;
309
+ export declare function nodeNameIssue(graph: Graph, nodeId: string, value: string): 'duplicate' | 'empty' | undefined;
232
310
  export type ChangeOperation = {
311
+ readonly before?: readonly ConnectorCapability[];
312
+ readonly kind: 'graph.node.task.capabilities.set';
313
+ readonly nodeId: string;
314
+ readonly target: GraphTarget;
315
+ readonly value?: readonly ConnectorCapability[];
316
+ } | {
233
317
  readonly binding: FlowDocument['bindings'][string];
234
318
  readonly bindingId: string;
235
319
  readonly kind: 'binding.create';
236
320
  } | {
237
- readonly binding: FlowDocument['bindings'][string];
238
321
  readonly bindingId: string;
239
- readonly kind: 'binding.replace';
322
+ readonly kind: 'binding.delete';
240
323
  } | {
324
+ readonly before: string;
241
325
  readonly bindingId: string;
242
- readonly kind: 'binding.delete';
326
+ readonly kind: 'binding.target.set';
327
+ readonly value: string;
243
328
  } | {
244
329
  readonly kind: 'graph.edge.connect';
245
330
  readonly edge: GraphEdge;
@@ -248,6 +333,18 @@ export type ChangeOperation = {
248
333
  readonly kind: 'graph.edge.disconnect';
249
334
  readonly edge: GraphEdge;
250
335
  readonly target: GraphTarget;
336
+ } | {
337
+ readonly before?: readonly InputPort[];
338
+ readonly kind: 'graph.node.additional-inputs.set';
339
+ readonly nodeId: string;
340
+ readonly target: GraphTarget;
341
+ readonly value?: readonly InputPort[];
342
+ } | {
343
+ readonly before: Pick<ConditionNode, 'cases' | 'defaultOutput' | 'input'>;
344
+ readonly kind: 'graph.node.condition.set';
345
+ readonly nodeId: string;
346
+ readonly target: GraphTarget;
347
+ readonly value: Pick<ConditionNode, 'cases' | 'defaultOutput' | 'input'>;
251
348
  } | {
252
349
  readonly kind: 'graph.node.create';
253
350
  readonly node: GraphNode;
@@ -258,10 +355,68 @@ export type ChangeOperation = {
258
355
  readonly nodeId: string;
259
356
  readonly target: GraphTarget;
260
357
  } | {
261
- readonly kind: 'graph.node.replace';
262
- readonly node: GraphNode;
358
+ readonly before?: number | string;
359
+ readonly field: 'description' | 'icon' | 'maxExecutions' | 'name' | 'timeoutMs';
360
+ readonly kind: 'graph.node.field.set';
263
361
  readonly nodeId: string;
264
362
  readonly target: GraphTarget;
363
+ readonly value?: number | string;
364
+ } | {
365
+ readonly before?: InputMapping;
366
+ readonly handle: string;
367
+ readonly kind: 'graph.node.input.set';
368
+ readonly nodeId: string;
369
+ readonly target: GraphTarget;
370
+ readonly value?: InputMapping;
371
+ } | {
372
+ readonly before: Pick<InlineTaskDefinition, 'inputs' | 'outputs'>;
373
+ readonly kind: 'graph.node.task.ports.set';
374
+ readonly nodeId: string;
375
+ readonly target: GraphTarget;
376
+ readonly value: Pick<InlineTaskDefinition, 'inputs' | 'outputs'>;
377
+ } | {
378
+ readonly before: string;
379
+ readonly kind: 'graph.node.task.name.set';
380
+ readonly nodeId: string;
381
+ readonly target: GraphTarget;
382
+ readonly value: string;
383
+ } | {
384
+ readonly before: readonly InputPort[];
385
+ readonly kind: 'graph.node.values.set';
386
+ readonly nodeId: string;
387
+ readonly target: GraphTarget;
388
+ readonly value: readonly InputPort[];
389
+ } | {
390
+ readonly before: Pick<ResolutionNode, 'prompt'>;
391
+ readonly kind: 'graph.node.resolution.set';
392
+ readonly nodeId: string;
393
+ readonly target: Extract<GraphTarget, {
394
+ readonly kind: 'flow';
395
+ }>;
396
+ readonly value: Pick<ResolutionNode, 'prompt'>;
397
+ } | {
398
+ readonly before: Pick<Extract<TriggerNode, {
399
+ readonly kind: 'webhook';
400
+ }>, 'bodyFields' | 'options'>;
401
+ readonly kind: 'graph.node.webhook.set';
402
+ readonly nodeId: string;
403
+ readonly target: Extract<GraphTarget, {
404
+ readonly kind: 'flow';
405
+ }>;
406
+ readonly value: Pick<Extract<TriggerNode, {
407
+ readonly kind: 'webhook';
408
+ }>, 'bodyFields' | 'options'>;
409
+ } | {
410
+ readonly before?: JsonValue;
411
+ readonly kind: 'graph.trigger.config.set';
412
+ readonly name: string;
413
+ readonly nodeId: string;
414
+ readonly value?: JsonValue;
415
+ } | {
416
+ readonly before: readonly TriggerSchedule[];
417
+ readonly kind: 'graph.trigger.schedule.set';
418
+ readonly nodeId: string;
419
+ readonly value: readonly TriggerSchedule[];
265
420
  } | {
266
421
  readonly kind: 'module.create';
267
422
  readonly module: CodeModule;
@@ -270,10 +425,13 @@ export type ChangeOperation = {
270
425
  readonly kind: 'module.delete';
271
426
  readonly moduleId: string;
272
427
  } | {
428
+ readonly before: string;
273
429
  readonly kind: 'module.rename';
274
430
  readonly moduleId: string;
275
431
  readonly name: string;
276
432
  } | {
433
+ readonly beforeImports: readonly string[];
434
+ readonly beforeSource: string;
277
435
  readonly imports: readonly string[];
278
436
  readonly kind: 'module.source.replace';
279
437
  readonly moduleId: string;
@@ -283,8 +441,9 @@ export type ChangeOperation = {
283
441
  readonly subflow: FlowDocument['subflows'][string];
284
442
  readonly subflowId: string;
285
443
  } | {
444
+ readonly before: Omit<FlowDocument['subflows'][string], 'graph'>;
286
445
  readonly definition: Omit<FlowDocument['subflows'][string], 'graph'>;
287
- readonly kind: 'subflow.definition.replace';
446
+ readonly kind: 'subflow.definition.set';
288
447
  readonly subflowId: string;
289
448
  } | {
290
449
  readonly kind: 'subflow.delete';
@@ -293,15 +452,31 @@ export type ChangeOperation = {
293
452
  readonly kind: 'task.create';
294
453
  readonly task: FlowDocument['tasks'][string];
295
454
  readonly taskId: string;
455
+ } | {
456
+ readonly before?: string;
457
+ readonly kind: 'task.connector.connection.set';
458
+ readonly taskId: string;
459
+ readonly value?: string;
296
460
  } | {
297
461
  readonly kind: 'task.delete';
298
462
  readonly taskId: string;
299
463
  } | {
300
- readonly kind: 'task.replace';
301
- readonly task: FlowDocument['tasks'][string];
464
+ readonly before: ManagedTaskDefinition;
465
+ readonly kind: 'task.agent.set';
466
+ readonly taskId: string;
467
+ readonly value: ManagedTaskDefinition;
468
+ } | {
469
+ readonly before: 'chat' | 'json';
470
+ readonly kind: 'task.llm.mode.set';
471
+ readonly taskId: string;
472
+ readonly value: 'chat' | 'json';
473
+ } | {
474
+ readonly before: string;
475
+ readonly kind: 'task.name.set';
302
476
  readonly taskId: string;
477
+ readonly value: string;
303
478
  };
304
479
  export declare class FlowChangeError extends Error {
480
+ constructor(message: string);
305
481
  }
306
482
  export declare function applyFlowChanges(content: RevisionContent, operations: readonly ChangeOperation[]): RevisionContent;
307
- export {};