@synergenius/flow-weaver 0.32.2 → 0.33.1

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.
@@ -5987,7 +5987,7 @@ var VERSION;
5987
5987
  var init_generated_version = __esm({
5988
5988
  "src/generated-version.ts"() {
5989
5989
  "use strict";
5990
- VERSION = "0.32.2";
5990
+ VERSION = "0.33.1";
5991
5991
  }
5992
5992
  });
5993
5993
 
@@ -6084,6 +6084,8 @@ var init_constants = __esm({
6084
6084
  "input",
6085
6085
  "output",
6086
6086
  "step",
6087
+ // Async is auto-detected from the TS signature but accepted as an explicit annotation
6088
+ "async",
6087
6089
  // Deployment annotations
6088
6090
  "deploy"
6089
6091
  ]);
@@ -6111,6 +6113,8 @@ var init_constants = __esm({
6111
6113
  "param",
6112
6114
  "return",
6113
6115
  "returns",
6116
+ // Async is auto-detected from the TS signature but accepted as an explicit annotation
6117
+ "async",
6114
6118
  // Deployment annotations
6115
6119
  "deploy"
6116
6120
  ]);
@@ -25394,9 +25398,17 @@ var init_path_parser = __esm({
25394
25398
  super(allTokens);
25395
25399
  this.performSelfAnalysis();
25396
25400
  }
25397
- // Entry rule: @path pathStep (Arrow pathStep)+
25401
+ // Entry rule: @path pathSequence (Comma pathSequence)*
25398
25402
  pathLine = this.RULE("pathLine", () => {
25399
25403
  this.CONSUME(PathTag);
25404
+ this.SUBRULE(this.pathSequence, { LABEL: "firstSequence" });
25405
+ this.MANY(() => {
25406
+ this.CONSUME(Comma);
25407
+ this.SUBRULE2(this.pathSequence, { LABEL: "nextSequence" });
25408
+ });
25409
+ });
25410
+ // pathSequence: pathStep (Arrow pathStep)+
25411
+ pathSequence = this.RULE("pathSequence", () => {
25400
25412
  this.SUBRULE(this.pathStep, { LABEL: "firstStep" });
25401
25413
  this.AT_LEAST_ONE(() => {
25402
25414
  this.CONSUME(Arrow);
@@ -25424,6 +25436,16 @@ var init_path_parser = __esm({
25424
25436
  this.warnings = warnings;
25425
25437
  }
25426
25438
  pathLine(ctx) {
25439
+ const results = [];
25440
+ results.push(this.pathSequence(ctx.firstSequence[0].children));
25441
+ if (ctx.nextSequence) {
25442
+ for (const seqCst of ctx.nextSequence) {
25443
+ results.push(this.pathSequence(seqCst.children));
25444
+ }
25445
+ }
25446
+ return results;
25447
+ }
25448
+ pathSequence(ctx) {
25427
25449
  const steps = [];
25428
25450
  steps.push(this.pathStep(ctx.firstStep[0].children));
25429
25451
  for (const stepCst of ctx.nextStep) {
@@ -26971,15 +26993,17 @@ var init_jsdoc_parser = __esm({
26971
26993
  */
26972
26994
  parsePathTag(tag, config2, warnings) {
26973
26995
  const comment = tag.getCommentText() || "";
26974
- const result = parsePathLine(`@path ${comment}`, warnings);
26975
- if (!result) {
26996
+ const results = parsePathLine(`@path ${comment}`, warnings);
26997
+ if (!results) {
26976
26998
  warnings.push(`Invalid @path tag format: ${comment}`);
26977
26999
  return;
26978
27000
  }
26979
27001
  config2.paths = config2.paths || [];
26980
- config2.paths.push({
26981
- steps: result.steps
26982
- });
27002
+ for (const result of results) {
27003
+ config2.paths.push({
27004
+ steps: result.steps
27005
+ });
27006
+ }
26983
27007
  }
26984
27008
  parseFanOutTag(tag, config2, warnings) {
26985
27009
  const comment = tag.getCommentText() || "";
@@ -30711,7 +30735,58 @@ var init_theme = __esm({
30711
30735
  backup: "M260.72-151.87q-94.37 0-161.25-65.15T32.59-376.28q0-80.39 47.36-143.67 47.35-63.27 125.03-80.75 26.43-92.95 102.63-150.19Q383.8-808.13 480-808.13q118.2 0 201.25 81.74t85.68 199.69q69.72 10.63 115.1 63.81 45.38 53.17 45.38 123.61 0 78.09-55.01 132.75t-133.12 54.66H529.09q-37.54 0-64.27-26.73-26.73-26.73-26.73-64.27v-191.41l-65.68 64.15-58.63-58.39L480-594.98l166.22 166.46-58.63 58.39-65.68-64.15v191.41h217.37q40.57 0 68.85-28.28 28.28-28.28 28.28-68.85 0-40.57-28.28-68.85-28.28-28.28-68.85-28.28h-62.87v-83.59q0-81.51-57.45-138.96T480-717.13q-82.04 0-139.23 58.74-57.18 58.74-57.18 141.26h-22.87q-56.81 0-96.97 40.16T123.59-380q0 56.8 40.16 96.97 40.16 40.16 96.97 40.16h97.37v91h-97.37ZM480-434.5Z",
30712
30736
  cloudDone: "m412.8-279.76 228.63-228.63-60.39-60.39-169 169-84.24-84.24-59.39 59.63L412.8-279.76ZM260.72-151.87q-94.35 0-161.24-65.15-66.89-65.15-66.89-159.26 0-80.39 47.36-143.67 47.35-63.27 125.03-80.75 26.43-92.95 102.63-150.19Q383.8-808.13 480-808.13q118.2 0 201.25 81.74t85.68 199.69q69.72 10.63 115.1 63.81 45.38 53.17 45.38 123.61 0 78.11-54.65 132.76-54.65 54.65-132.76 54.65H260.72Zm0-91h478.56q40.57 0 68.85-28.28 28.28-28.28 28.28-68.85 0-40.57-28.28-68.85-28.28-28.28-68.85-28.28h-62.87v-83.59q0-81.56-57.42-138.99-57.42-57.42-138.99-57.42-82.04 0-139.23 58.74-57.18 58.74-57.18 141.26h-22.87q-56.81 0-96.97 40.16-40.16 40.17-40.16 96.97t40.16 96.97q40.16 40.16 96.97 40.16ZM480-480Z",
30713
30737
  lock: "M242.87-72.59q-37.54 0-64.27-26.73-26.73-26.73-26.73-64.27v-394.26q0-37.54 26.73-64.27 26.73-26.73 64.27-26.73h33.54v-73.06q0-84.92 59.46-144.61 59.46-59.7 144.13-59.7 84.67 0 144.13 59.7 59.46 59.69 59.46 144.61v73.06h33.54q37.54 0 64.27 26.73 26.73 26.73 26.73 64.27v394.26q0 37.54-26.73 64.27-26.73 26.73-64.27 26.73H242.87Zm0-91h474.26v-394.26H242.87v394.26ZM536.5-304.22q23.5-23.5 23.5-56.5t-23.5-56.5q-23.5-23.5-56.5-23.5t-56.5 23.5q-23.5 23.5-23.5 56.5t23.5 56.5q23.5 23.5 56.5 23.5t56.5-23.5ZM367.41-648.85h225.18v-73.06q0-47.21-32.73-80.26-32.73-33.05-79.86-33.05t-79.86 33.05q-32.73 33.05-32.73 80.26v73.06ZM242.87-163.59v-394.26 394.26Z",
30714
- lockOpen: "M242.87-648.85h349.72v-73.06q0-47.21-32.73-80.26-32.73-33.05-79.86-33.05t-79.86 33.05q-32.73 33.05-32.73 80.26h-91q0-84.92 59.46-144.61 59.46-59.7 144.13-59.7 84.67 0 144.13 59.7 59.46 59.69 59.46 144.61v73.06h33.54q37.54 0 64.27 26.73 26.73 26.73 26.73 64.27v394.26q0 37.54-26.73 64.27-26.73 26.73-64.27 26.73H242.87q-37.54 0-64.27-26.73-26.73-26.73-26.73-64.27v-394.26q0-37.54 26.73-64.27 26.73-26.73 64.27-26.73Zm0 485.26h474.26v-394.26H242.87v394.26ZM536.5-304.22q23.5-23.5 23.5-56.5t-23.5-56.5q-23.5-23.5-56.5-23.5t-56.5 23.5q-23.5 23.5-23.5 56.5t23.5 56.5q23.5 23.5 56.5 23.5t56.5-23.5ZM242.87-163.59v-394.26 394.26Z"
30738
+ lockOpen: "M242.87-648.85h349.72v-73.06q0-47.21-32.73-80.26-32.73-33.05-79.86-33.05t-79.86 33.05q-32.73 33.05-32.73 80.26h-91q0-84.92 59.46-144.61 59.46-59.7 144.13-59.7 84.67 0 144.13 59.7 59.46 59.69 59.46 144.61v73.06h33.54q37.54 0 64.27 26.73 26.73 26.73 26.73 64.27v394.26q0 37.54-26.73 64.27-26.73 26.73-64.27 26.73H242.87q-37.54 0-64.27-26.73-26.73-26.73-26.73-64.27v-394.26q0-37.54 26.73-64.27 26.73-26.73 64.27-26.73Zm0 485.26h474.26v-394.26H242.87v394.26ZM536.5-304.22q23.5-23.5 23.5-56.5t-23.5-56.5q-23.5-23.5-56.5-23.5t-56.5 23.5q-23.5 23.5-23.5 56.5t23.5 56.5q23.5 23.5 56.5 23.5t56.5-23.5ZM242.87-163.59v-394.26 394.26Z",
30739
+ // ---- Platform catalog sync (icons available in the platform's node icon picker) ----
30740
+ addAuthorization: "M480-73.78q-140.58-32.67-233.28-158.97-92.7-126.29-92.7-289.29v-243.14L480-887.22l326.22 122.15v277.66q-16.15-8.92-34-15.4-17.85-6.47-34.37-8.67v-206.05L480-812.61l-257.85 95v195.51q0 76.58 24.62 140.22t62.5 111.42q37.88 47.79 83.16 79.07 45.29 31.28 86.61 44.56 6.24 14.87 19.92 32.15 13.67 17.27 24.78 26.22-10.44 5.72-21.87 8.58-11.44 2.86-21.87 6.1ZM692.5-80Q615-80 560-135.5T505-267q0-78.43 54.99-133.72Q614.98-456 693-456q77 0 132.5 55.28Q881-345.43 881-267q0 76-55.5 131.5T692.5-80ZM480-479.72Zm195.37 318.76h38.26v-86.41h86.41v-38.26h-86.41v-86.41h-38.26v86.41h-86.41v38.26h86.41v86.41Z",
30741
+ alarm: "M479-76.02q-75.2 0-141.77-28.48-66.58-28.48-116.03-77.82-49.46-49.33-78.32-115.91-28.86-66.57-28.86-142.5T142.88-583q28.86-66.35 78.32-116.18 49.45-49.84 116.03-78.44 66.57-28.6 141.77-28.6 75.2 0 141.77 28.6 66.58 28.6 116.41 78.44 49.84 49.83 78.44 116.18 28.6 66.34 28.6 142.27t-28.6 142.5q-28.6 66.58-78.44 115.97-49.84 49.4-116.41 77.82Q554.2-76.02 479-76.02ZM479-439Zm119.57 162.43 44.39-44.39-129.53-129.52V-640h-62.86v215.43l148 148Zm-387.2-598.08 44.15 44.15L86.5-667.48l-43.91-44.15 168.78-163.02Zm535.26 0 169.02 163.02-44.15 44.15L702.48-830.5l44.15-44.15ZM479-144.15q124.04 0 210.45-86.4 86.4-86.41 86.4-210.45 0-124.04-86.4-210.45-86.41-86.4-210.45-86.4-124.04 0-210.45 86.4-86.4 86.41-86.4 210.45 0 124.04 86.4 210.45 86.41 86.4 210.45 86.4Z",
30742
+ allInclusive: "M211.89-255.93q-91.56 0-153.76-66.7-62.2-66.7-62.2-159.37 0-91.67 62.7-156.87t153.26-65.2q36.72 0 70.96 12.24 34.24 12.23 60.78 37.72l90.85 87.61-48.22 47.5-85.81-83.87q-17.51-17.52-40.46-25.29t-47.98-7.77q-62.45 0-105.19 45.27-42.75 45.27-42.75 108.75 0 64.48 42.24 111.16 42.25 46.68 105.69 46.68 24.28 0 47.12-7.76 22.83-7.77 41.25-24.28l316-298q26.54-25.49 60.78-37.72 34.24-12.24 69.96-12.24 91.56 0 154.26 65.2 62.7 65.2 62.7 156.87 0 92.67-62.7 159.37t-154.26 66.7q-35.72 0-70.46-11.74-34.74-11.73-60.28-37.22l-88.61-87.61 47.98-47.5 83.88 83.89q16.53 16.52 39.81 24.28 23.29 7.76 47.57 7.76 63.44 0 106.19-46.72 42.74-46.72 42.74-111.13 0-63.41-43.24-108.71-43.25-45.3-105.69-45.3-24.28 0-47.12 8.76-22.83 8.77-40.25 25.28l-316 298q-26.54 24.49-61.28 36.22-34.74 11.74-70.46 11.74Z",
30743
+ analytics: "M285.2-277h60v-205h-60v205Zm329.84 0h60v-420h-60v420ZM450-277h60v-118h-60v118Zm0-205h60v-60h-60v60ZM182.15-114.02q-27.6 0-47.86-20.27-20.27-20.26-20.27-47.86v-595.7q0-27.7 20.27-48.03 20.26-20.34 47.86-20.34h595.7q27.7 0 48.03 20.34 20.34 20.33 20.34 48.03v595.7q0 27.6-20.34 47.86-20.33 20.27-48.03 20.27h-595.7Zm0-68.13h595.7v-595.7h-595.7v595.7Zm0-595.7v595.7-595.7Z",
30744
+ assignment: "M182.15-114.02q-28.1 0-48.12-20.01-20.01-20.02-20.01-48.12v-595.7q0-28.2 20.01-48.28 20.02-20.09 48.12-20.09h199.02q6.44-35 34.16-57.5 27.71-22.5 64.67-22.5t64.67 22.5q27.72 22.5 34.16 57.5h199.02q28.2 0 48.28 20.09 20.09 20.08 20.09 48.28v595.7q0 28.1-20.09 48.12-20.08 20.01-48.28 20.01h-595.7Zm0-68.13h595.7v-595.7h-595.7v595.7Zm100-100h270.37v-60H282.15v60Zm0-167.85h395.7v-60h-395.7v60Zm0-167.85h395.7v-60h-395.7v60ZM480-795.57q14.83 0 25.63-10.8 10.8-10.8 10.8-25.63 0-14.83-10.8-25.63-10.8-10.8-25.63-10.8-14.83 0-25.63 10.8-10.8 10.8-10.8 25.63 0 14.83 10.8 25.63 10.8 10.8 25.63 10.8ZM182.15-182.15v-595.7 595.7Z",
30745
+ barChart: "M660.48-154.02v-288.61h145.74v288.61H660.48Zm-253.11 0v-652.2h145.26v652.2H407.37Zm-253.35 0v-452.2h145.5v452.2h-145.5Z",
30746
+ calendar: "M182.15-74.02q-27.6 0-47.86-20.27-20.27-20.26-20.27-47.86v-615.7q0-27.7 20.27-48.03 20.26-20.34 47.86-20.34H245v-60h69.07v60h331.86v-60H715v60h62.85q27.7 0 48.03 20.34 20.34 20.33 20.34 48.03v256.65h-68.37V-570h-595.7v427.85h316.89v68.13H182.15Zm0-555.98h595.7v-127.85h-595.7V-630Zm0 0v-127.85V-630ZM559.04-74.02v-128.02L781-423q9.51-9.63 21.13-13.91 11.62-4.29 23.5-4.29 12.48 0 24.21 4.86T871.02-422l37 37q9.44 9.48 13.82 21.12 4.38 11.63 4.38 23.27 0 11.96-4.86 24.06-4.86 12.09-14.25 21.57L687.07-74.02H559.04Zm303.59-266.59-37-37 37 37Zm-240 203h38l120.28-121.23-18-19.02-19-18.03-121.28 120.22v38.06Zm140.28-140.28-19-18 37 37-18-19Z",
30747
+ changeCircle: "M482-198.09 597.91-313 482.24-427.91 438.09-384l41.32 41.33q-26.8.28-52.11-9.48-25.3-9.76-45.34-29.81-19.76-19.76-30.14-45.52-10.39-25.76-10.39-51.52 0-16.76 4.5-34t12.74-33.48l-45.91-45.67q-17.48 25.95-25.84 54.43-8.35 28.48-8.35 57.72 0 38.48 15 75.6t44.47 66.36q28.53 28.76 63.93 43.26 35.4 14.5 72.92 15.74L438.09-242 482-198.09Zm165.48-169.76q17.24-25.95 25.6-54.43 8.35-28.48 8.35-57.72 0-38.48-14.61-75.98-14.62-37.5-43.86-66.98-28.76-28.52-64.55-42.64-35.78-14.12-73.06-14.6l36.56-37.8L478-761.91 362.09-647l115.67 114.91L521.91-576l-42.08-42.33q25.8.72 52.37 10.86 26.56 10.14 45.84 29.43 19.76 19.76 30.14 45.52 10.39 25.76 10.39 51.52 0 16.76-4.5 34t-12.74 33.24l46.15 45.91ZM480-74.02q-83.43 0-157.51-31.86-74.08-31.86-129.41-87.2-55.34-55.33-87.2-129.41T74.02-480q0-84.43 31.86-158.51 31.86-74.08 87.2-128.91 55.33-54.84 129.41-86.82 74.08-31.98 157.51-31.98 84.43 0 158.51 31.98 74.08 31.98 128.91 86.82 54.84 54.83 86.82 128.91 31.98 74.08 31.98 158.51 0 83.43-31.98 157.51-31.98 74.08-86.82 129.41-54.83 55.34-128.91 87.2T480-74.02Zm0-68.13q141.04 0 239.45-98.78 98.4-98.79 98.4-239.07 0-141.04-98.4-239.45-98.41-98.4-239.45-98.4-140.28 0-239.07 98.4-98.78 98.41-98.78 239.45 0 140.28 98.78 239.07 98.79 98.78 239.07 98.78ZM480-480Z",
30748
+ chat: "M240-399h313v-60H240v60Zm0-130h480v-60H240v60Zm0-130h480v-60H240v60ZM74.02-74.02v-743.83q0-27.7 20.27-48.03 20.26-20.34 47.86-20.34h675.7q27.7 0 48.03 20.34 20.34 20.33 20.34 48.03v515.7q0 27.6-20.34 47.86-20.33 20.27-48.03 20.27H234.02l-160 160Zm134-228.13h609.83v-515.7h-675.7v587.57l65.87-71.87Zm-65.87 0v-515.7 515.7Z",
30749
+ checklist: "M222.96-208.26 74.98-356l47.98-47.74 100 99 179-179.24L449.7-435 222.96-208.26Zm0-320L74.98-676l47.98-47.74 100 99 179-179.24L449.7-755 222.96-528.26Zm298 242.33v-68.14h364.06v68.14H520.96Zm0-320v-68.14h364.06v68.14H520.96Z",
30750
+ cloudStorage: "M251.48-154.02q-90.17 0-153.57-63.1-63.41-63.1-63.41-153.4 0-79.44 50.24-140.23 50.24-60.79 128.43-73.27 20.96-97.72 95.96-159.46 75-61.74 172.94-61.74 112.89 0 191.08 81.74 78.2 81.74 80.11 196.46v24q72.72.15 122.48 49.89 49.76 49.75 49.76 124.61 0 71.61-51.44 123.05-51.45 51.45-123.06 51.45H251.48Zm0-68.13h499.04q43.87 0 75.36-31.4 31.49-31.41 31.49-75.45 0-44.04-31.49-75.45-31.49-31.4-75.36-31.4h-65.15v-86.63q0-89.91-60.2-152.14-60.2-62.23-147.06-62.23-87.39 0-147.94 63.12-60.54 63.12-60.54 153.88h-21.15q-61.11 0-103.48 42.86-42.37 42.85-42.37 105.94 0 62.09 43.37 105.5 43.37 43.4 105.48 43.4ZM480-480Z",
30751
+ compareArrows: "m311.5-154.02-47.74-47.74 116.94-116.7H74.02v-68.37H380.7L263.76-503.76l47.74-47.74 198.98 198.74L311.5-154.02Zm337-254.72L449.76-607.48 648.5-806.22l47.74 47.74-116.7 116.94h306.68v68.37H579.54l116.7 116.69-47.74 47.74Z",
30752
+ construction: "M770.39-114.02 517-367.17l60.83-61.07 253.39 253.39-60.83 60.83Zm-585.78 0-60.83-60.83 292.39-292.39-107.71-107.48-23 23-41.37-41.37v82.61l-25.2 25.2L91.63-612.54l25.2-25.2h83.6l-45.6-45.61 132.91-132.91q17.48-17.48 38.31-23.72 20.84-6.24 45.56-6.24 24.48 0 45.31 8.86 20.84 8.86 38.56 26.1L347.28-703.3l47.76 47.76-24 24 104.72 104.71 122-121.76q-7.76-12.76-12.26-29.76t-4.5-35.76q0-53.96 39.34-93.41 39.33-39.46 93.29-39.46 15.96 0 27.29 3.36 11.34 3.36 19.06 9.08l-85 85.24 73.09 73.08 85-85.24q5.95 8.48 9.93 21.06 3.98 12.57 3.98 28.29 0 54.2-39.58 93.41-39.57 39.22-93.77 39.22-17.76 0-30.52-2.38-12.76-2.38-23.52-7.14L184.61-114.02Z",
30753
+ dataArray: "M596.41-154.02v-67.89h141.68v-516.18H596.41v-68.13h209.81v652.2H596.41Zm-442.39 0v-652.2h209.57v68.13H221.91v516.18h141.68v67.89H154.02Z",
30754
+ deviceHub: "M115.93-115.93v-188.14h157.83l173.61-173.6v-143.74q-35.74-12.79-58.59-42.23-22.85-29.43-22.85-66.36 0-47.53 33.31-80.8 33.3-33.27 80.88-33.27 47.57 0 80.76 33.27 33.19 33.27 33.19 80.8 0 36.93-22.85 66.36-22.85 29.44-58.59 42.23v143.74l173.85 173.6h157.59v188.14H655.93v-121.5L480-413.37 304.07-237.43v121.5H115.93Z",
30755
+ engineering: "M36.26-114.26v-98.15q0-36.94 17.56-60.63 17.55-23.7 46.79-37.7 54-26 116.81-43.24 62.82-17.24 140.94-17.24t140.81 17q62.7 17 116.94 43 29 14.24 46.55 38.07 17.56 23.84 17.56 60.76v98.13H36.26Zm68.37-68.37h507.46v-29.13q0-15-8.5-24.14t-20.5-14.14q-43-19-95.52-36.03-52.53-17.02-129.21-17.02-76.69 0-129.21 17.14-52.52 17.15-95.52 35.96-12.24 4.95-20.62 14.09t-8.38 24.14v29.13Zm253.73-248.59q-68.51 0-112.31-44.61-43.79-44.61-43.79-110.17h-10q-8.75 0-15.21-6.48-6.46-6.47-6.46-15.25 0-8.67 6.46-15.15 6.46-6.47 15.21-6.47h10q0-41.19 21.32-74.51 21.31-33.31 55.94-53.08v39.15q0 6.33 4.45 10.71 4.44 4.38 10.79 4.38 6.76 0 11-4.36t4.24-10.57v-51.83q8.08-1.76 22.18-3.38 14.09-1.62 27.2-1.62 12.86 0 26.86 1.62t22.19 3.37v51.84q0 6.21 4.26 10.57 4.27 4.36 11.27 4.36 6.24 0 10.74-4.38t4.5-10.62v-39.24q34.39 19.77 54.7 53.07 20.32 33.31 20.32 74.52h10q8.75 0 15.21 6.46 6.46 6.45 6.46 15.19 0 8.74-6.46 15.22T524.22-586h-10q0 65.67-43.68 110.23-43.67 44.55-112.18 44.55Zm.11-68.37q40.81 0 64.21-24.37 23.41-24.36 23.41-63.48H270.63q0 39.05 23.37 63.45 23.36 24.4 64.47 24.4ZM358.48-182.63Z",
30756
+ fileCopy: "M782.63-162.63H269.8q-27.69 0-48.03-20.34-20.34-20.33-20.34-48.03v-626.37q0-27.6 20.34-47.86 20.34-20.27 48.03-20.27h345.37l235.59 235.59V-231q0 27.7-20.39 48.03-20.39 20.34-47.74 20.34Zm-202-496.74v-198H269.8V-231h512.83v-428.37h-202ZM141.43-34.5q-27.59 0-47.86-20.27Q73.3-75.03 73.3-102.63v-616.85h68.13v616.85h499.68v68.13H141.43ZM269.8-857.37v198-198V-231v-626.37Z",
30757
+ filePresent: "M222.15-74.02q-27.6 0-47.86-20.27-20.27-20.26-20.27-47.86v-675.7q0-27.7 20.27-48.03 20.26-20.34 47.86-20.34h357.89l226.18 226.18v517.89q0 27.6-20.34 47.86-20.33 20.27-48.03 20.27h-515.7Zm0-68.13h515.7V-634H554v-183.85H222.15v675.7Zm258.11-80q58.5 0 99.12-41.13Q620-304.4 620-362.22v-139.21h-40v139.2q0 42.03-28.75 71.05-28.75 29.03-71.25 29.03-42 0-71-29.02t-29-71.04v-219.3q0-17.97 11.5-28.95 11.5-10.97 28.5-10.97 18 0 29 10.98t11 28.96v199.34h40v-199.21q0-33.63-23.08-56.85-23.07-23.22-56.57-23.22-33.59 0-56.97 23.21Q340-615 340-581.37v219.18q0 57.79 41.2 98.91 41.21 41.13 99.06 41.13Zm-258.11-595.7V-634v-183.85 675.7-675.7Z",
30758
+ forum: "M890.28-70 729.61-230.67H305.02q-28.35 0-48.24-19.96-19.89-19.97-19.89-48.41v-80h436.89q28.1 0 48.12-19.89 20.01-19.9 20.01-48.24v-276.66h80q28.45 0 48.41 19.96 19.96 19.97 19.96 48.41V-70ZM138.09-440.54l66.63-66.63h409.06v-315.46H138.09v382.09ZM69.72-276.17v-546.46q0-28.45 19.96-48.41Q109.64-891 138.09-891h475.69q28.1 0 48.12 19.96 20.01 19.96 20.01 48.41v315.46q0 28.34-20.01 48.24-20.02 19.89-48.12 19.89H232.59L69.72-276.17Zm68.37-231v-315.46 315.46Z",
30759
+ history: "M476.77-114.02q-151.88 0-257.6-107.16Q113.45-328.33 113.78-481h68.13q.28 124.12 85.53 211.48 85.24 87.37 209.32 87.37 125.81 0 213.33-88.36 87.52-88.36 87.52-214.45 0-123.08-88.37-207.99-88.38-84.9-212.48-84.9-66.09 0-124.15 29.45-58.07 29.44-101.35 78.29h99.98V-607H137.46v-212.54h62.63v103.37q52.71-60.53 124.45-95.29 71.74-34.76 152.22-34.76 76.2 0 143.27 28.6 67.08 28.6 117.47 77.94 50.4 49.34 79.32 115.41Q845.74-558.2 845.74-482q0 76.2-28.92 143.27-28.92 67.07-79.32 116.91-50.39 49.84-117.47 78.82-67.07 28.98-143.26 28.98ZM603.8-315.57l-154-152V-683h62.63v189l136.53 133.28-45.16 45.15Z",
30760
+ hourglassEmpty: "M310.15-142.15h339.7V-267q0-71.04-49.4-119.95-49.41-48.9-120.45-48.9t-120.45 48.9q-49.4 48.91-49.4 119.95v124.85Zm169.85-382q71.04 0 120.45-49.4 49.4-49.41 49.4-120.45v-123.85h-339.7V-694q0 71.04 49.4 120.45 49.41 49.4 120.45 49.4ZM154.02-74.02v-68.13h88V-267q0-70.28 38.93-128.04Q319.87-452.8 384.43-480q-64.56-28.2-103.48-85.96-38.93-57.76-38.93-128.04v-123.85h-88v-68.37h652.2v68.37h-88V-694q0 70.28-38.93 128.04Q640.37-508.2 575.8-480q64.57 27.2 103.49 84.96 38.93 57.76 38.93 128.04v124.85h88v68.13h-652.2Z",
30761
+ hub: "M232.55-31.87q-49.64 0-84.44-34.94-34.81-34.94-34.81-84.57 0-49.64 34.87-84.45 34.86-34.8 84.4-34.8 13.93 0 25.09 2.38 11.15 2.38 21.86 7.14l81.65-102.65q-18.28-22.76-28.28-52.02t-5.24-60.45l-116.93-40.86q-15.48 25.24-40.87 39.48-25.39 14.24-58.48 14.24-49.63 0-84.57-34.86-34.93-34.87-34.93-84.4 0-49.63 34.94-84.69 34.94-35.05 84.57-35.05q49.64 0 84.45 35.05 34.8 35.06 34.8 84.73v3.24l117.7 42q18-31.52 43.38-48.4 25.38-16.88 55.66-24.21v-125.08q-39-11.24-62.94-44.44-23.93-33.19-23.93-70.67 0-49.55 34.94-84.6t84.57-35.05q49.64 0 84.57 35.05 34.92 35.05 34.92 84.6 0 37.48-24.32 70.67-24.31 33.2-62.55 44.44v125.17q30.28 7.24 56.16 24.24 25.88 17 44.22 48.28l116.36-42v-3.28q0-49.63 34.86-84.69 34.87-35.05 84.4-35.05 49.63 0 84.69 35.06 35.05 35.06 35.05 84.69 0 49.64-35.05 84.45-35.06 34.8-84.77 34.8-32.97 0-58.88-14.24-25.91-14.24-40.63-39.72l-116.69 41q4.28 31.53-4.98 60.67-9.26 29.14-28.54 51.9l81.89 103.13q10.7-5 21.74-7.5t24.54-2.5q50.47 0 85.2 34.86 34.73 34.87 34.73 84.4 0 49.63-34.98 84.57-34.98 34.93-84.52 34.93-49.63 0-84.56-34.87-34.94-34.88-34.94-84.7 0-20.7 5.62-37.39t15.62-31.93l-81.41-102.41q-32.13 16.28-68.32 16.28-36.2 0-67.96-16.28l-80.65 103.41q10 15.24 15.62 31.43 5.62 16.19 5.62 36.89 0 49.82-34.94 84.7-34.94 34.87-84.58 34.87ZM480-460Z",
30762
+ integration: "M359.35-114.02H180q-26.47 0-46.22-19.76-19.76-19.75-19.76-46.22v-179.35q41.85-4.76 71.68-33.51 29.82-28.76 29.82-70.11 0-41.36-29.82-70.14-29.83-28.78-71.68-33.78V-746q0-26.4 19.76-46.31 19.75-19.91 46.22-19.91h171.74q12.91-40.95 42.73-68.07 29.81-27.12 70.53-27.12t70.53 27.12q29.82 27.12 42.73 68.07H746q26.4 0 46.31 19.91 19.91 19.91 19.91 46.31v167.74q40.95 12.91 66.57 44.73 25.62 31.81 25.62 72.53t-25.62 69.03q-25.62 28.32-66.57 41.23V-180q0 26.47-19.91 46.22-19.91 19.76-46.31 19.76H566.89q-5.24-46.81-34.78-75.47-29.54-28.66-69.17-28.66-39.62 0-69.11 28.66-29.48 28.66-34.48 75.47ZM465-461Z",
30763
+ leaderboard: "M142.15-182.15h180.07v-355.7H142.15v355.7Zm248.2 0h179.3v-595.7h-179.3v595.7Zm247.43 0h180.07v-275.7H637.78v275.7ZM74.02-114.02v-492.2h248.2v-240h315.56v320h248.44v412.2H74.02Z",
30764
+ loop: "M360-118.26 311.26-166l70.17-70.17h-31.8q-115.28-1.92-194.49-84.99Q75.93-404.24 75.93-520q0-117.67 81.7-200.87T357-804.07h246q117.67 0 199.37 83.2T884.07-520q0 118.43-81.98 201.25t-199.94 82.82v-68.14q89.61 0 151.7-62.92 62.08-62.92 62.08-153.01 0-89.57-61.3-152.75-61.3-63.18-150.63-63.18H356q-89.33 0-150.63 63.18T144.07-520q0 86.93 58.95 149.4 58.96 62.47 145.41 64.14h31.13L312.02-374 360-421.98l151.98 151.74L360-118.26Z",
30765
+ newFile: "M450-232.09h60v-129h130v-60H510v-130h-60v130H320v60h130v129ZM222.15-74.02q-27.6 0-47.86-20.27-20.27-20.26-20.27-47.86v-675.7q0-27.7 20.27-48.03 20.26-20.34 47.86-20.34h361.48l222.59 222.59v521.48q0 27.6-20.34 47.86-20.33 20.27-48.03 20.27h-515.7Zm326.7-557.83v-186h-326.7v675.7h515.7v-489.7h-189Zm-326.7-186v186-186 675.7-675.7Z",
30766
+ pieChart: "M514.07-514.07h301.82q-11.24-118.65-96.71-206.11-85.46-87.47-205.11-95.71v301.82Zm-68.14 369.96v-671.78q-128.6 12.19-216.19 109-87.59 96.8-87.59 226.89 0 130.09 87.59 226.89 87.59 96.81 216.19 109Zm68.14 0q119.65-8.48 205-95.82 85.34-87.35 96.82-206H514.07v301.82ZM480-480Zm.03 405.98q-84.2 0-158.29-31.86-74.09-31.86-129.04-86.82-54.96-54.95-86.82-129.02-31.86-74.06-31.86-158.27 0-84.21 31.86-158.28 31.86-74.08 86.79-129.05 54.92-54.97 129.02-86.93 74.09-31.97 158.33-31.97 84.41 0 158.44 32 74.02 31.99 128.91 86.81 54.89 54.82 86.87 128.87Q886.22-564.5 886.22-480q0 84.51-32.01 158.57-32.01 74.07-86.88 128.86-54.87 54.79-128.96 86.67-74.1 31.88-158.34 31.88Z",
30767
+ public: "M480.21-74.02Q396-74.02 321.95-106q-74.06-31.98-129.03-86.87-54.97-54.88-86.93-128.92-31.97-74.04-31.97-158.22 0-84.19 31.97-158.21 31.96-74.02 86.93-128.91 54.97-54.89 129.06-86.99 74.08-32.1 158.31-32.1 84.24 0 158.18 32.1 73.95 32.1 128.87 86.94 54.92 54.83 86.9 128.9 31.98 74.06 31.98 158.27 0 84.21-31.96 158.25-31.95 74.05-86.9 128.96-54.96 54.92-129 86.85-74.04 31.93-158.15 31.93Zm-42.73-69.13v-81.76q-35 0-58.77-25.86-23.76-25.86-23.76-60.66v-43.77L151.39-558.76q-5 20-7 39.26-2 19.26-2 39.13 0 129.1 83.9 225.78 83.91 96.68 211.19 111.44Zm292.11-107.28q43.74-47.53 66-106.84 22.26-59.31 22.26-123.11 0-105.23-57.52-191.09-57.53-85.86-153.81-125.62v17.76q0 34.71-24.03 60.5-24.04 25.79-58.74 25.79h-86.27v86.45q0 17.07-13.5 27.95-13.5 10.88-30.57 10.88H311.2v87.28h256.37q16.9 0 27.92 13.04 11.03 13.03 11.03 29.9v126.11h42.52q28.76 0 50.67 17t29.88 44Z",
30768
+ publish: "M445.93-154.02v-359.52l-118.56 118.8-48.98-48.5L480-644.85l201.61 201.61-48.98 48.5-118.56-118.8v359.52h-68.14ZM154.02-594.85v-143q0-27.58 20.27-47.98 20.26-20.39 47.86-20.39h515.7q27.7 0 48.03 20.34 20.34 20.33 20.34 48.03v143h-68.37v-143h-515.7v143h-68.13Z",
30769
+ rssFeed: "M190.41-114.02q-31.67 0-54.03-22.59t-22.36-54.32q0-31.72 22.48-54.2 22.48-22.48 54.04-22.48 31.76 0 54.42 22.52 22.65 22.53 22.65 54.32t-22.68 54.27q-22.67 22.48-54.52 22.48Zm527.48 0q0-125.65-47.07-234.77-47.08-109.12-129.87-192.04-83.04-82.67-192.23-129.75-109.2-47.07-234.7-47.07v-95.74q145.83 0 272.39 54.53 126.55 54.53 222.24 150.21 95.68 95.69 150.21 222.24 54.53 126.56 54.53 272.39h-95.5Zm-269 0q0-70.48-26.04-132.56-26.03-62.07-71.68-109.59-45.47-47.24-106.11-73.98-60.64-26.74-131.04-26.74v-95.5q90.74 0 168.76 34.22 78.02 34.21 136.36 94.21 58.34 60.01 91.92 139.6 33.57 79.59 33.57 170.34h-95.74Z",
30770
+ schema: "M153.3-29v-231h100v-104.5h-100v-231h100V-700h-100v-231h269.33v231h-100v104.5h100v81.43h154.74v-81.43h269.56v231H577.37v-81.43H422.63v81.43h-100V-260h100v231H153.3Zm68.13-68.37H354.5v-94.5H221.43v94.5Zm0-335.26H354.5v-94.74H221.43v94.74Zm424.07 0h133.07v-94.74H645.5v94.74ZM221.43-768.37H354.5v-94.26H221.43v94.26Z",
30771
+ showChart: "M126-214.26 74.26-266 380-571.74l159.76 160.52 298-335 47.98 46.74-345.26 390.46L380-468.26l-254 254Z",
30772
+ sms: "M303.16-520.85q17.93 0 30.02-12.12 12.1-12.13 12.1-30.06t-12.12-30.02q-12.13-12.1-30.06-12.1t-30.02 12.12q-12.1 12.13-12.1 30.06t12.13 30.02q12.12 12.1 30.05 12.1Zm179.87 0q17.93 0 30.02-12.12 12.1-12.13 12.1-30.06t-12.12-30.02q-12.13-12.1-30.06-12.1t-30.02 12.12q-12.1 12.13-12.1 30.06t12.12 30.02q12.13 12.1 30.06 12.1Zm172.87 0q17.93 0 30.02-12.12 12.1-12.13 12.1-30.06t-12.13-30.02q-12.12-12.1-30.05-12.1t-30.02 12.12q-12.1 12.13-12.1 30.06t12.12 30.02q12.13 12.1 30.06 12.1ZM74.02-74.02v-743.83q0-27.7 20.27-48.03 20.26-20.34 47.86-20.34h675.7q27.7 0 48.03 20.34 20.34 20.33 20.34 48.03v515.7q0 27.6-20.34 47.86-20.33 20.27-48.03 20.27H234.02l-160 160Zm134-228.13h609.83v-515.7h-675.7v587.57l65.87-71.87Zm-65.87 0v-515.7 515.7Z",
30773
+ source: "M74.5-111.87v-675.5l200.5-130 200.5 130v109.74h410v565.76h-811Zm65.5-65.5h105v-105H140v105Zm0-165h105v-105H140v105Zm0-165h105v-105H140v105Zm0-165h105v-105H140v105Zm165 0h105v-105H305v105Zm0 495h515v-435H305v435Zm245-270v-60h165v60H550Zm0 165v-60h165v60H550Zm-140-165v-60h60v60h-60Zm0 165v-60h60v60h-60Z",
30774
+ swapHoriz: "M272.76-154.02 74.02-352.76 272.76-551.5l47.74 47.74-116.7 116.93h306.68v68.37H203.8l116.7 116.7-47.74 47.74Zm414.48-254.72-47.74-47.74 116.93-116.69H449.76v-68.37h306.67L639.5-758.48l47.74-47.74 198.98 198.74-198.98 198.74Z",
30775
+ syncAlt: "M273.39-106.85 74.02-306.46l200.37-200.37 47.98 47.74L203.8-340.52h642.42v68.37H203.8l117.57 117.56-47.98 47.74Zm413.22-346.32-47.74-47.74 117.56-117.57H114.02v-68.37h642.41l-118.56-118.8 47.74-47.74 200.61 200.61-199.61 199.61Z",
30776
+ taskAlt: "M480.12-74.02q-86.32 0-160.51-31t-128.89-85.7q-54.7-54.7-85.7-128.89-31-74.19-31-160.51 0-85.31 30.94-159.4t85.7-128.9q54.76-54.8 128.95-86.3T480-886.22q75 0 140 23.65t117.48 65.4l-49.46 49.21q-42.8-33.32-95.27-51.61-52.46-18.28-112.75-18.28-144.11 0-240.98 96.74-96.87 96.74-96.87 241.07 0 144.32 96.86 241.11 96.86 96.78 240.95 96.78 144.08 0 240.99-96.76 96.9-96.75 96.9-241.09 0-28.88-4.38-56.27-4.38-27.38-12.9-53.19l52.93-53.17q16.24 37.72 24.48 78.28 8.24 40.57 8.24 84.17 0 86.38-31.5 160.57t-86.3 128.95q-54.81 54.76-128.9 85.7-74.09 30.94-159.4 30.94Zm-59.6-220.39L252.89-463.04l49.78-50.03 117.85 117.85L836.2-810.89l51.02 50.02-466.7 466.46Z",
30777
+ trendingUp: "m122.76-234.74-48.74-48.74 298.94-297.69 167 167 231.91-232.4H647.02v-68.36h239.2v239.19h-67.37v-121.09L538.96-316.7l-167-167-249.2 248.96Z",
30778
+ update: "M483.19-114.02q-76.07 0-143.3-28.98-67.24-28.98-117.46-78.82-50.21-49.83-79.31-116.91-29.1-67.07-29.1-143.27 0-76.2 29.1-142.27 29.1-66.08 79.31-115.41 50.22-49.34 117.47-77.94 67.25-28.6 143.34-28.6 80.24 0 151.98 34.76t124.69 95.29v-103.37h62.63V-607H608.76v-63.11h99.98q-43.59-48.91-101.62-78.32-58.03-29.42-123.88-29.42-124.28 0-212.57 84.86-88.28 84.86-88.28 207.95 0 126.08 87.37 214.49 87.38 88.4 213.48 88.4 123.8 0 209.18-87.37 85.37-87.36 85.67-211.48h68.13q0 152.63-105.68 259.8-105.67 107.18-257.35 107.18ZM603.8-315.57l-154-152V-683h62.63v189l136.53 133.28-45.16 45.15Z",
30779
+ uploadFile: "M452-203.43h60v-201.96l82.48 82.48 42-42L480-517.15 325.76-362.91l42 42L452-405.39v201.96ZM222.15-74.02q-27.6 0-47.86-20.27-20.27-20.26-20.27-47.86v-675.7q0-27.7 20.27-48.03 20.26-20.34 47.86-20.34h361.48l222.59 222.59v521.48q0 27.6-20.34 47.86-20.33 20.27-48.03 20.27h-515.7Zm326.7-557.83v-186h-326.7v675.7h515.7v-489.7h-189Zm-326.7-186v186-186 675.7-675.7Z",
30780
+ // ---- Aliases (platform names that map to existing core icons) ----
30781
+ adminPanel: "M480-73.78q-142.59-35.67-234.27-164.87-91.69-129.2-91.69-283.27v-242.26L480-886.22l326.22 122.05V-522q0 80.87-22.94 158.57-22.93 77.69-76.93 143.69l-144.31-138.3q-18.76 10.52-39.68 17.28Q501.44-334 480-334q-62 0-105.5-43T331-482.5q0-62.5 43.5-106T480-632q62 0 105.5 43.5T629-482q0 20.76-5.7 41.52t-18.34 37.28l85.61 81.85q24-42.52 35.64-94.66 11.64-52.14 11.64-105.94v-196.86L480-812.61l-257.85 93.92v196.65q0 130.08 72.02 234.51Q366.2-183.11 480.2-143.91q27.6-7.76 67.67-31.81 40.06-24.04 62.87-46.32l48.22 48.74q-35.24 32-84.22 60.38Q525.76-84.54 480-73.78Zm.24-322.85q35.56 0 60.85-24.81 25.28-24.82 25.28-61.09t-25.52-61.56q-25.52-25.28-61.09-25.28-35.56 0-60.85 25.31-25.28 25.32-25.28 61.59t25.52 61.06q25.52 24.78 61.09 24.78Zm2.35-82.83Z",
30782
+ ai: "M352.39-107.15 307-253.85l-148.85-44.54 148.85-44.78L352.39-490l45.15 147.43L544.63-298.4l-147.09 44.56-45.15 146.69Zm370-290.85-28.52-92.39-94.24-28.24 94.24-28.48 28.52-92.15 28.28 92.15 94.72 28.48-94.72 28.24-28.28 92.39ZM192.15-502.52l-17.76-58.52-58.52-18.72 58.52-17.48 17.76-59.24 18.48 59.24 58.52 17.48-58.52 18.72-18.48 58.52Z",
30783
+ lockClosed: "M242.87-72.59q-37.54 0-64.27-26.73-26.73-26.73-26.73-64.27v-394.26q0-37.54 26.73-64.27 26.73-26.73 64.27-26.73h33.54v-73.06q0-84.92 59.46-144.61 59.46-59.7 144.13-59.7 84.67 0 144.13 59.7 59.46 59.69 59.46 144.61v73.06h33.54q37.54 0 64.27 26.73 26.73 26.73 26.73 64.27v394.26q0 37.54-26.73 64.27-26.73 26.73-64.27 26.73H242.87Zm0-91h474.26v-394.26H242.87v394.26ZM536.5-304.22q23.5-23.5 23.5-56.5t-23.5-56.5q-23.5-23.5-56.5-23.5t-56.5 23.5q-23.5 23.5-23.5 56.5t23.5 56.5q23.5 23.5 56.5 23.5t56.5-23.5ZM367.41-648.85h225.18v-73.06q0-47.21-32.73-80.26-32.73-33.05-79.86-33.05t-79.86 33.05q-32.73 33.05-32.73 80.26v73.06ZM242.87-163.59v-394.26 394.26Z",
30784
+ lockOpened: "M242.87-648.85h349.72v-73.06q0-47.21-32.73-80.26-32.73-33.05-79.86-33.05t-79.86 33.05q-32.73 33.05-32.73 80.26h-91q0-84.92 59.46-144.61 59.46-59.7 144.13-59.7 84.67 0 144.13 59.7 59.46 59.69 59.46 144.61v73.06h33.54q37.54 0 64.27 26.73 26.73 26.73 26.73 64.27v394.26q0 37.54-26.73 64.27-26.73 26.73-64.27 26.73H242.87q-37.54 0-64.27-26.73-26.73-26.73-26.73-64.27v-394.26q0-37.54 26.73-64.27 26.73-26.73 64.27-26.73Zm0 485.26h474.26v-394.26H242.87v394.26ZM536.5-304.22q23.5-23.5 23.5-56.5t-23.5-56.5q-23.5-23.5-56.5-23.5t-56.5 23.5q-23.5 23.5-23.5 56.5t23.5 56.5q23.5 23.5 56.5 23.5t56.5-23.5ZM242.87-163.59v-394.26 394.26Z",
30785
+ insights: "M285.2-277h60v-205h-60v205Zm329.84 0h60v-420h-60v420ZM450-277h60v-118h-60v118Zm0-205h60v-60h-60v60ZM182.15-114.02q-27.6 0-47.86-20.27-20.27-20.26-20.27-47.86v-595.7q0-27.7 20.27-48.03 20.26-20.34 47.86-20.34h595.7q27.7 0 48.03 20.34 20.34 20.33 20.34 48.03v595.7q0 27.6-20.34 47.86-20.33 20.27-48.03 20.27h-595.7Zm0-68.13h595.7v-595.7h-595.7v595.7Zm0-595.7v595.7-595.7Z",
30786
+ file: "M222.15-74.02q-27.6 0-47.86-20.27-20.27-20.26-20.27-47.86v-675.7q0-27.7 20.27-48.03 20.26-20.34 47.86-20.34h357.89l226.18 226.18v517.89q0 27.6-20.34 47.86-20.33 20.27-48.03 20.27h-515.7Zm0-68.13h515.7V-634H554v-183.85H222.15v675.7Zm0-675.7V-634v-183.85 675.7-675.7Z",
30787
+ outlinedSettings: "M370-74.02l-16-127.48q-17-6.76-34.5-16.5T287.5-237l-118 53-110-192 104-77q-1-8-1.5-20.5t-.5-20.5q0-8.76.5-21.38T163-536l-104-77 110-192 118 53q14.5-8.98 33.18-19.49T355-787.5l16-126.48h220l16 126.72q17 6.76 34.5 16.5T674-753l118-53 110 192-104 77q1 8 1.5 20.5t.5 20.5q0 8-.5 20.5T798-455l104 77-110 192-118-53q-14.5 9-32 19.5T607-202.5L591-74.02H370ZM480-330q63 0 106.5-43.5T630-480q0-63-43.5-106.5T480-630q-63 0-106.5 43.5T330-480q0 63 43.5 106.5T480-330Z",
30788
+ scheduled: "M573.61-114.02q-97.63 0-165.84-68.12-68.22-68.12-68.22-165.61 0-97.48 68.22-165.6 68.21-68.12 165.84-68.12 97.62 0 165.59 68.12 67.98 68.12 67.98 165.6 0 97.49-67.98 165.61-67.97 68.12-165.59 68.12ZM114.02-580.83v-68.14h233.13v68.14H114.02ZM573.8-182.15q70.2 0 119.74-49.35 49.53-49.35 49.53-119.55t-49.72-120.16q-49.72-49.96-119.92-49.96t-119.55 49.78q-49.35 49.77-49.35 120.48 0 70.48 49.53 119.62 49.54 49.14 119.74 49.14Zm48.72-72.81L573.8-304.2v-111.41h43.72V-321l37.72 37.72-32.72 28.32ZM74.02-419.63v-68.14h188.13v68.14H74.02Z",
30789
+ watchLater: "M573.61-114.02q-97.63 0-165.84-68.12-68.22-68.12-68.22-165.61 0-97.48 68.22-165.6 68.21-68.12 165.84-68.12 97.62 0 165.59 68.12 67.98 68.12 67.98 165.6 0 97.49-67.98 165.61-67.97 68.12-165.59 68.12ZM114.02-580.83v-68.14h233.13v68.14H114.02ZM573.8-182.15q70.2 0 119.74-49.35 49.53-49.35 49.53-119.55t-49.72-120.16q-49.72-49.96-119.92-49.96t-119.55 49.78q-49.35 49.77-49.35 120.48 0 70.48 49.53 119.62 49.54 49.14 119.74 49.14Zm48.72-72.81L573.8-304.2v-111.41h43.72V-321l37.72 37.72-32.72 28.32ZM74.02-419.63v-68.14h188.13v68.14H74.02Z"
30715
30790
  };
30716
30791
  VALID_NODE_ICONS = Object.keys(NODE_ICON_PATHS);
30717
30792
  }
@@ -31502,6 +31577,10 @@ Add '@param ${fromPort}' to the workflow JSDoc and include it in the params obje
31502
31577
  });
31503
31578
  exitPortConnections.forEach((connections, portName) => {
31504
31579
  if (connections.length > 1) {
31580
+ const exitPort = workflow.exitPorts[portName];
31581
+ if (exitPort?.isControlFlow || exitPort?.dataType === "STEP") {
31582
+ return;
31583
+ }
31505
31584
  const sourceNodes = connections.map((c) => c.from.node);
31506
31585
  if (this.areMutuallyExclusive(sourceNodes, workflow, instanceMap)) {
31507
31586
  return;
@@ -32865,7 +32944,8 @@ async function compileWorkflow(filePath, options = {}) {
32865
32944
  ${parseResult.errors.join("\n")}`);
32866
32945
  }
32867
32946
  const { validateWorkflow: validateWorkflow2 } = await Promise.resolve().then(() => (init_validate(), validate_exports));
32868
- const validationResult = validateWorkflow2(parseResult.ast);
32947
+ const validationMode = options.validationMode;
32948
+ const validationResult = validateWorkflow2(parseResult.ast, validationMode ? { mode: validationMode } : void 0);
32869
32949
  if (validationResult.errors.length > 0) {
32870
32950
  const errorMessages = validationResult.errors.map(
32871
32951
  (e) => typeof e === "string" ? e : e.message
@@ -78778,7 +78858,8 @@ ${parseResult.errors.join("\n")}`
78778
78858
  "Validate a workflow file and return errors/warnings.",
78779
78859
  {
78780
78860
  filePath: external_exports.string().describe("Path to the workflow file"),
78781
- workflowName: external_exports.string().optional().describe("Specific workflow name")
78861
+ workflowName: external_exports.string().optional().describe("Specific workflow name"),
78862
+ draft: external_exports.boolean().optional().describe("Draft mode - suppresses STUB_NODE errors for unimplemented nodes (default: false)")
78782
78863
  },
78783
78864
  async (args) => {
78784
78865
  try {
@@ -78812,7 +78893,7 @@ ${parseResult.errors.join("\n")}`
78812
78893
  warnings: parseResult.warnings
78813
78894
  });
78814
78895
  }
78815
- const result = validateWorkflow(parseResult.ast);
78896
+ const result = validateWorkflow(parseResult.ast, args.draft ? { mode: "draft" } : void 0);
78816
78897
  const errors2 = result.errors.map((e) => ({
78817
78898
  message: e.message,
78818
78899
  severity: e.type,
@@ -78858,7 +78939,8 @@ ${parseResult.errors.join("\n")}`
78858
78939
  framework: external_exports.enum(["next", "express", "hono", "fastify", "remix"]).optional().describe("Framework adapter for serve handler (requires serve=true)"),
78859
78940
  typedEvents: external_exports.boolean().optional().describe("Generate Zod event schemas from workflow @param annotations"),
78860
78941
  retries: external_exports.number().int().min(0).optional().describe("Number of retries per function. Overrides @retries annotation."),
78861
- timeout: external_exports.string().optional().describe('Function timeout (e.g. "30m", "1h"). Overrides @timeout annotation.')
78942
+ timeout: external_exports.string().optional().describe('Function timeout (e.g. "30m", "1h"). Overrides @timeout annotation.'),
78943
+ draft: external_exports.boolean().optional().describe("Draft mode - suppresses STUB_NODE validation errors so partially implemented workflows can compile (default: false)")
78862
78944
  },
78863
78945
  async (args) => {
78864
78946
  try {
@@ -78917,7 +78999,8 @@ ${parseResult.errors.join("\n")}`);
78917
78999
  const result = await compileWorkflow(filePath, {
78918
79000
  write: args.write ?? true,
78919
79001
  parse: { workflowName: args.workflowName },
78920
- generate: { production: args.production ?? false }
79002
+ generate: { production: args.production ?? false },
79003
+ validationMode: args.draft ? "draft" : void 0
78921
79004
  });
78922
79005
  return makeToolResult({
78923
79006
  outputFile: result.metadata?.outputFile ?? filePath,
@@ -82093,7 +82176,7 @@ function registerExportTools(mcp) {
82093
82176
  {
82094
82177
  filePath: external_exports.string().describe("Path to the workflow .ts file"),
82095
82178
  target: external_exports.string().describe("Deployment target platform. Run with --list-targets to see installed targets."),
82096
- outputDir: external_exports.string().describe("Output directory for generated files"),
82179
+ outputDir: external_exports.string().optional().describe("Output directory for generated files (default: ./dist relative to workflow)"),
82097
82180
  serviceName: external_exports.string().optional().describe("Service name (default: derived from filename)"),
82098
82181
  workflows: external_exports.array(external_exports.string()).optional().describe("Specific workflow function names to include (default: all)"),
82099
82182
  nodeTypes: external_exports.array(external_exports.string()).optional().describe("Specific node type names to include"),
@@ -82104,7 +82187,9 @@ function registerExportTools(mcp) {
82104
82187
  async (args) => {
82105
82188
  try {
82106
82189
  const filePath = path29.resolve(args.filePath);
82107
- const outputDir = path29.resolve(args.outputDir);
82190
+ const outputDir = path29.resolve(
82191
+ args.outputDir || path29.join(path29.dirname(filePath), "dist")
82192
+ );
82108
82193
  const preview = args.preview ?? false;
82109
82194
  const includeDocs = args.includeDocs ?? true;
82110
82195
  try {
@@ -82972,9 +83057,26 @@ function registerModelTools(mcp) {
82972
83057
  lines.push(`declare function ${step.name}(${params}): ${returnType};`);
82973
83058
  lines.push("");
82974
83059
  }
82975
- const flowSteps = args.flow.split("->").map((s) => s.trim()).filter(Boolean);
82976
83060
  const nodeAnnotations = args.steps.map((step) => `@node ${step.name} ${step.name}`);
82977
- const pathAnnotation = `@path ${flowSteps.join(" -> ")}`;
83061
+ const pathAnnotations = args.flow.split(",").map((segment) => {
83062
+ const steps = segment.split("->").map((s) => s.trim()).filter(Boolean);
83063
+ return `@path ${steps.join(" -> ")}`;
83064
+ });
83065
+ const stepMap = new Map(args.steps.map((s) => [s.name, s]));
83066
+ const connectAnnotations = [];
83067
+ for (const segment of args.flow.split(",")) {
83068
+ const flowNodes = segment.split("->").map((s) => s.trim()).filter(Boolean);
83069
+ for (let i = 0; i < flowNodes.length - 1; i++) {
83070
+ const fromStep = stepMap.get(flowNodes[i]);
83071
+ const toStep = stepMap.get(flowNodes[i + 1]);
83072
+ if (!fromStep || !toStep) continue;
83073
+ for (const outputName of Object.keys(fromStep.outputs)) {
83074
+ if (outputName in toStep.inputs) {
83075
+ connectAnnotations.push(`@connect ${fromStep.name}.${outputName} -> ${toStep.name}.${outputName}`);
83076
+ }
83077
+ }
83078
+ }
83079
+ }
82978
83080
  const jsdocLines = ["/**"];
82979
83081
  if (args.description) {
82980
83082
  jsdocLines.push(` * ${args.description}`);
@@ -82984,9 +83086,16 @@ function registerModelTools(mcp) {
82984
83086
  for (const nodeAnn of nodeAnnotations) {
82985
83087
  jsdocLines.push(` * ${nodeAnn}`);
82986
83088
  }
82987
- jsdocLines.push(` * ${pathAnnotation}`);
83089
+ for (const pathAnn of pathAnnotations) {
83090
+ jsdocLines.push(` * ${pathAnn}`);
83091
+ }
83092
+ for (const connAnn of connectAnnotations) {
83093
+ jsdocLines.push(` * ${connAnn}`);
83094
+ }
82988
83095
  jsdocLines.push(" */");
82989
- jsdocLines.push(`export const ${args.name} = 'flowWeaver:draft';`);
83096
+ jsdocLines.push(`export async function ${args.name}() {`);
83097
+ jsdocLines.push(` // stub - compile to generate workflow body`);
83098
+ jsdocLines.push(`}`);
82990
83099
  lines.push(...jsdocLines);
82991
83100
  lines.push("");
82992
83101
  const content = lines.join("\n");
@@ -84139,6 +84248,169 @@ var init_tools_debug = __esm({
84139
84248
  }
84140
84249
  });
84141
84250
 
84251
+ // src/mcp/run-registry.ts
84252
+ function storePendingRun(run) {
84253
+ pendingRuns.set(run.runId, run);
84254
+ }
84255
+ function getPendingRun(runId) {
84256
+ return pendingRuns.get(runId);
84257
+ }
84258
+ function removePendingRun(runId) {
84259
+ pendingRuns.delete(runId);
84260
+ }
84261
+ var pendingRuns;
84262
+ var init_run_registry = __esm({
84263
+ "src/mcp/run-registry.ts"() {
84264
+ "use strict";
84265
+ pendingRuns = /* @__PURE__ */ new Map();
84266
+ }
84267
+ });
84268
+
84269
+ // src/mcp/tools-workflow-run.ts
84270
+ function makeToolResult2(data) {
84271
+ return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
84272
+ }
84273
+ function makeErrorResult2(code, message) {
84274
+ return {
84275
+ content: [{ type: "text", text: JSON.stringify({ error: code, message }) }],
84276
+ isError: true
84277
+ };
84278
+ }
84279
+ function generateRunId() {
84280
+ return `run-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
84281
+ }
84282
+ async function raceAgentPause(executionPromise, agentChannel) {
84283
+ try {
84284
+ const outcome = await Promise.race([
84285
+ executionPromise.then((r) => ({
84286
+ type: "completed",
84287
+ result: r?.result ?? r
84288
+ })),
84289
+ agentChannel.onPause().then((request) => ({
84290
+ type: "waiting_for_agent",
84291
+ request
84292
+ }))
84293
+ ]);
84294
+ return outcome;
84295
+ } catch (err) {
84296
+ return {
84297
+ type: "error",
84298
+ message: err instanceof Error ? err.message : String(err)
84299
+ };
84300
+ }
84301
+ }
84302
+ async function runWorkflowWithAgent(filePath, params, workflowName) {
84303
+ const agentChannel = new AgentChannel();
84304
+ const runId = generateRunId();
84305
+ const executionPromise = executeWorkflowFromFile(
84306
+ filePath,
84307
+ params,
84308
+ {
84309
+ workflowName,
84310
+ agentChannel,
84311
+ includeTrace: true
84312
+ }
84313
+ );
84314
+ const outcome = await raceAgentPause(executionPromise, agentChannel);
84315
+ if (outcome.type === "completed") {
84316
+ return { status: "completed", result: outcome.result };
84317
+ }
84318
+ if (outcome.type === "waiting_for_agent") {
84319
+ storePendingRun({
84320
+ runId,
84321
+ filePath,
84322
+ workflowName,
84323
+ executionPromise,
84324
+ agentChannel,
84325
+ request: outcome.request,
84326
+ createdAt: Date.now(),
84327
+ tmpFiles: []
84328
+ });
84329
+ return { status: "waiting_for_agent", runId, agentRequest: outcome.request, agentChannel };
84330
+ }
84331
+ return { status: "error", message: outcome.message };
84332
+ }
84333
+ async function resumeWorkflow(runId, agentResult) {
84334
+ const pendingRun = getPendingRun(runId);
84335
+ if (!pendingRun) {
84336
+ return { status: "error", message: `No pending run found with ID "${runId}".` };
84337
+ }
84338
+ pendingRun.agentChannel.resume(agentResult);
84339
+ const outcome = await raceAgentPause(pendingRun.executionPromise, pendingRun.agentChannel);
84340
+ if (outcome.type === "completed") {
84341
+ removePendingRun(runId);
84342
+ return { status: "completed", result: outcome.result };
84343
+ }
84344
+ if (outcome.type === "waiting_for_agent") {
84345
+ pendingRun.request = outcome.request;
84346
+ return { status: "waiting_for_agent", runId, agentRequest: outcome.request, agentChannel: pendingRun.agentChannel };
84347
+ }
84348
+ removePendingRun(runId);
84349
+ return { status: "error", message: outcome.message };
84350
+ }
84351
+ function registerWorkflowRunTools(mcp) {
84352
+ mcp.tool(
84353
+ "fw_workflow_run",
84354
+ "Run a workflow. If it hits a waitForAgent node, returns the agent request so you can respond. If it completes without pausing, returns the result directly.",
84355
+ {
84356
+ filePath: external_exports.string().describe("Path to the workflow .ts file"),
84357
+ params: external_exports.record(external_exports.unknown()).optional().describe("Input parameters for the workflow"),
84358
+ workflowName: external_exports.string().optional().describe("Specific workflow export name (for multi-workflow files)")
84359
+ },
84360
+ async (args) => {
84361
+ try {
84362
+ const result = await runWorkflowWithAgent(
84363
+ args.filePath,
84364
+ args.params ?? {},
84365
+ args.workflowName
84366
+ );
84367
+ if (result.status === "error") {
84368
+ return makeErrorResult2("EXECUTION_ERROR", result.message);
84369
+ }
84370
+ const { agentChannel: _ac, ...output } = result;
84371
+ return makeToolResult2(output);
84372
+ } catch (err) {
84373
+ return makeErrorResult2(
84374
+ "EXECUTION_ERROR",
84375
+ err instanceof Error ? err.message : String(err)
84376
+ );
84377
+ }
84378
+ }
84379
+ );
84380
+ mcp.tool(
84381
+ "fw_workflow_resume",
84382
+ "Resume a workflow that paused at waitForAgent. Provide the agent result to continue execution.",
84383
+ {
84384
+ runId: external_exports.string().describe("Run ID from fw_workflow_run"),
84385
+ agentResult: external_exports.record(external_exports.unknown()).describe("The agent result to pass back to the workflow")
84386
+ },
84387
+ async (args) => {
84388
+ try {
84389
+ const result = await resumeWorkflow(args.runId, args.agentResult);
84390
+ if (result.status === "error") {
84391
+ return makeErrorResult2("RESUME_ERROR", result.message);
84392
+ }
84393
+ const { agentChannel: _ac, ...output } = result;
84394
+ return makeToolResult2(output);
84395
+ } catch (err) {
84396
+ return makeErrorResult2(
84397
+ "RESUME_ERROR",
84398
+ err instanceof Error ? err.message : String(err)
84399
+ );
84400
+ }
84401
+ }
84402
+ );
84403
+ }
84404
+ var init_tools_workflow_run = __esm({
84405
+ "src/mcp/tools-workflow-run.ts"() {
84406
+ "use strict";
84407
+ init_zod();
84408
+ init_workflow_executor();
84409
+ init_agent_channel();
84410
+ init_run_registry();
84411
+ }
84412
+ });
84413
+
84142
84414
  // src/mcp/tools-context.ts
84143
84415
  function registerContextTools(mcp) {
84144
84416
  mcp.tool(
@@ -84185,6 +84457,49 @@ var init_tools_context = __esm({
84185
84457
  }
84186
84458
  });
84187
84459
 
84460
+ // src/mcp/tools-resources.ts
84461
+ function registerResourceTools(mcp) {
84462
+ mcp.tool(
84463
+ "fw_list_resources",
84464
+ "List available icons, colors, and annotation tags for use in workflow definitions.",
84465
+ {
84466
+ type: external_exports.enum(["icons", "colors", "tags", "all"]).default("all").describe("Resource type to list (default: all)")
84467
+ },
84468
+ async (args) => {
84469
+ const type2 = args.type ?? "all";
84470
+ switch (type2) {
84471
+ case "icons":
84472
+ return makeToolResult([...VALID_NODE_ICONS]);
84473
+ case "colors":
84474
+ return makeToolResult([...VALID_NODE_COLORS]);
84475
+ case "tags":
84476
+ return makeToolResult({
84477
+ nodeType: [...KNOWN_NODETYPE_TAGS],
84478
+ workflow: [...KNOWN_WORKFLOW_TAGS]
84479
+ });
84480
+ case "all":
84481
+ return makeToolResult({
84482
+ icons: [...VALID_NODE_ICONS],
84483
+ colors: [...VALID_NODE_COLORS],
84484
+ tags: {
84485
+ nodeType: [...KNOWN_NODETYPE_TAGS],
84486
+ workflow: [...KNOWN_WORKFLOW_TAGS]
84487
+ }
84488
+ });
84489
+ }
84490
+ }
84491
+ );
84492
+ }
84493
+ var init_tools_resources = __esm({
84494
+ "src/mcp/tools-resources.ts"() {
84495
+ "use strict";
84496
+ init_zod();
84497
+ init_theme();
84498
+ init_constants();
84499
+ init_response_utils();
84500
+ }
84501
+ });
84502
+
84188
84503
  // src/mcp/prompts.ts
84189
84504
  function registerPrompts(mcp) {
84190
84505
  mcp.registerPrompt("flow-weaver-nocode", {
@@ -84340,7 +84655,9 @@ async function startMcpServer(options) {
84340
84655
  registerDocsTools(mcp);
84341
84656
  registerModelTools(mcp);
84342
84657
  registerDebugTools(mcp);
84658
+ registerWorkflowRunTools(mcp);
84343
84659
  registerContextTools(mcp);
84660
+ registerResourceTools(mcp);
84344
84661
  registerPrompts(mcp);
84345
84662
  await registerPackMcpTools(mcp);
84346
84663
  if (options.stdio) {
@@ -84375,7 +84692,9 @@ var init_server3 = __esm({
84375
84692
  init_tools_docs();
84376
84693
  init_tools_model();
84377
84694
  init_tools_debug();
84695
+ init_tools_workflow_run();
84378
84696
  init_tools_context();
84697
+ init_tools_resources();
84379
84698
  init_prompts();
84380
84699
  init_pack_tools();
84381
84700
  }
@@ -88937,7 +89256,7 @@ function parseIntStrict(value) {
88937
89256
  // src/cli/index.ts
88938
89257
  init_logger();
88939
89258
  init_error_utils();
88940
- var version2 = true ? "0.32.2" : "0.0.0-dev";
89259
+ var version2 = true ? "0.33.1" : "0.0.0-dev";
88941
89260
  var program2 = new Command();
88942
89261
  program2.name("fw").description("Flow Weaver Annotations - Compile and validate workflow files").option("-v, --version", "Output the current version").option("--no-color", "Disable colors").option("--color", "Force colors").on("option:version", () => {
88943
89262
  logger.banner(version2);
package/dist/constants.js CHANGED
@@ -134,6 +134,8 @@ export const VALID_NODE_COLORS = [
134
134
  export const KNOWN_NODETYPE_TAGS = new Set([
135
135
  'flowWeaver', 'name', 'label', 'description', 'color', 'icon', 'tag',
136
136
  'executeWhen', 'scope', 'expression', 'pullExecution', 'input', 'output', 'step',
137
+ // Async is auto-detected from the TS signature but accepted as an explicit annotation
138
+ 'async',
137
139
  // Deployment annotations
138
140
  'deploy',
139
141
  ]);
@@ -142,6 +144,8 @@ export const KNOWN_WORKFLOW_TAGS = new Set([
142
144
  'node', 'position', 'connect', 'scope', 'map', 'path', 'fanOut', 'fanIn',
143
145
  'coerce', 'trigger', 'cancelOn', 'retries', 'timeout', 'throttle', 'param',
144
146
  'return', 'returns',
147
+ // Async is auto-detected from the TS signature but accepted as an explicit annotation
148
+ 'async',
145
149
  // Deployment annotations
146
150
  'deploy',
147
151
  ]);