@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
@@ -1,4 +1,4 @@
1
- import type { JsonValue, ManagedTaskDefinition } from './flow-change.js';
1
+ import type { JsonValue, ManagedTaskDefinitionOf, TaskExecutor } from './flow-model.js';
2
2
  type ObjectValue = {
3
3
  [key: string]: JsonValue;
4
4
  };
@@ -36,14 +36,14 @@ export declare function securityOptions(value: JsonValue, path: string, method:
36
36
  }[];
37
37
  export declare function snapshot(documentValue: JsonValue, path: string, method: string): JsonValue;
38
38
  export declare function authHandles(auth: readonly OpenApiAuth[]): string[];
39
- export declare function openApiTask(config: OpenApiExecutor, name?: string): ManagedTaskDefinition;
39
+ export declare function openApiTask(config: OpenApiExecutor, name?: string): ManagedTaskDefinitionOf<OpenApiExecutor>;
40
40
  export interface OpenApiFieldIssue {
41
41
  readonly field: 'sourceUrl' | 'operation' | 'serverUrl';
42
42
  readonly message: string;
43
43
  }
44
44
  /** The canvas validator and property panel share the same configuration contract. */
45
- export declare function openApiFieldIssues(task: ManagedTaskDefinition): OpenApiFieldIssue[];
46
- export declare function openApiIssues(task: ManagedTaskDefinition): string[];
45
+ export declare function openApiFieldIssues<Executor extends TaskExecutor>(task: ManagedTaskDefinitionOf<Executor>): OpenApiFieldIssue[];
46
+ export declare function openApiIssues(task: ManagedTaskDefinitionOf<TaskExecutor>): string[];
47
47
  export declare function selectOperation(value: JsonValue, sourceUrl: string, path: string, method: string): OpenApiExecutor;
48
48
  export declare function buildRequest(config: OpenApiExecutor, input: Readonly<Record<string, JsonValue>>): {
49
49
  url: string;
@@ -3946,6 +3946,9 @@ function schema(doc, schemaValue) {
3946
3946
  ...Object.keys(defs).length ? { $defs: defs } : {}
3947
3947
  };
3948
3948
  }
3949
+ function isOpenApiExecutor(executor) {
3950
+ return executor.kind == "openapi";
3951
+ }
3949
3952
  function parameters(config) {
3950
3953
  const doc = parseOpenApi(config.document);
3951
3954
  const { item, op } = operation(doc, config.path, config.method);
@@ -4067,7 +4070,7 @@ function inlineSchema(value, index) {
4067
4070
  }
4068
4071
  /** The canvas validator and property panel share the same configuration contract. */
4069
4072
  function openApiFieldIssues(task) {
4070
- if (task.executor.kind != "openapi") return [];
4073
+ if (!isOpenApiExecutor(task.executor)) return [];
4071
4074
  const config = task.executor;
4072
4075
  let field = "sourceUrl";
4073
4076
  try {
@@ -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 { JsonValue, TriggerKeySnapshot, TriggerSchedule } 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 { TriggerKeySnapshot, TriggerSchedule } from './trigger-model.js';
5
6
  export declare const maximumPollCheckpointBytes: number;
6
7
  export declare const maximumPollDedupeKeyBytes = 1024;
7
8
  export declare const maximumPollEventsPerPage = 100;
@@ -54,6 +54,7 @@ var nodeKinds = /* @__PURE__ */ new Set([
54
54
  "javascript",
55
55
  "openapi",
56
56
  "http-request",
57
+ "dedupe",
57
58
  "llm",
58
59
  "value",
59
60
  "wait",
@@ -1,5 +1,19 @@
1
- import type { CodeModule, ConnectorCapability, TaskCapability, JsonValue } from './flow-change.js';
1
+ import type { CodeModule, ConnectorCapability, TaskCapability, JsonValue } from './flow-model.js';
2
2
  export { currentEngineContract, nodejsEngineContract, findEngineContract, type EngineContract } from './engine-contract.js';
3
+ /** Serialized into the guest; keep validation and helpers self-contained. */
4
+ export declare function createState(invoke: (kind: string, payload: JsonValue) => Promise<RuntimeCapabilityResponse>): {
5
+ state: Readonly<{
6
+ get(key: unknown): Promise<JsonValue>;
7
+ set(key: unknown, value: unknown): Promise<void>;
8
+ insert(key: unknown, value: unknown): Promise<boolean>;
9
+ delete(key: unknown): Promise<void>;
10
+ list(): Promise<string[]>;
11
+ }>;
12
+ dedupe: Readonly<{
13
+ insert(ids: unknown): Promise<boolean[]>;
14
+ has(ids: unknown): Promise<boolean[]>;
15
+ }>;
16
+ };
3
17
  export type RuntimeModule = Pick<CodeModule, 'imports' | 'source'>;
4
18
  /** Snapshot a Task result before JSON transport can discard or coerce invalid values. */
5
19
  export declare function snapshotRuntimeResult(value: unknown): JsonValue | undefined;
@@ -97,6 +111,28 @@ export interface DecisionTaskInvocation {
97
111
  readonly version: 1;
98
112
  }
99
113
  export type InvokeDecisionTask = (invocation: DecisionTaskInvocation) => Promise<LlmTaskResult>;
114
+ /**
115
+ * Serialized into the sandbox before the Capability helpers that use it; keep it self-contained. Encodes in guest
116
+ * JavaScript, because Node compatibility `atob`/`btoa` route through bounded Host primitives.
117
+ */
118
+ export declare function createBase64(): Readonly<{
119
+ encode(bytes: Uint8Array): string;
120
+ decode(text: unknown): Uint8Array;
121
+ }>;
122
+ /**
123
+ * Serialized into the sandbox; keep it self-contained. Transfers bytes as base64 chunks through
124
+ * `artifact.write`, `artifact.put` and `artifact.read` so each Capability message stays bounded.
125
+ */
126
+ export declare function createArtifacts(invoke: (kind: string, payload: JsonValue) => Promise<RuntimeCapabilityResponse>, { decode, encode }?: ReturnType<typeof createBase64>): Readonly<{
127
+ put(data: unknown, options: unknown): Promise<JsonValue>;
128
+ open(ref: unknown): Promise<Uint8Array>;
129
+ }>;
130
+ /**
131
+ * Serialized into the sandbox; keep it self-contained. `context.fetch` sends one `http.fetch` Capability call per request.
132
+ * The Host authorizes the URL against the node's `http` Capability, does not follow redirects and adds no credentials.
133
+ * Request and response bodies are limited to 1 MiB; the response is a read-only subset of the Fetch `Response`.
134
+ */
135
+ export declare function createFetch(invoke: (kind: string, payload: JsonValue) => Promise<RuntimeCapabilityResponse>, { decode, encode }?: ReturnType<typeof createBase64>): (input: unknown, init?: unknown) => Promise<unknown>;
100
136
  /** Serialized into the sandbox alongside the strict JSON snapshot helper. */
101
137
  export declare function createWorkflows(invoke: (payload: JsonValue) => Promise<RuntimeCapabilityResponse>): Readonly<{
102
138
  call(name: string, input?: Readonly<Record<string, JsonValue>>): Promise<JsonValue>;