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

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 (36) hide show
  1. package/dist/browser/{createResourceDialog-C-Si_cYs.js → createResourceDialog-BQVD8Rqb.js} +2 -2
  2. package/dist/browser/{icons-BD3m0RQq.js → dialog-CS2Vt2if.js} +1225 -1224
  3. package/dist/browser/event-sources.d.ts +4 -1
  4. package/dist/browser/flow-authoring-node.d.ts +2 -0
  5. package/dist/browser/flow-authoring.js +6 -5
  6. package/dist/browser/flow-change.js +6 -5
  7. package/dist/browser/{flowChanges-T4_R5p1f.js → flowChanges-VB9Y4iy7.js} +2186 -1939
  8. package/dist/browser/{flowWorkspace-C0J5C0oM.js → flowWorkspace-C1hlTnZq.js} +801 -666
  9. package/dist/browser/preview.css +121 -55
  10. package/dist/browser/preview.js +34156 -33896
  11. package/dist/browser/theme.css +1 -0
  12. package/dist/browser/ui.css +34 -4
  13. package/dist/browser/workbench-contract.d.ts +1 -1
  14. package/dist/browser/workbench.css +130 -98
  15. package/dist/browser/workbench.d.ts +0 -1
  16. package/dist/browser/workbench.js +361 -120
  17. package/dist/browser/{workbenchSelect-B-PFpF_Q.js → workbenchSelect-CpXhjUou.js} +1 -1
  18. package/dist/command/index.js +25 -25
  19. package/dist/common/authoringExamples.d.ts +2 -2
  20. package/dist/common/control-api-conformance.js +31 -9
  21. package/dist/common/control-api.d.ts +4 -1
  22. package/dist/common/control-api.js +15 -5
  23. package/dist/common/control-requests.js +7 -6
  24. package/dist/common/decision.js +5 -4
  25. package/dist/common/flow-encoding.js +7 -4
  26. package/dist/common/flow-semantics.js +11 -8
  27. package/dist/common/integration-trigger.js +5 -4
  28. package/dist/common/mcp.js +16 -6
  29. package/dist/common/openapi.js +5 -4
  30. package/dist/common/poll-trigger.js +5 -4
  31. package/dist/common/scheduler.js +5 -4
  32. package/dist/common/webhook-trigger.js +5 -4
  33. package/dist/common/workflow.js +5 -4
  34. package/package.json +1 -1
  35. package/skills/open-flow/SKILL.md +9 -0
  36. package/skills/open-flow/references/flow-authoring.md +2 -0
@@ -1,6 +1,9 @@
1
1
  import type { ControlClient, EventSource } from '../common/control-api.js';
2
2
  import type { UiLanguage } from '../common/localization.js';
3
+ import type { WorkbenchNotification } from './workbench-contract.js';
3
4
  interface Props {
5
+ /** Host notification channel for operation failures; use the same handler as WorkbenchHost.notify. */
6
+ readonly notify: (notification: WorkbenchNotification) => void;
4
7
  readonly client: Pick<ControlClient, 'listEventSources' | 'createEventSource' | 'updateEventSource' | 'deleteEventSource' | 'listEventSourceConnections' | 'createConnectorConnectionPage'>;
5
8
  readonly language: UiLanguage;
6
9
  readonly onSourcesChange?: (sources: readonly EventSource[]) => void;
@@ -10,7 +13,7 @@ interface Props {
10
13
  }[];
11
14
  }
12
15
  export declare function EventSourcesPage(props: Props): import("react").JSX.Element;
13
- export declare function SourceForm({ source, existingNames, fixedTeamId, onPendingChange, client, teams, onSaved, onCancel, }: Omit<Props, 'language'> & {
16
+ export declare function SourceForm({ source, existingNames, fixedTeamId, onPendingChange, client, teams, onSaved, onCancel, notify, }: Omit<Props, 'language'> & {
14
17
  readonly source?: EventSource;
15
18
  readonly existingNames?: readonly string[];
16
19
  readonly onPendingChange?: (pending: boolean) => void;
@@ -93,6 +93,8 @@ export declare function setInputSources(content: RevisionContent, nodeId: string
93
93
  export declare function setInputVariable(content: RevisionContent, nodeId: string, handle: string, name: string, bindingId: string): readonly ChangeOperation[] | undefined;
94
94
  export declare function cleanVariableBindings(content: RevisionContent, operations: readonly ChangeOperation[]): readonly ChangeOperation[];
95
95
  export declare function setConnectorConnection(content: RevisionContent, nodeId: string, connectionId: string | undefined): readonly ChangeOperation[] | undefined;
96
+ /** Update one service’s unresolved or explicitly deferred references as one undoable edit. */
97
+ export declare function setServiceConnections(content: RevisionContent, providerId: string, connectionId: string | undefined, previousConnectionId?: ''): readonly ChangeOperation[];
96
98
  /** Edit the workflow input contract and preserve references on a single-field rename. */
97
99
  export declare function updateStartInputDefs(content: RevisionContent, nodeId: string, value: readonly Port[]): readonly ChangeOperation[];
98
100
  export declare function updateTrigger(content: RevisionContent, nodeId: string, settings: TriggerSettings): readonly ChangeOperation[] | undefined;
@@ -5853,6 +5853,7 @@ var webhookMethods = [
5853
5853
  "DELETE"
5854
5854
  ];
5855
5855
  var text = string();
5856
+ var actionConnection = text.describe("Account selection: omit while unconfigured; use an account ID to select it; use \"\" to explicitly defer configuration. Deferred Actions fail if called; deferred Agent tools are excluded from the callable tool set. Not supported by Triggers.");
5856
5857
  var json = json$1();
5857
5858
  var strings = array(text);
5858
5859
  var port = object({
@@ -5908,7 +5909,7 @@ var capability = union([
5908
5909
  mode: literal("independent"),
5909
5910
  actions: array(strictObject({
5910
5911
  action: text,
5911
- connectionId: text.optional()
5912
+ connectionId: actionConnection.optional()
5912
5913
  }))
5913
5914
  }),
5914
5915
  strictObject({
@@ -5968,7 +5969,7 @@ var managedFields = object({
5968
5969
  object({
5969
5970
  kind: literal("connector"),
5970
5971
  action: text,
5971
- connectionId: text.optional(),
5972
+ connectionId: actionConnection.optional(),
5972
5973
  outputMode: literal("value").optional()
5973
5974
  }),
5974
5975
  object({
@@ -6008,13 +6009,13 @@ var managedFields = object({
6008
6009
  name: text,
6009
6010
  description: text,
6010
6011
  action: text,
6011
- connectionId: text.optional(),
6012
+ connectionId: actionConnection.optional(),
6012
6013
  approval: boolean(),
6013
6014
  inputs: array(input.extend({ source: agentInput }))
6014
6015
  })),
6015
6016
  notification: object({
6016
6017
  action: text,
6017
- connectionId: text.optional(),
6018
+ connectionId: actionConnection.optional(),
6018
6019
  inputDefinitions: array(input),
6019
6020
  messageHandle: text,
6020
6021
  inputs: record$1(text, agentValue)
@@ -6521,7 +6522,7 @@ function decodeConnectorCapabilities(value) {
6521
6522
  const actions = source.actions.map((entry) => {
6522
6523
  if (entry == null || typeof entry != "object" || Array.isArray(entry)) throw new TypeError("Invalid Connector Action.");
6523
6524
  const action = entry;
6524
- if (Object.keys(action).some((key) => !["action", "connectionId"].includes(key)) || typeof action.action != "string" || !/^[A-Za-z0-9_-]+\.[A-Za-z0-9_.-]+$/.test(action.action) || Object.hasOwn(action, "connectionId") && (typeof action.connectionId != "string" || action.connectionId.length == 0)) throw new TypeError("Invalid Connector Action permission.");
6525
+ if (Object.keys(action).some((key) => !["action", "connectionId"].includes(key)) || typeof action.action != "string" || !/^[A-Za-z0-9_-]+\.[A-Za-z0-9_.-]+$/.test(action.action) || Object.hasOwn(action, "connectionId") && typeof action.connectionId != "string") throw new TypeError("Invalid Connector Action permission.");
6525
6526
  return action.connectionId == null ? { action: action.action } : {
6526
6527
  action: action.action,
6527
6528
  connectionId: action.connectionId
@@ -8785,6 +8785,7 @@ var webhookMethods = [
8785
8785
  //#region src/flow/common/changeSchema.ts
8786
8786
  var currentFlowModelVersion = 8;
8787
8787
  var text = string();
8788
+ var actionConnection = text.describe("Account selection: omit while unconfigured; use an account ID to select it; use \"\" to explicitly defer configuration. Deferred Actions fail if called; deferred Agent tools are excluded from the callable tool set. Not supported by Triggers.");
8788
8789
  var json = json$1();
8789
8790
  var strings = array(text);
8790
8791
  var port = object({
@@ -8840,7 +8841,7 @@ var capability = union([
8840
8841
  mode: literal("independent"),
8841
8842
  actions: array(strictObject({
8842
8843
  action: text,
8843
- connectionId: text.optional()
8844
+ connectionId: actionConnection.optional()
8844
8845
  }))
8845
8846
  }),
8846
8847
  strictObject({
@@ -8900,7 +8901,7 @@ var managedFields = object({
8900
8901
  object({
8901
8902
  kind: literal("connector"),
8902
8903
  action: text,
8903
- connectionId: text.optional(),
8904
+ connectionId: actionConnection.optional(),
8904
8905
  outputMode: literal("value").optional()
8905
8906
  }),
8906
8907
  object({
@@ -8940,13 +8941,13 @@ var managedFields = object({
8940
8941
  name: text,
8941
8942
  description: text,
8942
8943
  action: text,
8943
- connectionId: text.optional(),
8944
+ connectionId: actionConnection.optional(),
8944
8945
  approval: boolean(),
8945
8946
  inputs: array(input.extend({ source: agentInput }))
8946
8947
  })),
8947
8948
  notification: object({
8948
8949
  action: text,
8949
- connectionId: text.optional(),
8950
+ connectionId: actionConnection.optional(),
8950
8951
  inputDefinitions: array(input),
8951
8952
  messageHandle: text,
8952
8953
  inputs: record$1(text, agentValue)
@@ -9515,7 +9516,7 @@ function decodeConnectorCapabilities(value) {
9515
9516
  const actions = source.actions.map((entry) => {
9516
9517
  if (entry == null || typeof entry != "object" || Array.isArray(entry)) throw new TypeError("Invalid Connector Action.");
9517
9518
  const action = entry;
9518
- if (Object.keys(action).some((key) => !["action", "connectionId"].includes(key)) || typeof action.action != "string" || !/^[A-Za-z0-9_-]+\.[A-Za-z0-9_.-]+$/.test(action.action) || Object.hasOwn(action, "connectionId") && (typeof action.connectionId != "string" || action.connectionId.length == 0)) throw new TypeError("Invalid Connector Action permission.");
9519
+ if (Object.keys(action).some((key) => !["action", "connectionId"].includes(key)) || typeof action.action != "string" || !/^[A-Za-z0-9_-]+\.[A-Za-z0-9_.-]+$/.test(action.action) || Object.hasOwn(action, "connectionId") && typeof action.connectionId != "string") throw new TypeError("Invalid Connector Action permission.");
9519
9520
  return action.connectionId == null ? { action: action.action } : {
9520
9521
  action: action.action,
9521
9522
  connectionId: action.connectionId