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

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 (44) hide show
  1. package/dist/browser/ContentIcon-Sx9bywU-.js +11861 -0
  2. package/dist/browser/FlowCanvas-CXpaeurx.js +22721 -0
  3. package/dist/browser/{createResourceDialog-C-Si_cYs.js → createResourceDialog-BKmimKA_.js} +3 -2
  4. package/dist/browser/dialog-ZmfcwuMS.js +8785 -0
  5. package/dist/browser/event-sources.d.ts +4 -1
  6. package/dist/browser/exportSvg-D4CqCcx2.js +659 -0
  7. package/dist/browser/flow-authoring-node.d.ts +2 -0
  8. package/dist/browser/flow-authoring.js +6 -5
  9. package/dist/browser/flow-change.js +6 -5
  10. package/dist/browser/{flowChanges-T4_R5p1f.js → flowChanges-B5tZMcGr.js} +3440 -15004
  11. package/dist/browser/{flowRunInputEditorStore-DJqmR6Qh.js → flowRunInputEditorStore-ys1-w9GW.js} +2 -1
  12. package/dist/browser/{flowWorkspace-C0J5C0oM.js → flowWorkspace-zFBFtZPo.js} +1232 -23701
  13. package/dist/browser/languages-gYzoQqCi.js +68 -0
  14. package/dist/browser/licenses.md +24 -0
  15. package/dist/browser/preview.css +125 -55
  16. package/dist/browser/preview.js +16256 -15986
  17. package/dist/browser/theme.css +1 -0
  18. package/dist/browser/{icons-BD3m0RQq.js → tooltip-CJjYs_2I.js} +280 -9041
  19. package/dist/browser/ui.css +38 -4
  20. package/dist/browser/{value-BADHeZ9I.js → value-BbFQZZ_V.js} +1 -68
  21. package/dist/browser/workbench-contract.d.ts +1 -1
  22. package/dist/browser/workbench.css +2907 -2871
  23. package/dist/browser/workbench.d.ts +0 -1
  24. package/dist/browser/workbench.js +760 -461
  25. package/dist/browser/{workbenchSelect-B-PFpF_Q.js → workbenchSelect-CChdgugI.js} +2 -1
  26. package/dist/command/index.js +25 -25
  27. package/dist/common/authoringExamples.d.ts +2 -2
  28. package/dist/common/control-api-conformance.js +57 -12
  29. package/dist/common/control-api.d.ts +12 -2
  30. package/dist/common/control-api.js +41 -8
  31. package/dist/common/control-requests.js +7 -6
  32. package/dist/common/decision.js +5 -4
  33. package/dist/common/flow-encoding.js +7 -4
  34. package/dist/common/flow-semantics.js +11 -8
  35. package/dist/common/integration-trigger.js +5 -4
  36. package/dist/common/mcp.js +42 -9
  37. package/dist/common/openapi.js +5 -4
  38. package/dist/common/poll-trigger.js +5 -4
  39. package/dist/common/scheduler.js +5 -4
  40. package/dist/common/webhook-trigger.js +5 -4
  41. package/dist/common/workflow.js +5 -4
  42. package/package.json +1 -1
  43. package/skills/open-flow/SKILL.md +9 -0
  44. package/skills/open-flow/references/flow-authoring.md +2 -0
@@ -97,6 +97,7 @@
97
97
  --open-flow-card: #fff;
98
98
  --open-flow-node-surface: #f6f6f6;
99
99
  --open-flow-node-content: #fff;
100
+ --open-flow-node-running-beam: oklch(72.3% .219 149.579);
100
101
  --open-flow-comment-surface: #f3eddc;
101
102
  --open-flow-comment-content: var(--open-flow-comment-surface);
102
103
  }
@@ -725,6 +726,7 @@
725
726
  --spacing: .25rem;
726
727
  --container-xs: 20rem;
727
728
  --container-sm: 24rem;
729
+ --container-md: 28rem;
728
730
  --container-lg: 32rem;
729
731
  --container-xl: 36rem;
730
732
  --container-2xl: 42rem;
@@ -1431,6 +1433,10 @@
1431
1433
  max-height: 85dvh;
1432
1434
  }
1433
1435
 
1436
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .max-h-\[calc\(100dvh-2rem\)\] {
1437
+ max-height: calc(100dvh - 2rem);
1438
+ }
1439
+
1434
1440
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .max-h-\[calc\(100dvh-32px\)\] {
1435
1441
  max-height: calc(100dvh - 32px);
1436
1442
  }
@@ -1539,10 +1545,6 @@
1539
1545
  width: calc(var(--spacing) * 16);
1540
1546
  }
1541
1547
 
1542
- :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .w-24 {
1543
- width: calc(var(--spacing) * 24);
1544
- }
1545
-
1546
1548
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .w-28 {
1547
1549
  width: calc(var(--spacing) * 28);
1548
1550
  }
@@ -1619,6 +1621,10 @@
1619
1621
  width: max-content;
1620
1622
  }
1621
1623
 
1624
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .w-md {
1625
+ width: var(--container-md);
1626
+ }
1627
+
1622
1628
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .max-w-\(--available-width\) {
1623
1629
  max-width: var(--available-width);
1624
1630
  }
@@ -1643,6 +1649,10 @@
1643
1649
  max-width: calc(100% - 2rem);
1644
1650
  }
1645
1651
 
1652
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .max-w-\[calc\(100vw-2rem\)\] {
1653
+ max-width: calc(100vw - 2rem);
1654
+ }
1655
+
1646
1656
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .max-w-\[calc\(100vw-24px\)\] {
1647
1657
  max-width: calc(100vw - 24px);
1648
1658
  }
@@ -1915,6 +1925,10 @@
1915
1925
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr));
1916
1926
  }
1917
1927
 
1928
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .grid-rows-\[auto_minmax\(0\,1fr\)_auto\] {
1929
+ grid-template-rows: auto minmax(0, 1fr) auto;
1930
+ }
1931
+
1918
1932
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .grid-rows-\[minmax\(0\,1fr\)_auto\] {
1919
1933
  grid-template-rows: minmax(0, 1fr) auto;
1920
1934
  }
@@ -2079,6 +2093,10 @@
2079
2093
  column-gap: calc(var(--spacing) * 3);
2080
2094
  }
2081
2095
 
2096
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .gap-x-6 {
2097
+ column-gap: calc(var(--spacing) * 6);
2098
+ }
2099
+
2082
2100
  :where(:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .-space-x-0\.5 > :not(:last-child)) {
2083
2101
  --tw-space-x-reverse: 0;
2084
2102
  margin-inline-start: calc(calc(var(--spacing) * -.5) * var(--tw-space-x-reverse));
@@ -2639,6 +2657,10 @@
2639
2657
  padding-block: calc(var(--spacing) * 2);
2640
2658
  }
2641
2659
 
2660
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .py-2\.5 {
2661
+ padding-block: calc(var(--spacing) * 2.5);
2662
+ }
2663
+
2642
2664
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .py-3 {
2643
2665
  padding-block: calc(var(--spacing) * 3);
2644
2666
  }
@@ -2747,6 +2769,10 @@
2747
2769
  padding-left: 22px;
2748
2770
  }
2749
2771
 
2772
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .pl-\[calc\(1\.25rem\+1em\)\] {
2773
+ padding-left: calc(1.25rem + 1em);
2774
+ }
2775
+
2750
2776
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .text-center {
2751
2777
  text-align: center;
2752
2778
  }
@@ -3274,6 +3300,10 @@
3274
3300
  cursor: pointer;
3275
3301
  }
3276
3302
 
3303
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .group-open\:rotate-90:is(:where(.group):is([open], :popover-open, :open) *) {
3304
+ rotate: 90deg;
3305
+ }
3306
+
3277
3307
  @media (hover: hover) {
3278
3308
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .group-hover\/app\:border-\[color-mix\(in_srgb\,var\(--ui-foreground\)_14\%\,var\(--ui-popover\)\)\]:is(:where(.group\/app):hover *) {
3279
3309
  border-color: var(--ui-foreground);
@@ -5481,6 +5511,10 @@
5481
5511
  height: calc(var(--spacing) * 4);
5482
5512
  }
5483
5513
 
5514
+ :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker {
5515
+ display: none;
5516
+ }
5517
+
5484
5518
  :where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .\[\.border-b\]\:pb-2.border-b {
5485
5519
  padding-bottom: calc(var(--spacing) * 2);
5486
5520
  }
@@ -1,70 +1,3 @@
1
- //#region src/localization/common/languages.ts
2
- var uiLanguages = [
3
- "en",
4
- "zh-CN",
5
- "zh-TW",
6
- "ja",
7
- "ko",
8
- "ru",
9
- "fr"
10
- ];
11
- /** Endonyms, shown in language pickers regardless of the current UI language. */
12
- var uiLanguageNames = {
13
- "en": "English",
14
- "zh-CN": "简体中文",
15
- "zh-TW": "繁體中文",
16
- "ja": "日本語",
17
- "ko": "한국어",
18
- "ru": "Русский",
19
- "fr": "Français"
20
- };
21
- var uiLanguageTags = new Map(uiLanguages.map((language) => [language.toLowerCase(), language]));
22
- var traditionalChineseRegions = /* @__PURE__ */ new Set([
23
- "hk",
24
- "mo",
25
- "tw"
26
- ]);
27
- function isUiLanguage(value) {
28
- return typeof value == "string" && uiLanguageTags.get(value.toLowerCase()) == value;
29
- }
30
- /**
31
- * BCP 47 aware resolution over candidates such as `navigator.languages`: an exact tag match
32
- * (case-insensitive) wins; for zh an explicit script subtag beats the region (zh-Hant-* to zh-TW,
33
- * zh-Hans-* to zh-CN), then zh-TW, zh-HK and zh-MO map to zh-TW and any other zh* to zh-CN; en, ja,
34
- * ko, ru and fr also match on their primary subtag (fr-CA to fr, ja-JP to ja).
35
- */
36
- function resolveUiLanguage(candidates, fallback = "en") {
37
- for (const candidate of candidates) {
38
- const language = candidate == null ? void 0 : matchUiLanguage(candidate);
39
- if (language != null) return language;
40
- }
41
- return fallback;
42
- }
43
- function matchUiLanguage(candidate) {
44
- const tag = candidate.trim().toLowerCase();
45
- if (tag.length == 0) return void 0;
46
- const exact = uiLanguageTags.get(tag);
47
- if (exact != null) return exact;
48
- const subtags = tag.split("-");
49
- if (subtags[0] == "zh") {
50
- if (subtags.includes("hant")) return "zh-TW";
51
- if (subtags.includes("hans")) return "zh-CN";
52
- return subtags.some((subtag) => traditionalChineseRegions.has(subtag)) ? "zh-TW" : "zh-CN";
53
- }
54
- return uiLanguageTags.get(subtags[0]);
55
- }
56
- function importedWorkflowName(language) {
57
- return {
58
- "en": "Imported workflow",
59
- "zh-CN": "导入的工作流",
60
- "zh-TW": "匯入的工作流",
61
- "ja": "インポートしたワークフロー",
62
- "ko": "가져온 워크플로",
63
- "fr": "Workflow importé",
64
- "ru": "Импортированный процесс"
65
- }[language];
66
- }
67
- //#endregion
68
1
  //#region src/form/common/value.ts
69
2
  /** JSON values do not distinguish integers from other numbers at runtime. */
70
3
  var jsonDataTypes = [
@@ -134,4 +67,4 @@ function isJsonValue(value, ancestors = /* @__PURE__ */ new Set()) {
134
67
  return valid;
135
68
  }
136
69
  //#endregion
137
- export { renameObjectField as a, importedWorkflowName as c, uiLanguageNames as d, uiLanguages as f, objectValue as i, isUiLanguage as l, isJsonValue as n, setObjectField as o, jsonDataTypes as r, valueType as s, initialValue as t, resolveUiLanguage as u };
70
+ export { renameObjectField as a, objectValue as i, isJsonValue as n, setObjectField as o, jsonDataTypes as r, valueType as s, initialValue as t };
@@ -61,6 +61,6 @@ export interface WorkbenchImportInput {
61
61
  readonly sourceUrl?: string;
62
62
  }
63
63
  export interface OpenFlowWorkbenchHandle {
64
- /** Opens confirmation on an idle, initialized Flow list. Does not create a Flow. */
64
+ /** Opens confirmation on an idle, initialized Flow list. Invalid files notify the host. Does not create a Flow. */
65
65
  openImport(input: WorkbenchImportInput): 'opened' | 'unavailable' | 'invalid-file';
66
66
  }