flowsquire 1.0.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AAEA,4CAA6C;AAC7C,gEAAyD;AACzD,4CAA0D;AAE1D,mCAAoC;AACpC,gDAAkG;AAClG,0DAA0E;AAC1E,wDAAgC;AAChC,gDAAwB;AACxB,4CAAoB;AACpB,2DAA6B;AAE7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,KAAK,UAAU,IAAI;IACjB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO;YACV,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM;QACR,KAAK,MAAM;YACT,MAAM,iBAAiB,EAAE,CAAC;YAC1B,MAAM;QACR,KAAK,OAAO;YACV,MAAM,SAAS,EAAE,CAAC;YAClB,MAAM;QACR,KAAK,KAAK;YACR,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM;QACR;YACE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;CAiBjB,CAAC,CAAC;IACD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAEjD,sBAAsB;IACtB,MAAM,IAAA,uBAAY,GAAE,CAAC;IAErB,qBAAqB;IACrB,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAe,GAAE,CAAC;IAEtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;QAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,MAAM,YAAY,CAAC,CAAC;IAEnD,qBAAqB;IACrB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,6BAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IAEtB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IAEtE,MAAM,IAAA,uBAAY,GAAE,CAAC;IAErB,wBAAwB;IACxB,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAU,GAAE,CAAC;IAElC,yDAAyD;IACzD,MAAM,aAAa,GAAG,MAAM,IAAA,0BAAe,GAAE,CAAC;IAC9C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,yCAAyC;QACzC,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,wCAAwC;IACxC,MAAM,WAAW,GAAG,MAAM,IAAA,qBAAU,GAAE,CAAC;IAEvC,yDAAyD;IACzD,4DAA4D;IAC5D,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC;IAErE,MAAM,eAAe,GAAG;QACtB,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,6BAA6B;QACxF,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,2BAA2B;QAClF,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,0BAA0B;QAC/E,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,wBAAwB;QACzE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,2BAA2B;KACnF,CAAC;IAEF,+EAA+E;IAC/E,MAAM,uBAAuB,GAAS;QACpC,EAAE,EAAE,IAAA,mBAAU,GAAE;QAChB,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,aAAa,CAAC;QAC3C,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;SAClC;QACD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACvD,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;SAC/D;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE;oBACN,WAAW,EAAE,eAAe,CAAC,UAAU;oBACvC,OAAO,EAAE,uBAAuB;oBAChC,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE;wBACR,OAAO,EAAE,QAAQ;wBACjB,eAAe,EAAE,IAAI;qBACtB;iBACF;aACF;SACF;QACD,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;IAEF,sCAAsC;IACtC,MAAM,WAAW,GAAS;QACxB,EAAE,EAAE,IAAA,mBAAU,GAAE;QAChB,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC;QACnC,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;SAClC;QACD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACvD,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;SAChE;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACN,WAAW,EAAE,eAAe,CAAC,QAAQ;oBACrC,OAAO,EAAE,6BAA6B;oBACtC,UAAU,EAAE,IAAI;iBACjB;aACF;SACF;QACD,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;IAEF,6CAA6C;IAC7C,MAAM,QAAQ,GAAS;QACrB,EAAE,EAAE,IAAA,mBAAU,GAAE;QAChB,IAAI,EAAE,8BAA8B;QACpC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC;QAC7C,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;SAClC;QACD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACvD,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;SAC7D;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACN,WAAW,EAAE,eAAe,CAAC,OAAO;oBACpC,OAAO,EAAE,wBAAwB;oBACjC,UAAU,EAAE,IAAI;iBACjB;aACF;SACF;QACD,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;IAEF,4CAA4C;IAC5C,MAAM,SAAS,GAAS;QACtB,EAAE,EAAE,IAAA,mBAAU,GAAE;QAChB,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC;QAC1C,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;SAClC;QACD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACvD,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;SAC9D;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACN,WAAW,EAAE,eAAe,CAAC,KAAK;oBAClC,OAAO,EAAE,6BAA6B;oBACtC,UAAU,EAAE,IAAI;iBACjB;aACF;SACF;QACD,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;IAEF,wDAAwD;IACxD,MAAM,cAAc,GAAS;QAC3B,EAAE,EAAE,IAAA,mBAAU,GAAE;QAChB,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;QACxB,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;SAClC;QACD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;SACxD;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACN,WAAW,EAAE,eAAe,CAAC,QAAQ;oBACrC,UAAU,EAAE,IAAI;iBACjB;aACF;SACF;QACD,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;IAEF,iBAAiB;IACjB,MAAM,IAAA,mBAAQ,EAAC,uBAAuB,CAAC,CAAC;IACxC,MAAM,IAAA,mBAAQ,EAAC,WAAW,CAAC,CAAC;IAC5B,MAAM,IAAA,mBAAQ,EAAC,QAAQ,CAAC,CAAC;IACzB,MAAM,IAAA,mBAAQ,EAAC,SAAS,CAAC,CAAC;IAC1B,MAAM,IAAA,mBAAQ,EAAC,cAAc,CAAC,CAAC;IAE/B,0CAA0C;IAC1C,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;IACzF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;IACzF,CAAC;IAED,iFAAiF;IACjF,oEAAoE;IAEpE,MAAM,YAAY,GAAG;QACnB,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,sBAAsB;QACpE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,UAAU;QACxD,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;QACrD,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,sBAAsB;QACxE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,uBAAuB;QAC3E,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,wBAAwB;QAC9E,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB;KAC7D,CAAC;IAEF,yCAAyC;IACzC,MAAM,UAAU,GAAS;QACvB,EAAE,EAAE,IAAA,mBAAU,GAAE;QAChB,IAAI,EAAE,8BAA8B;QACpC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC;QAC1C,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;SAClC;QACD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;SAC3F;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACN,WAAW,EAAE,YAAY,CAAC,MAAM;oBAChC,UAAU,EAAE,IAAI;iBACjB;aACF;SACF;QACD,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;IAEF,yCAAyC;IACzC,MAAM,UAAU,GAAS;QACvB,EAAE,EAAE,IAAA,mBAAU,GAAE;QAChB,IAAI,EAAE,8BAA8B;QACpC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC;QAC1C,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;SAClC;QACD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;SAC3E;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACN,WAAW,EAAE,YAAY,CAAC,MAAM;oBAChC,UAAU,EAAE,IAAI;iBACjB;aACF;SACF;QACD,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;IAEF,wCAAwC;IACxC,MAAM,SAAS,GAAS;QACtB,EAAE,EAAE,IAAA,mBAAU,GAAE;QAChB,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC;QACzC,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;SAClC;QACD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;SAC5E;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACN,WAAW,EAAE,YAAY,CAAC,KAAK;oBAC/B,UAAU,EAAE,IAAI;iBACjB;aACF;SACF;QACD,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;IAEF,2CAA2C;IAC3C,MAAM,YAAY,GAAS;QACzB,EAAE,EAAE,IAAA,mBAAU,GAAE;QAChB,IAAI,EAAE,gCAAgC;QACtC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC;QAC5C,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;SAClC;QACD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE;SAChF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACN,WAAW,EAAE,YAAY,CAAC,QAAQ;oBAClC,UAAU,EAAE,IAAI;iBACjB;aACF;SACF;QACD,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;IAEF,6CAA6C;IAC7C,MAAM,aAAa,GAAS;QAC1B,EAAE,EAAE,IAAA,mBAAU,GAAE;QAChB,IAAI,EAAE,iCAAiC;QACvC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC;QAC7C,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;SAClC;QACD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE;SAC1G;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACN,WAAW,EAAE,YAAY,CAAC,SAAS;oBACnC,UAAU,EAAE,IAAI;iBACjB;aACF;SACF;QACD,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;IAEF,8CAA8C;IAC9C,MAAM,cAAc,GAAS;QAC3B,EAAE,EAAE,IAAA,mBAAU,GAAE;QAChB,IAAI,EAAE,kCAAkC;QACxC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC;QAC9C,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;SAClC;QACD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;SAC3E;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACN,WAAW,EAAE,YAAY,CAAC,UAAU;oBACpC,UAAU,EAAE,IAAI;iBACjB;aACF;SACF;QACD,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;IAEF,8CAA8C;IAC9C,MAAM,QAAQ,GAAS;QACrB,EAAE,EAAE,IAAA,mBAAU,GAAE;QAChB,IAAI,EAAE,kCAAkC;QACxC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;QACxC,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;SAClC;QACD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;SAC1H;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACN,WAAW,EAAE,YAAY,CAAC,IAAI;oBAC9B,UAAU,EAAE,IAAI;iBACjB;aACF;SACF;QACD,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;IAEF,qCAAqC;IACrC,MAAM,IAAA,mBAAQ,EAAC,UAAU,CAAC,CAAC;IAC3B,MAAM,IAAA,mBAAQ,EAAC,UAAU,CAAC,CAAC;IAC3B,MAAM,IAAA,mBAAQ,EAAC,SAAS,CAAC,CAAC;IAC1B,MAAM,IAAA,mBAAQ,EAAC,YAAY,CAAC,CAAC;IAC7B,MAAM,IAAA,mBAAQ,EAAC,aAAa,CAAC,CAAC;IAC9B,MAAM,IAAA,mBAAQ,EAAC,cAAc,CAAC,CAAC;IAC/B,MAAM,IAAA,mBAAQ,EAAC,QAAQ,CAAC,CAAC;IAEzB,0CAA0C;IAC1C,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;QACtF,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,SAAS,WAAW,CAAC,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAEjI,6CAA6C;IAC7C,MAAM,8BAA8B,CAAC,WAAW,CAAC,CAAC;IAElD,8DAA8D;IAC9D,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,kBAAQ,CAAC,eAAe,CAAC;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,2BAA2B,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QACrD,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,MAAM,IAAA,uBAAY,GAAE,CAAC;IACrB,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAe,GAAE,CAAC;IAEtC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,MAA0B;IAC/C,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;IACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAc;IAC/C,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAU,GAAE,CAAC;IAElC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,kBAAkB;QAClB,IAAA,0BAAe,EAAC,MAAM,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IAED,kBAAkB;IAClB,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEzB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzD,YAAY;gBACZ,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3B,CAAC,EAAE,CAAC,CAAC,iBAAiB;YACxB,CAAC;iBAAM,CAAC;gBACN,YAAY;gBACZ,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,cAAc,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,MAAM,IAAA,yBAAc,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC;QAE3C,uDAAuD;QACvD,IAAI,GAAG,KAAK,eAAe,IAAI,GAAG,KAAK,gBAAgB;YACnD,GAAG,KAAK,gBAAgB,IAAI,GAAG,KAAK,iBAAiB,EAAE,CAAC;YAC1D,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,kGAAkG,CAAC,CAAC;IAClH,CAAC;IAED,uCAAuC;IACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,kCAAkC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,mCAAmC,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;QAC7F,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;AACH,CAAC;AAED,iDAAiD;AACjD,SAAS,WAAW,CAAC,EAAsB,EAAE,QAAgB;IAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,yCAAyC;AACzC,KAAK,UAAU,mBAAmB,CAAC,MAAwB;IACzD,iDAAiD;IACjD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IAED,MAAM,EAAE,GAAG,kBAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QAEnE,oCAAoC;QACpC,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QAChD,MAAM,eAAe,GAAG,MAAM,WAAW,CACvC,EAAE,EACF,+CAA+C,gBAAgB,KAAK,CACrE,CAAC;QACF,IAAI,aAAa,GAAG,eAAe,IAAI,gBAAgB,CAAC;QAExD,6BAA6B;QAC7B,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,uCAAuC;QACvC,MAAM,iBAAiB,GAAG,cAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YACtD,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEhC,MAAM,IAAA,yBAAc,EAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,0BAA0B,iBAAiB,IAAI,CAAC,CAAC;QAE7D,0DAA0D;QAC1D,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QAChD,MAAM,eAAe,GAAG,MAAM,WAAW,CACvC,EAAE,EACF,yCAAyC,gBAAgB,KAAK,CAC/D,CAAC;QACF,IAAI,aAAa,GAAG,eAAe,IAAI,gBAAgB,CAAC;QAExD,6BAA6B;QAC7B,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,uCAAuC;QACvC,MAAM,iBAAiB,GAAG,cAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YACtD,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEhC,MAAM,IAAA,yBAAc,EAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,8BAA8B,iBAAiB,IAAI,CAAC,CAAC;QAEjE,oEAAoE;QACpE,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;QACpD,MAAM,iBAAiB,GAAG,MAAM,WAAW,CACzC,EAAE,EACF,yCAAyC,kBAAkB,KAAK,CACjE,CAAC;QACF,IAAI,eAAe,GAAG,iBAAiB,IAAI,kBAAkB,CAAC;QAE9D,6BAA6B;QAC7B,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;QAED,uCAAuC;QACvC,MAAM,mBAAmB,GAAG,cAAI,CAAC,UAAU,CAAC,eAAe,CAAC;YAC1D,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAElC,MAAM,IAAA,yBAAc,EAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,gCAAgC,mBAAmB,IAAI,CAAC,CAAC;QAErE,uCAAuC;QACvC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE5B,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAE/D,MAAM,IAAA,yBAAc,EAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,sCAAsC,aAAa,IAAI,CAAC,CAAC;QAErE,2CAA2C;QAC3C,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAE9C,MAAM,oBAAoB,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,yBAAyB,CAAC,CAAC;QAC9E,MAAM,cAAc,GAAG,oBAAoB,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACzC,oBAAoB,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAE7E,MAAM,IAAA,yBAAc,EAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,uCAAuC,cAAc,IAAI,CAAC,CAAC;QAEvE,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,yCAAyC;AACzC,KAAK,UAAU,2BAA2B,CAAC,EAAsB,EAAE,MAAwB;IACzF,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IAE7C,uBAAuB;IACvB,IAAI,aAAa,GAAa,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,aAAa,GAAG,OAAO;aACpB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aAC9D,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;QACzF,OAAO;IACT,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,gCAAgC,aAAa,CAAC,MAAM,WAAW,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAE3D,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,uBAAuB,CAAC,CAAC;IAEtE,IAAI,cAAc,KAAK,GAAG,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IAED,8BAA8B;IAC9B,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAe,GAAE,CAAC;IACtC,MAAM,OAAO,GAA+D,EAAE,CAAC;IAE/E,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,IAAA,kCAAiB,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC9B,wBAAwB;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;gBAC/F,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;gBAC/C,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACzC,0DAA0D;gBAC1D,IAAI,QAAgB,CAAC;gBACrB,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACxD,gDAAgD;oBAChD,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACnC,MAAM,IAAI,GAAG,cAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBAC1C,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,cAAc,GAAG,EAAE,CAAC,CAAC;gBACjE,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAC/C,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,QAAQ;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;IAClE,sBAAsB;IACtB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAClC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,MAAM,GAAG,EAAE,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,sCAAsC,CAAC,CAAC;IAEpF,IAAI,aAAa,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IAED,uBAAuB;IACvB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,IAAA,kCAAiB,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,IAAA,+BAAc,EAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACpD,YAAY,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,OAAO,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,OAAO,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,8BAA8B,YAAY,iBAAiB,SAAS,YAAY,CAAC,CAAC;AAChG,CAAC;AAED,6CAA6C;AAC7C,KAAK,UAAU,8BAA8B,CAAC,MAAwB;IACpE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAE7D,0DAA0D;IAC1D,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC;IAChE,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,IAAI,UAAU,CAAC;IAEpE,MAAM,sBAAsB,GAAG;QAC7B,SAAS,EAAE,YAAY;YACrB,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,kCAAkC;QACtC,KAAK,EAAE,YAAY;YACjB,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,8BAA8B;QAClC,MAAM,EAAE,YAAY;YAClB,CAAC,CAAC,sBAAsB;YACxB,CAAC,CAAC,+BAA+B;KACpC,CAAC;IAEF,wDAAwD;IACxD,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;QAClC,0DAA0D;QAC1D,MAAM,sBAAsB,GAAS;YACnC,EAAE,EAAE,IAAA,mBAAU,GAAE;YAChB,IAAI,EAAE,oCAAoC;YAC1C,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC;YAC7C,OAAO,EAAE;gBACP,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;aACpC;YACD,UAAU,EAAE;gBACV,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE;aACpF;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE;wBACN,WAAW,EAAE,GAAG,sBAAsB,CAAC,SAAS,iBAAiB;wBACjE,OAAO,EAAE,uCAAuC;wBAChD,UAAU,EAAE,IAAI;qBACjB;iBACF;aACF;YACD,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QACF,MAAM,IAAA,mBAAQ,EAAC,sBAAsB,CAAC,CAAC;QAEvC,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;QACxG,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,iGAAiG,CAAC,CAAC;QACjH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;IAEzF,CAAC;SAAM,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,yCAAyC;QACzC,MAAM,mBAAmB,GAAS;YAChC,EAAE,EAAE,IAAA,mBAAU,GAAE;YAChB,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC;YAC3C,OAAO,EAAE;gBACP,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;aACpC;YACD,UAAU,EAAE;gBACV,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE;aACpF;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE;wBACN,WAAW,EAAE,GAAG,sBAAsB,CAAC,KAAK,QAAQ;wBACpD,UAAU,EAAE,IAAI;qBACjB;iBACF;aACF;YACD,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QACF,MAAM,IAAA,mBAAQ,EAAC,mBAAmB,CAAC,CAAC;QAEpC,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAElE,CAAC;SAAM,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACxC,0CAA0C;QAC1C,MAAM,oBAAoB,GAAS;YACjC,EAAE,EAAE,IAAA,mBAAU,GAAE;YAChB,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC;YAC5C,OAAO,EAAE;gBACP,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;aACpC;YACD,UAAU,EAAE;gBACV,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE;aACpF;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE;wBACN,WAAW,EAAE,sBAAsB,CAAC,MAAM;wBAC1C,OAAO,EAAE,2BAA2B;wBACpC,UAAU,EAAE,IAAI;qBACjB;iBACF;aACF;YACD,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QACF,MAAM,IAAA,mBAAQ,EAAC,oBAAoB,CAAC,CAAC;QAErC,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;IAC/F,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;AAC7F,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
@@ -0,0 +1,36 @@
1
+ export interface FlowSquireConfig {
2
+ paths: {
3
+ downloads: string;
4
+ documents: string;
5
+ desktop: string;
6
+ pictures: string;
7
+ screenshots: string;
8
+ videos: string;
9
+ music: string;
10
+ home: string;
11
+ [key: string]: string;
12
+ };
13
+ settings: {
14
+ downloadsMode: 'nested' | 'system';
15
+ screenshotMode: 'metadata' | 'by-app' | 'by-date';
16
+ };
17
+ version: string;
18
+ }
19
+ export declare function loadConfig(): Promise<FlowSquireConfig>;
20
+ export declare function saveConfig(config: FlowSquireConfig): Promise<void>;
21
+ export declare function getConfigValue(key: string): Promise<string | undefined>;
22
+ export declare function setConfigValue(key: string, value: string): Promise<void>;
23
+ /**
24
+ * Replace template variables in a string with actual paths.
25
+ * Template variables are in the format {variableName}, e.g., {downloads}, {documents}
26
+ */
27
+ export declare function replaceTemplateVariables(template: string, config: FlowSquireConfig, metadata?: {
28
+ appName?: string;
29
+ domain?: string;
30
+ }): string;
31
+ /**
32
+ * Replace template variables in rule trigger and action configs
33
+ */
34
+ export declare function replaceVariablesInObject<T extends Record<string, unknown>>(obj: T, config: FlowSquireConfig): T;
35
+ export declare function listConfigPaths(config: FlowSquireConfig): void;
36
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,QAAQ,EAAE;QACR,aAAa,EAAE,QAAQ,GAAG,QAAQ,CAAC;QACnC,cAAc,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;KACnD,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;CACjB;AA4BD,wBAAsB,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAyB5D;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGxE;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAM7E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAa9E;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAgB7I;AAaD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxE,GAAG,EAAE,CAAC,EACN,MAAM,EAAE,gBAAgB,GACvB,CAAC,CAcH;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAa9D"}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.loadConfig = loadConfig;
7
+ exports.saveConfig = saveConfig;
8
+ exports.getConfigValue = getConfigValue;
9
+ exports.setConfigValue = setConfigValue;
10
+ exports.replaceTemplateVariables = replaceTemplateVariables;
11
+ exports.replaceVariablesInObject = replaceVariablesInObject;
12
+ exports.listConfigPaths = listConfigPaths;
13
+ const promises_1 = __importDefault(require("fs/promises"));
14
+ const path_1 = __importDefault(require("path"));
15
+ const os_1 = __importDefault(require("os"));
16
+ const DB_DIR = '.flowsquire';
17
+ const CONFIG_FILE = path_1.default.join(DB_DIR, 'config.json');
18
+ const DEFAULT_CONFIG = {
19
+ paths: {
20
+ downloads: path_1.default.join(os_1.default.homedir(), 'Downloads'),
21
+ documents: path_1.default.join(os_1.default.homedir(), 'Documents'),
22
+ desktop: path_1.default.join(os_1.default.homedir(), 'Desktop'),
23
+ pictures: path_1.default.join(os_1.default.homedir(), 'Pictures'),
24
+ screenshots: path_1.default.join(os_1.default.homedir(), 'Downloads', 'Screenshots'), // Use Downloads subfolder (avoids Documents FSEvents issue)
25
+ videos: path_1.default.join(os_1.default.homedir(), 'Movies'),
26
+ music: path_1.default.join(os_1.default.homedir(), 'Music'),
27
+ home: os_1.default.homedir(),
28
+ },
29
+ settings: {
30
+ downloadsMode: 'nested',
31
+ screenshotMode: 'metadata',
32
+ },
33
+ version: '1.0.0',
34
+ };
35
+ async function ensureDbDir() {
36
+ try {
37
+ await promises_1.default.mkdir(DB_DIR, { recursive: true });
38
+ }
39
+ catch {
40
+ // Directory already exists
41
+ }
42
+ }
43
+ async function loadConfig() {
44
+ await ensureDbDir();
45
+ try {
46
+ const data = await promises_1.default.readFile(CONFIG_FILE, 'utf-8');
47
+ const parsed = JSON.parse(data);
48
+ // Merge with defaults to ensure all required paths and settings exist
49
+ return {
50
+ ...DEFAULT_CONFIG,
51
+ ...parsed,
52
+ paths: {
53
+ ...DEFAULT_CONFIG.paths,
54
+ ...parsed.paths,
55
+ },
56
+ settings: {
57
+ ...DEFAULT_CONFIG.settings,
58
+ ...parsed.settings,
59
+ },
60
+ };
61
+ }
62
+ catch {
63
+ // Config doesn't exist, create with defaults
64
+ await saveConfig(DEFAULT_CONFIG);
65
+ return DEFAULT_CONFIG;
66
+ }
67
+ }
68
+ async function saveConfig(config) {
69
+ await ensureDbDir();
70
+ await promises_1.default.writeFile(CONFIG_FILE, JSON.stringify(config, null, 2));
71
+ }
72
+ async function getConfigValue(key) {
73
+ const config = await loadConfig();
74
+ if (key === 'downloadsMode' || key === 'screenshotMode') {
75
+ return config.settings[key];
76
+ }
77
+ return config.paths[key];
78
+ }
79
+ async function setConfigValue(key, value) {
80
+ const config = await loadConfig();
81
+ // Handle kebab-case to camelCase conversion for CLI args
82
+ const normalizedKey = key === 'downloads-mode' ? 'downloadsMode' :
83
+ key === 'screenshot-mode' ? 'screenshotMode' : key;
84
+ if (normalizedKey === 'downloadsMode') {
85
+ config.settings.downloadsMode = value;
86
+ }
87
+ else if (normalizedKey === 'screenshotMode') {
88
+ config.settings.screenshotMode = value;
89
+ }
90
+ else {
91
+ config.paths[normalizedKey] = value;
92
+ }
93
+ await saveConfig(config);
94
+ }
95
+ /**
96
+ * Replace template variables in a string with actual paths.
97
+ * Template variables are in the format {variableName}, e.g., {downloads}, {documents}
98
+ */
99
+ function replaceTemplateVariables(template, config, metadata) {
100
+ let result = template;
101
+ // Replace path-based template variables first
102
+ for (const [key, value] of Object.entries(config.paths)) {
103
+ const placeholder = `{${key}}`;
104
+ result = result.replaceAll(placeholder, value);
105
+ }
106
+ // Replace metadata-based template variables if metadata is provided
107
+ if (metadata) {
108
+ result = result.replaceAll('{app}', metadata.appName ? sanitizeForPath(metadata.appName) : 'Unknown');
109
+ result = result.replaceAll('{domain}', metadata.domain ? sanitizeForPath(metadata.domain) : 'General');
110
+ }
111
+ return result;
112
+ }
113
+ /**
114
+ * Sanitize a string for use in folder/filenames
115
+ */
116
+ function sanitizeForPath(input) {
117
+ return input
118
+ .replace(/[<>:"\/\\|?*]/g, '-')
119
+ .replace(/\s+/g, ' ')
120
+ .trim()
121
+ .substring(0, 50);
122
+ }
123
+ /**
124
+ * Replace template variables in rule trigger and action configs
125
+ */
126
+ function replaceVariablesInObject(obj, config) {
127
+ const result = {};
128
+ for (const [key, value] of Object.entries(obj)) {
129
+ if (typeof value === 'string') {
130
+ result[key] = replaceTemplateVariables(value, config);
131
+ }
132
+ else if (typeof value === 'object' && value !== null) {
133
+ result[key] = replaceVariablesInObject(value, config);
134
+ }
135
+ else {
136
+ result[key] = value;
137
+ }
138
+ }
139
+ return result;
140
+ }
141
+ function listConfigPaths(config) {
142
+ console.log('\n📁 Configured Paths:\n');
143
+ for (const [key, value] of Object.entries(config.paths)) {
144
+ console.log(` {${key}}: ${value}`);
145
+ }
146
+ // Show organizer modes
147
+ console.log(`\n📊 Downloads organizer mode: ${config.settings.downloadsMode}`);
148
+ console.log(' (Change with: flowsquire config --downloads-mode nested|system)');
149
+ console.log(`\n📸 Screenshot organizer mode: ${config.settings.screenshotMode}`);
150
+ console.log(' (Change with: flowsquire config --screenshot-mode metadata|by-app|by-date)');
151
+ console.log(' ⚠️ Mode changed? Delete rules and run "flowsquire init" to apply');
152
+ console.log('');
153
+ }
154
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;AAoDA,gCAyBC;AAED,gCAGC;AAED,wCAMC;AAED,wCAaC;AAMD,4DAgBC;AAgBD,4DAiBC;AAED,0CAaC;AA/KD,2DAA6B;AAC7B,gDAAwB;AACxB,4CAAoB;AAEpB,MAAM,MAAM,GAAG,aAAa,CAAC;AAC7B,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAqBrD,MAAM,cAAc,GAAqB;IACvC,KAAK,EAAE;QACL,SAAS,EAAE,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC;QAC/C,SAAS,EAAE,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC;QAC/C,OAAO,EAAE,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC;QAC3C,QAAQ,EAAE,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC;QAC7C,WAAW,EAAE,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,4DAA4D;QAC9H,MAAM,EAAE,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC;QACzC,KAAK,EAAE,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC;QACvC,IAAI,EAAE,YAAE,CAAC,OAAO,EAAE;KACnB;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,QAAQ;QACvB,cAAc,EAAE,UAAU;KAC3B;IACD,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,KAAK,UAAU,WAAW;IACxB,IAAI,CAAC;QACH,MAAM,kBAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,UAAU;IAC9B,MAAM,WAAW,EAAE,CAAC;IAEpB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAqB,CAAC;QAEpD,sEAAsE;QACtE,OAAO;YACL,GAAG,cAAc;YACjB,GAAG,MAAM;YACT,KAAK,EAAE;gBACL,GAAG,cAAc,CAAC,KAAK;gBACvB,GAAG,MAAM,CAAC,KAAK;aAChB;YACD,QAAQ,EAAE;gBACR,GAAG,cAAc,CAAC,QAAQ;gBAC1B,GAAG,MAAM,CAAC,QAAQ;aACnB;SACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;QAC7C,MAAM,UAAU,CAAC,cAAc,CAAC,CAAC;QACjC,OAAO,cAAc,CAAC;IACxB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,MAAwB;IACvD,MAAM,WAAW,EAAE,CAAC;IACpB,MAAM,kBAAE,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,IAAI,GAAG,KAAK,eAAe,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAmC,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,KAAa;IAC7D,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,yDAAyD;IACzD,MAAM,aAAa,GAAG,GAAG,KAAK,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC5C,GAAG,KAAK,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;IACzE,IAAI,aAAa,KAAK,eAAe,EAAE,CAAC;QACtC,MAAM,CAAC,QAAQ,CAAC,aAAa,GAAG,KAA4B,CAAC;IAC/D,CAAC;SAAM,IAAI,aAAa,KAAK,gBAAgB,EAAE,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,cAAc,GAAG,KAA0C,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;IACtC,CAAC;IACD,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,QAAgB,EAAE,MAAwB,EAAE,QAAgD;IACnI,IAAI,MAAM,GAAG,QAAQ,CAAC;IAEtB,8CAA8C;IAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,WAAW,GAAG,IAAI,GAAG,GAAG,CAAC;QAC/B,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,oEAAoE;IACpE,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtG,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACzG,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK;SACT,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE;SACN,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CACtC,GAAM,EACN,MAAwB;IAExB,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACvD,MAAM,CAAC,GAAG,CAAC,GAAG,wBAAwB,CAAC,KAAgC,EAAE,MAAM,CAAC,CAAC;QACnF,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,MAAW,CAAC;AACrB,CAAC;AAED,SAAgB,eAAe,CAAC,MAAwB;IACtD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,uBAAuB;IACvB,OAAO,CAAC,GAAG,CAAC,kCAAkC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,mCAAmC,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Rule, Condition, Action, ActionResult } from '../types/index.js';
2
+ export declare function evaluateConditions(conditions: Condition[], filePath: string): boolean;
3
+ export declare function findMatchingRules(rules: Rule[], filePath: string): Rule[];
4
+ export declare function executeActions(actions: Action[], sourcePath: string, dryRun?: boolean, metadata?: {
5
+ appName?: string;
6
+ domain?: string;
7
+ }): Promise<ActionResult[]>;
8
+ //# sourceMappingURL=rule-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-engine.d.ts","sourceRoot":"","sources":["../../src/core/rule-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAW,MAAM,mBAAmB,CAAC;AAiBnF,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAErF;AA8DD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,CAKzE;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,OAAe,EACvB,QAAQ,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,YAAY,EAAE,CAAC,CAczB"}
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.evaluateConditions = evaluateConditions;
7
+ exports.findMatchingRules = findMatchingRules;
8
+ exports.executeActions = executeActions;
9
+ const path_1 = __importDefault(require("path"));
10
+ const child_process_1 = require("child_process");
11
+ const os_1 = __importDefault(require("os"));
12
+ const index_js_1 = require("../config/index.js");
13
+ // Get the appropriate Ghostscript command for the current platform
14
+ function getGhostscriptCommand() {
15
+ const platform = os_1.default.platform();
16
+ if (platform === 'win32') {
17
+ // Windows uses gswin64c (64-bit) or gswin32c (32-bit)
18
+ return 'gswin64c';
19
+ }
20
+ // macOS and Linux use 'gs'
21
+ return 'gs';
22
+ }
23
+ function evaluateConditions(conditions, filePath) {
24
+ return conditions.every(condition => evaluateCondition(condition, filePath));
25
+ }
26
+ function evaluateCondition(condition, filePath) {
27
+ const fileName = path_1.default.basename(filePath);
28
+ const fileNameWithoutExt = path_1.default.basename(filePath, path_1.default.extname(filePath));
29
+ const ext = path_1.default.extname(filePath).toLowerCase();
30
+ const conditionValue = String(condition.value).toLowerCase();
31
+ switch (condition.type) {
32
+ case 'extension':
33
+ // Remove leading dot if present for comparison
34
+ const cleanExt = ext.startsWith('.') ? ext.slice(1) : ext;
35
+ const result = matchValue(cleanExt, condition);
36
+ return result;
37
+ case 'name_pattern':
38
+ return matchValue(fileName, condition);
39
+ case 'name_contains':
40
+ return fileNameWithoutExt.toLowerCase().includes(conditionValue);
41
+ case 'name_starts_with':
42
+ return fileNameWithoutExt.toLowerCase().startsWith(conditionValue);
43
+ case 'name_ends_with':
44
+ return fileNameWithoutExt.toLowerCase().endsWith(conditionValue);
45
+ case 'size_greater_than_mb':
46
+ try {
47
+ const stats = require('fs').statSync(filePath);
48
+ const sizeMB = stats.size / (1024 * 1024);
49
+ return sizeMB > Number(conditionValue);
50
+ }
51
+ catch {
52
+ return false;
53
+ }
54
+ case 'path':
55
+ return matchValue(filePath, condition);
56
+ default:
57
+ return false;
58
+ }
59
+ }
60
+ function matchValue(value, condition) {
61
+ const testValue = value.toLowerCase();
62
+ switch (condition.operator) {
63
+ case 'equals':
64
+ return testValue === String(condition.value).toLowerCase();
65
+ case 'contains':
66
+ return testValue.includes(String(condition.value).toLowerCase());
67
+ case 'matches':
68
+ try {
69
+ const regex = new RegExp(String(condition.value), 'i');
70
+ return regex.test(testValue);
71
+ }
72
+ catch {
73
+ return false;
74
+ }
75
+ case 'in':
76
+ if (Array.isArray(condition.value)) {
77
+ return condition.value.some(v => v.toLowerCase() === testValue);
78
+ }
79
+ return false;
80
+ default:
81
+ return false;
82
+ }
83
+ }
84
+ function findMatchingRules(rules, filePath) {
85
+ // Sort by priority (highest first), then filter matching rules
86
+ return rules
87
+ .sort((a, b) => (b.priority || 0) - (a.priority || 0))
88
+ .filter(rule => evaluateConditions(rule.conditions, filePath));
89
+ }
90
+ async function executeActions(actions, sourcePath, dryRun = false, metadata) {
91
+ const results = [];
92
+ let currentPath = sourcePath;
93
+ for (const action of actions) {
94
+ const result = await executeAction(action, currentPath, dryRun, metadata);
95
+ results.push(result);
96
+ if (result.status === 'success' && result.destinationPath) {
97
+ currentPath = result.destinationPath;
98
+ }
99
+ }
100
+ return results;
101
+ }
102
+ async function executeAction(action, sourcePath, dryRun, metadata) {
103
+ const fs = await import('fs/promises');
104
+ const path = await import('path');
105
+ try {
106
+ // Load config and replace template variables in destination
107
+ const config = await (0, index_js_1.loadConfig)();
108
+ const fileName = path.basename(sourcePath);
109
+ // Pass metadata to replaceTemplateVariables to handle {app} and {domain}
110
+ let destinationPath = (0, index_js_1.replaceTemplateVariables)(action.config.destination, config, metadata);
111
+ // If destination is a directory (no extension) AND no pattern is provided, append the filename
112
+ // Don't append if pattern is present - applyPattern will handle the full path
113
+ if (!path.extname(destinationPath) && !action.config.pattern) {
114
+ destinationPath = path.join(destinationPath, fileName);
115
+ }
116
+ // Apply pattern if provided (pattern replaces the filename)
117
+ if (action.config.pattern) {
118
+ destinationPath = applyPattern(destinationPath, action.config.pattern, sourcePath, metadata);
119
+ }
120
+ // Ensure destination directory exists
121
+ if (action.config.createDirs !== false) {
122
+ const destDir = path.dirname(destinationPath);
123
+ if (!dryRun) {
124
+ try {
125
+ await fs.mkdir(destDir, { recursive: true });
126
+ }
127
+ catch (err) {
128
+ // Ignore EEXIST errors (directory already exists)
129
+ if (err.code !== 'EEXIST') {
130
+ throw err;
131
+ }
132
+ }
133
+ }
134
+ }
135
+ // Handle filename collisions
136
+ destinationPath = await resolveCollision(destinationPath, dryRun);
137
+ if (!dryRun) {
138
+ switch (action.type) {
139
+ case 'move':
140
+ await fs.rename(sourcePath, destinationPath);
141
+ break;
142
+ case 'copy':
143
+ await fs.copyFile(sourcePath, destinationPath);
144
+ break;
145
+ case 'rename':
146
+ await fs.rename(sourcePath, destinationPath);
147
+ break;
148
+ case 'compress':
149
+ await compressPdf(sourcePath, destinationPath, action.config.compress?.quality || 'medium');
150
+ break;
151
+ }
152
+ }
153
+ return {
154
+ action,
155
+ status: 'success',
156
+ sourcePath,
157
+ destinationPath,
158
+ };
159
+ }
160
+ catch (error) {
161
+ return {
162
+ action,
163
+ status: 'failed',
164
+ sourcePath,
165
+ error: error instanceof Error ? error.message : String(error),
166
+ };
167
+ }
168
+ }
169
+ function applyPattern(destination, pattern, sourcePath, metadata) {
170
+ const path = require('path');
171
+ const now = new Date();
172
+ const originalFileName = path.basename(sourcePath);
173
+ const fileNameWithoutExt = path.basename(sourcePath, path.extname(sourcePath));
174
+ const ext = path.extname(sourcePath);
175
+ // Check if destination is a file path (single segment with extension)
176
+ // vs a directory path (multiple segments like {app}/{domain})
177
+ // This fixes the bug where domains like 'aistudio.google.com' were treated as filenames
178
+ const pathParts = destination.split(path.sep);
179
+ const destHasFilename = pathParts.length === 1 && path.extname(destination).length > 0;
180
+ // Get the directory where the file should go
181
+ // If destination has a filename, get its directory
182
+ // If destination is a directory path, use it as-is
183
+ const destDir = destHasFilename ? path.dirname(destination) : destination;
184
+ const monthNames = [
185
+ 'January', 'February', 'March', 'April', 'May', 'June',
186
+ 'July', 'August', 'September', 'October', 'November', 'December'
187
+ ];
188
+ const placeholders = {
189
+ '{filename}': fileNameWithoutExt,
190
+ '{ext}': ext,
191
+ '{YYYY}': now.getFullYear().toString(),
192
+ '{MM}': String(now.getMonth() + 1).padStart(2, '0'),
193
+ '{Month}': monthNames[now.getMonth()],
194
+ '{DD}': String(now.getDate()).padStart(2, '0'),
195
+ '{HH}': String(now.getHours()).padStart(2, '0'),
196
+ '{mm}': String(now.getMinutes()).padStart(2, '0'),
197
+ '{ss}': String(now.getSeconds()).padStart(2, '0'),
198
+ };
199
+ let result = pattern;
200
+ for (const [key, value] of Object.entries(placeholders)) {
201
+ result = result.replaceAll(key, value);
202
+ }
203
+ // If result already has extension, don't add another one
204
+ if (!result.endsWith(ext)) {
205
+ result = result + ext;
206
+ }
207
+ // Join with the destination directory
208
+ return path.join(destDir, result);
209
+ }
210
+ async function resolveCollision(filePath, dryRun) {
211
+ const fs = await import('fs/promises');
212
+ const path = await import('path');
213
+ if (dryRun) {
214
+ return filePath;
215
+ }
216
+ try {
217
+ await fs.access(filePath);
218
+ // File exists, need to resolve collision
219
+ const dir = path.dirname(filePath);
220
+ const ext = path.extname(filePath);
221
+ const base = path.basename(filePath, ext);
222
+ let counter = 1;
223
+ let newPath = filePath;
224
+ while (true) {
225
+ newPath = path.join(dir, `${base}-${counter}${ext}`);
226
+ try {
227
+ await fs.access(newPath);
228
+ counter++;
229
+ }
230
+ catch {
231
+ // File doesn't exist, we can use this path
232
+ break;
233
+ }
234
+ }
235
+ return newPath;
236
+ }
237
+ catch {
238
+ // File doesn't exist, use original path
239
+ return filePath;
240
+ }
241
+ }
242
+ async function compressPdf(sourcePath, destinationPath, quality) {
243
+ const fs = await import('fs/promises');
244
+ // Check if source file exists
245
+ try {
246
+ await fs.access(sourcePath);
247
+ }
248
+ catch {
249
+ throw new Error(`Source file not found: ${sourcePath}`);
250
+ }
251
+ // Determine quality settings for Ghostscript
252
+ let pdfSettings = '/ebook'; // Medium quality default
253
+ if (quality === 'low') {
254
+ pdfSettings = '/screen'; // Lowest quality, smallest size
255
+ }
256
+ else if (quality === 'high') {
257
+ pdfSettings = '/printer'; // Higher quality
258
+ }
259
+ // Use Ghostscript for compression
260
+ return new Promise((resolve, reject) => {
261
+ const gsCommand = getGhostscriptCommand();
262
+ const gs = (0, child_process_1.spawn)(gsCommand, [
263
+ '-sDEVICE=pdfwrite',
264
+ '-dCompatibilityLevel=1.4',
265
+ `-dPDFSETTINGS=${pdfSettings}`,
266
+ '-dNOPAUSE',
267
+ '-dQUIET',
268
+ '-dBATCH',
269
+ `-sOutputFile=${destinationPath}`,
270
+ sourcePath
271
+ ]);
272
+ let errorOutput = '';
273
+ gs.stderr.on('data', (data) => {
274
+ errorOutput += data.toString();
275
+ });
276
+ gs.on('close', (code) => {
277
+ if (code === 0) {
278
+ resolve();
279
+ }
280
+ else {
281
+ reject(new Error(`Ghostscript failed with code ${code}: ${errorOutput}`));
282
+ }
283
+ });
284
+ gs.on('error', (err) => {
285
+ reject(new Error(`Failed to spawn Ghostscript: ${err.message}. Please install Ghostscript (brew install ghostscript)`));
286
+ });
287
+ });
288
+ }
289
+ //# sourceMappingURL=rule-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-engine.js","sourceRoot":"","sources":["../../src/core/rule-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export interface ScreenshotMetadata {
2
+ appName: string;
3
+ windowTitle: string;
4
+ timestamp: Date;
5
+ domain?: string;
6
+ url?: string;
7
+ }
8
+ /**
9
+ * Capture screenshot metadata by querying macOS for foreground app and window
10
+ */
11
+ export declare function captureScreenshotMetadata(): Promise<ScreenshotMetadata | null>;
12
+ /**
13
+ * Sanitize a string for use in folder/filenames
14
+ */
15
+ export declare function sanitizeForPath(input: string): string;
16
+ /**
17
+ * Generate organized filename from metadata
18
+ */
19
+ export declare function generateScreenshotFilename(originalFilename: string, metadata: ScreenshotMetadata): string;
20
+ /**
21
+ * Generate folder path from metadata
22
+ */
23
+ export declare function generateScreenshotFolderPath(metadata: ScreenshotMetadata): string;
24
+ //# sourceMappingURL=screenshot-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot-metadata.d.ts","sourceRoot":"","sources":["../../src/core/screenshot-metadata.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CA+CpF;AA+FD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,kBAAkB,GAC3B,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAQjF"}