@sun-asterisk/sungen 3.2.6 → 3.2.7
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/dist/cli/commands/delivery.d.ts.map +1 -1
- package/dist/cli/commands/delivery.js +7 -46
- package/dist/cli/commands/delivery.js.map +1 -1
- package/dist/dashboard/snapshot-builder.d.ts.map +1 -1
- package/dist/dashboard/snapshot-builder.js +28 -6
- package/dist/dashboard/snapshot-builder.js.map +1 -1
- package/dist/dashboard/templates/index.html +20 -20
- package/dist/dashboard/types.d.ts +18 -0
- package/dist/dashboard/types.d.ts.map +1 -1
- package/dist/exporters/api-catalog-loader.d.ts +18 -0
- package/dist/exporters/api-catalog-loader.d.ts.map +1 -0
- package/dist/exporters/api-catalog-loader.js +77 -0
- package/dist/exporters/api-catalog-loader.js.map +1 -0
- package/dist/exporters/json-exporter.d.ts +10 -1
- package/dist/exporters/json-exporter.d.ts.map +1 -1
- package/dist/exporters/json-exporter.js +34 -2
- package/dist/exporters/json-exporter.js.map +1 -1
- package/dist/exporters/playwright-report-parser.d.ts +14 -0
- package/dist/exporters/playwright-report-parser.d.ts.map +1 -1
- package/dist/exporters/playwright-report-parser.js +30 -0
- package/dist/exporters/playwright-report-parser.js.map +1 -1
- package/dist/exporters/xlsx-exporter.d.ts +18 -17
- package/dist/exporters/xlsx-exporter.d.ts.map +1 -1
- package/dist/exporters/xlsx-exporter.js +25 -595
- package/dist/exporters/xlsx-exporter.js.map +1 -1
- package/dist/exporters/xlsx-report-builder.d.ts +196 -0
- package/dist/exporters/xlsx-report-builder.d.ts.map +1 -0
- package/dist/exporters/xlsx-report-builder.js +653 -0
- package/dist/exporters/xlsx-report-builder.js.map +1 -0
- package/package.json +3 -3
- package/src/cli/commands/delivery.ts +8 -42
- package/src/dashboard/snapshot-builder.ts +31 -7
- package/src/dashboard/templates/index.html +20 -20
- package/src/dashboard/types.ts +19 -0
- package/src/exporters/api-catalog-loader.ts +44 -0
- package/src/exporters/json-exporter.ts +46 -4
- package/src/exporters/playwright-report-parser.ts +27 -0
- package/src/exporters/xlsx-exporter.ts +34 -658
- package/src/exporters/xlsx-report-builder.ts +806 -0
- package/dist/cli/types.d.ts +0 -9
- package/dist/cli/types.d.ts.map +0 -1
- package/dist/cli/types.js +0 -7
- package/dist/cli/types.js.map +0 -1
- package/dist/generators/gherkin-parser/selector-extractor.d.ts +0 -37
- package/dist/generators/gherkin-parser/selector-extractor.d.ts.map +0 -1
- package/dist/generators/gherkin-parser/selector-extractor.js +0 -108
- package/dist/generators/gherkin-parser/selector-extractor.js.map +0 -1
- package/dist/generators/test-generator/types.d.ts +0 -25
- package/dist/generators/test-generator/types.d.ts.map +0 -1
- package/dist/generators/test-generator/types.js +0 -7
- package/dist/generators/test-generator/types.js.map +0 -1
- package/dist/generators/types.d.ts +0 -119
- package/dist/generators/types.d.ts.map +0 -1
- package/dist/generators/types.js +0 -48
- package/dist/generators/types.js.map +0 -1
- package/dist/orchestrator/figma/node-path-collapser.d.ts +0 -16
- package/dist/orchestrator/figma/node-path-collapser.d.ts.map +0 -1
- package/dist/orchestrator/figma/node-path-collapser.js +0 -37
- package/dist/orchestrator/figma/node-path-collapser.js.map +0 -1
- package/src/cli/types.ts +0 -9
- package/src/generators/gherkin-parser/selector-extractor.ts +0 -142
- package/src/generators/test-generator/types.ts +0 -26
- package/src/generators/types.ts +0 -227
- package/src/orchestrator/figma/node-path-collapser.ts +0 -38
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xlsx-report-builder.js","sourceRoot":"","sources":["../../src/exporters/xlsx-report-builder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;;;AAuBH,kCAOC;AA0FD,wDAmFC;AAkBD,4CAuGC;AAOD,4CAuPC;AAmBD,gDAkFC;AASD,8CA+CC;AAaD,kEAaC;AAMD,sDAkBC;AA/wBD,sDAA8B;AAC9B,yCAAiD;AAEpC,QAAA,SAAS,GAAG,EAAE,CAAC;AACf,QAAA,WAAW,GAAG,UAAU,CAAC,CAAC,sDAAsD;AAChF,QAAA,WAAW,GAAG,UAAU,CAAC,CAAC,gDAAgD;AAC1E,QAAA,SAAS,GAAG,UAAU,CAAC,CAAC,0BAA0B;AAClD,QAAA,aAAa,GAAG,UAAU,CAAC,CAAC,gEAAgE;AAC5F,QAAA,YAAY,GAAG,UAAU,CAAC;AAEvC,2FAA2F;AAC9E,QAAA,KAAK,GAAG,iBAAiB,CAAC;AAC1B,QAAA,UAAU,GAAG,OAAO,CAAC;AACrB,QAAA,KAAK,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC7B,QAAA,KAAK,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC7B,QAAA,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC7C,MAAM,SAAS,GAAG,EAAE,KAAK,EAAE,MAAe,EAAE,KAAK,EAAE,aAAK,EAAE,CAAC;AAC9C,QAAA,eAAe,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAIxG,SAAgB,WAAW,CAAC,IAAa;IACvC,IAAI,CAAC,MAAM,GAAG;QACZ,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAY,EAAE,EAAE;QACrD,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAY,EAAE,EAAE;QACtD,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAY,EAAE,EAAE;QACxD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAY,EAAE,EAAE;KACxD,CAAC;AACJ,CAAC;AAoFD;;;;;GAKG;AACH,SAAgB,sBAAsB,CACpC,EAAoB,EACpB,EAAqB,EACrB,UAAkB,EAClB,aAAsB;IAEtB,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;QACtB,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;IACnH,CAAC,CAAC,EAAE,CAAC;IAEL,yCAAyC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAE1C,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACvB,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACvB,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACvB,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACvB,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACvB,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACvB,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAEvB,8EAA8E;IAC9E,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,EAAE,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAC5D,EAAE,CAAC,MAAM,GAAG,uBAAe,CAAC;IAE5B,IAAI,CAAC;QACH,8EAA8E;QAC9E,kEAAkE;QAClE,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC;YAC1B,MAAM,EAAE,8BAAmB;YAC3B,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,0EAA0E;QAC1E,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE;YACnB,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,KAAK,EAA+B;YAC3G,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YAC9B,MAAM,EAAE,SAAS;SACe,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC,CAAC,6CAA6C,CAAC,CAAC;IAEzD,sBAAsB;IACtB,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC;IACtB,EAAE,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,aAAK,EAAE,CAAC;IAChD,EAAE,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5E,EAAE,CAAC,MAAM,GAAG,uBAAe,CAAC;IAE5B,uBAAuB;IACvB,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,EAAE,CAAC,KAAK,GAAG,iBAAiB,CAAC;IAC7B,EAAE,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,aAAK,EAAE,CAAC;IACpC,EAAE,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACtC,EAAE,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAElE,eAAe;IACf,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,EAAE,CAAC,KAAK,GAAG,YAAY,aAAa,IAAI,SAAS,EAAE,CAAC;IACpD,EAAE,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,aAAK,EAAE,CAAC;IACpC,EAAE,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACtC,EAAE,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAElD,kBAAkB;IAClB,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,EAAE,CAAC,KAAK,GAAG,eAAe,SAAS,EAAE,CAAC;IACtC,EAAE,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,aAAK,EAAE,CAAC;IACpC,EAAE,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACtC,EAAE,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAErE,qCAAqC;IACrC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,EAAE,CAAC,KAAK,GAAG,+BAA+B,CAAC;IAC3C,EAAE,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,aAAK,EAAE,CAAC;IAChD,EAAE,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACtC,EAAE,CAAC,MAAM,GAAG,uBAAe,CAAC;IAE5B,mBAAmB;IACnB,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,EAAE,CAAC,KAAK,GAAG,oCAAoC,CAAC;IAChD,EAAE,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,aAAK,EAAE,CAAC;IAChD,EAAE,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3E,EAAE,CAAC,MAAM,GAAG,uBAAe,CAAC;AAC9B,CAAC;AAED,8EAA8E;AAC9E,yEAAyE;AACzE,6EAA6E;AAC7E,2EAA2E;AAC3E,0EAA0E;AAC1E,8EAA8E;AAE9E,iEAAiE;AACpD,QAAA,gBAAgB,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAE7G;;;;;GAKG;AACH,SAAgB,gBAAgB,CAC9B,EAAoB,EACpB,MAAsB,EACtB,aAAsB;IAEtB,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAEvC,4EAA4E;IAC5E,qDAAqD;IACrD,EAAE,CAAC,OAAO,GAAG;QACX,EAAE,KAAK,EAAE,CAAC,EAAE,EAAI,kBAAkB;QAClC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAI,QAAQ;QACxB,EAAE,KAAK,EAAE,EAAE,EAAE,EAAG,iBAAiB;QACjC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAG,aAAa;QAC7B,EAAE,KAAK,EAAE,EAAE,EAAE,EAAG,aAAa;QAC7B,EAAE,KAAK,EAAE,EAAE,EAAE,EAAG,cAAc;QAC9B,EAAE,KAAK,EAAE,EAAE,EAAE,EAAG,UAAU;QAC1B,EAAE,KAAK,EAAE,EAAE,EAAE,EAAG,aAAa;QAC7B,EAAE,KAAK,EAAE,EAAE,EAAE,EAAG,YAAY;KAC7B,CAAC;IAEF,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IACpD,sBAAsB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAEvF,4DAA4D;IAC5D,MAAM,UAAU,GAAG,CAAC,CAAC;IACrB,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,WAAW;IAChC,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACxC,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC;IACtB,wBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,aAAK,EAAE,IAAI,EAAE,kBAAU,EAAE,CAAC;QAClE,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAQ,EAAE,CAAC;QAClE,CAAC,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC3E,CAAC,CAAC,MAAM,GAAG,uBAAe,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAEhF,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,MAA2B,EAAE,OAAgB,EAAQ,EAAE;QAC3F,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtB,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;YACZ,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,aAAK,EAAE,IAAI,EAAE,kBAAU,EAAE,CAAC;YACrE,6EAA6E;YAC7E,CAAC,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC7E,CAAC,CAAC,MAAM,GAAG,uBAAe,CAAC;YAC3B,IAAI,OAAO;gBAAE,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAQ,EAAE,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,4FAA4F;IAC5F,0FAA0F;IAC1F,iGAAiG;IACjG,iGAAiG;IACjG,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,8BAA8B;IAChG,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,MAAc,EAA4B,EAAE,CACnF,CAAC,EAAE,OAAO,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEpD,IAAI,MAAM,GAAG,UAAU,GAAG,CAAC,CAAC;IAC5B,MAAM,YAAY,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACzD,YAAY,CAAC,MAAM,EAAE;YACnB,CAAC,GAAG,CAAC;YACL,CAAC,CAAC,SAAS;YACX,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC;YACjC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC;YACjC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC;YAClC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC;YAC9B,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC;SACjC,EAAE,KAAK,CAAC,CAAC;QACV,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC;QAC7B,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC;QACxB,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC;QACzB,MAAM,IAAI,CAAC,CAAC;IACd,CAAC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,CAAC;IAE/B,gGAAgG;IAChG,oFAAoF;IACpF,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,MAAc,EAA4B,EAAE,CACvE,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG,YAAY,IAAI,GAAG,GAAG,WAAW,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3E,YAAY,CACV,MAAM,EACN;QACE,EAAE,EAAE,OAAO;QACX,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC;QAC3B,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;KAC1B,EACD,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAC9B,EAAoB,EACpB,SAAiB,EACjB,OAAuB,EACvB,IAAkB,EAClB,QAAgB,EAChB,aAAsB;IAEtB,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE;QACpC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;KACnD,CAAC,CAAC;IAEH,mEAAmE;IACnE,EAAE,CAAC,OAAO,GAAG;QACX,EAAE,KAAK,EAAE,EAAE,EAAE,EAAK,0DAA0D;QAC5E,EAAE,KAAK,EAAE,IAAI,EAAE,EAAG,sBAAsB;QACxC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,eAAe;QACjC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,kBAAkB;QACpC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAK,kBAAkB;QACpC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAG,oBAAoB;QACtC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,gBAAgB;QAClC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAK,uDAAuD;QACzE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAK,uBAAuB;QACzC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAK,eAAe;QACjC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAG,oBAAoB;QACtC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,kBAAkB;QACpC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAG,oBAAoB;QACtC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAG,oBAAoB;QACtC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAK,uBAAuB;QACzC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAK,WAAW;KAC9B,CAAC;IAEF,mEAAmE;IACnE,sBAAsB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAC1F,sFAAsF;IACtF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAE1C,yCAAyC;IAEzC,0DAA0D;IAC1D,MAAM,SAAS,GAA2B;QACxC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW;KACjF,CAAC;IACF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,aAAK,EAAE,IAAI,EAAE,kBAAU,EAAE,CAAC;QAClE,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAQ,EAAE,CAAC;QAClE,CAAC,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACxD,CAAC,CAAC,MAAM,GAAG,uBAAe,CAAC;IAC7B,CAAC;IACD,2DAA2D;IAE3D,2EAA2E;IAC3E,+FAA+F;IAC/F,gGAAgG;IAChG,gGAAgG;IAChG,iGAAiG;IACjG,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,KAAK,CAAC;IAC9B,MAAM,QAAQ,GAAsC;QAClD,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,iBAAiB,KAAK,eAAe,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAA8B;QACtH,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,iBAAiB,KAAK,eAAe,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAA8B;QACjI,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,iBAAiB,KAAK,eAAe,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAA8B;QACjI,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,iBAAiB,KAAK,eAAe,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAA8B;QACnI,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,iBAAiB,KAAK,eAAe,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAA8B;QAC1H,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,EAA8B;KACjG,CAAC;IACF,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC;QACd,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,aAAK,EAAE,IAAI,EAAE,kBAAU,EAAE,CAAC;QACtD,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAK,EAAE,CAAC;QAC/D,CAAC,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACxD,CAAC,CAAC,MAAM,GAAG,uBAAe,CAAC;QAC3B,IAAI,GAAG,KAAK,GAAG;YAAE,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC;IACtC,CAAC;IACD,wCAAwC;IAExC,uEAAuE;IACvE,0CAA0C;IAC1C,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,EAAE,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,aAAK,EAAE,IAAI,EAAE,kBAAU,EAAE,CAAC;IACvD,EAAE,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAK,EAAE,CAAC;IAChE,EAAE,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACzD,EAAE,CAAC,MAAM,GAAG,uBAAe,CAAC;IAE5B,wEAAwE;IACxE,MAAM,QAAQ,GAAsC;QAClD,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,EAA8B;QACrI,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,EAA8B;QACrI,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,EAA8B;QACtI,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,EAA8B;QACjI,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,EAA8B;KAC1J,CAAC;IACF,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC;QACd,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,aAAK,EAAE,IAAI,EAAE,kBAAU,EAAE,CAAC;QACtD,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAK,EAAE,CAAC;QAC/D,CAAC,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACxD,CAAC,CAAC,MAAM,GAAG,uBAAe,CAAC;QAC3B,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;IAClB,CAAC;IACD,wCAAwC;IAExC,6DAA6D;IAC7D,OAAO,EAAE,CAAC,QAAQ,GAAG,CAAC;QAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAE3E,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;IAExB,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAC9C,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC;IAE1E,kDAAkD;IAClD,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC;QAC1B,QAAQ;QACR,iBAAiB;QACjB,UAAU;QACV,aAAa;QACb,aAAa;QACb,eAAe;QACf,WAAW;QACX,QAAQ;QACR,mBAAmB;QACnB,UAAU;QACV,eAAe;QACf,cAAc;QACd,gBAAgB;QAChB,gBAAgB;QAChB,kBAAkB;QAClB,gDAAgD;KACjD,CAAC,CAAC;IACH,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC;IACtB,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAW,EAAE,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,mBAAW,EAAE,EAAE,CAAC;QAClF,IAAI,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC9E,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,+FAA+F;IAC/F,oGAAoG;IACpG,6BAA6B;IAC7B,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEjC,sCAAsC;IACtC,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAExC,SAAS,SAAS,CAAC,SAAiB,EAAE,SAAuB;QAC3D,2FAA2F;QAC3F,6FAA6F;QAC7F,iGAAiG;QACjG,6FAA6F;QAC7F,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC;QACrC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACzC,OAAO,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;YACjD,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,qBAAa,EAAE,EAAE,CAAC;QACtF,CAAC,CAAC,CAAC;QACH,wDAAwD;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,iBAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,qBAAa,EAAE,EAAE,CAAC;YACjF,WAAW,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;gBACpB,CAAC,CAAC,IAAI;gBACN,EAAE;gBACF,EAAE;gBACF,EAAE;gBACF,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,IAAI;aACP,CAAC,CAAC;YACH,GAAG,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACpD,GAAG,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;gBACvD,WAAW,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBACpB,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC7B,CAAC;gBACD,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;oBACrB,4BAA4B;oBAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;oBACrC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;wBACrB,IAAI,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBAC1D,CAAC;yBAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;wBAC5B,IAAI,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBAC1D,CAAC;yBAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;wBAC7B,IAAI,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBAC1D,CAAC;yBAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC;oBAC9C,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnD,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7B,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClC,CAAC;IACD,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,SAAS;QAC3C,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,iFAAiF;IACjF,EAAE,CAAC,UAAU,GAAG;QACd,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE;QAC1C,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAS,EAAE;KAC5C,CAAC;IAEF,sEAAsE;IACtE,sEAAsE;IACtE,uEAAuE;IACvE,mEAAmE;IACnE,+CAA+C;IAC9C,EAA6C,CAAC,eAAe,GAAG;QAC/D,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,yCAAyC;AACzC,gFAAgF;AAChF,8EAA8E;AAEjE,QAAA,sBAAsB,GAAG,UAAU,CAAC,CAAC,uCAAuC;AAC5E,QAAA,sBAAsB,GAAG,UAAU,CAAC,CAAC,4BAA4B;AAE9E;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAChC,OAA+C,EAC/C,SAAoC,EACpC,UAAyB;IAEzB,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,GAAG,UAAU,CAAC;IAC7F,MAAM,IAAI,GAA0B,EAAE,CAAC;IAEvC,KAAK,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5D,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,YAAY,CAAC;QAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;QAE1C,sEAAsE;QACtE,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC7C,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9E,wDAAwD;QACxD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI;YACxB,CAAC,CAAC,SAAS,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACrF,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QAE5E,4EAA4E;QAC5E,8EAA8E;QAC9E,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAAE,SAAS;YAC5C,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,OAAO,EAAE,CAAC;gBACZ,gFAAgF;gBAChF,aAAa,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,4FAA4F;QAC5F,oFAAoF;QACpF,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,oBAAoB,GACxB,CAAC,aAAa,EAAE,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QAE/E,uFAAuF;QACvF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAAE,SAAS;YAC5C,8EAA8E;YAC9E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QAEtD,2EAA2E;QAC3E,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAAE,SAAS;YAC5C,MAAM,GAAG,GAAG,2BAA2B,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,GAAG;gBAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QAEhE,IAAI,CAAC,IAAI,CAAC;YACR,QAAQ;YACR,MAAM;YACN,cAAc;YACd,YAAY;YACZ,oBAAoB;YACpB,SAAS;YACT,oBAAoB;SACrB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,EAAoB,EAAE,UAAiC;IACvF,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,OAAO,CAAC;IAE3B,EAAE,CAAC,OAAO,GAAG;QACX,EAAE,MAAM,EAAE,UAAU,EAAiB,KAAK,EAAE,EAAE,EAAE;QAChD,EAAE,MAAM,EAAE,QAAQ,EAAmB,KAAK,EAAE,EAAE,EAAE;QAChD,EAAE,MAAM,EAAE,mBAAmB,EAAQ,KAAK,EAAE,EAAE,EAAE;QAChD,EAAE,MAAM,EAAE,eAAe,EAAY,KAAK,EAAE,EAAE,EAAE;QAChD,EAAE,MAAM,EAAE,wBAAwB,EAAG,KAAK,EAAE,EAAE,EAAE;QAChD,EAAE,MAAM,EAAE,YAAY,EAAe,KAAK,EAAE,EAAE,EAAE;QAChD,EAAE,MAAM,EAAE,uBAAuB,EAAI,KAAK,EAAE,EAAE,EAAE;KACjD,CAAC;IAEF,+CAA+C;IAC/C,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/B,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC;IACtB,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,8BAAsB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACtF,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,8BAAsB,EAAE,EAAE,CAAC;QAC7F,IAAI,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC9E,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAE5C,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;YACpB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,oBAAoB;SACvB,CAAC,CAAC;QACH,GAAG,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACpD,GAAG,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;YAC5C,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,EAAE,CAAC,UAAU,GAAG;QACd,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QAC3B,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,wEAAwE;AACxE,8EAA8E;AAE9E;;;;GAIG;AACH,SAAgB,2BAA2B,CACzC,KAAmB,EACnB,SAA2C,EAC3C,IAA2B;IAE3B,MAAM,EAAE,GAAG,IAAI,iBAAO,CAAC,QAAQ,EAAE,CAAC;IAClC,EAAE,CAAC,OAAO,GAAG,iBAAiB,CAAC;IAC/B,EAAE,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IACtG,IAAI,SAAS,EAAE,CAAC;QACd,iBAAiB,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,SAAgB,qBAAqB,CACnC,MAAsB,EACtB,IAA2B;IAE3B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,0EAA0E;QAC1E,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,iBAAO,CAAC,QAAQ,EAAE,CAAC;IAClC,EAAE,CAAC,OAAO,GAAG,iBAAiB,CAAC;IAC/B,EAAE,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;IACxB,gFAAgF;IAChF,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sun-asterisk/sungen",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.7",
|
|
4
4
|
"description": "Deterministic E2E Test Compiler - Gherkin + Selectors → Playwright tests",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"types": "src/index.ts",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"copy-templates": "mkdir -p dist/generators/test-generator/adapters/playwright/templates/steps && mkdir -p dist/generators/test-generator/templates && mkdir -p dist/orchestrator/templates && mkdir -p dist/dashboard/templates && cp -r src/generators/test-generator/adapters/playwright/templates/*.hbs dist/generators/test-generator/adapters/playwright/templates/ 2>/dev/null || true && cp -r src/generators/test-generator/adapters/playwright/templates/steps dist/generators/test-generator/adapters/playwright/templates/ && mkdir -p dist/generators/test-generator/adapters/appium/templates/steps && cp -r src/generators/test-generator/adapters/appium/templates/*.hbs dist/generators/test-generator/adapters/appium/templates/ 2>/dev/null || true && cp -r src/generators/test-generator/adapters/appium/templates/steps dist/generators/test-generator/adapters/appium/templates/ && cp src/generators/test-generator/templates/*.hbs dist/generators/test-generator/templates/ 2>/dev/null || true && cp -r src/orchestrator/templates/* dist/orchestrator/templates/ && cp src/dashboard/templates/index.html dist/dashboard/templates/index.html && mkdir -p dist/harness/catalog && cp src/harness/catalog/*.yaml dist/harness/catalog/",
|
|
13
13
|
"build:dashboard": "cd ../../dashboard && npm install --silent && npm run build && cd - && cp ../../dashboard/dist/index.html src/dashboard/templates/index.html",
|
|
14
14
|
"dev": "tsx src/cli/index.ts",
|
|
15
|
-
"test": "tsx tests/golden/run.ts && tsx tests/audit/run.ts && tsx tests/ingest/run.ts && tsx tests/eval/run.ts && tsx tests/exporter/run.ts && tsx tests/exporter/feature-parser-category.run.ts && tsx tests/exporter/api-detail-sheet.run.ts && tsx tests/exporter/overview-sheet.run.ts && tsx tests/exporter/delivery-divider-tcid.run.ts && tsx tests/exporter/note-expected-actual.run.ts && tsx tests/exporter/test-data-vars.run.ts && tsx tests/exporter/mobile-app-id.run.ts && tsx tests/exporter/api-testcase-cells.run.ts && tsx tests/exporter/delivery-cases-result.run.ts && tsx tests/exporter/precondition-auth-role.run.ts && tsx tests/dashboard/api-flows-discovery.run.ts && tsx tests/codegen/verb-ref-masking.run.ts && tsx tests/api-runtime/base-path-url-join.run.ts && tsx tests/api-runtime/file-upload-multipart.run.ts && tsx tests/api-runtime/schema-assertion.run.ts && tsx tests/runtime/test-data-cross-ref.run.ts && tsx tests/capabilities/run.ts && tsx tests/openapi/run.ts && tsx tests/api-field-coverage/run.ts && tsx tests/packaging/run.ts && tsx tests/generate-hint/run.ts && tsx tests/template-assertion/run.ts && tsx tests/journey/run.ts && tsx tests/harness/serial-cascade.run.ts && tsx tests/ai-skills/cross-assistant-orphan.run.ts && tsx tests/init/codex-mcp-config.run.ts && tsx src/orchestrator/ai-skills/golden-skills.test.ts",
|
|
15
|
+
"test": "tsx tests/golden/run.ts && tsx tests/audit/run.ts && tsx tests/ingest/run.ts && tsx tests/eval/run.ts && tsx tests/exporter/run.ts && tsx tests/exporter/feature-parser-category.run.ts && tsx tests/exporter/api-detail-sheet.run.ts && tsx tests/exporter/overview-sheet.run.ts && tsx tests/exporter/delivery-divider-tcid.run.ts && tsx tests/exporter/note-expected-actual.run.ts && tsx tests/exporter/test-data-vars.run.ts && tsx tests/exporter/mobile-app-id.run.ts && tsx tests/exporter/api-testcase-cells.run.ts && tsx tests/exporter/delivery-cases-result.run.ts && tsx tests/exporter/precondition-auth-role.run.ts && tsx tests/exporter/report-builder-parity.run.ts && tsx tests/dashboard/api-flows-discovery.run.ts && tsx tests/dashboard/status-results-fallback.run.ts && tsx tests/codegen/verb-ref-masking.run.ts && tsx tests/api-runtime/base-path-url-join.run.ts && tsx tests/api-runtime/file-upload-multipart.run.ts && tsx tests/api-runtime/schema-assertion.run.ts && tsx tests/runtime/test-data-cross-ref.run.ts && tsx tests/capabilities/run.ts && tsx tests/openapi/run.ts && tsx tests/api-field-coverage/run.ts && tsx tests/packaging/run.ts && tsx tests/generate-hint/run.ts && tsx tests/template-assertion/run.ts && tsx tests/journey/run.ts && tsx tests/harness/serial-cascade.run.ts && tsx tests/ai-skills/cross-assistant-orphan.run.ts && tsx tests/init/codex-mcp-config.run.ts && tsx src/orchestrator/ai-skills/golden-skills.test.ts",
|
|
16
16
|
"test:update": "tsx tests/golden/run.ts --update && tsx tests/audit/run.ts --update && tsx tests/ingest/run.ts --update",
|
|
17
17
|
"prepublishOnly": "npm run build:dashboard && npm run build"
|
|
18
18
|
},
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"node": ">=18.0.0"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@sungen/driver-ui": "3.2.
|
|
36
|
+
"@sungen/driver-ui": "3.2.7",
|
|
37
37
|
"@anthropic-ai/sdk": "^0.71.0",
|
|
38
38
|
"@babel/parser": "^7.28.5",
|
|
39
39
|
"@babel/traverse": "^7.28.5",
|
|
@@ -12,7 +12,7 @@ import { parseFeatureMetadata } from '../../exporters/feature-parser';
|
|
|
12
12
|
import { parseSpecFile } from '../../exporters/spec-parser';
|
|
13
13
|
import { loadTestData } from '../../exporters/test-data-resolver';
|
|
14
14
|
import { loadSelectorKeyMap } from '../../exporters/selector-key-resolver';
|
|
15
|
-
import { loadPlaywrightReport } from '../../exporters/playwright-report-parser';
|
|
15
|
+
import { loadPlaywrightReport, resolveResultsPath as resolveResultsPathShared } from '../../exporters/playwright-report-parser';
|
|
16
16
|
import { mergeFeatureAndSpec } from '../../exporters/scenario-merger';
|
|
17
17
|
import {
|
|
18
18
|
buildTestCaseRows,
|
|
@@ -21,6 +21,7 @@ import {
|
|
|
21
21
|
writeCsv,
|
|
22
22
|
} from '../../exporters/csv-exporter';
|
|
23
23
|
import { renderXlsxMultiSheet, writeXlsx, buildApiDetailRows, addApiDetailSheet } from '../../exporters/xlsx-exporter';
|
|
24
|
+
import { loadApiCatalog } from '../../exporters/api-catalog-loader';
|
|
24
25
|
import { resolvePlatformAppId } from '../../exporters/mobile-app-id';
|
|
25
26
|
import { EnvironmentInfo, PreflightCheck, ScreenSummary, TestCaseRow, ApiCatalogEntry } from '../../exporters/types';
|
|
26
27
|
|
|
@@ -136,35 +137,8 @@ function qaDir(cwd: string, target: DeliveryTarget): string {
|
|
|
136
137
|
return path.join(cwd, 'qa', qaParent(target.kind), target.screen);
|
|
137
138
|
}
|
|
138
139
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
* the unit catalog. The runtime resolves an endpoint unit-scope-first then falls back
|
|
142
|
-
* to the shared catalog (driver-api api-catalog.ts), so an endpoint defined only in
|
|
143
|
-
* `qa/api/apis.yaml` still runs — we must load it too, or its request block would come
|
|
144
|
-
* back empty (the very bug this feature fixes). Unit wins on a name collision.
|
|
145
|
-
* Returns an empty object when neither file is present (graceful degradation).
|
|
146
|
-
*/
|
|
147
|
-
function loadApiCatalog(cwd: string, target: DeliveryTarget): Record<string, ApiCatalogEntry> {
|
|
148
|
-
if (target.kind !== 'api') return {};
|
|
149
|
-
const shared = readApiCatalogFile(path.join(cwd, 'qa', 'api', 'apis.yaml'));
|
|
150
|
-
const unit = readApiCatalogFile(path.join(cwd, 'qa', 'api', target.screen, 'api', 'apis.yaml'));
|
|
151
|
-
return { ...shared, ...unit };
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/** Parse one apis.yaml file into an endpoint map, unwrapping the optional `apis:` wrapper. */
|
|
155
|
-
function readApiCatalogFile(catalogPath: string): Record<string, ApiCatalogEntry> {
|
|
156
|
-
if (!fs.existsSync(catalogPath)) return {};
|
|
157
|
-
try {
|
|
158
|
-
const parsed = parseYaml(fs.readFileSync(catalogPath, 'utf-8')) as Record<string, unknown> | null;
|
|
159
|
-
if (parsed && typeof parsed === 'object') {
|
|
160
|
-
// The runtime loader accepts both a flat map and an `apis:` wrapper — unwrap it
|
|
161
|
-
// here too so both loaders read the same file identically.
|
|
162
|
-
const root = parsed.apis && typeof parsed.apis === 'object' ? parsed.apis : parsed;
|
|
163
|
-
return root as Record<string, ApiCatalogEntry>;
|
|
164
|
-
}
|
|
165
|
-
} catch { /* malformed yaml — skip */ }
|
|
166
|
-
return {};
|
|
167
|
-
}
|
|
140
|
+
// apis.yaml catalog loading moved to ../../exporters/api-catalog-loader so the
|
|
141
|
+
// dashboard snapshot builder loads the identical contract (shared + unit merge).
|
|
168
142
|
|
|
169
143
|
function generatedDir(cwd: string, target: DeliveryTarget): string {
|
|
170
144
|
const sub = target.kind === 'flow' ? path.join('flows', target.screen) : target.kind === 'api' ? path.join('api', target.screen) : target.screen;
|
|
@@ -188,17 +162,9 @@ function generatedDir(cwd: string, target: DeliveryTarget): string {
|
|
|
188
162
|
* `SUNGEN_ENV` is set, so each locale run keeps its own results file.
|
|
189
163
|
*/
|
|
190
164
|
function resolveResultsPath(cwd: string, target: DeliveryTarget): string | null {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
if (env) candidates.push(path.join(genDir, `${target.featureBaseName}-test-result.${env}.json`));
|
|
195
|
-
candidates.push(path.join(genDir, `${target.featureBaseName}-test-result.json`));
|
|
196
|
-
if (env) candidates.push(path.join(cwd, 'test-results', `results.${env}.json`));
|
|
197
|
-
candidates.push(path.join(cwd, 'test-results', 'results.json'));
|
|
198
|
-
for (const c of candidates) {
|
|
199
|
-
if (fs.existsSync(c)) return c;
|
|
200
|
-
}
|
|
201
|
-
return null;
|
|
165
|
+
// Shared with the dashboard snapshot builder (same candidate order incl. the
|
|
166
|
+
// test-results/results.json fallback) so the two surfaces can't drift.
|
|
167
|
+
return resolveResultsPathShared(cwd, generatedDir(cwd, target), target.featureBaseName);
|
|
202
168
|
}
|
|
203
169
|
|
|
204
170
|
/**
|
|
@@ -477,7 +443,7 @@ async function exportTarget(
|
|
|
477
443
|
const explicitEnv = process.env.SUNGEN_ENV;
|
|
478
444
|
|
|
479
445
|
// For api-kind units, load the endpoint catalog so we can add the API detail sheet.
|
|
480
|
-
const apiCatalog = loadApiCatalog(cwd, target);
|
|
446
|
+
const apiCatalog = loadApiCatalog(cwd, target.kind, target.screen);
|
|
481
447
|
const hasApiCatalog = target.kind === 'api' && Object.keys(apiCatalog).length > 0;
|
|
482
448
|
|
|
483
449
|
// Decide between single-locale and aggregated multi-locale flows.
|
|
@@ -19,12 +19,14 @@ import { parseFeatureMetadata } from '../exporters/feature-parser';
|
|
|
19
19
|
import { parseSpecFile } from '../exporters/spec-parser';
|
|
20
20
|
import { loadTestData } from '../exporters/test-data-resolver';
|
|
21
21
|
import { loadSelectorKeyMap } from '../exporters/selector-key-resolver';
|
|
22
|
-
import { loadPlaywrightReport } from '../exporters/playwright-report-parser';
|
|
22
|
+
import { loadPlaywrightReport, resolveResultsPath } from '../exporters/playwright-report-parser';
|
|
23
23
|
import { mergeFeatureAndSpec } from '../exporters/scenario-merger';
|
|
24
24
|
import { buildScreenSnapshot } from '../exporters/json-exporter';
|
|
25
|
+
import { loadApiCatalog } from '../exporters/api-catalog-loader';
|
|
26
|
+
import { buildApiDetailRows } from '../exporters/xlsx-exporter';
|
|
25
27
|
import { resolvePlatformAppId } from '../exporters/mobile-app-id';
|
|
26
28
|
import { getPackageVersion } from '../exporters/package-info';
|
|
27
|
-
import { EnvironmentInfo } from '../exporters/types';
|
|
29
|
+
import { ApiCatalogEntry, EnvironmentInfo } from '../exporters/types';
|
|
28
30
|
import {
|
|
29
31
|
AggregateSummary,
|
|
30
32
|
DashboardSnapshot,
|
|
@@ -126,9 +128,13 @@ function buildOneScreen(
|
|
|
126
128
|
const specLink = fs.existsSync(specMdFile) ? path.relative(cwd, specMdFile) : undefined;
|
|
127
129
|
|
|
128
130
|
const mobile = isMobileProject(cwd);
|
|
131
|
+
// api-kind units: load the endpoint catalog once per target — the same
|
|
132
|
+
// shared+unit merge delivery.ts uses — so Steps/Expected cells and the API
|
|
133
|
+
// detail sheet match the delivery CSV/XLSX exactly.
|
|
134
|
+
const apiCatalog = loadApiCatalog(cwd, target.kind, target.name);
|
|
129
135
|
const features: FeatureSnapshot[] = [];
|
|
130
136
|
for (const featureBaseName of featureBaseNames) {
|
|
131
|
-
features.push(...buildOneFeature(cwd, target, featureBaseName, env, specLink, mobile));
|
|
137
|
+
features.push(...buildOneFeature(cwd, target, featureBaseName, env, specLink, mobile, apiCatalog));
|
|
132
138
|
}
|
|
133
139
|
if (features.length === 0) return null;
|
|
134
140
|
|
|
@@ -183,6 +189,7 @@ function buildOneFeature(
|
|
|
183
189
|
env: EnvironmentInfo,
|
|
184
190
|
specLink: string | undefined,
|
|
185
191
|
mobile: boolean,
|
|
192
|
+
apiCatalog: Record<string, ApiCatalogEntry>,
|
|
186
193
|
): FeatureSnapshot[] {
|
|
187
194
|
const base = qaDir(cwd, target);
|
|
188
195
|
const genBase = generatedDir(cwd, target);
|
|
@@ -210,7 +217,7 @@ function buildOneFeature(
|
|
|
210
217
|
// Discover locale variants by scanning <feature>-test-result*.json files.
|
|
211
218
|
// Always includes base ('') as the first entry, even if its results file
|
|
212
219
|
// is missing — UI still needs to render the feature.
|
|
213
|
-
const variants = discoverLocaleVariants(genBase, featureBaseName);
|
|
220
|
+
const variants = discoverLocaleVariants(cwd, genBase, featureBaseName);
|
|
214
221
|
|
|
215
222
|
// Build one per-variant ScreenSnapshot (test-data overlay + results + OS-precise
|
|
216
223
|
// env column). Reused by both the web/i18n (locale-axis) and mobile (platform-axis) paths.
|
|
@@ -233,10 +240,21 @@ function buildOneFeature(
|
|
|
233
240
|
env,
|
|
234
241
|
featureBaseName,
|
|
235
242
|
selectorKeyMap,
|
|
243
|
+
kind: target.kind,
|
|
244
|
+
apiCatalog,
|
|
236
245
|
});
|
|
237
246
|
};
|
|
238
247
|
type Built = ReturnType<typeof buildVariant>;
|
|
239
248
|
|
|
249
|
+
// API detail sheet rows — the identical buildApiDetailRows call delivery.ts
|
|
250
|
+
// makes before addApiDetailSheet, precomputed so the (browser-side) XLSX
|
|
251
|
+
// export just passes them to the shared builder. Endpoint contract is
|
|
252
|
+
// locale-invariant → computed once per feature.
|
|
253
|
+
const apiDetailRows = target.kind === 'api' && Object.keys(apiCatalog).length > 0
|
|
254
|
+
? buildApiDetailRows(apiCatalog, feature.scenarios)
|
|
255
|
+
: [];
|
|
256
|
+
const apiDetail = apiDetailRows.length > 0 ? apiDetailRows : undefined;
|
|
257
|
+
|
|
240
258
|
// -- Mobile (platform axis): the per-OS runs (android / ios) are their own
|
|
241
259
|
// FeatureSnapshot entries — one per OS, `platform` tagged — NOT locale tabs.
|
|
242
260
|
// Locale overlays for a given OS (e.g. `android.ja`) nest inside that OS's
|
|
@@ -272,6 +290,7 @@ function buildOneFeature(
|
|
|
272
290
|
platform: os,
|
|
273
291
|
executedPlatforms,
|
|
274
292
|
locales: localeSnaps.length >= 2 ? localeSnaps : undefined,
|
|
293
|
+
apiDetail,
|
|
275
294
|
});
|
|
276
295
|
}
|
|
277
296
|
if (feats.length > 0) return feats;
|
|
@@ -318,6 +337,7 @@ function buildOneFeature(
|
|
|
318
337
|
// Only expose `locales` array when 2+ variants exist — single-locale
|
|
319
338
|
// features stay slimmer and UI can skip the locale tab UI entirely.
|
|
320
339
|
locales: locales.length >= 2 ? locales : undefined,
|
|
340
|
+
apiDetail,
|
|
321
341
|
}];
|
|
322
342
|
}
|
|
323
343
|
|
|
@@ -342,15 +362,19 @@ interface FeatureLocaleVariant {
|
|
|
342
362
|
* dashboard and the CSV/XLSX delivery agree on what locales exist for a
|
|
343
363
|
* given feature.
|
|
344
364
|
*/
|
|
345
|
-
function discoverLocaleVariants(genDir: string, featureBaseName: string): FeatureLocaleVariant[] {
|
|
365
|
+
function discoverLocaleVariants(cwd: string, genDir: string, featureBaseName: string): FeatureLocaleVariant[] {
|
|
346
366
|
const prefix = `${featureBaseName}-test-result`;
|
|
347
367
|
const variants: FeatureLocaleVariant[] = [];
|
|
348
368
|
|
|
349
|
-
|
|
369
|
+
// Base variant resolves through the SHARED candidate chain (per-feature file
|
|
370
|
+
// first, then the global test-results/results.json playwright writes by
|
|
371
|
+
// default) — the same resolution delivery.ts uses. Without the fallback the
|
|
372
|
+
// dashboard showed every scenario Pending on projects that only have the
|
|
373
|
+
// global results file, while delivery correctly reported Passed.
|
|
350
374
|
variants.push({
|
|
351
375
|
locale: '',
|
|
352
376
|
displayCode: DEFAULT_BASE_LOCALE.toUpperCase(),
|
|
353
|
-
resultsPath:
|
|
377
|
+
resultsPath: resolveResultsPath(cwd, genDir, featureBaseName),
|
|
354
378
|
});
|
|
355
379
|
|
|
356
380
|
if (fs.existsSync(genDir)) {
|