@oomol-lab/open-flow 0.1.0-beta.54 → 0.1.0-beta.56

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 (52) hide show
  1. package/README.md +1 -1
  2. package/dist/browser/{createResourceDialog-BsaBMf7_.js → createResourceDialog-Btjes3wD.js} +3 -3
  3. package/dist/browser/{main-BPABKzwN.js → dist-BFmpkX4P.js} +9 -1
  4. package/dist/browser/flow-authoring-edge.d.ts +3 -3
  5. package/dist/browser/flow-authoring-node.d.ts +29 -44
  6. package/dist/browser/flow-authoring.d.ts +1 -1
  7. package/dist/browser/flow-authoring.js +418 -12018
  8. package/dist/browser/flow-change-schema.d.ts +1 -1
  9. package/dist/browser/flow-change.d.ts +15 -100
  10. package/dist/browser/flow-change.js +3175 -383
  11. package/dist/browser/{flowChanges-CcscgZsW.js → flowChanges-BxutPLYO.js} +23382 -27177
  12. package/dist/browser/{flowWorkspace-CoT_ewLX.js → flowWorkspace-Dg4mqfa6.js} +3307 -595
  13. package/dist/browser/{icons-0s-Q_3lp.js → icons-p2A9zs8t.js} +4403 -354
  14. package/dist/browser/lib-DrKav3HG.js +11403 -0
  15. package/dist/browser/{markdownContent-D3FFc-u_.js → markdownContent-frwDfQQU.js} +1 -2
  16. package/dist/browser/preview.css +375 -322
  17. package/dist/browser/preview.js +16796 -13483
  18. package/dist/browser/theme.css +1 -0
  19. package/dist/browser/ui-idTooltip.d.ts +11 -0
  20. package/dist/browser/ui.css +30 -0
  21. package/dist/browser/ui.d.ts +5 -0
  22. package/dist/browser/ui.js +87 -4
  23. package/dist/browser/workbench.css +375 -322
  24. package/dist/browser/workbench.js +213 -414
  25. package/dist/browser/{workbenchSelect-BqUPacsr.js → workbenchSelect-LRp_Xjeq.js} +1 -1
  26. package/dist/common/authoringExamples.d.ts +3 -2
  27. package/dist/common/control-api-conformance.js +3686 -3594
  28. package/dist/common/control-api.d.ts +6 -6
  29. package/dist/common/control-api.js +3760 -3645
  30. package/dist/common/control-requests.js +2382 -3118
  31. package/dist/common/decision.d.ts +47 -0
  32. package/dist/common/decision.js +10109 -0
  33. package/dist/common/flow-agent.d.ts +1 -1
  34. package/dist/common/flow-connectionUsage.d.ts +1 -2
  35. package/dist/common/flow-encoding.d.ts +2 -4
  36. package/dist/common/flow-encoding.js +3206 -286
  37. package/dist/common/flow-graph.d.ts +10 -10
  38. package/dist/common/flow-semantics.d.ts +4 -9
  39. package/dist/common/flow-semantics.js +9200 -9132
  40. package/dist/common/flowInspection.d.ts +3 -21
  41. package/dist/common/integration-trigger.js +6251 -6094
  42. package/dist/common/mcp.d.ts +0 -1
  43. package/dist/common/mcp.js +3729 -3627
  44. package/dist/common/openapi.js +6402 -6245
  45. package/dist/common/poll-trigger.js +6433 -6252
  46. package/dist/common/run-events.js +1 -1
  47. package/dist/common/runtime-contract.d.ts +8 -0
  48. package/dist/common/scheduler.d.ts +3 -9
  49. package/dist/common/scheduler.js +3263 -3153
  50. package/dist/common/webhook-trigger.js +6402 -6245
  51. package/package.json +5 -1
  52. package/dist/browser/dist-BDBTOgS5.js +0 -9
@@ -87,6 +87,7 @@
87
87
 
88
88
  .open-flow-property-panel {
89
89
  --ui-control-radius: 6px;
90
+ --ui-textarea-font-size: 12px;
90
91
  --ui-disabled-opacity: 1;
91
92
  --ui-disabled-cursor: default;
92
93
  --ui-disabled-background: var(--ui-control-background);
@@ -0,0 +1,11 @@
1
+ import type { ReactElement, ReactNode } from 'react';
2
+ export declare function IdTooltip({ copyLabel, copiedLabel, value, label, trigger, container, alignOffset, children, }: {
3
+ readonly copyLabel: string;
4
+ readonly copiedLabel: string;
5
+ readonly value: string;
6
+ readonly label: ReactNode;
7
+ readonly trigger: ReactElement;
8
+ readonly container: HTMLElement | null;
9
+ readonly alignOffset?: number;
10
+ readonly children?: ReactNode;
11
+ }): ReactElement;
@@ -201,6 +201,7 @@
201
201
 
202
202
  .open-flow-property-panel {
203
203
  --ui-control-radius: 6px;
204
+ --ui-textarea-font-size: 12px;
204
205
  --ui-disabled-opacity: 1;
205
206
  --ui-disabled-cursor: default;
206
207
  --ui-disabled-background: var(--ui-control-background);
@@ -1742,6 +1743,11 @@
1742
1743
  transform-origin: var(--transform-origin);
1743
1744
  }
1744
1745
 
1746
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .-translate-x-0\.5 {
1747
+ --tw-translate-x: calc(var(--spacing) * -.5);
1748
+ translate: var(--tw-translate-x) var(--tw-translate-y);
1749
+ }
1750
+
1745
1751
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .-translate-x-1\/2 {
1746
1752
  --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
1747
1753
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -1917,6 +1923,10 @@
1917
1923
  place-content: center;
1918
1924
  }
1919
1925
 
1926
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .content-end {
1927
+ align-content: flex-end;
1928
+ }
1929
+
1920
1930
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .content-start {
1921
1931
  align-content: flex-start;
1922
1932
  }
@@ -2782,6 +2792,10 @@
2782
2792
  font-size: 16px;
2783
2793
  }
2784
2794
 
2795
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .text-\[length\:var\(--ui-textarea-font-size\,var\(--ui-font-size\)\)\] {
2796
+ font-size: var(--ui-textarea-font-size, var(--ui-font-size));
2797
+ }
2798
+
2785
2799
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .leading-4 {
2786
2800
  --tw-leading: calc(var(--spacing) * 4);
2787
2801
  line-height: calc(var(--spacing) * 4);
@@ -3283,6 +3297,18 @@
3283
3297
  color: var(--ui-primary-foreground);
3284
3298
  }
3285
3299
 
3300
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .group-data-selected\/option\:border-primary:is(:where(.group\/option)[data-selected] *) {
3301
+ border-color: var(--ui-primary);
3302
+ }
3303
+
3304
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .group-data-selected\/option\:bg-primary:is(:where(.group\/option)[data-selected] *) {
3305
+ background-color: var(--ui-primary);
3306
+ }
3307
+
3308
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .group-data-selected\/option\:text-primary-foreground:is(:where(.group\/option)[data-selected] *) {
3309
+ color: var(--ui-primary-foreground);
3310
+ }
3311
+
3286
3312
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled="true"] *) {
3287
3313
  pointer-events: none;
3288
3314
  }
@@ -4346,6 +4372,10 @@
4346
4372
  opacity: 0;
4347
4373
  }
4348
4374
 
4375
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .data-highlighted\:bg-accent[data-highlighted] {
4376
+ background-color: var(--ui-accent);
4377
+ }
4378
+
4349
4379
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .data-horizontal\:mx-px[data-horizontal] {
4350
4380
  margin-inline: 1px;
4351
4381
  }
@@ -37,6 +37,10 @@ export declare const InputGroupAddon: ComponentType<ComponentPropsWithoutRef<'di
37
37
  }>;
38
38
  export declare const InputGroupInput: ForwardRefExoticComponent<ComponentPropsWithoutRef<'input'> & RefAttributes<HTMLInputElement>>;
39
39
  export { Label } from './ui-label.js';
40
+ export declare const NativeSelect: ComponentType<Omit<ComponentPropsWithoutRef<'select'>, 'size'> & {
41
+ readonly size?: 'sm' | 'default';
42
+ }>;
43
+ export declare const NativeSelectOption: ComponentType<ComponentPropsWithoutRef<'option'>>;
40
44
  export { OpenFlowLogo, type OpenFlowLogoProps } from './ui-logo.js';
41
45
  export { Textarea } from './ui-textarea.js';
42
46
  /** Shared Sonner presentation for hosts and the component Lab. */
@@ -63,3 +67,4 @@ export declare function NotificationUndoLabel({ children }: {
63
67
  }): ReactNode;
64
68
  export { HostTooltip, type HostTooltipProps } from './ui-hostTooltip.js';
65
69
  export { HostNavigationActions, type HostNavigationActionsProps, type HostThemeMode } from './ui-hostNavigationActions.js';
70
+ export { IdTooltip } from './ui-idTooltip.js';
@@ -11065,6 +11065,18 @@ var createLucideIcon = (iconName, iconNode) => {
11065
11065
  return Component;
11066
11066
  };
11067
11067
  //#endregion
11068
+ //#region ../../node_modules/.bun/lucide-react@0.468.0+f4eacebf2041cd4f/node_modules/lucide-react/dist/esm/icons/chevron-down.js
11069
+ /**
11070
+ * @license lucide-react v0.468.0 - ISC
11071
+ *
11072
+ * This source code is licensed under the ISC license.
11073
+ * See the LICENSE file in the root directory of this source tree.
11074
+ */
11075
+ var ChevronDown = createLucideIcon("ChevronDown", [["path", {
11076
+ d: "m6 9 6 6 6-6",
11077
+ key: "qrunsl"
11078
+ }]]);
11079
+ //#endregion
11068
11080
  //#region ../../node_modules/.bun/lucide-react@0.468.0+f4eacebf2041cd4f/node_modules/lucide-react/dist/esm/icons/x.js
11069
11081
  /**
11070
11082
  * @license lucide-react v0.468.0 - ISC
@@ -12563,14 +12575,15 @@ var Input = React.forwardRef(function Input({ className, type, controlSize = "de
12563
12575
  });
12564
12576
  //#endregion
12565
12577
  //#region src/ui/browser/input-group.tsx
12566
- function InputGroup$1({ className, ...props }) {
12578
+ var InputGroup$1 = React.forwardRef(function InputGroup({ className, ...props }, ref) {
12567
12579
  return /* @__PURE__ */ jsx("div", {
12580
+ ref,
12568
12581
  "data-slot": "input-group",
12569
12582
  role: "group",
12570
12583
  className: cn("group/input-group relative flex h-8 w-full min-w-0 items-center rounded-[var(--ui-control-radius,calc(var(--ui-radius)_+_2px))] border border-input bg-[var(--ui-control-background,var(--ui-muted))] transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:outline-none has-disabled:bg-[var(--ui-disabled-background,color-mix(in_srgb,var(--ui-input)_50%,transparent))] has-disabled:opacity-[var(--ui-disabled-opacity,0.5)] has-[[data-slot=input-group-control]:focus-visible]:text-field-focus has-[[data-slot][aria-invalid=true]]:has-[[data-slot=input-group-control]:focus-visible]:invalid-text-field-focus has-[[data-slot][aria-invalid=true]]:border-destructive has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-[var(--ui-control-background,var(--ui-muted))] dark:has-disabled:bg-[var(--ui-disabled-background,color-mix(in_srgb,var(--ui-input)_80%,transparent))] has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5", className),
12571
12584
  ...props
12572
12585
  });
12573
- }
12586
+ });
12574
12587
  var inputGroupAddonVariants = cva("flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-[var(--ui-disabled-opacity,0.5)] [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4", {
12575
12588
  variants: { align: {
12576
12589
  "inline-start": "order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]",
@@ -12602,6 +12615,32 @@ var InputGroupInput$1 = React.forwardRef(function InputGroupInput({ className, .
12602
12615
  });
12603
12616
  });
12604
12617
  //#endregion
12618
+ //#region src/ui/browser/native-select.tsx
12619
+ function NativeSelect$1({ className, size = "default", ...props }) {
12620
+ return /* @__PURE__ */ jsxs("div", {
12621
+ className: cn("group/native-select relative w-fit has-[select:disabled]:opacity-50", className),
12622
+ "data-slot": "native-select-wrapper",
12623
+ "data-size": size,
12624
+ children: [/* @__PURE__ */ jsx("select", {
12625
+ "data-slot": "native-select",
12626
+ "data-size": size,
12627
+ className: "h-8 w-full min-w-0 appearance-none rounded-[var(--ui-control-radius,calc(var(--ui-radius)_+_2px))] border border-input bg-[var(--ui-control-background,var(--ui-muted))] py-1 pr-8 pl-2.5 text-sm transition-colors outline-none select-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground data-[slot=native-select]:focus-visible:text-field-focus data-[slot=native-select]:focus-visible:aria-invalid:invalid-text-field-focus disabled:pointer-events-none disabled:cursor-not-allowed aria-invalid:border-destructive data-[size=sm]:h-7 data-[size=sm]:rounded-[var(--ui-control-radius,var(--ui-radius))] data-[size=sm]:py-0.5 dark:bg-[var(--ui-control-background,var(--ui-muted))] dark:hover:bg-input/50",
12628
+ ...props
12629
+ }), /* @__PURE__ */ jsx(ChevronDown, {
12630
+ className: "pointer-events-none absolute top-1/2 right-2.5 size-4 -translate-y-1/2 text-muted-foreground select-none",
12631
+ "aria-hidden": "true",
12632
+ "data-slot": "native-select-icon"
12633
+ })]
12634
+ });
12635
+ }
12636
+ function NativeSelectOption$1({ className, ...props }) {
12637
+ return /* @__PURE__ */ jsx("option", {
12638
+ "data-slot": "native-select-option",
12639
+ className: cn("bg-[Canvas] text-[CanvasText]", className),
12640
+ ...props
12641
+ });
12642
+ }
12643
+ //#endregion
12605
12644
  //#region src/ui/browser/label.tsx
12606
12645
  function Label({ className, ...props }) {
12607
12646
  return /* @__PURE__ */ jsx("label", {
@@ -12638,7 +12677,7 @@ var Textarea = React.forwardRef(function Textarea({ className, ...props }, ref)
12638
12677
  return /* @__PURE__ */ jsx("textarea", {
12639
12678
  ref,
12640
12679
  "data-slot": "textarea",
12641
- className: cn("flex field-sizing-content min-h-16 w-full rounded-[var(--ui-control-radius,calc(var(--ui-radius)_+_2px))] border border-input bg-[var(--ui-control-background,var(--ui-muted))] px-2.5 py-2 text-base transition-colors outline-none read-only:cursor-default placeholder:text-muted-foreground focus-visible:text-field-focus focus-visible:aria-invalid:invalid-text-field-focus disabled:cursor-[var(--ui-disabled-cursor,not-allowed)] disabled:bg-[var(--ui-disabled-background,color-mix(in_srgb,var(--ui-input)_50%,transparent))] disabled:opacity-[var(--ui-disabled-opacity,0.5)] aria-invalid:border-destructive md:text-sm dark:bg-[var(--ui-control-background,var(--ui-muted))] dark:disabled:bg-[var(--ui-disabled-background,color-mix(in_srgb,var(--ui-input)_80%,transparent))]", className),
12680
+ className: cn("flex field-sizing-content min-h-16 w-full rounded-[var(--ui-control-radius,calc(var(--ui-radius)_+_2px))] border border-input bg-[var(--ui-control-background,var(--ui-muted))] px-2.5 py-2 text-[length:var(--ui-textarea-font-size,var(--ui-font-size))] leading-5 transition-colors outline-none read-only:cursor-default placeholder:text-muted-foreground focus-visible:text-field-focus focus-visible:aria-invalid:invalid-text-field-focus disabled:cursor-[var(--ui-disabled-cursor,not-allowed)] disabled:bg-[var(--ui-disabled-background,color-mix(in_srgb,var(--ui-input)_50%,transparent))] disabled:opacity-[var(--ui-disabled-opacity,0.5)] aria-invalid:border-destructive dark:bg-[var(--ui-control-background,var(--ui-muted))] dark:disabled:bg-[var(--ui-disabled-background,color-mix(in_srgb,var(--ui-input)_80%,transparent))]", className),
12642
12681
  ...props
12643
12682
  });
12644
12683
  });
@@ -12785,6 +12824,48 @@ function HostNavigationActions({ className, language, onLanguageChange, theme, o
12785
12824
  });
12786
12825
  }
12787
12826
  //#endregion
12827
+ //#region src/ui/browser/idTooltip.tsx
12828
+ function IdTooltip({ copyLabel, copiedLabel, value, label, trigger, container, alignOffset = 0, children }) {
12829
+ const [copied, setCopied] = useState(false);
12830
+ return /* @__PURE__ */ jsxs(Tooltip, {
12831
+ onOpenChange: () => setCopied(false),
12832
+ children: [/* @__PURE__ */ jsx(TooltipTrigger, {
12833
+ render: trigger,
12834
+ children: label
12835
+ }), /* @__PURE__ */ jsxs(TooltipContent, {
12836
+ align: "start",
12837
+ alignOffset,
12838
+ className: "max-w-[min(440px,calc(100vw-32px))] flex-col items-stretch gap-2 p-1 pr-2",
12839
+ collisionBoundary: [],
12840
+ container,
12841
+ positionMethod: "fixed",
12842
+ side: "top",
12843
+ sideOffset: 6,
12844
+ children: [/* @__PURE__ */ jsxs("div", {
12845
+ className: "flex min-w-0 items-center gap-1",
12846
+ children: [/* @__PURE__ */ jsx(Button$1, {
12847
+ "aria-label": copied ? copiedLabel : copyLabel,
12848
+ className: "text-inherit hover:text-inherit hover:bg-[color-mix(in_srgb,currentColor_14%,transparent)]",
12849
+ onClick: () => {
12850
+ navigator.clipboard.writeText(value).then(() => setCopied(true));
12851
+ },
12852
+ size: "icon-xs",
12853
+ type: "button",
12854
+ variant: "ghost",
12855
+ children: /* @__PURE__ */ jsx("i", {
12856
+ "aria-hidden": "true",
12857
+ className: "i-lucide-light:copy"
12858
+ })
12859
+ }), /* @__PURE__ */ jsx("code", {
12860
+ className: "min-w-0 select-text break-all pl-0.5 text-inherit",
12861
+ translate: "no",
12862
+ children: value
12863
+ })]
12864
+ }), children]
12865
+ })]
12866
+ });
12867
+ }
12868
+ //#endregion
12788
12869
  //#region src/ui/browser/public.ts
12789
12870
  var Button = Button$1;
12790
12871
  var Dialog = Dialog$1;
@@ -12798,6 +12879,8 @@ var DialogDescription = DialogDescription$1;
12798
12879
  var InputGroup = InputGroup$1;
12799
12880
  var InputGroupAddon = InputGroupAddon$1;
12800
12881
  var InputGroupInput = InputGroupInput$1;
12882
+ var NativeSelect = NativeSelect$1;
12883
+ var NativeSelectOption = NativeSelectOption$1;
12801
12884
  /** Shared Sonner presentation for hosts and the component Lab. */
12802
12885
  var notificationToasterProps = {
12803
12886
  className: "open-flow-notifications",
@@ -12833,4 +12916,4 @@ function NotificationUndoLabel({ children }) {
12833
12916
  }), children);
12834
12917
  }
12835
12918
  //#endregion
12836
- export { Button, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, HostNavigationActions, HostTooltip, Input, InputGroup, InputGroupAddon, InputGroupInput, Label, NotificationUndoLabel, OpenFlowLogo, Textarea, notificationToasterProps };
12919
+ export { Button, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, HostNavigationActions, HostTooltip, IdTooltip, Input, InputGroup, InputGroupAddon, InputGroupInput, Label, NativeSelect, NativeSelectOption, NotificationUndoLabel, OpenFlowLogo, Textarea, notificationToasterProps };