@oomol-lab/open-flow 0.1.0-beta.1 → 0.1.0-beta.11

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 (69) hide show
  1. package/dist/browser/DesignerIcon-ckcKnxxJ.js +2267 -0
  2. package/dist/browser/createResourceDialog-DhIU-HYW.js +111 -0
  3. package/dist/browser/{dist-CPuF50D9.js → dist-BZ5PTFAs.js} +1 -1
  4. package/dist/browser/dist-Bmb2mZvW.js +795 -0
  5. package/dist/browser/{dist-DWADUsVB.js → dist-By46o5UV.js} +47 -47
  6. package/dist/browser/dist-CP0883sY.js +4 -0
  7. package/dist/browser/{dist-CJpzJrLM.js → dist-Ce71Szg7.js} +894 -895
  8. package/dist/browser/dist-DSe6KRsr.js +1224 -0
  9. package/dist/browser/{dist-DUzA0Ukh.js → dist-DY4qlXTK.js} +140 -141
  10. package/dist/browser/{dist-3Mj8q8Pr.js → dist-DmuE3M0R.js} +53 -54
  11. package/dist/browser/{dist-BN4ZCyOB.js → dist-DpDLsYtO.js} +14 -15
  12. package/dist/browser/dist-DxahK_I8.js +2688 -0
  13. package/dist/browser/{esm-DGQbgYoJ.js → esm-C64_h7HF.js} +58 -59
  14. package/dist/browser/flow-authoring-module.d.ts +2 -2
  15. package/dist/browser/flow-authoring-node.d.ts +17 -7
  16. package/dist/browser/flow-authoring.d.ts +1 -1
  17. package/dist/browser/flow-authoring.js +5329 -286
  18. package/dist/browser/flow-change-schema.d.ts +3 -0
  19. package/dist/browser/flow-change.d.ts +131 -14
  20. package/dist/browser/flow-change.js +5216 -114
  21. package/dist/browser/flow-notifications.d.ts +5 -0
  22. package/dist/browser/flowChanges-BINNGoug.js +12896 -0
  23. package/dist/browser/{flowRunInputEditorStore-BeyUSWpO.js → flowRunInputEditorStore-NPGePkvP.js} +775 -776
  24. package/dist/browser/flowWorkspace-Dp_b8KXF.js +158409 -0
  25. package/dist/browser/{getPseudoElementBounds-ESJExRFX.js → getPseudoElementBounds-Dfqo78k7.js} +2051 -2542
  26. package/dist/browser/{languages-DgJehE1g.js → languages-i3Xmpt6S.js} +6 -15
  27. package/dist/browser/licenses.md +82 -0
  28. package/dist/browser/{markdownContent-DdlIRN3_.js → markdownContent-BawLYUjh.js} +24 -24
  29. package/dist/browser/select-CbQHq-GM.js +6851 -0
  30. package/dist/browser/theme.css +34 -34
  31. package/dist/browser/{typeScriptSession-mPCiA9sV.js → typeScriptSession-BoV-FDl3.js} +68 -69
  32. package/dist/browser/waitNotificationInputs-fzyKN6mk.js +29 -0
  33. package/dist/browser/workbench-contract.d.ts +8 -2
  34. package/dist/browser/workbench.css +1 -1
  35. package/dist/browser/workbench.d.ts +3 -1
  36. package/dist/browser/workbench.js +1647 -1299
  37. package/dist/browser/workbenchSelect-BjbJjlNd.js +435 -0
  38. package/dist/common/control-api-conformance.d.ts +1 -0
  39. package/dist/common/control-api-conformance.js +309 -81
  40. package/dist/common/control-api-errors.d.ts +12 -0
  41. package/dist/common/control-api.d.ts +95 -23
  42. package/dist/common/control-api.js +567 -364
  43. package/dist/common/engine-contract.d.ts +1 -1
  44. package/dist/common/flow-encoding.js +33 -15
  45. package/dist/common/flow-graph.d.ts +6 -0
  46. package/dist/common/flow-modules.d.ts +20 -0
  47. package/dist/common/flow-notifications.d.ts +5 -0
  48. package/dist/common/flow-schema.d.ts +8 -0
  49. package/dist/common/flow-semantics.d.ts +7 -5
  50. package/dist/common/flow-semantics.js +8880 -1702
  51. package/dist/common/integration-trigger.d.ts +2 -0
  52. package/dist/common/provider-triggers.js +4 -1
  53. package/dist/common/run-events.d.ts +2 -2
  54. package/dist/common/run-events.js +10 -16
  55. package/dist/common/run-lifecycle.d.ts +17 -2
  56. package/dist/common/run-lifecycle.js +53 -2
  57. package/dist/common/runtime-contract.d.ts +10 -2
  58. package/dist/common/runtime-contract.js +143 -6
  59. package/dist/common/scheduler.d.ts +52 -13
  60. package/dist/common/scheduler.js +7315 -242
  61. package/dist/index.d.ts +6 -5
  62. package/package.json +1 -1
  63. package/dist/browser/createResourceDialog-DXQz0thK.js +0 -504
  64. package/dist/browser/diagnostics-BGoGFvHA.js +0 -9237
  65. package/dist/browser/dist-BMqL-qR5.js +0 -1894
  66. package/dist/browser/dist-BpopSHwP.js +0 -1543
  67. package/dist/browser/dist-CUSrALSX.js +0 -1620
  68. package/dist/browser/flowWorkspace-DwyxAOBH.js +0 -47615
  69. package/dist/browser/workbenchSelect-B2s1HV-Y.js +0 -1374
@@ -3,5 +3,5 @@ export interface EngineContract {
3
3
  readonly platformModule: string;
4
4
  readonly platformSource: string;
5
5
  }
6
- export declare const currentEngineContract = "open-flow-engine/v1";
6
+ export declare const currentEngineContract = "open-flow-engine/v2";
7
7
  export declare function findEngineContract(contract: string): EngineContract | undefined;
@@ -58,7 +58,6 @@ function u(e) {
58
58
  function d(e) {
59
59
  if (!("inputs" in e)) return v(e);
60
60
  let t = {
61
- concurrency: e.concurrency,
62
61
  ...e.description == null ? {} : { description: e.description },
63
62
  ...e.icon == null ? {} : { icon: e.icon },
64
63
  inputs: l(e.inputs),
@@ -89,24 +88,46 @@ function d(e) {
89
88
  kind: e.kind,
90
89
  subflowId: e.subflowId
91
90
  };
92
- case "task": return e.task == null ? {
93
- ...t,
94
- kind: e.kind,
95
- taskId: e.taskId
96
- } : {
91
+ case "task": {
92
+ let n = e.task == null ? Object.assign({}, t, {
93
+ kind: e.kind,
94
+ taskId: e.taskId
95
+ }) : Object.assign({}, t, {
96
+ kind: e.kind,
97
+ task: m(e.task)
98
+ });
99
+ return e.additionalInputs != null && (n.additionalInputs = s(e.additionalInputs)), n;
100
+ }
101
+ case "value": return {
97
102
  ...t,
98
103
  kind: e.kind,
99
- task: m(e.task)
104
+ values: s(e.values)
100
105
  };
101
- case "value": return {
106
+ case "wait": return {
102
107
  ...t,
108
+ actions: e.actions,
109
+ input: {
110
+ handle: e.input.handle,
111
+ ...o(e.input)
112
+ },
103
113
  kind: e.kind,
104
- values: s(e.values)
114
+ ...e.notification == null ? {} : { notification: {
115
+ inputs: l(e.notification.inputs),
116
+ messageHandle: e.notification.messageHandle,
117
+ taskId: e.notification.taskId
118
+ } },
119
+ prompt: e.prompt
105
120
  };
106
121
  }
107
122
  }
108
123
  function f(e) {
109
- return { nodes: Object.fromEntries(a(e.nodes).map(([e, t]) => [e, d(t)])) };
124
+ return {
125
+ edges: e.edges.map((e) => ({ ...e })).toSorted((e, t) => {
126
+ let r = n(e), i = n(t);
127
+ return r < i ? -1 : +(r > i);
128
+ }),
129
+ nodes: Object.fromEntries(a(e.nodes).map(([e, t]) => [e, d(t)]))
130
+ };
110
131
  }
111
132
  function p(e) {
112
133
  return {
@@ -118,11 +139,7 @@ function p(e) {
118
139
  }
119
140
  function m(e) {
120
141
  return {
121
- ...e.capabilities == null ? {} : { capabilities: e.capabilities.map(({ action: e, connectionId: t, kind: n }) => ({
122
- action: e,
123
- connectionId: t,
124
- kind: n
125
- })) },
142
+ ...e.capabilities == null ? {} : { capabilities: e.capabilities },
126
143
  inputs: s(e.inputs),
127
144
  moduleId: e.moduleId,
128
145
  name: e.name,
@@ -183,6 +200,7 @@ function v(e) {
183
200
  name: e.name
184
201
  });
185
202
  switch (e.kind) {
203
+ case "manual": return t(e.kind);
186
204
  case "webhook": return {
187
205
  ...t(e.kind),
188
206
  inputsDef: e.inputsDef.map((e) => ({
@@ -0,0 +1,6 @@
1
+ import type { FlowDocument, Graph, GraphNode, InputPortDefinition, RevisionContent } from '../browser/flow-change.js';
2
+ import type { Diagnostic, SemanticClosure } from './flow-semantics.js';
3
+ export declare function nodeInputPorts(document: FlowDocument, node: GraphNode): Readonly<Record<string, InputPortDefinition>>;
4
+ export declare function graphOrder(graph: Graph): readonly string[];
5
+ export declare function availableOutputs(document: FlowDocument, graph: Graph, target: string, handle?: string): Readonly<Record<string, readonly string[]>>;
6
+ export declare function validateFlowGraph(revision: RevisionContent, closure: SemanticClosure): readonly Diagnostic[];
@@ -0,0 +1,20 @@
1
+ import type { EngineContract } from './engine-contract.js';
2
+ import type { RevisionContent } from '../browser/flow-change.js';
3
+ import type { Diagnostic } from './flow-semantics.js';
4
+ interface ImportReference {
5
+ readonly column: number;
6
+ readonly imported: readonly string[];
7
+ readonly line: number;
8
+ readonly specifier: string;
9
+ }
10
+ interface ModuleAnalysis {
11
+ readonly exports: ReadonlySet<string>;
12
+ readonly imports: readonly ImportReference[];
13
+ }
14
+ export declare function compareDiagnostics(left: Diagnostic, right: Diagnostic): number;
15
+ export declare function validateModuleGraph(revision: RevisionContent, moduleIds: readonly string[], engine: EngineContract): {
16
+ readonly analysis: ReadonlyMap<string, ModuleAnalysis>;
17
+ readonly diagnostics: Diagnostic[];
18
+ };
19
+ export declare function validateModules(revision: RevisionContent, moduleIds: readonly string[], engine: EngineContract): readonly Diagnostic[];
20
+ export {};
@@ -12,4 +12,9 @@ export type FlowChangeEvent = {
12
12
  readonly kind: 'run.created';
13
13
  readonly runId: string;
14
14
  readonly version: 1;
15
+ } | {
16
+ readonly flowId: string;
17
+ readonly kind: 'run.changed';
18
+ readonly runId: string;
19
+ readonly version: 1;
15
20
  };
@@ -0,0 +1,8 @@
1
+ import type { JsonValue, PortDefinition, TriggerNode } from '../browser/flow-change.js';
2
+ export declare function triggerPayloadSchema(trigger: TriggerNode): JsonValue;
3
+ export declare function schemaObject(schema: JsonValue): Readonly<Record<string, JsonValue>> | undefined;
4
+ export declare function schemaList(value: JsonValue | undefined): readonly JsonValue[] | undefined;
5
+ export declare function matchesSchema(value: JsonValue, schema: JsonValue): boolean;
6
+ export declare function portsAssignable(source: PortDefinition, target: PortDefinition): boolean;
7
+ export declare function variableInputCompatible(jsonSchema: JsonValue): boolean;
8
+ export declare function hasRetiredRef(value: unknown): boolean;
@@ -1,6 +1,9 @@
1
- import type { FlowDocument, Graph, JsonValue, RevisionContent, TriggerNode } from '@oomol-lab/open-flow/flow-change';
2
1
  import type { EngineContract } from './engine-contract.js';
3
2
  import type { RuntimeProgram } from './runtime-contract.js';
3
+ import type { ConnectorCapability, FlowDocument, Graph, RevisionContent } from '../browser/flow-change.js';
4
+ export { availableOutputs, graphOrder, nodeInputPorts } from './flow-graph.js';
5
+ export { validateModules } from './flow-modules.js';
6
+ export { matchesSchema, triggerPayloadSchema, variableInputCompatible } from './flow-schema.js';
4
7
  export interface SemanticClosure {
5
8
  readonly dependencies: {
6
9
  readonly bindings: ReadonlySet<string>;
@@ -11,6 +14,7 @@ export interface SemanticClosure {
11
14
  };
12
15
  readonly digest: string;
13
16
  }
17
+ export declare function flowDependencies(content: RevisionContent): SemanticClosure['dependencies'];
14
18
  export declare function flowClosure(content: RevisionContent): Promise<SemanticClosure>;
15
19
  export declare function variableBindings(revision: RevisionContent, bindingIds: Iterable<string>): Readonly<Record<string, string>>;
16
20
  export interface Diagnostic {
@@ -26,12 +30,9 @@ export interface FlowValidation {
26
30
  readonly diagnostics: readonly Diagnostic[];
27
31
  readonly valid: boolean;
28
32
  }
29
- export declare function triggerPayloadSchema(trigger: TriggerNode): JsonValue;
30
- export declare function matchesSchema(value: JsonValue, schema: JsonValue): boolean;
31
- export declare function variableInputCompatible(jsonSchema: JsonValue): boolean;
32
33
  export type FlowInputsValidation = 'invalid' | 'valid';
34
+ export declare function validRunTrigger(revision: RevisionContent, value: unknown): boolean;
33
35
  export declare function validateFlowInputs(revision: RevisionContent, value: unknown): FlowInputsValidation;
34
- export declare function validateModules(revision: RevisionContent, moduleIds: readonly string[], engine: EngineContract): readonly Diagnostic[];
35
36
  export declare function validateFlow(revision: RevisionContent, engine: EngineContract): Promise<FlowValidation>;
36
37
  export interface PreparedFlow {
37
38
  readonly closureDigest: string;
@@ -53,3 +54,4 @@ export type PrepareFlowResult = {
53
54
  };
54
55
  export declare function prepareFlow(revision: RevisionContent, engineContract: string): Promise<PrepareFlowResult>;
55
56
  export declare function createRuntimeProgram(prepared: PreparedFlow, entryModuleId: string, engineDigest: string): RuntimeProgram | undefined;
57
+ export declare function codeActions(flow: Pick<PreparedFlow, 'graph' | 'subflows'>): readonly ConnectorCapability[];