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

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 (71) hide show
  1. package/README.md +1 -0
  2. package/dist/browser/{ContentIcon-Cm1hbVzW.js → ContentIcon-VZQO8VZU.js} +8 -5
  3. package/dist/browser/{FlowCanvas-NzKtla_c.js → FlowCanvas-BNGDMaWr.js} +15 -3
  4. package/dist/browser/{createResourceDialog-BgdedQqu.js → createResourceDialog-BmtakfVg.js} +63 -57
  5. package/dist/browser/{dialog-aSElFFw2.js → dialog-BcFBfRB1.js} +84 -15
  6. package/dist/browser/{exportSvg-Dcz4HTo_.js → exportSvg-CG8hEUNk.js} +2 -2
  7. package/dist/browser/{flowChanges-NZyS7HSp.js → flowChanges-BGo_4Ypo.js} +5849 -10882
  8. package/dist/browser/{flowWorkspace-Bl0SDehy.js → flowWorkspace-BFHGev7s.js} +1025 -2607
  9. package/dist/browser/preview.css +112 -5
  10. package/dist/browser/preview.js +1630 -9295
  11. package/dist/browser/theme.css +4 -2
  12. package/dist/browser/{tooltip-3XMK9jkr.js → tooltip-BAWSUexx.js} +1 -1
  13. package/dist/browser/{typeScriptSession-C9sBGOKZ.js → typeScriptSession-CRoezJPN.js} +1 -1
  14. package/dist/browser/ui.css +111 -4
  15. package/dist/browser/ui.js +3 -2
  16. package/dist/browser/workbench.css +9906 -9778
  17. package/dist/browser/workbench.d.ts +6 -2
  18. package/dist/browser/workbench.js +838 -499
  19. package/dist/browser/{workbenchSelect-DBGP7Y4Z.js → workbenchSelect-CjK-xdm3.js} +2 -2
  20. package/dist/command/index.js +48 -48
  21. package/dist/common/authoring.d.ts +4 -4
  22. package/dist/common/authoringExamples.d.ts +3 -2
  23. package/dist/common/authoringSchema.d.ts +23 -4
  24. package/dist/common/control-api-conformance.js +162 -15
  25. package/dist/common/control-api-errors.d.ts +12 -0
  26. package/dist/common/control-api.d.ts +35 -2
  27. package/dist/common/control-api.js +187 -37
  28. package/dist/common/control-requests.d.ts +22 -3
  29. package/dist/common/control-requests.js +152 -14
  30. package/dist/common/engine-contract.d.ts +3 -2
  31. package/dist/common/flow-authoring.js +55 -7
  32. package/dist/common/flow-change-schema.d.ts +1 -1
  33. package/dist/common/flow-change.d.ts +2 -2
  34. package/dist/common/flow-change.js +56 -8
  35. package/dist/common/flow-encoding.js +55 -7
  36. package/dist/common/flow-semantics.js +91 -7
  37. package/dist/common/flow-state.d.ts +123 -0
  38. package/dist/common/flow-state.js +5852 -0
  39. package/dist/common/mcp.d.ts +96 -3
  40. package/dist/common/mcp.js +165 -13
  41. package/dist/common/run-events.js +1 -0
  42. package/dist/common/runtime-contract.d.ts +14 -0
  43. package/dist/common/runtime-contract.js +118 -5
  44. package/dist/common/scheduler-node-execution.d.ts +1 -0
  45. package/dist/common/scheduler.d.ts +1 -1
  46. package/dist/common/scheduler.js +52 -3
  47. package/dist/common/state-conformance.d.ts +16 -0
  48. package/dist/common/tags.d.ts +4 -0
  49. package/dist/index.d.ts +11 -0
  50. package/package.json +5 -1
  51. package/src/control/common/api.ts +84 -11
  52. package/src/control/common/authoring.ts +6 -1
  53. package/src/control/common/authoringExamples.ts +8 -0
  54. package/src/control/common/authoringSchema.ts +18 -12
  55. package/src/control/common/errors.ts +6 -0
  56. package/src/control/common/flowDecoders.ts +1 -0
  57. package/src/control/common/mcp.ts +16 -0
  58. package/src/control/common/requests.ts +10 -2
  59. package/src/control/common/tags.ts +20 -0
  60. package/src/execution/common/events.ts +3 -0
  61. package/src/execution/common/node-execution.ts +3 -0
  62. package/src/execution/common/scheduler.ts +2 -0
  63. package/src/flow/common/change.ts +2 -1
  64. package/src/flow/common/changeSchema.ts +11 -1
  65. package/src/flow/common/errorHandling.ts +1 -1
  66. package/src/flow/common/semantics.ts +20 -0
  67. package/src/runtime/common/engineContract.ts +6 -3
  68. package/src/runtime/common/runtime.ts +116 -0
  69. package/src/state/common/conformance.ts +86 -0
  70. package/src/state/common/state.ts +169 -0
  71. package/src/types/index.ts +11 -0
@@ -148,6 +148,7 @@
148
148
  --ui-secondary-foreground: var(--_open-flow-secondary-foreground);
149
149
  --ui-muted: var(--_open-flow-muted);
150
150
  --ui-muted-foreground: var(--_open-flow-muted-foreground);
151
+ --ui-control-background: var(--open-flow-control-background);
151
152
  --ui-accent: var(--_open-flow-accent);
152
153
  --ui-accent-foreground: var(--_open-flow-accent-foreground);
153
154
  --ui-destructive: var(--_open-flow-destructive);
@@ -207,7 +208,7 @@
207
208
  .open-flow-property-panel {
208
209
  --ui-card: var(--_open-flow-node-surface);
209
210
  --ui-background: var(--_open-flow-node-surface);
210
- --ui-control-background: var(--_open-flow-node-content);
211
+ --ui-control-background: var(--open-flow-control-background, var(--_open-flow-node-content));
211
212
  --ui-control-hover-background: var(--_open-flow-secondary);
212
213
  }
213
214
 
@@ -411,7 +412,7 @@
411
412
  --widget-background: var(--fill-4);
412
413
  --widget-background-highlight-color: var(--fill-5);
413
414
  --widget-background-mask-highlight-color: #0000001a;
414
- --widget-input-background: var(--fill-3);
415
+ --widget-input-background: var(--open-flow-control-background, var(--fill-3));
415
416
  --widget-input-selection-background-color: var(--open-flow-accent, light-dark(#d1d2f3, #2b4f77));
416
417
  --widget-switch-background-color: var(--fill-7);
417
418
  --widget-switch-border-color: transparent;
@@ -835,6 +836,10 @@
835
836
  order: 9999;
836
837
  }
837
838
 
839
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .col-span-2 {
840
+ grid-column: span 2 / span 2;
841
+ }
842
+
838
843
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .col-span-full {
839
844
  grid-column: 1 / -1;
840
845
  }
@@ -901,6 +906,10 @@
901
906
  margin: calc(var(--spacing) * 2);
902
907
  }
903
908
 
909
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .m-4 {
910
+ margin: calc(var(--spacing) * 4);
911
+ }
912
+
904
913
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .m-auto {
905
914
  margin: auto;
906
915
  }
@@ -1213,6 +1222,10 @@
1213
1222
  height: calc(var(--spacing) * 10);
1214
1223
  }
1215
1224
 
1225
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .h-16 {
1226
+ height: calc(var(--spacing) * 16);
1227
+ }
1228
+
1216
1229
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .h-80 {
1217
1230
  height: calc(var(--spacing) * 80);
1218
1231
  }
@@ -1317,6 +1330,10 @@
1317
1330
  max-height: 80dvh;
1318
1331
  }
1319
1332
 
1333
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .max-h-\[80vh\] {
1334
+ max-height: 80vh;
1335
+ }
1336
+
1320
1337
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .max-h-\[85dvh\] {
1321
1338
  max-height: 85dvh;
1322
1339
  }
@@ -1333,6 +1350,10 @@
1333
1350
  max-height: min(40vh, 280px);
1334
1351
  }
1335
1352
 
1353
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .max-h-\[min\(50vh\,360px\)\] {
1354
+ max-height: min(50vh, 360px);
1355
+ }
1356
+
1336
1357
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .max-h-\[min\(50vh\,360px\,calc\(var\(--available-height\)-0\.5rem\)\)\] {
1337
1358
  max-height: min(50vh, 360px, calc(var(--available-height) - .5rem));
1338
1359
  }
@@ -1341,6 +1362,10 @@
1341
1362
  max-height: min(60dvh, 480px);
1342
1363
  }
1343
1364
 
1365
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .max-h-\[min\(60vh\,32rem\)\] {
1366
+ max-height: min(60vh, 32rem);
1367
+ }
1368
+
1344
1369
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .max-h-\[min\(60vh\,360px\)\] {
1345
1370
  max-height: min(60vh, 360px);
1346
1371
  }
@@ -1437,6 +1462,10 @@
1437
1462
  width: calc(var(--spacing) * 16);
1438
1463
  }
1439
1464
 
1465
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .w-24 {
1466
+ width: calc(var(--spacing) * 24);
1467
+ }
1468
+
1440
1469
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .w-28 {
1441
1470
  width: calc(var(--spacing) * 28);
1442
1471
  }
@@ -1445,6 +1474,10 @@
1445
1474
  width: calc(var(--spacing) * 36);
1446
1475
  }
1447
1476
 
1477
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .w-40 {
1478
+ width: calc(var(--spacing) * 40);
1479
+ }
1480
+
1448
1481
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .w-44 {
1449
1482
  width: calc(var(--spacing) * 44);
1450
1483
  }
@@ -1533,6 +1566,10 @@
1533
1566
  max-width: calc(var(--spacing) * 40);
1534
1567
  }
1535
1568
 
1569
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .max-w-48 {
1570
+ max-width: calc(var(--spacing) * 48);
1571
+ }
1572
+
1536
1573
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .max-w-64 {
1537
1574
  max-width: calc(var(--spacing) * 64);
1538
1575
  }
@@ -1657,10 +1694,18 @@
1657
1694
  flex-grow: 1;
1658
1695
  }
1659
1696
 
1697
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .basis-30 {
1698
+ flex-basis: calc(var(--spacing) * 30);
1699
+ }
1700
+
1660
1701
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .basis-48 {
1661
1702
  flex-basis: calc(var(--spacing) * 48);
1662
1703
  }
1663
1704
 
1705
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .table-fixed {
1706
+ table-layout: fixed;
1707
+ }
1708
+
1664
1709
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .border-collapse {
1665
1710
  border-collapse: collapse;
1666
1711
  }
@@ -1881,6 +1926,10 @@
1881
1926
  align-items: center;
1882
1927
  }
1883
1928
 
1929
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .items-end {
1930
+ align-items: flex-end;
1931
+ }
1932
+
1884
1933
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .items-start {
1885
1934
  align-items: flex-start;
1886
1935
  }
@@ -2053,6 +2102,10 @@
2053
2102
  align-self: stretch;
2054
2103
  }
2055
2104
 
2105
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .justify-self-start {
2106
+ justify-self: flex-start;
2107
+ }
2108
+
2056
2109
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .truncate {
2057
2110
  text-overflow: ellipsis;
2058
2111
  white-space: nowrap;
@@ -2201,6 +2254,11 @@
2201
2254
  border-left-width: 1px;
2202
2255
  }
2203
2256
 
2257
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .border-dashed {
2258
+ --tw-border-style: dashed;
2259
+ border-style: dashed;
2260
+ }
2261
+
2204
2262
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .border-\[color-mix\(in_srgb\,var\(--_open-flow-comment-border\)_45\%\,transparent\)\] {
2205
2263
  border-color: var(--_open-flow-comment-border);
2206
2264
  }
@@ -2601,6 +2659,10 @@
2601
2659
  padding-block: calc(var(--spacing) * 4);
2602
2660
  }
2603
2661
 
2662
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .py-8 {
2663
+ padding-block: calc(var(--spacing) * 8);
2664
+ }
2665
+
2604
2666
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .py-\[5px\] {
2605
2667
  padding-block: 5px;
2606
2668
  }
@@ -3647,6 +3709,15 @@
3647
3709
  margin-bottom: 0;
3648
3710
  }
3649
3711
 
3712
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .last\:border-0:last-child {
3713
+ border-style: var(--tw-border-style);
3714
+ border-width: 0;
3715
+ }
3716
+
3717
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .last\:pb-0:last-child {
3718
+ padding-bottom: 0;
3719
+ }
3720
+
3650
3721
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .last\:pb-1:last-child {
3651
3722
  padding-bottom: var(--spacing);
3652
3723
  }
@@ -5011,10 +5082,38 @@
5011
5082
  }
5012
5083
 
5013
5084
  @media (min-width: 40rem) {
5085
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .sm\:col-span-1 {
5086
+ grid-column: span 1 / span 1;
5087
+ }
5088
+
5089
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .sm\:col-start-2 {
5090
+ grid-column-start: 2;
5091
+ }
5092
+
5093
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .sm\:col-start-3 {
5094
+ grid-column-start: 3;
5095
+ }
5096
+
5097
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .sm\:row-start-1 {
5098
+ grid-row-start: 1;
5099
+ }
5100
+
5101
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .sm\:w-3\/5 {
5102
+ width: 60%;
5103
+ }
5104
+
5105
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .sm\:w-20 {
5106
+ width: calc(var(--spacing) * 20);
5107
+ }
5108
+
5014
5109
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .sm\:w-56 {
5015
5110
  width: calc(var(--spacing) * 56);
5016
5111
  }
5017
5112
 
5113
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .sm\:w-auto {
5114
+ width: auto;
5115
+ }
5116
+
5018
5117
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .sm\:max-w-2xl {
5019
5118
  max-width: var(--container-2xl);
5020
5119
  }
@@ -5047,6 +5146,10 @@
5047
5146
  grid-template-columns: repeat(2, minmax(0, 1fr));
5048
5147
  }
5049
5148
 
5149
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .sm\:grid-cols-\[minmax\(0\,1fr\)_auto_auto\] {
5150
+ grid-template-columns: minmax(0, 1fr) auto auto;
5151
+ }
5152
+
5050
5153
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .sm\:flex-row {
5051
5154
  flex-direction: row;
5052
5155
  }
@@ -5094,6 +5197,10 @@
5094
5197
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .lg\:grid-cols-2 {
5095
5198
  grid-template-columns: repeat(2, minmax(0, 1fr));
5096
5199
  }
5200
+
5201
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .lg\:grid-cols-\[minmax\(280px\,360px\)_minmax\(0\,1fr\)\] {
5202
+ grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
5203
+ }
5097
5204
  }
5098
5205
 
5099
5206
  @media (min-width: 80rem) {
@@ -5818,14 +5925,14 @@
5818
5925
  }
5819
5926
 
5820
5927
  @supports (position-anchor: --open-flow-canvas) {
5821
- [data-sonner-toaster].open-flow-notifications[data-sonner-theme][data-x-position="center"] {
5928
+ :root:not(:has([data-slot="dialog-content"])) [data-sonner-toaster].open-flow-notifications[data-sonner-theme][data-x-position="center"] {
5822
5929
  position-anchor: --open-flow-canvas;
5823
5930
  left: anchor(center, 50%);
5824
5931
  max-width: calc(anchor-size(width, 100%) - 24px);
5825
5932
  transform: translateX(-50%);
5826
5933
  }
5827
5934
 
5828
- [data-sonner-toaster].open-flow-notifications[data-sonner-theme][data-x-position="center"][data-y-position="top"] {
5935
+ :root:not(:has([data-slot="dialog-content"])) [data-sonner-toaster].open-flow-notifications[data-sonner-theme][data-x-position="center"][data-y-position="top"] {
5829
5936
  top: calc(anchor(top, calc(var(--offset-top) - 16px)) + 16px);
5830
5937
  }
5831
5938
  }
@@ -13188,10 +13188,11 @@ function DialogOverlay({ className, ...props }) {
13188
13188
  ...props
13189
13189
  });
13190
13190
  }
13191
- function DialogContent$1({ children, className, closeLabel = "Close", container, showCloseButton = true, ...props }) {
13191
+ var DialogContent$1 = React.forwardRef(function DialogContent({ children, className, closeLabel = "Close", container, showCloseButton = true, ...props }, ref) {
13192
13192
  return /* @__PURE__ */ jsxs(DialogPortal, {
13193
13193
  container,
13194
13194
  children: [/* @__PURE__ */ jsx(DialogOverlay, {}), /* @__PURE__ */ jsxs(DialogPopup, {
13195
+ ref,
13195
13196
  "data-slot": "dialog-content",
13196
13197
  className: cn("fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] grid-cols-[minmax(0,1fr)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-lg bg-popover [--ui-control-background:var(--ui-popover)] p-4 text-sm text-popover-foreground shadow-lg ring-1 ring-foreground/10 outline-none sm:max-w-sm transition-opacity duration-150 ease-out data-starting-style:opacity-0 data-ending-style:opacity-0 motion-reduce:transition-none", className),
13197
13198
  ...props,
@@ -13214,7 +13215,7 @@ function DialogContent$1({ children, className, closeLabel = "Close", container,
13214
13215
  })] })]
13215
13216
  })]
13216
13217
  });
13217
- }
13218
+ });
13218
13219
  function DialogHeader$1({ className, ...props }) {
13219
13220
  return /* @__PURE__ */ jsx("div", {
13220
13221
  "data-slot": "dialog-header",