@oomol-lab/open-flow 0.1.0-beta.69 → 0.1.0-beta.70

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 (49) hide show
  1. package/dist/browser/{ContentIcon-CsECY5id.js → ContentIcon-CUQHjQIw.js} +16 -8
  2. package/dist/browser/{FlowCanvas-C5X22xQ7.js → FlowCanvas-CqtUDPGj.js} +11 -26
  3. package/dist/browser/{createResourceDialog-Di5BBrQv.js → createResourceDialog-BAHYW9yu.js} +3 -3
  4. package/dist/browser/{dialog-Bjo-r9B0.js → dialog-DcGOzUP2.js} +162 -12
  5. package/dist/browser/{exportSvg-Cj6Spxx-.js → exportSvg-Dv5Qgrq7.js} +2 -2
  6. package/dist/browser/flow-authoring.js +95 -12
  7. package/dist/browser/flow-change-schema.d.ts +24 -1
  8. package/dist/browser/flow-change.d.ts +33 -4
  9. package/dist/browser/flow-change.js +96 -13
  10. package/dist/browser/{flowChanges-Dp-rcEJ6.js → flowChanges-CYyehKer.js} +2593 -2254
  11. package/dist/browser/{flowWorkspace-CB1QACku.js → flowWorkspace-qYUZPJHR.js} +1114 -392
  12. package/dist/browser/preview.css +225 -221
  13. package/dist/browser/preview.js +3781 -2655
  14. package/dist/browser/{tooltip-CJjYs_2I.js → tooltip-wZJRB9oP.js} +28 -1
  15. package/dist/browser/ui.css +8 -20
  16. package/dist/browser/workbench.css +225 -221
  17. package/dist/browser/workbench.js +31 -10
  18. package/dist/browser/{workbenchSelect-C3hxUcYm.js → workbenchSelect-D8_vP2p5.js} +2 -2
  19. package/dist/command/index.js +45 -45
  20. package/dist/common/authoring.d.ts +3 -3
  21. package/dist/common/authoringExamples.d.ts +3 -2
  22. package/dist/common/authoringSchema.d.ts +37 -374
  23. package/dist/common/control-api-conformance.js +151 -55
  24. package/dist/common/control-api.d.ts +12 -78
  25. package/dist/common/control-api.js +162 -39
  26. package/dist/common/control-requests.d.ts +3 -3
  27. package/dist/common/control-requests.js +221 -35
  28. package/dist/common/decision.js +85 -7
  29. package/dist/common/engine-contract.d.ts +4 -2
  30. package/dist/common/flow-encoding.js +110 -14
  31. package/dist/common/flow-graph.d.ts +3 -0
  32. package/dist/common/flow-semantics.js +273 -14
  33. package/dist/common/integration-trigger.js +85 -7
  34. package/dist/common/liveDetails.d.ts +15 -0
  35. package/dist/common/mcp.d.ts +3 -3
  36. package/dist/common/mcp.js +134 -38
  37. package/dist/common/openapi.js +85 -7
  38. package/dist/common/poll-trigger.js +85 -7
  39. package/dist/common/run-events.d.ts +2 -0
  40. package/dist/common/run-events.js +59 -2
  41. package/dist/common/runtime-contract.js +14 -4
  42. package/dist/common/scheduler.d.ts +6 -2
  43. package/dist/common/scheduler.js +178 -11
  44. package/dist/common/webhook-response.d.ts +43 -0
  45. package/dist/common/webhook-trigger.d.ts +12 -0
  46. package/dist/common/webhook-trigger.js +236 -9
  47. package/dist/common/workflow.js +85 -7
  48. package/package.json +1 -1
  49. package/skills/open-flow/references/flow-authoring.md +15 -10
@@ -18258,6 +18258,33 @@ function preprocess(fn, schema) {
18258
18258
  });
18259
18259
  }
18260
18260
  //#endregion
18261
+ //#region src/localization/common/timeZone.ts
18262
+ /** Validate a named timezone using the same runtime data used for date conversion. */
18263
+ function isTimeZone(value) {
18264
+ try {
18265
+ Intl.DateTimeFormat("en", { timeZone: value });
18266
+ return true;
18267
+ } catch {
18268
+ return false;
18269
+ }
18270
+ }
18271
+ function timeZoneOffsetMinutes(timezone, at = /* @__PURE__ */ new Date()) {
18272
+ try {
18273
+ const offset = new Intl.DateTimeFormat("en-US", {
18274
+ timeZone: timezone,
18275
+ timeZoneName: "longOffset"
18276
+ }).formatToParts(at).find((part) => part.type === "timeZoneName")?.value;
18277
+ if (offset == null) return;
18278
+ if (offset === "GMT") return 0;
18279
+ const match = /^GMT([+-])(\d{2}):(\d{2})$/.exec(offset);
18280
+ if (match == null) return;
18281
+ const minutes = Number(match[2]) * 60 + Number(match[3]);
18282
+ return match[1] === "-" ? -minutes : minutes;
18283
+ } catch {
18284
+ return;
18285
+ }
18286
+ }
18287
+ //#endregion
18261
18288
  //#region ../../node_modules/.bun/@base-ui+react@1.4.1+fa6c2f29eeb10566/node_modules/@base-ui/react/esm/tooltip/root/TooltipRootContext.js
18262
18289
  var TooltipRootContext = /*#__PURE__*/ React.createContext(void 0);
18263
18290
  if (process.env.NODE_ENV !== "production") TooltipRootContext.displayName = "TooltipRootContext";
@@ -18884,4 +18911,4 @@ function TooltipContent({ className, container, positionMethod, collisionBoundar
18884
18911
  }
18885
18912
  var createTooltipHandle = createTooltipHandle$1;
18886
18913
  //#endregion
18887
- export { InternalBackdrop as $, triggerFocus as $n, useOnFirstRender as $t, Separator as A, useOpenChangeComplete as An, useIsoLayoutEffect as Ar, useClick as At, HOME as B, clearPress as Bn, DROPDOWN_COLLISION_AVOIDANCE as Bt, object as C, isFirefox as Cn, warn as Cr, PopupTriggerMap as Ct, string as D, Check as Dn, useCompositeRootContext as Dr, useTriggerRegistration as Dt, strictObject as E, ownerDocument as En, CompositeRootContext as Er, useTriggerDataForwarding as Et, ARROW_KEYS as F, useOnMount as Fn, getWindow as Fr, useFloatingParentNodeId as Ft, VERTICAL_KEYS_WITH_EXTRA_KEYS as G, inputChange as Gn, Store as Gt, HORIZONTAL_KEYS_WITH_EXTRA_KEYS as H, escapeKey as Hn, FocusGuard as Ht, ARROW_LEFT as I, useValueChanged as In, isElement as Ir, useFloatingTree as It, useToolbarRootContext as J, itemPress as Jn, fastComponentRef as Jt, isNativeInput as K, inputClear as Kn, useStore as Kt, ARROW_RIGHT as L, createChangeEventDetails as Ln, isHTMLElement as Lr, FloatingTreeStore as Lt, useCompositeListItem as M, TransitionStatusDataAttributes as Mn, useStableCallback as Mr, FloatingNode as Mt, ALL_KEYS as N, transitionStatusMapping as Nn, useRefWithInit as Nr, FloatingTree as Nt, union as O, createLucideIcon as On, formatErrorMessage as Or, platform as Ot, ARROW_DOWN as P, useAnimationFrame as Pn, getParentNode as Pr, useFloatingNodeId as Pt, getDisabledMountTransitionStyles as Q, siblingOpen as Qn, useValueAsRef as Qt, ARROW_UP as R, createGenericEventDetails as Rn, isLastTraversableNode as Rr, FloatingPortal as Rt, number as S, isAndroid as Sn, NOOP as Sr, popupStoreSelectors as St, record as T, isWebKit as Tn, useButton as Tr, useOpenStateTransitions as Tt, MODIFIER_KEYS as U, focusOut as Un, addEventListener as Ut, HORIZONTAL_KEYS as V, closePress as Vn, POPUP_COLLISION_AVOIDANCE as Vt, VERTICAL_KEYS as W, imperativeAction as Wn, ReactStore as Wt, useScrollLock as X, none as Xn, require_builtin_esm_external_require_react as Xt, useAnchoredPopupScrollLock as Y, listNavigation as Yn, require_with_selector as Yt, usePositioner as Z, outsidePress as Zn, createSelector as Zt, int as _, getFloatingFocusElement as _n, cva as _r, useHoverFloatingInteraction as _t, createTooltipHandle as a, isOutsideEvent as an, useRegisterFieldControl as ar, getPseudoElementBounds as at, literal as b, contains as bn, EMPTY_ARRAY as br, useFloatingRootContext as bt, TooltipPositioner as c, getGridCellIndexOfCorner as cn, useId$1 as cr, pressableTriggerOpenStateMapping as ct, TooltipRoot as d, getMaxListIndex as dn, visuallyHidden as dr, safePolygon as dt, Timeout as en, triggerHover as er, useAnchorPositioning as et, ZodType as f, getMinListIndex as fn, visuallyHiddenInput as fr, useTypeahead as ft, discriminatedUnion as g, stopEvent as gn, cn as gr, useHoverReferenceInteraction as gt, boolean as h, rectToClientRect as hn, buttonVariants as hr, useInteractions as ht, TooltipTrigger as i, getTabbableBeforeElement as in, useFormContext as ir, inertValue as it, IndexGuessBehavior as j, useAnimationsFinished as jn, SafeReact as jr, FloatingFocusManager as jt, unknown as k, useTransitionStatus as kn, mergeProps$1 as kr, useDismiss as kt, TooltipPortal as l, getGridCellIndices as ln, DEFAULT_FIELD_STATE_ATTRIBUTES as lr, triggerOpenStateMapping as lt, array as m, isListIndexDisabled as mn, Button as mr, useListNavigation as mt, TooltipContent as n, getNextTabbable as nn, windowResize as nr, useDirection as nt, TooltipArrow as o, createGridCellMap as on, useFieldRootContext as or, CommonPopupDataAttributes as ot, _enum as p, isIndexOutOfListBounds as pn, useControlled as pr, useRole as pt, scrollIntoViewIfNeeded as q, inputPress as qn, fastComponent as qt, TooltipProvider as r, getTabbableAfterElement as rn, useLabelableContext as rr, CompositeList as rt, TooltipPopup as s, findNonDisabledListIndex as sn, useBaseUiId as sr, popupStateMapping as st, Tooltip as t, useTimeout as tn, triggerPress as tr, adaptiveOrigin as tt, TooltipTrigger$1 as u, getGridNavigatedIndex as un, fieldValidityMapping as ur, useOpenInteractionType as ut, json as v, isInteractiveElement as vn, clsx as vr, useFocus as vt, preprocess as w, isMac as wn, useMergedRefs as wr, useImplicitActiveTrigger as wt, never as x, getTarget as xn, EMPTY_OBJECT as xr, createInitialPopupStoreState as xt, lazy$1 as y, activeElement as yn, useRenderElement as yr, useSyncedFloatingRootContext as yt, COMPOSITE_KEYS as z, cancelOpen as zn, CLICK_TRIGGER_IDENTIFIER as zt };
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 };
@@ -1913,10 +1913,6 @@
1913
1913
  grid-template-columns: minmax(0, 1fr) auto;
1914
1914
  }
1915
1915
 
1916
- :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_28px\] {
1917
- grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 28px;
1918
- }
1919
-
1920
1916
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .grid-cols-\[repeat\(auto-fit\,minmax\(280px\,1fr\)\)\] {
1921
1917
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
1922
1918
  }
@@ -1937,6 +1933,10 @@
1937
1933
  grid-template-rows: auto minmax(0, 1fr) auto;
1938
1934
  }
1939
1935
 
1936
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .grid-rows-\[minmax\(0\,1fr\)\] {
1937
+ grid-template-rows: minmax(0, 1fr);
1938
+ }
1939
+
1940
1940
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .grid-rows-\[minmax\(0\,1fr\)_auto\] {
1941
1941
  grid-template-rows: minmax(0, 1fr) auto;
1942
1942
  }
@@ -3280,6 +3280,10 @@
3280
3280
  }
3281
3281
  }
3282
3282
 
3283
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .\[--ui-control-hover-background\:transparent\] {
3284
+ --ui-control-hover-background: transparent;
3285
+ }
3286
+
3283
3287
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .\[--ui-control-hover-background\:var\(--ui-control-background\,var\(--ui-muted\)\)\] {
3284
3288
  --ui-control-hover-background: var(--ui-control-background, var(--ui-muted));
3285
3289
  }
@@ -4344,10 +4348,6 @@
4344
4348
  border-color: var(--ui-destructive);
4345
4349
  }
4346
4350
 
4347
- :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .aria-pressed\:bg-\[var\(--ui-control-hover-background\,var\(--ui-muted\)\)\][aria-pressed="true"] {
4348
- background-color: var(--ui-control-hover-background, var(--ui-muted));
4349
- }
4350
-
4351
4351
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .aria-pressed\:bg-accent[aria-pressed="true"] {
4352
4352
  background-color: var(--ui-accent);
4353
4353
  }
@@ -5454,18 +5454,6 @@
5454
5454
  overscroll-behavior: contain;
5455
5455
  }
5456
5456
 
5457
- :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .\[\&_\[data-slot\=field-label\]\]\:sr-only [data-slot="field-label"] {
5458
- clip-path: inset(50%);
5459
- white-space: nowrap;
5460
- border-width: 0;
5461
- width: 1px;
5462
- height: 1px;
5463
- margin: -1px;
5464
- padding: 0;
5465
- position: absolute;
5466
- overflow: hidden;
5467
- }
5468
-
5469
5457
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .\[\&_a\]\:underline a {
5470
5458
  text-decoration-line: underline;
5471
5459
  }