@oomol-lab/open-flow 0.1.0-beta.76 → 0.1.0-beta.78

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 (74) hide show
  1. package/README.md +3 -0
  2. package/dist/browser/{ContentIcon-Cm1hbVzW.js → ContentIcon-CMn0c-kl.js} +99 -6
  3. package/dist/browser/{FlowCanvas-NzKtla_c.js → FlowCanvas-BQGBcfoL.js} +1709 -613
  4. package/dist/browser/{createResourceDialog-BgdedQqu.js → createResourceDialog-DCGxfKFM.js} +63 -57
  5. package/dist/browser/{dialog-aSElFFw2.js → dialog-WzR4CRFH.js} +76 -77
  6. package/dist/browser/{exportSvg-Dcz4HTo_.js → exportSvg-CYwyYiuH.js} +2 -2
  7. package/dist/browser/{flowChanges-NZyS7HSp.js → flowChanges-Bz4dbDN_.js} +6875 -11091
  8. package/dist/browser/{flowWorkspace-Bl0SDehy.js → flowWorkspace-BI6L6a4r.js} +1415 -3037
  9. package/dist/browser/licenses.md +1 -1
  10. package/dist/browser/preview.css +619 -462
  11. package/dist/browser/preview.js +9016 -14956
  12. package/dist/browser/theme.css +4 -2
  13. package/dist/browser/{tooltip-3XMK9jkr.js → tooltip-BDcVTNpu.js} +65 -2
  14. package/dist/browser/{typeScriptSession-C9sBGOKZ.js → typeScriptSession-CRoezJPN.js} +1 -1
  15. package/dist/browser/ui.css +112 -24
  16. package/dist/browser/ui.js +3 -2
  17. package/dist/browser/workbench.css +10020 -9842
  18. package/dist/browser/workbench.d.ts +5 -2
  19. package/dist/browser/workbench.js +2382 -2668
  20. package/dist/browser/{workbenchSelect-DBGP7Y4Z.js → workbenchSelect-DtAd0zc4.js} +2 -2
  21. package/dist/command/index.js +48 -48
  22. package/dist/common/authoring.d.ts +4 -4
  23. package/dist/common/authoringExamples.d.ts +3 -2
  24. package/dist/common/authoringSchema.d.ts +15 -4
  25. package/dist/common/control-api-conformance.js +155 -15
  26. package/dist/common/control-api-errors.d.ts +12 -0
  27. package/dist/common/control-api.d.ts +39 -2
  28. package/dist/common/control-api.js +180 -37
  29. package/dist/common/control-requests.d.ts +23 -3
  30. package/dist/common/control-requests.js +141 -14
  31. package/dist/common/engine-contract.d.ts +3 -2
  32. package/dist/common/flow-authoring.js +47 -7
  33. package/dist/common/flow-change-schema.d.ts +1 -1
  34. package/dist/common/flow-change.d.ts +2 -2
  35. package/dist/common/flow-change.js +48 -8
  36. package/dist/common/flow-encoding.js +47 -7
  37. package/dist/common/flow-semantics.js +86 -8
  38. package/dist/common/flow-state.d.ts +100 -0
  39. package/dist/common/flow-state.js +5794 -0
  40. package/dist/common/mcp.d.ts +96 -3
  41. package/dist/common/mcp.js +158 -13
  42. package/dist/common/run-events.js +19 -8
  43. package/dist/common/runtime-contract.d.ts +14 -0
  44. package/dist/common/runtime-contract.js +124 -17
  45. package/dist/common/runtime-nodejs-compat.js +11 -12
  46. package/dist/common/scheduler-node-execution.d.ts +1 -0
  47. package/dist/common/scheduler.d.ts +2 -1
  48. package/dist/common/scheduler.js +95 -40
  49. package/dist/common/state-conformance.d.ts +16 -0
  50. package/dist/common/tags.d.ts +4 -0
  51. package/dist/index.d.ts +11 -0
  52. package/package.json +5 -1
  53. package/src/control/common/api.ts +101 -11
  54. package/src/control/common/authoring.ts +7 -1
  55. package/src/control/common/authoringExamples.ts +9 -0
  56. package/src/control/common/authoringSchema.ts +18 -12
  57. package/src/control/common/errors.ts +6 -0
  58. package/src/control/common/flowDecoders.ts +1 -0
  59. package/src/control/common/mcp.ts +16 -0
  60. package/src/control/common/requests.ts +16 -2
  61. package/src/control/common/tags.ts +20 -0
  62. package/src/execution/common/events.ts +22 -7
  63. package/src/execution/common/node-execution.ts +3 -0
  64. package/src/execution/common/scheduler.ts +29 -13
  65. package/src/flow/common/change.ts +2 -1
  66. package/src/flow/common/changeSchema.ts +11 -1
  67. package/src/flow/common/errorHandling.ts +1 -1
  68. package/src/flow/common/semantics.ts +27 -1
  69. package/src/runtime/common/engineContract.ts +6 -3
  70. package/src/runtime/common/nodejsGuest.generated.json +11 -12
  71. package/src/runtime/common/runtime.ts +122 -7
  72. package/src/state/common/conformance.ts +81 -0
  73. package/src/state/common/state.ts +141 -0
  74. package/src/types/index.ts +11 -0
@@ -58,6 +58,8 @@
58
58
  --ui-secondary-foreground: var(--_open-flow-secondary-foreground);
59
59
  --ui-muted: var(--_open-flow-muted);
60
60
  --ui-muted-foreground: var(--_open-flow-muted-foreground);
61
+ /* Leave omitted input invalid so each control keeps its existing fallback surface. */
62
+ --ui-control-background: var(--open-flow-control-background);
61
63
  --ui-accent: var(--_open-flow-accent);
62
64
  --ui-accent-foreground: var(--_open-flow-accent-foreground);
63
65
  --ui-destructive: var(--_open-flow-destructive);
@@ -90,7 +92,7 @@
90
92
  --ui-input: color-mix(in srgb, var(--ui-border) 70%, var(--_open-flow-node-content));
91
93
  --ui-card: var(--_open-flow-node-surface);
92
94
  --ui-background: var(--_open-flow-node-surface);
93
- --ui-control-background: var(--_open-flow-node-content);
95
+ --ui-control-background: var(--open-flow-control-background, var(--_open-flow-node-content));
94
96
  --ui-control-hover-background: color-mix(in srgb, var(--_open-flow-secondary) 25%, var(--ui-control-background));
95
97
  --ui-readonly-focus-outline: 1px solid color-mix(in srgb, var(--ui-ring) 40%, var(--ui-input));
96
98
 
@@ -272,7 +274,7 @@
272
274
  --widget-background-highlight-color: var(--fill-5);
273
275
  --widget-background-mask-highlight-color: rgba(0, 0, 0, 0.1);
274
276
 
275
- --widget-input-background: var(--fill-3);
277
+ --widget-input-background: var(--open-flow-control-background, var(--fill-3));
276
278
  --widget-input-selection-background-color: var(--open-flow-accent, light-dark(#d1d2f3, #2b4f77));
277
279
  --widget-switch-background-color: var(--fill-7);
278
280
  --widget-switch-border-color: transparent;
@@ -4991,6 +4991,57 @@ var Check = createLucideIcon("Check", [["path", {
4991
4991
  key: "1gmf2c"
4992
4992
  }]]);
4993
4993
  //#endregion
4994
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+fa6c2f29eeb10566/node_modules/@base-ui/react/esm/internals/labelable-provider/useLabelableId.js
4995
+ function useLabelableId(params = {}) {
4996
+ const { id, implicit = false, controlRef } = params;
4997
+ const { controlId, registerControlId } = useLabelableContext();
4998
+ const defaultId = useBaseUiId(id);
4999
+ const controlIdForEffect = implicit ? controlId : void 0;
5000
+ const controlSourceRef = useRefWithInit(() => Symbol("labelable-control"));
5001
+ const hasRegisteredRef = React.useRef(false);
5002
+ const hadExplicitIdRef = React.useRef(id != null);
5003
+ const unregisterControlId = useStableCallback(() => {
5004
+ if (!hasRegisteredRef.current || registerControlId === NOOP) return;
5005
+ hasRegisteredRef.current = false;
5006
+ registerControlId(controlSourceRef.current, void 0);
5007
+ });
5008
+ useIsoLayoutEffect(() => {
5009
+ if (registerControlId === NOOP) return;
5010
+ let nextId;
5011
+ if (implicit) {
5012
+ const elem = controlRef?.current;
5013
+ if (isElement(elem) && elem.closest("label") != null) nextId = id ?? null;
5014
+ else nextId = controlIdForEffect ?? defaultId;
5015
+ } else if (id != null) {
5016
+ hadExplicitIdRef.current = true;
5017
+ nextId = id;
5018
+ } else if (hadExplicitIdRef.current) nextId = defaultId;
5019
+ else {
5020
+ unregisterControlId();
5021
+ return;
5022
+ }
5023
+ if (nextId === void 0) {
5024
+ unregisterControlId();
5025
+ return;
5026
+ }
5027
+ hasRegisteredRef.current = true;
5028
+ registerControlId(controlSourceRef.current, nextId);
5029
+ }, [
5030
+ id,
5031
+ controlRef,
5032
+ controlIdForEffect,
5033
+ registerControlId,
5034
+ implicit,
5035
+ defaultId,
5036
+ controlSourceRef,
5037
+ unregisterControlId
5038
+ ]);
5039
+ React.useEffect(() => {
5040
+ return unregisterControlId;
5041
+ }, [unregisterControlId]);
5042
+ return controlId ?? defaultId;
5043
+ }
5044
+ //#endregion
4994
5045
  //#region ../../node_modules/.bun/@base-ui+utils@0.2.8+b87d06724be9db7a/node_modules/@base-ui/utils/esm/owner.js
4995
5046
  function ownerDocument(node) {
4996
5047
  return node?.ownerDocument || document;
@@ -11381,6 +11432,17 @@ function safePolygon(options = {}) {
11381
11432
  return fn;
11382
11433
  }
11383
11434
  //#endregion
11435
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+fa6c2f29eeb10566/node_modules/@base-ui/react/esm/internals/serializeValue.js
11436
+ function serializeValue(value) {
11437
+ if (value == null) return "";
11438
+ if (typeof value === "string") return value;
11439
+ try {
11440
+ return JSON.stringify(value);
11441
+ } catch {
11442
+ return String(value);
11443
+ }
11444
+ }
11445
+ //#endregion
11384
11446
  //#region ../../node_modules/.bun/@base-ui+utils@0.2.8+b87d06724be9db7a/node_modules/@base-ui/utils/esm/useEnhancedClickHandler.js
11385
11447
  /**
11386
11448
  * Provides a cross-browser way to determine the type of the pointer used to click.
@@ -12429,8 +12491,9 @@ var COMPOSITE_KEYS = /* @__PURE__ */ new Set([
12429
12491
  HOME,
12430
12492
  "End"
12431
12493
  ]);
12494
+ var SHIFT = "Shift";
12432
12495
  var MODIFIER_KEYS = /* @__PURE__ */ new Set([
12433
- "Shift",
12496
+ SHIFT,
12434
12497
  "Control",
12435
12498
  "Alt",
12436
12499
  "Meta"
@@ -18911,4 +18974,4 @@ function TooltipContent({ className, container, positionMethod, collisionBoundar
18911
18974
  }
18912
18975
  var createTooltipHandle = createTooltipHandle$1;
18913
18976
  //#endregion
18914
- export { useAnchoredPopupScrollLock as $, listNavigation as $n, require_with_selector as $t, string as A, ownerDocument as An, CompositeRootContext as Ar, useTriggerDataForwarding as At, ARROW_LEFT as B, useValueChanged as Bn, isElement as Br, useFloatingTree as Bt, literal as C, activeElement as Cn, useRenderElement as Cr, useSyncedFloatingRootContext as Ct, preprocess as D, isFirefox as Dn, warn as Dr, PopupTriggerMap as Dt, object as E, isAndroid as En, NOOP as Er, popupStoreSelectors as Et, IndexGuessBehavior as F, useAnimationsFinished as Fn, SafeReact as Fr, FloatingFocusManager as Ft, HORIZONTAL_KEYS as G, closePress as Gn, POPUP_COLLISION_AVOIDANCE as Gt, ARROW_UP as H, createGenericEventDetails as Hn, isLastTraversableNode as Hr, FloatingPortal as Ht, useCompositeListItem as I, TransitionStatusDataAttributes as In, useStableCallback as Ir, FloatingNode as It, VERTICAL_KEYS as J, imperativeAction as Jn, ReactStore as Jt, HORIZONTAL_KEYS_WITH_EXTRA_KEYS as K, escapeKey as Kn, FocusGuard as Kt, ALL_KEYS as L, transitionStatusMapping as Ln, useRefWithInit as Lr, FloatingTree as Lt, unknown as M, createLucideIcon as Mn, formatErrorMessage as Mr, platform as Mt, _isoDateTime as N, useTransitionStatus as Nn, mergeProps$1 as Nr, useDismiss as Nt, record as O, isMac as On, useMergedRefs as Or, useImplicitActiveTrigger as Ot, Separator as P, useOpenChangeComplete as Pn, useIsoLayoutEffect as Pr, useClick as Pt, useToolbarRootContext as Q, itemPress as Qn, fastComponentRef as Qt, ARROW_DOWN as R, useAnimationFrame as Rn, getParentNode as Rr, useFloatingNodeId as Rt, lazy$1 as S, isInteractiveElement as Sn, clsx as Sr, useFocus as St, number as T, getTarget as Tn, EMPTY_OBJECT as Tr, createInitialPopupStoreState as Tt, COMPOSITE_KEYS as U, cancelOpen as Un, CLICK_TRIGGER_IDENTIFIER as Ut, ARROW_RIGHT as V, createChangeEventDetails as Vn, isHTMLElement as Vr, FloatingTreeStore as Vt, HOME as W, clearPress as Wn, DROPDOWN_COLLISION_AVOIDANCE as Wt, isNativeInput as X, inputClear as Xn, useStore as Xt, VERTICAL_KEYS_WITH_EXTRA_KEYS as Y, inputChange as Yn, Store as Yt, scrollIntoViewIfNeeded as Z, inputPress as Zn, fastComponent as Zt, array as _, isIndexOutOfListBounds as _n, useControlled as _r, useRole as _t, createTooltipHandle as a, useTimeout as an, triggerPress as ar, adaptiveOrigin as at, int as b, stopEvent as bn, cn as br, useHoverReferenceInteraction as bt, TooltipPositioner as c, getTabbableBeforeElement as cn, useFormContext as cr, inertValue as ct, TooltipRoot as d, findNonDisabledListIndex as dn, useBaseUiId as dr, popupStateMapping as dt, require_builtin_esm_external_require_react as en, none as er, useScrollLock as et, isTimeZone as f, getGridCellIndexOfCorner as fn, useId$1 as fr, pressableTriggerOpenStateMapping as ft, _enum as g, getMinListIndex as gn, visuallyHiddenInput as gr, useTypeahead as gt, ZodType as h, getMaxListIndex as hn, visuallyHidden as hr, safePolygon as ht, TooltipTrigger as i, Timeout as in, triggerHover as ir, useAnchorPositioning as it, union as j, Check as jn, useCompositeRootContext as jr, useTriggerRegistration as jt, strictObject as k, isWebKit as kn, useButton as kr, useOpenStateTransitions as kt, TooltipPortal as l, isOutsideEvent as ln, useRegisterFieldControl as lr, getPseudoElementBounds as lt, ZodISODateTime as m, getGridNavigatedIndex as mn, fieldValidityMapping as mr, useOpenInteractionType as mt, TooltipContent as n, useValueAsRef as nn, siblingOpen as nr, getDisabledMountTransitionStyles as nt, TooltipArrow as o, getNextTabbable as on, windowResize as or, useDirection as ot, timeZoneOffsetMinutes as p, getGridCellIndices as pn, DEFAULT_FIELD_STATE_ATTRIBUTES as pr, triggerOpenStateMapping as pt, MODIFIER_KEYS as q, focusOut as qn, addEventListener as qt, TooltipProvider as r, useOnFirstRender as rn, triggerFocus as rr, InternalBackdrop as rt, TooltipPopup as s, getTabbableAfterElement as sn, useLabelableContext as sr, CompositeList as st, Tooltip as t, createSelector as tn, outsidePress as tr, usePositioner as tt, TooltipTrigger$1 as u, createGridCellMap as un, useFieldRootContext as ur, CommonPopupDataAttributes as ut, boolean as v, isListIndexDisabled as vn, Button as vr, useListNavigation as vt, never as w, contains as wn, EMPTY_ARRAY as wr, useFloatingRootContext as wt, json as x, getFloatingFocusElement as xn, cva as xr, useHoverFloatingInteraction as xt, discriminatedUnion as y, rectToClientRect as yn, buttonVariants as yr, useInteractions as yt, ARROW_KEYS as z, useOnMount as zn, getWindow as zr, useFloatingParentNodeId as zt };
18977
+ export { useToolbarRootContext as $, inputClear as $n, fastComponent as $t, string as A, isMac as An, warn as Ar, useImplicitActiveTrigger as At, ARROW_LEFT as B, transitionStatusMapping as Bn, useRefWithInit as Br, useFloatingNodeId as Bt, literal as C, getFloatingFocusElement as Cn, cn as Cr, useHoverFloatingInteraction as Ct, preprocess as D, getTarget as Dn, EMPTY_ARRAY as Dr, createInitialPopupStoreState as Dt, object as E, contains as En, useRenderElement as Er, useFloatingRootContext as Et, IndexGuessBehavior as F, createLucideIcon as Fn, formatErrorMessage as Fr, useDismiss as Ft, HORIZONTAL_KEYS as G, createGenericEventDetails as Gn, isLastTraversableNode as Gr, CLICK_TRIGGER_IDENTIFIER as Gt, ARROW_UP as H, useOnMount as Hn, getWindow as Hr, useFloatingTree as Ht, useCompositeListItem as I, useTransitionStatus as In, mergeProps$1 as Ir, useClick as It, SHIFT as J, closePress as Jn, FocusGuard as Jt, HORIZONTAL_KEYS_WITH_EXTRA_KEYS as K, cancelOpen as Kn, DROPDOWN_COLLISION_AVOIDANCE as Kt, ALL_KEYS as L, useOpenChangeComplete as Ln, useIsoLayoutEffect as Lr, FloatingFocusManager as Lt, unknown as M, ownerDocument as Mn, useButton as Mr, useTriggerDataForwarding as Mt, _isoDateTime as N, useLabelableId as Nn, CompositeRootContext as Nr, useTriggerRegistration as Nt, record as O, isAndroid as On, EMPTY_OBJECT as Or, popupStoreSelectors as Ot, Separator as P, Check as Pn, useCompositeRootContext as Pr, platform as Pt, scrollIntoViewIfNeeded as Q, inputChange as Qn, useStore as Qt, ARROW_DOWN as R, useAnimationsFinished as Rn, SafeReact as Rr, FloatingNode as Rt, lazy$1 as S, stopEvent as Sn, buttonVariants as Sr, useHoverReferenceInteraction as St, number as T, activeElement as Tn, clsx as Tr, useSyncedFloatingRootContext as Tt, COMPOSITE_KEYS as U, useValueChanged as Un, isElement as Ur, FloatingTreeStore as Ut, ARROW_RIGHT as V, useAnimationFrame as Vn, getParentNode as Vr, useFloatingParentNodeId as Vt, HOME as W, createChangeEventDetails as Wn, isHTMLElement as Wr, FloatingPortal as Wt, VERTICAL_KEYS_WITH_EXTRA_KEYS as X, focusOut as Xn, ReactStore as Xt, VERTICAL_KEYS as Y, escapeKey as Yn, addEventListener as Yt, isNativeInput as Z, imperativeAction as Zn, Store as Zt, array as _, getMaxListIndex as _n, fieldValidityMapping as _r, safePolygon as _t, createTooltipHandle as a, useOnFirstRender as an, siblingOpen as ar, useAnchorPositioning as at, int as b, isListIndexDisabled as bn, useControlled as br, useListNavigation as bt, TooltipPositioner as c, getNextTabbable as cn, triggerPress as cr, CompositeList as ct, TooltipRoot as d, isOutsideEvent as dn, useFormContext as dr, CommonPopupDataAttributes as dt, fastComponentRef as en, inputPress as er, useAnchoredPopupScrollLock as et, isTimeZone as f, createGridCellMap as fn, useRegisterFieldControl as fr, popupStateMapping as ft, _enum as g, getGridNavigatedIndex as gn, DEFAULT_FIELD_STATE_ATTRIBUTES as gr, serializeValue as gt, ZodType as h, getGridCellIndices as hn, useId$1 as hr, useOpenInteractionType as ht, TooltipTrigger as i, useValueAsRef as in, outsidePress as ir, InternalBackdrop as it, union as j, isWebKit as jn, useMergedRefs as jr, useOpenStateTransitions as jt, strictObject as k, isFirefox as kn, NOOP as kr, PopupTriggerMap as kt, TooltipPortal as l, getTabbableAfterElement as ln, windowResize as lr, inertValue as lt, ZodISODateTime as m, getGridCellIndexOfCorner as mn, useBaseUiId as mr, triggerOpenStateMapping as mt, TooltipContent as n, require_builtin_esm_external_require_react as nn, listNavigation as nr, usePositioner as nt, TooltipArrow as o, Timeout as on, triggerFocus as or, adaptiveOrigin as ot, timeZoneOffsetMinutes as p, findNonDisabledListIndex as pn, useFieldRootContext as pr, pressableTriggerOpenStateMapping as pt, MODIFIER_KEYS as q, clearPress as qn, POPUP_COLLISION_AVOIDANCE as qt, TooltipProvider as r, createSelector as rn, none as rr, getDisabledMountTransitionStyles as rt, TooltipPopup as s, useTimeout as sn, triggerHover as sr, useDirection as st, Tooltip as t, require_with_selector as tn, itemPress as tr, useScrollLock as tt, TooltipTrigger$1 as u, getTabbableBeforeElement as un, useLabelableContext as ur, getPseudoElementBounds as ut, boolean as v, getMinListIndex as vn, visuallyHidden as vr, useTypeahead as vt, never as w, isInteractiveElement as wn, cva as wr, useFocus as wt, json as x, rectToClientRect as xn, Button as xr, useInteractions as xt, discriminatedUnion as y, isIndexOutOfListBounds as yn, visuallyHiddenInput as yr, useRole as yt, ARROW_KEYS as z, TransitionStatusDataAttributes as zn, useStableCallback as zr, FloatingTree as zt };