@girardelli/architect 2.1.0 → 2.2.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"html-reporter.js","sourceRoot":"","sources":["../src/html-reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"html-reporter.js","sourceRoot":"","sources":["../src/html-reporter.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IAC9B,YAAY,CAAC,MAAsB,EAAE,IAAsB,EAAE,eAAiC;QAC5F,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE7D,OAAO;;;;;4BAKiB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;EAClE,IAAI,CAAC,SAAS,EAAE;;;;EAIhB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;;;;;;mGAMwE,MAAM,CAAC,YAAY,CAAC,MAAM;6FAChC,MAAM,CAAC,WAAW,CAAC,MAAM;MAChH,IAAI,CAAC,CAAC,CAAC,0FAA0F,IAAI,CAAC,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE;MAC9H,eAAe,CAAC,CAAC,CAAC,4EAA4E,CAAC,CAAC,CAAC,EAAE;;;;;;QAMjG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;;;;;;UAMtB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;UACzB,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;;;;;oEAKwB,MAAM,CAAC,YAAY,CAAC,MAAM;;UAEpF,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC;UAC9C,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;kEAKgB,MAAM,CAAC,WAAW,CAAC,MAAM;;UAEjF,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;;;;MAItC,IAAI,CAAC,CAAC,CAAC;uEAC0D,IAAI,CAAC,KAAK,CAAC,MAAM,WAAW,IAAI,CAAC,eAAe;;UAE7G,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;;eAE3B,CAAC,CAAC,CAAC,EAAE;;MAEd,eAAe,CAAC,CAAC,CAAC;;;UAGd,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC;;eAEvC,CAAC,CAAC,CAAC,EAAE;;;EAGlB,IAAI,CAAC,YAAY,EAAE;EACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;;QAEjB,CAAC;IACP,CAAC;IAEO,UAAU,CAAC,KAAa;QAC9B,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,SAAS,CAAC;QAClC,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,SAAS,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,UAAU,CAAC,KAAa;QAC9B,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,GAAG,CAAC;QAC5B,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAC7B,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,UAAU,CAAC,KAAa;QAC9B,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,WAAW,CAAC;QACpC,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC;QAC/B,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,iBAAiB,CAAC;QAC1C,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC;QAC/B,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,UAAU,CAAC,IAAY;QAC7B,OAAO,IAAI;aACR,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;aACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAEO,iBAAiB,CACvB,YAA2B;QAE3B,MAAM,OAAO,GAAiG,EAAE,CAAC;QACjH,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;YAChG,CAAC;YACD,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBAC1C,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,gBAAgB,CACtB,WAA4F;QAE5F,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmG,CAAC;QACvH,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;IAEO,YAAY,CAAC,MAAsB;QACzC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;YAClE,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,MAAM;YACb,GAAG,EAAE,SAAS;SACf,CAAC,CAAC;QACH,OAAO;;;;;uBAKY,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;uBACxC,MAAM,CAAC,WAAW,CAAC,UAAU;uBAC7B,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,EAAE;uBAC9C,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;MAC/D,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;uBAC7G,IAAI;;OAEpB,CAAC;IACN,CAAC;IAEO,eAAe,CAAC,MAAsB;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QACrC,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,aAAa,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC;QAEnD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;aAC1D,GAAG,CACF,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;;4BAEC,IAAI;yCACS,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;;2CAExD,KAAK,kBAAkB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;;aAE3E,CACN;aACA,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,OAAO;;;;;;kBAMO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;4BACd,aAAa;6BACZ,MAAM;;;uDAGoB,OAAO,mBAAmB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;;2BAE9E,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;;;;MAI7C,cAAc;;OAEb,CAAC;IACN,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,MAAsB;QAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvD,OAAO;;;;OAIJ,CAAC;IACN,CAAC;IAEO,WAAW,CAAC,MAAsB;QACxC,OAAO;;;mDAGwC,MAAM,CAAC,WAAW,CAAC,UAAU;;;;mDAI7B,MAAM,CAAC,WAAW,CAAC,UAAU;;;;mDAI7B,MAAM,CAAC,YAAY,CAAC,MAAM;;;;mDAI1B,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM;;;OAG/E,CAAC;IACN,CAAC;IAEO,YAAY,CAAC,MAAsB;QACzC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAE1C,MAAM,WAAW,GAA2B;YAC1C,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,SAAS;YACb,cAAc,EAAE,SAAS;SAC1B,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM;aACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;YAC/C,OAAO;sDACuC,KAAK;2CAChB,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM;4BACvC,CAAC,CAAC,IAAI;4BACN,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;aAC7C,CAAC;QACR,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,OAAO;;2BAEgB,KAAK,QAAQ,CAAC;IACvC,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,MAAsB;QAClD,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEzD,iGAAiG;QACjG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzE,wCAAwC;QACxC,MAAM,eAAe,GAA2B,EAAE,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAChD,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC3B,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxC,EAAE,EAAE,CAAC;YACL,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC;YAC7B,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;YACpC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO;SAC9B,CAAC,CAAC,CAAC;QAEJ,sCAAsC;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK;aAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACzD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAEhD,yDAAyD;QACzD,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;QAChF,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACxG,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;QAE7C,2CAA2C;QAC3C,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAElE,OAAO;;;;;;;;;;;;;;;UAeD,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gFAAgF,CAAC,iCAAiC,CAAC,iEAAkE,EAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAA4B,CAAC,CAAC,CAAC,IAAI,SAAS,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;MAGrY,SAAS,CAAC,CAAC,CAAC,+CAA+C,QAAQ,OAAO,QAAQ,CAAC,MAAM,oCAAoC,YAAY,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,EAAE;;;;;mDAKtH,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;mDAC5B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,aAAa,CAAC;IAC3F,CAAC;IAED;;OAEG;IACK,wBAAwB,CAC9B,MAAsB,EACtB,OAAqG;QAErG,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO;;;;OAIN,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAA2B;YAC7C,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;SAC5C,CAAC;QAEF,MAAM,aAAa,GAA2B;YAC5C,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS;SACxE,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7D,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;YAC9D,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS;SACjD,CAAC,CAAC,CAAC;QAEJ,OAAO;;;;;mDAKwC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;IACrF,CAAC;IAEO,kBAAkB,CACxB,MAAsB,EACtB,OAAqG;QAErG,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEhD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;aACjC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;aACvC,GAAG,CACF,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;;wBAEF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;mCACV,IAAI,CAAC,KAAK;qDACQ,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;0CAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;uCACnC,IAAI,CAAC,SAAS;aACxC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;aAChD,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;cAC/E,CACP;aACA,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,OAAO;qDAC0C,MAAM,CAAC,YAAY,CAAC,MAAM;;;;;;;;;;;;aAYlE,IAAI;;OAEV,CAAC;IACN,CAAC;IAEO,iBAAiB,CACvB,WAA2G;QAE3G,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAExC,MAAM,IAAI,GAAG,WAAW;aACrB,GAAG,CACF,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;;gBAEF,CAAC,GAAG,CAAC;qDACgC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;;sBAExD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;cAChC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE;6CAClC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;;+BAE5C,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;cAC1C,CACP;aACA,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,OAAO;;;;;;;;;;;;aAYE,IAAI;;OAEV,CAAC;IACN,CAAC;IAEO,YAAY;QAClB,OAAO;;;;OAIJ,CAAC;IACN,CAAC;IAED,iCAAiC;IAEzB,OAAO,CAAC,IAAY;QAC1B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC;YAChC,KAAK,MAAM,CAAC,CAAC,OAAO,SAAS,CAAC;YAC9B,KAAK,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC;YAChC,KAAK,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC;YAChC,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,IAAY;QACzB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ,CAAC,CAAC,OAAO,GAAG,CAAC;YAC1B,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC;YACzB,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,CAAC;YAC3B,KAAK,QAAQ,CAAC,CAAC,OAAO,KAAK,CAAC;YAC5B,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,IAAqB;QACjD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;;;;OAIN,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QAEjF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAoD,CAAC;QAC5G,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;YACnE,MAAM,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;YAC5B,OAAO;;4CAE+B,MAAM;;mDAEC,MAAM,kBAAkB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,MAAM;kDACnE,KAAK,kBAAkB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,KAAK;;0DAErD,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC9E,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;;aAEtD,CAAC;QACV,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEjF,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;QAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;QACvE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC;QAErE,OAAO;;;;;;8CAMmC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,OAAO;;;;;;;;;8CASxE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,mBAAmB,CAAC,OAAO;;;8DAGtE,WAAW;;;;;;;MAOnE,IAAI;;;;;uBAKa,IAAI,CAAC,KAAK,CAAC,MAAM;uBACjB,IAAI,CAAC,eAAe;+BACZ,IAAI,CAAC,UAAU;+BACf,IAAI,CAAC,UAAU;;;;IAI1C,aAAa,CAAC,CAAC,CAAC,oDAAoD,aAAa,QAAQ,aAAa,QAAQ,CAAC,CAAC,CAAC,EAAE;IACnH,SAAS,CAAC,CAAC,CAAC,gDAAgD,SAAS,QAAQ,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE;IACnG,WAAW,CAAC,CAAC,CAAC,kDAAkD,WAAW,QAAQ,WAAW,QAAQ,CAAC,CAAC,CAAC,EAAE;IAC3G,QAAQ,CAAC,CAAC,CAAC,+CAA+C,QAAQ,QAAQ,QAAQ,QAAQ,CAAC,CAAC,CAAC,EAAE;;;;IAI/F,SAAS;OACN,CAAC;IACN,CAAC;IAEO,kBAAkB,CAAC,IAAkB;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;;iCAEpB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;qDACA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI;iCACtI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC;UAC/C,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,2DAA2D,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gCAC3F,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC;;KAE1D,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC1C,6BAA6B,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,kBAAkB,CAC/G,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEX,OAAO;;;gCAGqB,IAAI,CAAC,EAAE;;;cAGzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;+CACM,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;wCACtC,IAAI,CAAC,IAAI;;8BAEnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;;;qCAG1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;;;;;uDAKb,IAAI,CAAC,UAAU,CAAC,MAAM;;QAErE,cAAc;;;;;gCAKU,UAAU;;OAEnC,CAAC;IACN,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,MAAsB;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QACzC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAmDwB,SAAS,CAAC,UAAU;iCACtB,SAAS,CAAC,QAAQ;iCAClB,SAAS,CAAC,QAAQ;iCAClB,SAAS,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA4PxC,CAAC;IACV,CAAC;IAGO,sBAAsB,CAAC,CAAkB;QAC/C,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE;YACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAAE,OAAO,WAAW,CAAC;YACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,OAAO,WAAW,CAAC;YACvI,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAE,OAAO,iBAAiB,CAAC;YACxD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,WAAW,CAAC;YAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAAE,OAAO,WAAW,CAAC;YACnD,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE;YACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAAE,OAAO,cAAc,CAAC;YACzD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAE,OAAO,YAAY,CAAC;YACnD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAAE,OAAO,YAAY,CAAC;YACpD,OAAO,aAAa,CAAC;QACvB,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE;YACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAAE,OAAO,SAAS,CAAC;YACpD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAE,OAAO,SAAS,CAAC;YAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAAE,OAAO,SAAS,CAAC;YACjD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEF,iBAAiB;QACjB,MAAM,WAAW,GAAG,CAAC,MAAc,EAAU,EAAE;YAC7C,MAAM,GAAG,GAAmE;gBAC1E,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE;gBACtD,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC3D,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE;gBACxD,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;aAC5D,CAAC;YACF,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO,sDAAsD,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,SAAS,CAAC;QACvJ,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,MAAc,EAAU,EAAE;YAC9C,MAAM,GAAG,GAA2B;gBAClC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS;aACjF,CAAC;YACF,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;QAClC,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC3C,sEAAsE,CAAC,CAAC,IAAI;qDAC7B,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,kCAAkC,CAAC,CAAC,IAAI;8DACrE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;2CACzC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;;8CAEb,CAAC,CAAC,IAAI;2DACO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;cACpF,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,WAAW,SAAS,CAAC,CAAC,CAAC,EAAE;;YAEhF,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;;;eAGlB,CACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,QAAQ,GAAG,CAAC,IAA4D,EAAE,IAAY,EAAE,IAAY,EAAU,EAAE,CACpH,wDAAwD,IAAI;qDACb,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,IAAI,gBAAgB,IAAI,CAAC,IAAI;8DAC5E,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;4CAC3C,IAAI;;8CAEF,IAAI,CAAC,IAAI;cACzC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,mCAAmC,IAAI,CAAC,WAAW,SAAS,CAAC,CAAC,CAAC,EAAE;;YAEtF,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;;;eAGrB,CAAC;QAEZ,MAAM,SAAS,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1F,MAAM,UAAU,GAAG,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnG,MAAM,aAAa,GAAG,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnG,MAAM,UAAU,GAAG,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAC5C;2FACqF,EAAE,CAAC,MAAM;8DACtC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC;;;8CAGvC,EAAE,CAAC,IAAI;oEACe,EAAE,CAAC,WAAW;;YAEtE,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC;;;eAGnB,CACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;;;UAIjE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC7C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;YACvG,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACzE,OAAO,gCAAgC,GAAG;uCACb,IAAI;;yCAEF,CAAC,CAAC,WAAW;gBACtC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,UAAU,SAAS,CAAC,CAAC,CAAC,EAAE;;iBAEjF,CAAC;QACV,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;WAEV,CAAC,CAAC,CAAC,EAAE,CAAC;QAEb,MAAM,UAAU,GAAG;YACjB,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE;YAC9B,aAAa,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE;YAC7F,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,uBAAuB;YAC5E,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CAAC;QAEF,MAAM,UAAU,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;QAE1J,wBAAwB;QACxB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAC5G,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;QACnE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QACvE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QAEvE,OAAO;;;;;MAKL,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;;;;yGAI2B,SAAS;2GACP,WAAW;wGACd,WAAW;;;;;;oEAM/C,UAAU;;;;;MAKxE,UAAU;;;;;;uCAMuB,SAAS;;;;uCAIT,UAAU;;;;uCAIV,aAAa;;;;;;MAM9C,UAAU;;;IAGZ,YAAY;;;;;;;;;+DAS+C,CAAC,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAmDrD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;qBACxD,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;WAyBpB,CAAC;IACV,CAAC;IAEO,SAAS;QACf,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAsXF,CAAC;IACR,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@girardelli/architect",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "type": "module",
5
5
  "description": "AI-powered architecture analysis for Claude Code",
6
6
  "author": {
@@ -1,4 +1,4 @@
1
- import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from 'fs';
1
+ import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync, statSync } from 'fs';
2
2
  import { join } from 'path';
3
3
  import { AnalysisReport, RefactoringPlan } from './types.js';
4
4
 
@@ -28,17 +28,29 @@ export interface AgentAuditFinding {
28
28
  suggestion?: string;
29
29
  }
30
30
 
31
+ /**
32
+ * Status of each agent system item relative to existing .agent/ directory.
33
+ */
34
+ export type AgentItemStatus = 'KEEP' | 'MODIFY' | 'CREATE' | 'DELETE';
35
+
36
+ export interface AgentItem {
37
+ name: string;
38
+ status: AgentItemStatus;
39
+ reason?: string;
40
+ description?: string;
41
+ }
42
+
31
43
  /**
32
44
  * Result from suggest() — no files written, just recommendations.
33
45
  */
34
46
  export interface AgentSuggestion {
35
47
  stack: StackInfo;
36
48
  hasExistingAgents: boolean;
37
- suggestedAgents: string[];
38
- suggestedRules: string[];
39
- suggestedGuards: string[];
40
- suggestedWorkflows: string[];
41
- suggestedSkills: { name: string; source: string; description: string }[];
49
+ suggestedAgents: AgentItem[];
50
+ suggestedRules: AgentItem[];
51
+ suggestedGuards: AgentItem[];
52
+ suggestedWorkflows: AgentItem[];
53
+ suggestedSkills: { name: string; source: string; description: string; status: AgentItemStatus }[];
42
54
  audit: AgentAuditFinding[];
43
55
  command: string;
44
56
  }
@@ -67,74 +79,187 @@ export class AgentGenerator {
67
79
  const agentDir = join(projectPath, '.agent');
68
80
  const isExisting = existsSync(agentDir);
69
81
 
70
- const suggestedAgents: string[] = [];
71
- // Always suggest core agents
72
- suggestedAgents.push('AGENT-ORCHESTRATOR');
73
- if (this.stack.hasBackend) suggestedAgents.push(`${this.stack.primary.toUpperCase()}-BACKEND-DEVELOPER`);
82
+ // Helper: scan existing files in a subdirectory
83
+ const existingFiles = (subdir: string): Set<string> => {
84
+ const dir = join(agentDir, subdir);
85
+ if (!existsSync(dir)) return new Set();
86
+ return new Set(readdirSync(dir).map(f => f.replace(/\.md$/, '')));
87
+ };
88
+
89
+ // Helper: determine status for an item
90
+ const itemStatus = (name: string, existingSet: Set<string>, auditFindings: AgentAuditFinding[]): AgentItemStatus => {
91
+ // Check if a matching file exists (case-insensitive comparison)
92
+ const found = [...existingSet].some(e => e.toLowerCase() === name.toLowerCase());
93
+ if (!found) return 'CREATE';
94
+
95
+ // Exists — check if audit flagged it for improvement
96
+ const hasImprovement = auditFindings.some(
97
+ f => f.file.toLowerCase().includes(name.toLowerCase()) && (f.type === 'IMPROVEMENT' || f.type === 'OUTDATED')
98
+ );
99
+ return hasImprovement ? 'MODIFY' : 'KEEP';
100
+ };
101
+
102
+ // Build suggested agents with descriptions
103
+ const agentDefs: { name: string; desc: string }[] = [
104
+ { name: 'AGENT-ORCHESTRATOR', desc: 'Coordena todos os agentes, decompõe requisições e consolida entregas' },
105
+ ];
106
+ if (this.stack.hasBackend) agentDefs.push({
107
+ name: `${this.stack.primary.toUpperCase()}-BACKEND-DEVELOPER`,
108
+ desc: `Especialista em arquitetura ${this.stack.primary}, APIs, serviços e lógica de negócio`,
109
+ });
74
110
  if (this.stack.hasFrontend) {
75
111
  const fw = this.stack.frameworks.find(f =>
76
112
  ['Angular', 'Vue', 'Next.js', 'React'].includes(f)) || 'FRONTEND';
77
- suggestedAgents.push(`${fw.toUpperCase().replace('.', '')}-FRONTEND-DEVELOPER`);
113
+ agentDefs.push({
114
+ name: `${fw.toUpperCase().replace('.', '')}-FRONTEND-DEVELOPER`,
115
+ desc: `Desenvolve componentes ${fw}, gerencia estado e garante UX responsiva`,
116
+ });
117
+ }
118
+ if (this.stack.hasMobile) agentDefs.push({
119
+ name: 'FLUTTER-UI-DEVELOPER',
120
+ desc: 'Screens mobile, widgets, navegação e integração com APIs',
121
+ });
122
+ if (this.stack.hasDatabase) agentDefs.push({
123
+ name: 'DATABASE-ENGINEER',
124
+ desc: 'Schema design, migrations, indexação e performance de queries',
125
+ });
126
+ agentDefs.push(
127
+ { name: 'SECURITY-AUDITOR', desc: 'Análise de ameaças, compliance LGPD/OWASP e prevenção de vulnerabilidades' },
128
+ { name: 'QA-TEST-ENGINEER', desc: 'Planos de teste, cobertura mínima, BDD/TDD e testes de regressão' },
129
+ { name: 'TECH-DEBT-CONTROLLER', desc: 'Controle de débito técnico, priorização de refatorações e metas de score' },
130
+ );
131
+
132
+ const ruleDefs: { name: string; desc: string }[] = [
133
+ { name: '00-general', desc: 'Convenções de código, nomenclatura, commits e princípios gerais' },
134
+ { name: '01-architecture', desc: 'Separação de camadas, dependency rules e padrões de módulo' },
135
+ { name: '02-security', desc: 'Sanitização de inputs, secrets management e validação de dados' },
136
+ ];
137
+ if (this.stack.hasBackend) ruleDefs.push({
138
+ name: `03-${this.stack.primary.toLowerCase()}`,
139
+ desc: `Padrões específicos de ${this.stack.primary}: framework conventions e anti-patterns`,
140
+ });
141
+
142
+ const guardDefs: { name: string; desc: string }[] = [
143
+ { name: 'PREFLIGHT', desc: 'Checklist pré-ação: branch, build, testes antes de qualquer mudança' },
144
+ { name: 'QUALITY-GATES', desc: 'Score mínimo, cobertura, zero warnings e critérios de merge' },
145
+ { name: 'CODE-REVIEW-CHECKLIST', desc: 'Pontos obrigatórios de revisão: segurança, performance, legibilidade' },
146
+ ];
147
+
148
+ const workflowDefs: { name: string; desc: string }[] = [
149
+ { name: 'develop', desc: 'Fluxo completo: branch → mockup → spec → code → test → review → merge' },
150
+ { name: 'fix-bug', desc: 'Diagnóstico → reprodução → root cause → fix → teste de regressão' },
151
+ { name: 'review', desc: 'Code review estruturado com checklist de qualidade e segurança' },
152
+ ];
153
+
154
+ // Run audit first to inform status
155
+ let audit: AgentAuditFinding[] = [];
156
+ if (isExisting) {
157
+ audit = this.auditExisting(agentDir);
158
+ }
159
+
160
+ // Get existing files
161
+ const existingAgents = existingFiles('agents');
162
+ const existingRules = existingFiles('rules');
163
+ const existingGuards = existingFiles('guards');
164
+ const existingWorkflows = existingFiles('workflows');
165
+ const existingSkillsDir = join(agentDir, 'skills');
166
+ const existingSkillNames = existsSync(existingSkillsDir)
167
+ ? new Set(readdirSync(existingSkillsDir).filter(f => {
168
+ try { return statSync(join(existingSkillsDir, f)).isDirectory(); } catch { return false; }
169
+ }))
170
+ : new Set<string>();
171
+
172
+ // Build items with status and description
173
+ const suggestedAgents: AgentItem[] = agentDefs.map(({ name, desc }) => ({
174
+ name,
175
+ status: itemStatus(name, existingAgents, audit),
176
+ description: desc,
177
+ }));
178
+
179
+ // Detect files that exist but are NOT suggested → KEEP (custom)
180
+ for (const existing of existingAgents) {
181
+ if (!agentDefs.some(d => d.name.toLowerCase() === existing.toLowerCase())) {
182
+ suggestedAgents.push({ name: existing, status: 'KEEP', reason: 'Custom agent', description: 'Agente customizado do projeto' });
183
+ }
184
+ }
185
+
186
+ const suggestedRules: AgentItem[] = ruleDefs.map(({ name, desc }) => ({
187
+ name,
188
+ status: itemStatus(name, existingRules, audit),
189
+ description: desc,
190
+ }));
191
+ for (const existing of existingRules) {
192
+ if (!ruleDefs.some(d => d.name.toLowerCase() === existing.toLowerCase())) {
193
+ suggestedRules.push({ name: existing, status: 'KEEP', reason: 'Custom rule', description: 'Regra customizada do projeto' });
194
+ }
78
195
  }
79
- if (this.stack.hasMobile) suggestedAgents.push('FLUTTER-UI-DEVELOPER');
80
- if (this.stack.hasDatabase) suggestedAgents.push('DATABASE-ENGINEER');
81
- suggestedAgents.push('SECURITY-AUDITOR', 'QA-TEST-ENGINEER', 'TECH-DEBT-CONTROLLER');
82
-
83
- const suggestedRules = ['00-general', '01-architecture', '02-security'];
84
- if (this.stack.hasBackend) suggestedRules.push(`03-${this.stack.primary.toLowerCase()}`);
85
-
86
- const suggestedGuards = ['PREFLIGHT', 'QUALITY-GATES', 'CODE-REVIEW-CHECKLIST'];
87
- const suggestedWorkflows = ['develop', 'fix-bug', 'review'];
88
-
89
- // Skills from skills.sh — mapped to detected stack
90
- const suggestedSkills: { name: string; source: string; description: string }[] = [
91
- // Universal skills
92
- { name: 'test-driven-development', source: 'anthropic/courses/test-driven-development', description: 'TDD workflow: Red → Green → Refactor' },
93
- { name: 'systematic-debugging', source: 'anthropic/courses/systematic-debugging', description: 'Structured debugging methodology' },
94
- { name: 'code-review', source: 'anthropic/courses/requesting-code-review', description: 'Code review best practices' },
95
- { name: 'security-best-practices', source: 'anthropic/courses/security-best-practices', description: 'Security patterns and vulnerability prevention' },
96
- { name: 'performance-optimization', source: 'anthropic/courses/performance-optimization', description: 'Performance analysis and optimization' },
97
- { name: 'git-workflow', source: 'anthropic/courses/git-workflow', description: 'Git branching, commits, and collaboration' },
196
+
197
+ const suggestedGuards: AgentItem[] = guardDefs.map(({ name, desc }) => ({
198
+ name,
199
+ status: itemStatus(name, existingGuards, audit),
200
+ description: desc,
201
+ }));
202
+
203
+ const suggestedWorkflows: AgentItem[] = workflowDefs.map(({ name, desc }) => ({
204
+ name,
205
+ status: itemStatus(name, existingWorkflows, audit),
206
+ description: desc,
207
+ }));
208
+ for (const existing of existingWorkflows) {
209
+ if (!workflowDefs.some(d => d.name.toLowerCase() === existing.toLowerCase())) {
210
+ suggestedWorkflows.push({ name: existing, status: 'KEEP', reason: 'Custom workflow', description: 'Workflow customizado do projeto' });
211
+ }
212
+ }
213
+
214
+ // Skills
215
+ const skillEntries: { name: string; source: string; description: string; status: AgentItemStatus }[] = [
216
+ { name: 'test-driven-development', source: 'anthropic/courses/test-driven-development', description: 'TDD workflow: Red → Green → Refactor', status: 'CREATE' as AgentItemStatus },
217
+ { name: 'systematic-debugging', source: 'anthropic/courses/systematic-debugging', description: 'Structured debugging methodology', status: 'CREATE' as AgentItemStatus },
218
+ { name: 'code-review', source: 'anthropic/courses/requesting-code-review', description: 'Code review best practices', status: 'CREATE' as AgentItemStatus },
219
+ { name: 'security-best-practices', source: 'anthropic/courses/security-best-practices', description: 'Security patterns and vulnerability prevention', status: 'CREATE' as AgentItemStatus },
220
+ { name: 'performance-optimization', source: 'anthropic/courses/performance-optimization', description: 'Performance analysis and optimization', status: 'CREATE' as AgentItemStatus },
221
+ { name: 'git-workflow', source: 'anthropic/courses/git-workflow', description: 'Git branching, commits, and collaboration', status: 'CREATE' as AgentItemStatus },
98
222
  ];
99
223
 
100
- // Stack-specific
101
224
  if (this.stack.languages.includes('TypeScript') || this.stack.languages.includes('JavaScript')) {
102
- suggestedSkills.push(
103
- { name: 'next-best-practices', source: 'vercel-labs/skills/next-best-practices', description: 'Next.js patterns and performance' },
104
- { name: 'api-design-principles', source: 'anthropic/courses/api-design-principles', description: 'REST/GraphQL API design' },
225
+ skillEntries.push(
226
+ { name: 'next-best-practices', source: 'vercel-labs/skills/next-best-practices', description: 'Next.js patterns and performance', status: 'CREATE' as AgentItemStatus },
227
+ { name: 'api-design-principles', source: 'anthropic/courses/api-design-principles', description: 'REST/GraphQL API design', status: 'CREATE' as AgentItemStatus },
105
228
  );
106
229
  }
107
230
  if (this.stack.frameworks.includes('Angular') || this.stack.frameworks.includes('Vue') || this.stack.frameworks.includes('React') || this.stack.frameworks.includes('Next.js')) {
108
- suggestedSkills.push(
109
- { name: 'frontend-design', source: 'anthropic/courses/frontend-design', description: 'Modern frontend patterns and UI/UX' },
110
- { name: 'web-accessibility', source: 'anthropic/courses/web-accessibility', description: 'WCAG accessibility standards' },
111
- { name: 'ui-ux-pro-max', source: 'anthropic/courses/ui-ux-pro-max', description: '50 styles, 21 palettes, 50 font pairings' },
231
+ skillEntries.push(
232
+ { name: 'frontend-design', source: 'anthropic/courses/frontend-design', description: 'Modern frontend patterns and UI/UX', status: 'CREATE' as AgentItemStatus },
233
+ { name: 'web-accessibility', source: 'anthropic/courses/web-accessibility', description: 'WCAG accessibility standards', status: 'CREATE' as AgentItemStatus },
234
+ { name: 'ui-ux-pro-max', source: 'anthropic/courses/ui-ux-pro-max', description: '50 styles, 21 palettes, 50 font pairings', status: 'CREATE' as AgentItemStatus },
112
235
  );
113
236
  }
114
237
  if (this.stack.frameworks.includes('Vue')) {
115
- suggestedSkills.push(
116
- { name: 'vue-best-practices', source: 'anthropic/courses/vue-best-practices', description: 'Vue.js composition API and patterns' },
238
+ skillEntries.push(
239
+ { name: 'vue-best-practices', source: 'anthropic/courses/vue-best-practices', description: 'Vue.js composition API and patterns', status: 'CREATE' as AgentItemStatus },
117
240
  );
118
241
  }
119
242
  if (this.stack.languages.includes('Dart') || this.stack.frameworks.includes('Flutter')) {
120
- suggestedSkills.push(
121
- { name: 'flutter-animations', source: 'anthropic/courses/flutter-animations', description: 'Flutter animation patterns' },
243
+ skillEntries.push(
244
+ { name: 'flutter-animations', source: 'anthropic/courses/flutter-animations', description: 'Flutter animation patterns', status: 'CREATE' as AgentItemStatus },
122
245
  );
123
246
  }
124
247
  if (this.stack.languages.includes('Python')) {
125
- suggestedSkills.push(
126
- { name: 'python-performance', source: 'anthropic/courses/python-performance-optimization', description: 'Python optimization and profiling' },
248
+ skillEntries.push(
249
+ { name: 'python-performance', source: 'anthropic/courses/python-performance-optimization', description: 'Python optimization and profiling', status: 'CREATE' as AgentItemStatus },
127
250
  );
128
251
  }
129
252
  if (this.stack.hasDatabase) {
130
- suggestedSkills.push(
131
- { name: 'database-schema-design', source: 'anthropic/courses/database-schema-design', description: 'Schema design, indexing, migrations' },
253
+ skillEntries.push(
254
+ { name: 'database-schema-design', source: 'anthropic/courses/database-schema-design', description: 'Schema design, indexing, migrations', status: 'CREATE' as AgentItemStatus },
132
255
  );
133
256
  }
134
257
 
135
- let audit: AgentAuditFinding[] = [];
136
- if (isExisting) {
137
- audit = this.auditExisting(agentDir);
258
+ // Update skill status based on existing skills directory
259
+ for (const skill of skillEntries) {
260
+ if (existingSkillNames.has(skill.name)) {
261
+ skill.status = 'KEEP';
262
+ }
138
263
  }
139
264
 
140
265
  return {
@@ -144,7 +269,7 @@ export class AgentGenerator {
144
269
  suggestedRules,
145
270
  suggestedGuards,
146
271
  suggestedWorkflows,
147
- suggestedSkills,
272
+ suggestedSkills: skillEntries,
148
273
  audit,
149
274
  command: `architect agents ${projectPath}`,
150
275
  };
package/src/cli.ts CHANGED
@@ -29,6 +29,45 @@ interface CliOptions {
29
29
  output?: string;
30
30
  }
31
31
 
32
+ /**
33
+ * CLI Progress Logger — mostra estágio atual e tempo decorrido
34
+ * Usa output síncrono (console.log) porque as operações do Architect bloqueiam o event loop.
35
+ */
36
+ class ProgressLogger {
37
+ private startTime: number;
38
+ private stageStart: number;
39
+ private currentStage = '';
40
+
41
+ constructor() {
42
+ this.startTime = Date.now();
43
+ this.stageStart = Date.now();
44
+ }
45
+
46
+ start(stage: string): void {
47
+ this.currentStage = stage;
48
+ this.stageStart = Date.now();
49
+ // Print immediately so user sees it BEFORE the blocking operation
50
+ console.log(`⏳ ${stage}`);
51
+ }
52
+
53
+ complete(message?: string): void {
54
+ const elapsed = ((Date.now() - this.stageStart) / 1000).toFixed(1);
55
+ const total = ((Date.now() - this.startTime) / 1000).toFixed(1);
56
+ const displayMsg = message || this.currentStage;
57
+ console.log(`✅ ${displayMsg} (${elapsed}s | total: ${total}s)`);
58
+ }
59
+
60
+ fail(message: string): void {
61
+ const elapsed = ((Date.now() - this.stageStart) / 1000).toFixed(1);
62
+ console.log(`⚠️ ${message} (${elapsed}s)`);
63
+ }
64
+
65
+ summary(lines: string[]): void {
66
+ const total = ((Date.now() - this.startTime) / 1000).toFixed(1);
67
+ console.log(`\n⏱️ Completed in ${total}s`);
68
+ lines.forEach(l => console.log(l));
69
+ }
70
+ }
32
71
  function parseArgs(args: string[]): CliOptions {
33
72
  const command = args[0] || 'analyze';
34
73
  const pathArg = args.find((a) => !a.startsWith('--') && a !== command) || '.';
@@ -87,44 +126,59 @@ async function main(): Promise<void> {
87
126
  try {
88
127
  switch (options.command) {
89
128
  case 'analyze': {
129
+ const progress = new ProgressLogger();
130
+
131
+ progress.start('Scanning files & analyzing architecture...');
90
132
  const report = await architect.analyze(options.path);
133
+ progress.complete(`Scanned ${report.projectInfo.totalFiles} files (${report.projectInfo.totalLines.toLocaleString()} lines)`);
134
+
135
+ progress.start('Generating refactoring plan...');
91
136
  const plan = architect.refactor(report, options.path);
137
+ progress.complete(`Refactoring plan: ${plan.steps.length} steps, ${plan.totalOperations} operations`);
138
+
139
+ progress.start('Analyzing agent system...');
92
140
  const agentSuggestion = architect.suggestAgents(report, plan, options.path);
141
+ progress.complete(`Agents: ${agentSuggestion.suggestedAgents.length} suggested${agentSuggestion.hasExistingAgents ? ' (existing .agent/ audited)' : ''}`);
142
+
93
143
  const projectName = report.projectInfo.name || basename(options.path);
94
144
 
95
145
  if (options.format === 'html') {
146
+ progress.start('Building HTML report...');
96
147
  const htmlGenerator = new HtmlReportGenerator();
97
148
  const html = htmlGenerator.generateHtml(report, plan, agentSuggestion);
98
149
  const outputPath = options.output || `architect-report-${projectName}.html`;
99
150
  writeFileSync(outputPath, html);
100
- console.log(`✅ HTML report saved to: ${outputPath}`);
101
- console.log(`📊 Score: ${report.score.overall}/100`);
102
- console.log(`⚠️ Anti-patterns: ${report.antiPatterns.length}`);
103
- console.log(`🔧 Refactoring steps: ${plan.steps.length}`);
104
- console.log(`🤖 Suggested agents: ${agentSuggestion.suggestedAgents.length}`);
151
+ progress.complete(`HTML report saved: ${outputPath}`);
105
152
  } else if (options.format === 'markdown') {
153
+ progress.start('Building Markdown report...');
106
154
  const mdGenerator = new ReportGenerator();
107
155
  const markdown = mdGenerator.generateMarkdownReport(report);
108
156
  const outputPath = options.output || `architect-report-${projectName}.md`;
109
157
  writeFileSync(outputPath, markdown);
110
- console.log(`✅ Markdown report saved to: ${outputPath}`);
158
+ progress.complete(`Markdown report saved: ${outputPath}`);
111
159
  } else {
160
+ progress.start('Building JSON report...');
112
161
  const outputPath = options.output || `architect-report-${projectName}.json`;
113
162
  writeFileSync(outputPath, JSON.stringify({ report, plan, agentSuggestion }, null, 2));
114
- console.log(`✅ JSON report saved to: ${outputPath}`);
163
+ progress.complete(`JSON report saved: ${outputPath}`);
115
164
  }
116
165
 
117
- // Print summary to console
118
- console.log(`\n═══════════════════════════════════════`);
119
- console.log(` SCORE: ${report.score.overall}/100`);
120
- console.log(`═══════════════════════════════════════`);
121
- console.log(`├─ Modularity: ${report.score.breakdown.modularity}`);
122
- console.log(`├─ Coupling: ${report.score.breakdown.coupling}`);
123
- console.log(`├─ Cohesion: ${report.score.breakdown.cohesion}`);
124
- console.log(`└─ Layering: ${report.score.breakdown.layering}`);
125
- console.log(`\n📁 Files: ${report.projectInfo.totalFiles} | 📝 Lines: ${report.projectInfo.totalLines.toLocaleString()}`);
126
- console.log(`⚠️ Anti-patterns: ${report.antiPatterns.length}`);
127
- console.log(`🤖 Agents: ${agentSuggestion.suggestedAgents.length} suggested | ${agentSuggestion.hasExistingAgents ? 'Existing .agent/ audited' : 'No .agent/ found'}`);
166
+ // Print summary
167
+ progress.summary([
168
+ ``,
169
+ `═══════════════════════════════════════`,
170
+ ` SCORE: ${report.score.overall}/100`,
171
+ `═══════════════════════════════════════`,
172
+ `├─ Modularity: ${report.score.breakdown.modularity}`,
173
+ `├─ Coupling: ${report.score.breakdown.coupling}`,
174
+ `├─ Cohesion: ${report.score.breakdown.cohesion}`,
175
+ `└─ Layering: ${report.score.breakdown.layering}`,
176
+ ``,
177
+ `📁 Files: ${report.projectInfo.totalFiles} | 📝 Lines: ${report.projectInfo.totalLines.toLocaleString()}`,
178
+ `⚠️ Anti-patterns: ${report.antiPatterns.length}`,
179
+ `🔧 Refactoring: ${plan.steps.length} steps (${plan.totalOperations} ops)`,
180
+ `🤖 Agents: ${agentSuggestion.suggestedAgents.length} suggested`,
181
+ ]);
128
182
  break;
129
183
  }
130
184