@oomol-lab/open-flow 0.1.0-beta.75 → 0.1.0-beta.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/README.md +3 -1
  2. package/dist/browser/{ContentIcon-FCpKiwjp.js → ContentIcon-VZQO8VZU.js} +9 -6
  3. package/dist/browser/{FlowCanvas-dzRBnlUT.js → FlowCanvas-BNGDMaWr.js} +75 -63
  4. package/dist/browser/{createResourceDialog-BeYDdUl-.js → createResourceDialog-BmtakfVg.js} +63 -57
  5. package/dist/browser/{dialog-ZtpsFbl4.js → dialog-BcFBfRB1.js} +126 -32
  6. package/dist/browser/{exportSvg-DqXw1yf-.js → exportSvg-CG8hEUNk.js} +2 -2
  7. package/dist/browser/{flowChanges-b_5UobFj.js → flowChanges-BGo_4Ypo.js} +6063 -11285
  8. package/dist/browser/{flowWorkspace-ItojZbO4.js → flowWorkspace-BFHGev7s.js} +1065 -2570
  9. package/dist/browser/preview.css +626 -653
  10. package/dist/browser/preview.js +1907 -9663
  11. package/dist/browser/theme.css +117 -263
  12. package/dist/browser/{tooltip-wZJRB9oP.js → tooltip-BAWSUexx.js} +2 -2
  13. package/dist/browser/{typeScriptSession-CSRwWmZm.js → typeScriptSession-CRoezJPN.js} +1 -1
  14. package/dist/browser/ui.css +464 -463
  15. package/dist/browser/ui.js +4 -3
  16. package/dist/browser/workbench.css +9891 -9897
  17. package/dist/browser/workbench.d.ts +6 -2
  18. package/dist/browser/workbench.js +838 -499
  19. package/dist/browser/{workbenchSelect-M441Lz0d.js → workbenchSelect-CjK-xdm3.js} +2 -2
  20. package/dist/command/index.js +48 -50
  21. package/dist/common/authoring.d.ts +5 -5
  22. package/dist/common/authoringExamples.d.ts +3 -2
  23. package/dist/common/authoringSchema.d.ts +26 -4
  24. package/dist/common/connector-proxy.d.ts +1 -1
  25. package/dist/common/control-api-conformance.js +352 -144
  26. package/dist/common/control-api-errors.d.ts +12 -0
  27. package/dist/common/control-api.d.ts +38 -4
  28. package/dist/common/control-api.js +373 -162
  29. package/dist/common/control-requests.d.ts +22 -3
  30. package/dist/common/control-requests.js +268 -28
  31. package/dist/common/cron-trigger.d.ts +2 -1
  32. package/dist/common/decision.d.ts +4 -4
  33. package/dist/common/decision.js +5 -2
  34. package/dist/common/engine-contract.d.ts +6 -1
  35. package/dist/common/event-source-definition.d.ts +1 -1
  36. package/dist/common/event-source-view.d.ts +22 -0
  37. package/dist/common/event-source.d.ts +1 -1
  38. package/dist/common/event-source.js +24 -65
  39. package/dist/common/event-sources.d.ts +0 -21
  40. package/dist/common/flow-authoring.js +90 -20
  41. package/dist/common/flow-change-schema.d.ts +9 -1
  42. package/dist/common/flow-change.d.ts +8 -202
  43. package/dist/common/flow-change.js +96 -24
  44. package/dist/common/flow-encoding.js +89 -21
  45. package/dist/common/flow-input-value.d.ts +1 -1
  46. package/dist/common/flow-model.d.ts +121 -0
  47. package/dist/common/flow-notifications.d.ts +1 -1
  48. package/dist/common/flow-retry.d.ts +2 -4
  49. package/dist/common/flow-semantics.js +161 -80
  50. package/dist/common/flow-state.d.ts +123 -0
  51. package/dist/common/flow-state.js +5852 -0
  52. package/dist/common/flow-workflowReferences.d.ts +8 -0
  53. package/dist/common/flowInspection.d.ts +1 -1
  54. package/dist/common/http-hosts.d.ts +6 -0
  55. package/dist/common/http-request.d.ts +13 -5
  56. package/dist/common/http-request.js +23 -5
  57. package/dist/common/integration-trigger.d.ts +2 -1
  58. package/dist/common/mcp.d.ts +96 -3
  59. package/dist/common/mcp.js +355 -142
  60. package/dist/common/openapi.d.ts +4 -4
  61. package/dist/common/openapi.js +4 -1
  62. package/dist/common/poll-trigger.d.ts +2 -1
  63. package/dist/common/run-events.js +1 -0
  64. package/dist/common/runtime-contract.d.ts +37 -1
  65. package/dist/common/runtime-contract.js +717 -72
  66. package/dist/common/runtime-nodejs-compat.d.ts +44 -0
  67. package/dist/common/runtime-nodejs-compat.js +5870 -0
  68. package/dist/common/scheduler-checkpoint.d.ts +1 -1
  69. package/dist/common/scheduler-node-execution.d.ts +2 -1
  70. package/dist/common/scheduler.d.ts +2 -2
  71. package/dist/common/scheduler.js +76 -6
  72. package/dist/common/state-conformance.d.ts +16 -0
  73. package/dist/common/tags.d.ts +4 -0
  74. package/dist/common/trigger-catalog.d.ts +1 -7
  75. package/dist/common/trigger-config-options.d.ts +1 -1
  76. package/dist/common/trigger-config.d.ts +1 -1
  77. package/dist/common/trigger-contract.d.ts +2 -1
  78. package/dist/common/trigger-localization.d.ts +8 -2
  79. package/dist/common/trigger-model.d.ts +101 -0
  80. package/dist/common/webhook-response.d.ts +1 -1
  81. package/dist/common/webhook-trigger.d.ts +3 -1
  82. package/dist/common/workflow.d.ts +3 -12
  83. package/dist/common/workflow.js +25 -23
  84. package/dist/index.d.ts +52 -14
  85. package/package.json +9 -1
  86. package/src/base/common/json.ts +1 -1
  87. package/src/connector/common/proxy.ts +1 -1
  88. package/src/control/common/api.ts +90 -16
  89. package/src/control/common/authoring.ts +6 -1
  90. package/src/control/common/authoringExamples.ts +8 -0
  91. package/src/control/common/authoringSchema.ts +26 -13
  92. package/src/control/common/authoringTools.ts +1 -1
  93. package/src/control/common/conformance.ts +1 -1
  94. package/src/control/common/connectorDecoders.ts +1 -1
  95. package/src/control/common/errors.ts +6 -0
  96. package/src/control/common/eventSources.ts +2 -29
  97. package/src/control/common/flowDecoders.ts +1 -0
  98. package/src/control/common/mcp.ts +16 -0
  99. package/src/control/common/requests.ts +10 -2
  100. package/src/control/common/tags.ts +20 -0
  101. package/src/control/common/triggerCatalog.ts +1 -8
  102. package/src/decision/common/decision.ts +15 -7
  103. package/src/event-source/common/definition.ts +1 -1
  104. package/src/event-source/common/index.ts +1 -1
  105. package/src/event-source/common/view.ts +20 -0
  106. package/src/execution/common/checkpoint.ts +1 -1
  107. package/src/execution/common/events.ts +3 -0
  108. package/src/execution/common/node-execution.ts +4 -1
  109. package/src/execution/common/scheduler.ts +3 -1
  110. package/src/flow/common/change.ts +60 -193
  111. package/src/flow/common/changeSchema.ts +39 -4
  112. package/src/flow/common/connectionUsage.ts +1 -1
  113. package/src/flow/common/errorHandling.ts +1 -1
  114. package/src/flow/common/inputValue.ts +1 -1
  115. package/src/flow/common/model.ts +130 -0
  116. package/src/flow/common/modules.ts +1 -1
  117. package/src/flow/common/portChanges.ts +1 -1
  118. package/src/flow/common/retry.ts +2 -4
  119. package/src/flow/common/semantics.ts +31 -4
  120. package/src/flow/common/webhookResponse.ts +1 -1
  121. package/src/flow/common/workflowReferences.ts +31 -0
  122. package/src/http/common/authBindings.ts +6 -9
  123. package/src/http/common/hosts.ts +13 -0
  124. package/src/http/common/httpRequest.ts +30 -15
  125. package/src/openapi/common/openapi.ts +9 -5
  126. package/src/{execution → runtime}/common/engineContract.ts +23 -15
  127. package/src/runtime/common/nodejsCompat.ts +275 -0
  128. package/src/runtime/common/nodejsGuest.generated.json +47 -0
  129. package/src/runtime/common/runtime.ts +1254 -0
  130. package/src/state/common/conformance.ts +86 -0
  131. package/src/state/common/state.ts +169 -0
  132. package/src/trigger/common/config.ts +1 -1
  133. package/src/trigger/common/configOptions.ts +1 -1
  134. package/src/trigger/common/contract.ts +2 -1
  135. package/src/trigger/common/cron.ts +2 -1
  136. package/src/trigger/common/integration.ts +2 -1
  137. package/src/trigger/common/model.ts +87 -0
  138. package/src/trigger/common/poll.ts +2 -1
  139. package/src/trigger/common/webhook.ts +3 -1
  140. package/src/trigger/providers/fieldDescriptions.ts +1 -1
  141. package/src/trigger/providers/localization.ts +9 -2
  142. package/src/trigger/providers/remote.ts +1 -1
  143. package/src/types/index.ts +55 -15
  144. package/src/workflow/common/workflow.ts +3 -44
  145. package/src/execution/common/runtime.ts +0 -563
  146. /package/src/{control → connector}/common/providerIconSprite.ts +0 -0
@@ -0,0 +1,8 @@
1
+ import type { GraphNode } from './flow-change.js';
2
+ import type { WorkflowCapability } from './flow-model.js';
3
+ /** Workflow declarations share discovery across authoring, admission and resource indexing. */
4
+ export declare function nodeWorkflowReferences(node: GraphNode): readonly {
5
+ readonly target: Omit<WorkflowCapability, 'kind' | 'name'>;
6
+ readonly path: string;
7
+ readonly tool?: string;
8
+ }[];
@@ -43,7 +43,7 @@ export declare function flowInspection(inspected: Awaited<ReturnType<typeof insp
43
43
  nodes: {
44
44
  [k: string]: Record<string, unknown>;
45
45
  };
46
- edges: readonly import('./flow-change.js').GraphEdge[];
46
+ edges: readonly import("./flow-change.js").GraphEdge[];
47
47
  };
48
48
  bindings: Readonly<Record<string, {
49
49
  readonly kind: 'variable';
@@ -0,0 +1,6 @@
1
+ /** Hosts of a Code `http` Capability: lowercase DNS names or IPv4 addresses; `*.example.com` matches subdomains only. */
2
+ export declare const httpHostPattern: RegExp;
3
+ export declare const maxHttpHosts = 20;
4
+ /** Wildcards must name a registrable suffix, so `*.com` is rejected. */
5
+ export declare function isHttpHost(value: string): boolean;
6
+ export declare function httpHostAllowed(hosts: readonly string[], hostname: string): boolean;
@@ -1,5 +1,6 @@
1
- import type { InputMapping, JsonValue, ManagedTaskDefinition, TaskNode } from './flow-change.js';
1
+ import type { InputMapping, JsonValue, ManagedTaskDefinitionOf, TaskDefinitionBase, TaskExecutor } from './flow-model.js';
2
2
  import { z } from 'zod';
3
+ export { httpHostAllowed, isHttpHost, maxHttpHosts } from './http-hosts.js';
3
4
  export declare const httpRequestConfigSchema: z.ZodObject<{
4
5
  method: z.ZodDefault<z.ZodEnum<{
5
6
  DELETE: "DELETE";
@@ -135,7 +136,7 @@ export declare const httpQuerySchema: {
135
136
  };
136
137
  };
137
138
  export declare function httpAuthHandles(config: HttpRequestConfig): string[];
138
- export declare function httpRequestTask(config?: HttpRequestConfig, name?: string, previous?: ManagedTaskDefinition): ManagedTaskDefinition;
139
+ export declare function httpRequestTask(config?: HttpRequestConfig, name?: string, previous?: TaskDefinitionBase): ManagedTaskDefinitionOf<HttpRequestExecutor>;
139
140
  export interface HttpRequestIssue {
140
141
  field: string;
141
142
  index?: number;
@@ -150,7 +151,14 @@ export declare function buildHttpRequest(config: HttpRequestConfig, input: Reado
150
151
  };
151
152
  export declare function parseHttpResponse(config: HttpRequestConfig, status: number, headers: Headers, text: string): Record<string, JsonValue>;
152
153
  /** Only a named parameter rename carries a value; changing source modes is not a rename. */
153
- export declare function httpRequestInputs(mappings: Readonly<Record<string, InputMapping>>, previous: ManagedTaskDefinition, next: ManagedTaskDefinition): Record<string, InputMapping>;
154
+ export declare function httpRequestInputs(mappings: Readonly<Record<string, InputMapping>>, previous: TaskDefinitionBase, next: TaskDefinitionBase): Record<string, InputMapping>;
155
+ /** A Task node as HTTP helpers read it; inline Tasks have no executor. */
156
+ interface HttpTaskNode {
157
+ readonly inputs: Readonly<Record<string, InputMapping>>;
158
+ readonly task: TaskDefinitionBase & {
159
+ readonly executor?: TaskExecutor;
160
+ };
161
+ }
154
162
  /** The object editor assembles named inputs without changing unrelated request settings. */
155
- export declare function withHttpParameterFields(node: TaskNode, group: 'query' | 'headers', values: Record<string, JsonValue>): TaskNode;
156
- export declare function withHttpParameterSource(node: TaskNode, group: 'query' | 'headers', mapping?: InputMapping): TaskNode;
163
+ export declare function withHttpParameterFields<Node extends HttpTaskNode>(node: Node, group: 'query' | 'headers', values: Record<string, JsonValue>): Node;
164
+ export declare function withHttpParameterSource<Node extends HttpTaskNode>(node: Node, group: 'query' | 'headers', mapping?: InputMapping): Node;
@@ -4916,6 +4916,19 @@ function httpHeaderNameIssue(name, names) {
4916
4916
  if (names.some((candidate) => candidate.toLowerCase() === name.toLowerCase())) return "duplicate";
4917
4917
  }
4918
4918
  //#endregion
4919
+ //#region src/http/common/hosts.ts
4920
+ /** Hosts of a Code `http` Capability: lowercase DNS names or IPv4 addresses; `*.example.com` matches subdomains only. */
4921
+ var httpHostPattern = /^(?:\*\.)?(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/;
4922
+ var maxHttpHosts = 20;
4923
+ /** Wildcards must name a registrable suffix, so `*.com` is rejected. */
4924
+ function isHttpHost(value) {
4925
+ return httpHostPattern.test(value) && (!value.startsWith("*.") || value.slice(2).includes("."));
4926
+ }
4927
+ function httpHostAllowed(hosts, hostname) {
4928
+ const host = hostname.toLowerCase();
4929
+ return hosts.some((pattern) => pattern.startsWith("*.") ? host.endsWith(pattern.slice(1)) : host == pattern);
4930
+ }
4931
+ //#endregion
4919
4932
  //#region src/http/common/httpRequest.ts
4920
4933
  var parameterSchema = strictObject({
4921
4934
  mode: _enum(["fields", "object"]).default("fields"),
@@ -5205,10 +5218,14 @@ function httpRequestInputs(mappings, previous, next) {
5205
5218
  const rename = candidate != null && ["query.", "header."].some((prefix) => candidate.every((name) => name.startsWith(prefix))) ? candidate : void 0;
5206
5219
  return remapInputMappings(mappings, next.inputs, rename);
5207
5220
  }
5221
+ function httpRequestExecutor(node) {
5222
+ const executor = node.task.executor;
5223
+ return executor?.kind === "http-request" ? executor : void 0;
5224
+ }
5208
5225
  /** The object editor assembles named inputs without changing unrelated request settings. */
5209
5226
  function withHttpParameterFields(node, group, values) {
5210
- if (!("executor" in node.task) || node.task.executor.kind !== "http-request") return node;
5211
- const config = node.task.executor;
5227
+ const config = httpRequestExecutor(node);
5228
+ if (config == null) return node;
5212
5229
  const task = httpRequestTask({
5213
5230
  ...config,
5214
5231
  [group]: {
@@ -5233,9 +5250,10 @@ function withHttpParameterFields(node, group, values) {
5233
5250
  };
5234
5251
  }
5235
5252
  function withHttpParameterSource(node, group, mapping) {
5236
- if (!("executor" in node.task) || node.task.executor.kind !== "http-request") return node;
5253
+ const config = httpRequestExecutor(node);
5254
+ if (config == null) return node;
5237
5255
  const task = httpRequestTask({
5238
- ...node.task.executor,
5256
+ ...config,
5239
5257
  [group]: {
5240
5258
  mode: "object",
5241
5259
  names: []
@@ -5251,4 +5269,4 @@ function withHttpParameterSource(node, group, mapping) {
5251
5269
  };
5252
5270
  }
5253
5271
  //#endregion
5254
- export { buildHttpRequest, httpAuthHandles, httpHeaderSchema, httpQuerySchema, httpRequestConfigSchema, httpRequestExecutorSchema, httpRequestInputs, httpRequestIssues, httpRequestTask, httpRequestUrl, parseHttpResponse, withHttpParameterFields, withHttpParameterSource };
5272
+ export { buildHttpRequest, httpAuthHandles, httpHeaderSchema, httpHostAllowed, httpQuerySchema, httpRequestConfigSchema, httpRequestExecutorSchema, httpRequestInputs, httpRequestIssues, httpRequestTask, httpRequestUrl, isHttpHost, maxHttpHosts, parseHttpResponse, withHttpParameterFields, withHttpParameterSource };
@@ -1,7 +1,8 @@
1
1
  export { resolveTriggerConfig, triggerConfigValues } from './trigger-config.js';
2
2
  import type { ConnectorProxy } from './connector-proxy.js';
3
- import type { IntegrationEndpointMethod, JsonValue, TriggerKeySnapshot } from './flow-change.js';
3
+ import type { JsonValue } from './flow-model.js';
4
4
  import type { TriggerConfigOption, TriggerConfigOptionsContext } from './trigger-config-options.js';
5
+ import type { IntegrationEndpointMethod, TriggerKeySnapshot } from './trigger-model.js';
5
6
  export declare const maximumIntegrationBodyBytes: number;
6
7
  export declare const maximumIntegrationDeliveryPages = 5;
7
8
  export interface ListenerReadContext {
@@ -3,6 +3,99 @@ import { z } from 'zod';
3
3
  export declare const mcpProtocolVersion = "2026-07-28";
4
4
  export declare const mcpInstructions: string;
5
5
  export declare const mcpTools: {
6
+ flow_state: {
7
+ description: string;
8
+ annotations: {
9
+ readOnlyHint: boolean;
10
+ destructiveHint: boolean;
11
+ idempotentHint: boolean;
12
+ openWorldHint: boolean;
13
+ };
14
+ inputSchema: {
15
+ '~standard': {
16
+ version: 1;
17
+ vendor: string;
18
+ jsonSchema: {
19
+ input: () => Record<string, unknown>;
20
+ output: () => Record<string, unknown>;
21
+ };
22
+ validate(value: unknown): {
23
+ value: {
24
+ scope: "draft" | "live";
25
+ values?: boolean | undefined;
26
+ flowId: string;
27
+ };
28
+ } | {
29
+ issues: {
30
+ message: string;
31
+ path: string[];
32
+ }[];
33
+ };
34
+ };
35
+ };
36
+ };
37
+ flow_state_clear: {
38
+ description: string;
39
+ annotations: {
40
+ readOnlyHint: boolean;
41
+ destructiveHint: boolean;
42
+ idempotentHint: boolean;
43
+ openWorldHint: boolean;
44
+ };
45
+ inputSchema: {
46
+ '~standard': {
47
+ version: 1;
48
+ vendor: string;
49
+ jsonSchema: {
50
+ input: () => Record<string, unknown>;
51
+ output: () => Record<string, unknown>;
52
+ };
53
+ validate(value: unknown): {
54
+ value: {
55
+ scope: "draft" | "live";
56
+ key?: string | undefined;
57
+ flowId: string;
58
+ };
59
+ } | {
60
+ issues: {
61
+ message: string;
62
+ path: string[];
63
+ }[];
64
+ };
65
+ };
66
+ };
67
+ };
68
+ flow_dedupe_clear: {
69
+ description: string;
70
+ annotations: {
71
+ readOnlyHint: boolean;
72
+ destructiveHint: boolean;
73
+ idempotentHint: boolean;
74
+ openWorldHint: boolean;
75
+ };
76
+ inputSchema: {
77
+ '~standard': {
78
+ version: 1;
79
+ vendor: string;
80
+ jsonSchema: {
81
+ input: () => Record<string, unknown>;
82
+ output: () => Record<string, unknown>;
83
+ };
84
+ validate(value: unknown): {
85
+ value: {
86
+ scope: "draft" | "live";
87
+ space: string;
88
+ flowId: string;
89
+ };
90
+ } | {
91
+ issues: {
92
+ message: string;
93
+ path: string[];
94
+ }[];
95
+ };
96
+ };
97
+ };
98
+ };
6
99
  flow_canvas: {
7
100
  description: string;
8
101
  annotations: {
@@ -161,7 +254,7 @@ export declare const mcpTools: {
161
254
  value: {
162
255
  revision?: string | undefined;
163
256
  query: string;
164
- type?: "agent" | "approval" | "code" | "condition" | "connector" | "cron" | "decision" | "error" | "http-request" | "integration" | "llm" | "openapi" | "outputs" | "poll" | "start" | "value" | "wait" | "webhook" | "webhook-response" | "workflow" | undefined;
257
+ type?: "agent" | "approval" | "code" | "condition" | "connector" | "cron" | "decision" | "dedupe" | "error" | "http-request" | "integration" | "llm" | "openapi" | "outputs" | "poll" | "start" | "value" | "wait" | "webhook" | "webhook-response" | "workflow" | undefined;
165
258
  offset: number;
166
259
  limit: number;
167
260
  flowId: string;
@@ -193,7 +286,7 @@ export declare const mcpTools: {
193
286
  };
194
287
  validate(value: unknown): {
195
288
  value: {
196
- type?: "agent" | "approval" | "code" | "condition" | "connector" | "cron" | "decision" | "error" | "http-request" | "integration" | "llm" | "openapi" | "outputs" | "poll" | "start" | "value" | "wait" | "webhook" | "webhook-response" | "workflow" | undefined;
289
+ type?: "agent" | "approval" | "code" | "condition" | "connector" | "cron" | "decision" | "dedupe" | "error" | "http-request" | "integration" | "llm" | "openapi" | "outputs" | "poll" | "start" | "value" | "wait" | "webhook" | "webhook-response" | "workflow" | undefined;
197
290
  action?: string | undefined;
198
291
  flowId?: string | undefined;
199
292
  };
@@ -321,7 +414,7 @@ export declare const mcpTools: {
321
414
  edits: ({
322
415
  op: "node.add";
323
416
  as: string;
324
- type: "agent" | "approval" | "code" | "condition" | "connector" | "cron" | "decision" | "error" | "http-request" | "integration" | "llm" | "openapi" | "outputs" | "poll" | "start" | "value" | "wait" | "webhook" | "webhook-response" | "workflow";
417
+ type: "agent" | "approval" | "code" | "condition" | "connector" | "cron" | "decision" | "dedupe" | "error" | "http-request" | "integration" | "llm" | "openapi" | "outputs" | "poll" | "start" | "value" | "wait" | "webhook" | "webhook-response" | "workflow";
325
418
  name: string;
326
419
  onError?: "error" | "stop" | undefined;
327
420
  retry?: {