@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.
- package/README.md +2 -0
- package/dist/api/compile.d.ts +2 -0
- package/dist/api/compile.js +2 -1
- package/dist/chevrotain-parser/path-parser.d.ts +7 -3
- package/dist/chevrotain-parser/path-parser.js +26 -4
- package/dist/cli/flow-weaver.mjs +339 -20
- package/dist/constants.js +4 -0
- package/dist/diagram/theme.js +51 -0
- package/dist/generated-version.d.ts +1 -1
- package/dist/generated-version.js +1 -1
- package/dist/jsdoc-parser.js +7 -5
- package/dist/mcp/index.d.ts +1 -0
- package/dist/mcp/index.js +1 -0
- package/dist/mcp/server.js +4 -0
- package/dist/mcp/tools-export.js +2 -2
- package/dist/mcp/tools-model.js +35 -9
- package/dist/mcp/tools-query.js +4 -1
- package/dist/mcp/tools-resources.d.ts +9 -0
- package/dist/mcp/tools-resources.js +41 -0
- package/dist/mcp/tools-workflow-run.d.ts +40 -0
- package/dist/mcp/tools-workflow-run.js +150 -0
- package/dist/validator.js +6 -0
- package/docs/reference/advanced-annotations.md +16 -0
- package/docs/reference/jsdoc-grammar.md +11 -1
- package/package.json +1 -1
package/dist/diagram/theme.js
CHANGED
|
@@ -215,6 +215,57 @@ export const NODE_ICON_PATHS = {
|
|
|
215
215
|
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',
|
|
216
216
|
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',
|
|
217
217
|
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',
|
|
218
|
+
// ---- Platform catalog sync (icons available in the platform's node icon picker) ----
|
|
219
|
+
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',
|
|
220
|
+
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',
|
|
221
|
+
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',
|
|
222
|
+
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',
|
|
223
|
+
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',
|
|
224
|
+
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',
|
|
225
|
+
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',
|
|
226
|
+
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',
|
|
227
|
+
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',
|
|
228
|
+
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',
|
|
229
|
+
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',
|
|
230
|
+
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',
|
|
231
|
+
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',
|
|
232
|
+
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',
|
|
233
|
+
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',
|
|
234
|
+
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',
|
|
235
|
+
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',
|
|
236
|
+
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',
|
|
237
|
+
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',
|
|
238
|
+
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',
|
|
239
|
+
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',
|
|
240
|
+
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',
|
|
241
|
+
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',
|
|
242
|
+
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',
|
|
243
|
+
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',
|
|
244
|
+
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',
|
|
245
|
+
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',
|
|
246
|
+
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',
|
|
247
|
+
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',
|
|
248
|
+
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',
|
|
249
|
+
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',
|
|
250
|
+
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',
|
|
251
|
+
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',
|
|
252
|
+
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',
|
|
253
|
+
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',
|
|
254
|
+
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',
|
|
255
|
+
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',
|
|
256
|
+
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',
|
|
257
|
+
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',
|
|
258
|
+
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',
|
|
259
|
+
// ---- Aliases (platform names that map to existing core icons) ----
|
|
260
|
+
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',
|
|
261
|
+
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',
|
|
262
|
+
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',
|
|
263
|
+
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',
|
|
264
|
+
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',
|
|
265
|
+
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',
|
|
266
|
+
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',
|
|
267
|
+
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',
|
|
268
|
+
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',
|
|
218
269
|
};
|
|
219
270
|
/** All valid icon names (keys of NODE_ICON_PATHS) */
|
|
220
271
|
export const VALID_NODE_ICONS = Object.keys(NODE_ICON_PATHS);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.33.1";
|
|
2
2
|
//# sourceMappingURL=generated-version.d.ts.map
|
package/dist/jsdoc-parser.js
CHANGED
|
@@ -994,15 +994,17 @@ export class JSDocParser {
|
|
|
994
994
|
*/
|
|
995
995
|
parsePathTag(tag, config, warnings) {
|
|
996
996
|
const comment = tag.getCommentText() || '';
|
|
997
|
-
const
|
|
998
|
-
if (!
|
|
997
|
+
const results = parsePathLine(`@path ${comment}`, warnings);
|
|
998
|
+
if (!results) {
|
|
999
999
|
warnings.push(`Invalid @path tag format: ${comment}`);
|
|
1000
1000
|
return;
|
|
1001
1001
|
}
|
|
1002
1002
|
config.paths = config.paths || [];
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1003
|
+
for (const result of results) {
|
|
1004
|
+
config.paths.push({
|
|
1005
|
+
steps: result.steps,
|
|
1006
|
+
});
|
|
1007
|
+
}
|
|
1006
1008
|
}
|
|
1007
1009
|
parseFanOutTag(tag, config, warnings) {
|
|
1008
1010
|
const comment = tag.getCommentText() || '';
|
package/dist/mcp/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export { registerQueryTools } from './tools-query.js';
|
|
|
5
5
|
export { registerTemplateTools } from './tools-template.js';
|
|
6
6
|
export { registerPatternTools } from './tools-pattern.js';
|
|
7
7
|
export { registerDebugTools } from './tools-debug.js';
|
|
8
|
+
export { registerResourceTools } from './tools-resources.js';
|
|
8
9
|
export { registerPrompts } from './prompts.js';
|
|
9
10
|
export { startMcpServer, mcpServerCommand } from './server.js';
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/mcp/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export { registerQueryTools } from './tools-query.js';
|
|
|
4
4
|
export { registerTemplateTools } from './tools-template.js';
|
|
5
5
|
export { registerPatternTools } from './tools-pattern.js';
|
|
6
6
|
export { registerDebugTools } from './tools-debug.js';
|
|
7
|
+
export { registerResourceTools } from './tools-resources.js';
|
|
7
8
|
export { registerPrompts } from './prompts.js';
|
|
8
9
|
export { startMcpServer, mcpServerCommand } from './server.js';
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
package/dist/mcp/server.js
CHANGED
|
@@ -11,7 +11,9 @@ import { registerDiagramTools } from './tools-diagram.js';
|
|
|
11
11
|
import { registerDocsTools } from './tools-docs.js';
|
|
12
12
|
import { registerModelTools } from './tools-model.js';
|
|
13
13
|
import { registerDebugTools } from './tools-debug.js';
|
|
14
|
+
import { registerWorkflowRunTools } from './tools-workflow-run.js';
|
|
14
15
|
import { registerContextTools } from './tools-context.js';
|
|
16
|
+
import { registerResourceTools } from './tools-resources.js';
|
|
15
17
|
import { registerPrompts } from './prompts.js';
|
|
16
18
|
import { registerPackMcpTools } from './pack-tools.js';
|
|
17
19
|
export async function startMcpServer(options) {
|
|
@@ -30,7 +32,9 @@ export async function startMcpServer(options) {
|
|
|
30
32
|
registerDocsTools(mcp);
|
|
31
33
|
registerModelTools(mcp);
|
|
32
34
|
registerDebugTools(mcp);
|
|
35
|
+
registerWorkflowRunTools(mcp);
|
|
33
36
|
registerContextTools(mcp);
|
|
37
|
+
registerResourceTools(mcp);
|
|
34
38
|
registerPrompts(mcp);
|
|
35
39
|
await registerPackMcpTools(mcp);
|
|
36
40
|
// Connect transport (only in stdio MCP mode)
|
package/dist/mcp/tools-export.js
CHANGED
|
@@ -16,7 +16,7 @@ export function registerExportTools(mcp) {
|
|
|
16
16
|
target: z
|
|
17
17
|
.string()
|
|
18
18
|
.describe('Deployment target platform. Run with --list-targets to see installed targets.'),
|
|
19
|
-
outputDir: z.string().describe('Output directory for generated files'),
|
|
19
|
+
outputDir: z.string().optional().describe('Output directory for generated files (default: ./dist relative to workflow)'),
|
|
20
20
|
serviceName: z
|
|
21
21
|
.string()
|
|
22
22
|
.optional()
|
|
@@ -44,7 +44,7 @@ export function registerExportTools(mcp) {
|
|
|
44
44
|
}, async (args) => {
|
|
45
45
|
try {
|
|
46
46
|
const filePath = path.resolve(args.filePath);
|
|
47
|
-
const outputDir = path.resolve(args.outputDir);
|
|
47
|
+
const outputDir = path.resolve(args.outputDir || path.join(path.dirname(filePath), 'dist'));
|
|
48
48
|
const preview = args.preview ?? false;
|
|
49
49
|
const includeDocs = args.includeDocs ?? true;
|
|
50
50
|
// 1. Validate file exists
|
package/dist/mcp/tools-model.js
CHANGED
|
@@ -62,15 +62,34 @@ export function registerModelTools(mcp) {
|
|
|
62
62
|
lines.push(`declare function ${step.name}(${params}): ${returnType};`);
|
|
63
63
|
lines.push('');
|
|
64
64
|
}
|
|
65
|
-
// Parse the flow string — use full function names as instance IDs
|
|
66
|
-
const flowSteps = args.flow
|
|
67
|
-
.split('->')
|
|
68
|
-
.map((s) => s.trim())
|
|
69
|
-
.filter(Boolean);
|
|
70
65
|
// Build @node annotations using full name as both ID and type
|
|
71
66
|
const nodeAnnotations = args.steps.map((step) => `@node ${step.name} ${step.name}`);
|
|
72
|
-
//
|
|
73
|
-
const
|
|
67
|
+
// Split comma-separated flow into separate @path annotations
|
|
68
|
+
const pathAnnotations = args.flow.split(',').map((segment) => {
|
|
69
|
+
const steps = segment
|
|
70
|
+
.split('->')
|
|
71
|
+
.map((s) => s.trim())
|
|
72
|
+
.filter(Boolean);
|
|
73
|
+
return `@path ${steps.join(' -> ')}`;
|
|
74
|
+
});
|
|
75
|
+
// Generate @connect annotations for DATA ports between adjacent steps in the flow
|
|
76
|
+
const stepMap = new Map(args.steps.map((s) => [s.name, s]));
|
|
77
|
+
const connectAnnotations = [];
|
|
78
|
+
for (const segment of args.flow.split(',')) {
|
|
79
|
+
const flowNodes = segment.split('->').map((s) => s.trim()).filter(Boolean);
|
|
80
|
+
for (let i = 0; i < flowNodes.length - 1; i++) {
|
|
81
|
+
const fromStep = stepMap.get(flowNodes[i]);
|
|
82
|
+
const toStep = stepMap.get(flowNodes[i + 1]);
|
|
83
|
+
if (!fromStep || !toStep)
|
|
84
|
+
continue;
|
|
85
|
+
// Connect matching output->input port names
|
|
86
|
+
for (const outputName of Object.keys(fromStep.outputs)) {
|
|
87
|
+
if (outputName in toStep.inputs) {
|
|
88
|
+
connectAnnotations.push(`@connect ${fromStep.name}.${outputName} -> ${toStep.name}.${outputName}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
74
93
|
// Generate workflow annotation
|
|
75
94
|
const jsdocLines = ['/**'];
|
|
76
95
|
if (args.description) {
|
|
@@ -81,9 +100,16 @@ export function registerModelTools(mcp) {
|
|
|
81
100
|
for (const nodeAnn of nodeAnnotations) {
|
|
82
101
|
jsdocLines.push(` * ${nodeAnn}`);
|
|
83
102
|
}
|
|
84
|
-
|
|
103
|
+
for (const pathAnn of pathAnnotations) {
|
|
104
|
+
jsdocLines.push(` * ${pathAnn}`);
|
|
105
|
+
}
|
|
106
|
+
for (const connAnn of connectAnnotations) {
|
|
107
|
+
jsdocLines.push(` * ${connAnn}`);
|
|
108
|
+
}
|
|
85
109
|
jsdocLines.push(' */');
|
|
86
|
-
jsdocLines.push(`export
|
|
110
|
+
jsdocLines.push(`export async function ${args.name}() {`);
|
|
111
|
+
jsdocLines.push(` // stub - compile to generate workflow body`);
|
|
112
|
+
jsdocLines.push(`}`);
|
|
87
113
|
lines.push(...jsdocLines);
|
|
88
114
|
lines.push('');
|
|
89
115
|
const content = lines.join('\n');
|
package/dist/mcp/tools-query.js
CHANGED
|
@@ -66,6 +66,7 @@ export function registerQueryTools(mcp) {
|
|
|
66
66
|
mcp.tool('fw_validate', 'Validate a workflow file and return errors/warnings.', {
|
|
67
67
|
filePath: z.string().describe('Path to the workflow file'),
|
|
68
68
|
workflowName: z.string().optional().describe('Specific workflow name'),
|
|
69
|
+
draft: z.boolean().optional().describe('Draft mode - suppresses STUB_NODE errors for unimplemented nodes (default: false)'),
|
|
69
70
|
}, async (args) => {
|
|
70
71
|
try {
|
|
71
72
|
const filePath = path.resolve(args.filePath);
|
|
@@ -102,7 +103,7 @@ export function registerQueryTools(mcp) {
|
|
|
102
103
|
warnings: parseResult.warnings,
|
|
103
104
|
});
|
|
104
105
|
}
|
|
105
|
-
const result = validateWorkflow(parseResult.ast);
|
|
106
|
+
const result = validateWorkflow(parseResult.ast, args.draft ? { mode: 'draft' } : undefined);
|
|
106
107
|
const errors = result.errors.map((e) => ({
|
|
107
108
|
message: e.message,
|
|
108
109
|
severity: e.type,
|
|
@@ -148,6 +149,7 @@ export function registerQueryTools(mcp) {
|
|
|
148
149
|
typedEvents: z.boolean().optional().describe('Generate Zod event schemas from workflow @param annotations'),
|
|
149
150
|
retries: z.number().int().min(0).optional().describe('Number of retries per function. Overrides @retries annotation.'),
|
|
150
151
|
timeout: z.string().optional().describe('Function timeout (e.g. "30m", "1h"). Overrides @timeout annotation.'),
|
|
152
|
+
draft: z.boolean().optional().describe('Draft mode - suppresses STUB_NODE validation errors so partially implemented workflows can compile (default: false)'),
|
|
151
153
|
}, async (args) => {
|
|
152
154
|
try {
|
|
153
155
|
const filePath = path.resolve(args.filePath);
|
|
@@ -210,6 +212,7 @@ export function registerQueryTools(mcp) {
|
|
|
210
212
|
write: args.write ?? true,
|
|
211
213
|
parse: { workflowName: args.workflowName },
|
|
212
214
|
generate: { production: args.production ?? false },
|
|
215
|
+
validationMode: args.draft ? 'draft' : undefined,
|
|
213
216
|
});
|
|
214
217
|
return makeToolResult({
|
|
215
218
|
outputFile: result.metadata?.outputFile ?? filePath,
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Resource Tool - fw_list_resources
|
|
3
|
+
*
|
|
4
|
+
* Returns available icons, colors, and annotation tags so AI agents
|
|
5
|
+
* can use valid values when building workflows.
|
|
6
|
+
*/
|
|
7
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
8
|
+
export declare function registerResourceTools(mcp: McpServer): void;
|
|
9
|
+
//# sourceMappingURL=tools-resources.d.ts.map
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Resource Tool - fw_list_resources
|
|
3
|
+
*
|
|
4
|
+
* Returns available icons, colors, and annotation tags so AI agents
|
|
5
|
+
* can use valid values when building workflows.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
import { VALID_NODE_ICONS } from '../diagram/theme.js';
|
|
9
|
+
import { VALID_NODE_COLORS, KNOWN_NODETYPE_TAGS, KNOWN_WORKFLOW_TAGS } from '../constants.js';
|
|
10
|
+
import { makeToolResult } from './response-utils.js';
|
|
11
|
+
export function registerResourceTools(mcp) {
|
|
12
|
+
mcp.tool('fw_list_resources', 'List available icons, colors, and annotation tags for use in workflow definitions.', {
|
|
13
|
+
type: z
|
|
14
|
+
.enum(['icons', 'colors', 'tags', 'all'])
|
|
15
|
+
.default('all')
|
|
16
|
+
.describe('Resource type to list (default: all)'),
|
|
17
|
+
}, async (args) => {
|
|
18
|
+
const type = args.type ?? 'all';
|
|
19
|
+
switch (type) {
|
|
20
|
+
case 'icons':
|
|
21
|
+
return makeToolResult([...VALID_NODE_ICONS]);
|
|
22
|
+
case 'colors':
|
|
23
|
+
return makeToolResult([...VALID_NODE_COLORS]);
|
|
24
|
+
case 'tags':
|
|
25
|
+
return makeToolResult({
|
|
26
|
+
nodeType: [...KNOWN_NODETYPE_TAGS],
|
|
27
|
+
workflow: [...KNOWN_WORKFLOW_TAGS],
|
|
28
|
+
});
|
|
29
|
+
case 'all':
|
|
30
|
+
return makeToolResult({
|
|
31
|
+
icons: [...VALID_NODE_ICONS],
|
|
32
|
+
colors: [...VALID_NODE_COLORS],
|
|
33
|
+
tags: {
|
|
34
|
+
nodeType: [...KNOWN_NODETYPE_TAGS],
|
|
35
|
+
workflow: [...KNOWN_WORKFLOW_TAGS],
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=tools-resources.js.map
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP tools for running workflows with waitForAgent pause/resume support.
|
|
3
|
+
*
|
|
4
|
+
* fw_workflow_run: Starts a workflow. If it hits waitForAgent, returns the
|
|
5
|
+
* agent request to the MCP caller (e.g. Claude Code) with status "waiting_for_agent".
|
|
6
|
+
* If the workflow completes without pausing, returns the result directly.
|
|
7
|
+
*
|
|
8
|
+
* fw_workflow_resume: Resumes a paused workflow with the agent's result.
|
|
9
|
+
* Returns the final workflow result (or pauses again if another waitForAgent is hit).
|
|
10
|
+
*/
|
|
11
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
12
|
+
import { AgentChannel } from './agent-channel.js';
|
|
13
|
+
/** Exposed for testing — run workflow with pause/resume support */
|
|
14
|
+
export declare function runWorkflowWithAgent(filePath: string, params: Record<string, unknown>, workflowName?: string): Promise<{
|
|
15
|
+
status: 'completed';
|
|
16
|
+
result: unknown;
|
|
17
|
+
} | {
|
|
18
|
+
status: 'waiting_for_agent';
|
|
19
|
+
runId: string;
|
|
20
|
+
agentRequest: object;
|
|
21
|
+
agentChannel: AgentChannel;
|
|
22
|
+
} | {
|
|
23
|
+
status: 'error';
|
|
24
|
+
message: string;
|
|
25
|
+
}>;
|
|
26
|
+
/** Exposed for testing — resume a paused workflow with agent result */
|
|
27
|
+
export declare function resumeWorkflow(runId: string, agentResult: Record<string, unknown>): Promise<{
|
|
28
|
+
status: 'completed';
|
|
29
|
+
result: unknown;
|
|
30
|
+
} | {
|
|
31
|
+
status: 'waiting_for_agent';
|
|
32
|
+
runId: string;
|
|
33
|
+
agentRequest: object;
|
|
34
|
+
agentChannel: AgentChannel;
|
|
35
|
+
} | {
|
|
36
|
+
status: 'error';
|
|
37
|
+
message: string;
|
|
38
|
+
}>;
|
|
39
|
+
export declare function registerWorkflowRunTools(mcp: McpServer): void;
|
|
40
|
+
//# sourceMappingURL=tools-workflow-run.d.ts.map
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP tools for running workflows with waitForAgent pause/resume support.
|
|
3
|
+
*
|
|
4
|
+
* fw_workflow_run: Starts a workflow. If it hits waitForAgent, returns the
|
|
5
|
+
* agent request to the MCP caller (e.g. Claude Code) with status "waiting_for_agent".
|
|
6
|
+
* If the workflow completes without pausing, returns the result directly.
|
|
7
|
+
*
|
|
8
|
+
* fw_workflow_resume: Resumes a paused workflow with the agent's result.
|
|
9
|
+
* Returns the final workflow result (or pauses again if another waitForAgent is hit).
|
|
10
|
+
*/
|
|
11
|
+
import { z } from 'zod';
|
|
12
|
+
import { executeWorkflowFromFile } from './workflow-executor.js';
|
|
13
|
+
import { AgentChannel } from './agent-channel.js';
|
|
14
|
+
import { storePendingRun, getPendingRun, removePendingRun, } from './run-registry.js';
|
|
15
|
+
function makeToolResult(data) {
|
|
16
|
+
return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
|
|
17
|
+
}
|
|
18
|
+
function makeErrorResult(code, message) {
|
|
19
|
+
return {
|
|
20
|
+
content: [{ type: 'text', text: JSON.stringify({ error: code, message }) }],
|
|
21
|
+
isError: true,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function generateRunId() {
|
|
25
|
+
return `run-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Race between workflow completion and agent pause.
|
|
29
|
+
* Returns whichever happens first.
|
|
30
|
+
*/
|
|
31
|
+
async function raceAgentPause(executionPromise, agentChannel) {
|
|
32
|
+
try {
|
|
33
|
+
const outcome = await Promise.race([
|
|
34
|
+
executionPromise.then((r) => ({
|
|
35
|
+
type: 'completed',
|
|
36
|
+
result: r?.result ?? r,
|
|
37
|
+
})),
|
|
38
|
+
agentChannel.onPause().then((request) => ({
|
|
39
|
+
type: 'waiting_for_agent',
|
|
40
|
+
request,
|
|
41
|
+
})),
|
|
42
|
+
]);
|
|
43
|
+
return outcome;
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
return {
|
|
47
|
+
type: 'error',
|
|
48
|
+
message: err instanceof Error ? err.message : String(err),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/** Exposed for testing — run workflow with pause/resume support */
|
|
53
|
+
export async function runWorkflowWithAgent(filePath, params, workflowName) {
|
|
54
|
+
const agentChannel = new AgentChannel();
|
|
55
|
+
const runId = generateRunId();
|
|
56
|
+
const executionPromise = executeWorkflowFromFile(filePath, params, {
|
|
57
|
+
workflowName,
|
|
58
|
+
agentChannel,
|
|
59
|
+
includeTrace: true,
|
|
60
|
+
});
|
|
61
|
+
const outcome = await raceAgentPause(executionPromise, agentChannel);
|
|
62
|
+
if (outcome.type === 'completed') {
|
|
63
|
+
return { status: 'completed', result: outcome.result };
|
|
64
|
+
}
|
|
65
|
+
if (outcome.type === 'waiting_for_agent') {
|
|
66
|
+
storePendingRun({
|
|
67
|
+
runId,
|
|
68
|
+
filePath,
|
|
69
|
+
workflowName,
|
|
70
|
+
executionPromise,
|
|
71
|
+
agentChannel,
|
|
72
|
+
request: outcome.request,
|
|
73
|
+
createdAt: Date.now(),
|
|
74
|
+
tmpFiles: [],
|
|
75
|
+
});
|
|
76
|
+
return { status: 'waiting_for_agent', runId, agentRequest: outcome.request, agentChannel };
|
|
77
|
+
}
|
|
78
|
+
return { status: 'error', message: outcome.message };
|
|
79
|
+
}
|
|
80
|
+
/** Exposed for testing — resume a paused workflow with agent result */
|
|
81
|
+
export async function resumeWorkflow(runId, agentResult) {
|
|
82
|
+
const pendingRun = getPendingRun(runId);
|
|
83
|
+
if (!pendingRun) {
|
|
84
|
+
return { status: 'error', message: `No pending run found with ID "${runId}".` };
|
|
85
|
+
}
|
|
86
|
+
pendingRun.agentChannel.resume(agentResult);
|
|
87
|
+
const outcome = await raceAgentPause(pendingRun.executionPromise, pendingRun.agentChannel);
|
|
88
|
+
if (outcome.type === 'completed') {
|
|
89
|
+
removePendingRun(runId);
|
|
90
|
+
return { status: 'completed', result: outcome.result };
|
|
91
|
+
}
|
|
92
|
+
if (outcome.type === 'waiting_for_agent') {
|
|
93
|
+
pendingRun.request = outcome.request;
|
|
94
|
+
return { status: 'waiting_for_agent', runId, agentRequest: outcome.request, agentChannel: pendingRun.agentChannel };
|
|
95
|
+
}
|
|
96
|
+
removePendingRun(runId);
|
|
97
|
+
return { status: 'error', message: outcome.message };
|
|
98
|
+
}
|
|
99
|
+
export function registerWorkflowRunTools(mcp) {
|
|
100
|
+
// -------------------------------------------------------------------------
|
|
101
|
+
// fw_workflow_run - Start a workflow, pause at waitForAgent
|
|
102
|
+
// -------------------------------------------------------------------------
|
|
103
|
+
mcp.tool('fw_workflow_run', 'Run a workflow. If it hits a waitForAgent node, returns the agent request so ' +
|
|
104
|
+
'you can respond. If it completes without pausing, returns the result directly.', {
|
|
105
|
+
filePath: z.string().describe('Path to the workflow .ts file'),
|
|
106
|
+
params: z
|
|
107
|
+
.record(z.unknown())
|
|
108
|
+
.optional()
|
|
109
|
+
.describe('Input parameters for the workflow'),
|
|
110
|
+
workflowName: z
|
|
111
|
+
.string()
|
|
112
|
+
.optional()
|
|
113
|
+
.describe('Specific workflow export name (for multi-workflow files)'),
|
|
114
|
+
}, async (args) => {
|
|
115
|
+
try {
|
|
116
|
+
const result = await runWorkflowWithAgent(args.filePath, args.params ?? {}, args.workflowName);
|
|
117
|
+
if (result.status === 'error') {
|
|
118
|
+
return makeErrorResult('EXECUTION_ERROR', result.message);
|
|
119
|
+
}
|
|
120
|
+
// Don't leak agentChannel to MCP output
|
|
121
|
+
const { agentChannel: _ac, ...output } = result;
|
|
122
|
+
return makeToolResult(output);
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
return makeErrorResult('EXECUTION_ERROR', err instanceof Error ? err.message : String(err));
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
// -------------------------------------------------------------------------
|
|
129
|
+
// fw_workflow_resume - Resume a paused workflow with agent result
|
|
130
|
+
// -------------------------------------------------------------------------
|
|
131
|
+
mcp.tool('fw_workflow_resume', 'Resume a workflow that paused at waitForAgent. Provide the agent result to continue execution.', {
|
|
132
|
+
runId: z.string().describe('Run ID from fw_workflow_run'),
|
|
133
|
+
agentResult: z
|
|
134
|
+
.record(z.unknown())
|
|
135
|
+
.describe('The agent result to pass back to the workflow'),
|
|
136
|
+
}, async (args) => {
|
|
137
|
+
try {
|
|
138
|
+
const result = await resumeWorkflow(args.runId, args.agentResult);
|
|
139
|
+
if (result.status === 'error') {
|
|
140
|
+
return makeErrorResult('RESUME_ERROR', result.message);
|
|
141
|
+
}
|
|
142
|
+
const { agentChannel: _ac, ...output } = result;
|
|
143
|
+
return makeToolResult(output);
|
|
144
|
+
}
|
|
145
|
+
catch (err) {
|
|
146
|
+
return makeErrorResult('RESUME_ERROR', err instanceof Error ? err.message : String(err));
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=tools-workflow-run.js.map
|
package/dist/validator.js
CHANGED
|
@@ -829,6 +829,12 @@ export class WorkflowValidator {
|
|
|
829
829
|
// Check for multiple connections to the same Exit port
|
|
830
830
|
exitPortConnections.forEach((connections, portName) => {
|
|
831
831
|
if (connections.length > 1) {
|
|
832
|
+
// Skip control flow ports — multiple STEP connections to Exit.onSuccess
|
|
833
|
+
// is the standard convergence pattern for parallel terminal nodes
|
|
834
|
+
const exitPort = workflow.exitPorts[portName];
|
|
835
|
+
if (exitPort?.isControlFlow || exitPort?.dataType === 'STEP') {
|
|
836
|
+
return;
|
|
837
|
+
}
|
|
832
838
|
const sourceNodes = connections.map((c) => c.from.node);
|
|
833
839
|
if (this.areMutuallyExclusive(sourceNodes, workflow, instanceMap)) {
|
|
834
840
|
return; // Suppress — mutually exclusive branches
|
|
@@ -311,6 +311,22 @@ Use `:ok` or `:fail` suffixes to route through `onSuccess` or `onFailure`:
|
|
|
311
311
|
|
|
312
312
|
Without a suffix, `:ok` (onSuccess) is the default. Duplicate connections from overlapping paths are automatically deduplicated.
|
|
313
313
|
|
|
314
|
+
### Comma-Separated Paths
|
|
315
|
+
|
|
316
|
+
Multiple paths can be declared in a single `@path` tag using commas. This is equivalent to separate `@path` tags:
|
|
317
|
+
|
|
318
|
+
```typescript
|
|
319
|
+
/**
|
|
320
|
+
* @flowWeaver workflow @autoConnect
|
|
321
|
+
* @node enrichCompany enrichCompany
|
|
322
|
+
* @node enrichContact enrichContact
|
|
323
|
+
* @node scoreLead scoreLead
|
|
324
|
+
* @path Start -> enrichCompany -> scoreLead -> Exit, Start -> enrichContact -> scoreLead
|
|
325
|
+
*/
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
This creates a parallel fork from Start to both `enrichCompany` and `enrichContact`, then both converge on `scoreLead`.
|
|
329
|
+
|
|
314
330
|
### Path Validation
|
|
315
331
|
|
|
316
332
|
The sugar optimizer validates that all nodes referenced in `@path` exist and that the expected control-flow connections are still valid. Stale paths are automatically filtered during parse-regenerate round-trips.
|
|
@@ -276,12 +276,15 @@ The first form is the standard `node.port` reference with optional `:scope` suff
|
|
|
276
276
|
## @path
|
|
277
277
|
|
|
278
278
|
```
|
|
279
|
-
pathTag ::= "@path"
|
|
279
|
+
pathTag ::= "@path" pathSequence ( "," pathSequence )*
|
|
280
|
+
pathSequence ::= pathStep ( "->" pathStep )+
|
|
280
281
|
pathStep ::= IDENTIFIER [ ":" ( "ok" | "fail" ) ]
|
|
281
282
|
```
|
|
282
283
|
|
|
283
284
|
Declare a complete execution route through the graph with scope walking for data ports. Steps separated by `->`, each optionally suffixed with `:ok` (default) or `:fail` to select `onSuccess` or `onFailure`.
|
|
284
285
|
|
|
286
|
+
Multiple paths can be declared in a single `@path` tag using commas, or as separate `@path` tags. Both forms are equivalent.
|
|
287
|
+
|
|
285
288
|
**Examples:**
|
|
286
289
|
|
|
287
290
|
```
|
|
@@ -289,10 +292,17 @@ Declare a complete execution route through the graph with scope walking for data
|
|
|
289
292
|
@path Start -> validator:ok -> processor -> Exit
|
|
290
293
|
```
|
|
291
294
|
|
|
295
|
+
Comma-separated (equivalent to two `@path` tags):
|
|
296
|
+
|
|
297
|
+
```
|
|
298
|
+
@path Start -> enrichCompany -> scoreLead -> Exit, Start -> enrichContact -> scoreLead
|
|
299
|
+
```
|
|
300
|
+
|
|
292
301
|
- `:ok` follows `onSuccess` (default when no suffix)
|
|
293
302
|
- `:fail` follows `onFailure`
|
|
294
303
|
- Data ports auto-resolve by walking backward through the path to the nearest ancestor with a same-name output port (scope walking)
|
|
295
304
|
- Multiple `@path` lines can coexist; overlapping prefixes are deduplicated
|
|
305
|
+
- Comma-separated paths within a single `@path` are expanded to separate paths
|
|
296
306
|
- Manual `@connect` lines can supplement for cross-named ports
|
|
297
307
|
|
|
298
308
|
## @position
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synergenius/flow-weaver",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.33.1",
|
|
4
4
|
"description": "Flow Weaver: deterministic TypeScript workflow compiler. Define workflows with JSDoc annotations, compile to standalone functions with zero runtime dependencies.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|