@factiii/stack 0.7.3 → 0.8.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.
@@ -96,7 +96,7 @@ const port_convention_js_1 = require("./scanfix/port-convention.js");
96
96
  const start_sh_js_1 = require("./scanfix/start-sh.js");
97
97
  const db_seed_js_1 = require("./scanfix/db-seed.js");
98
98
  const ssh_verify_js_1 = require("./scanfix/ssh-verify.js");
99
- const prod_check_skill_js_1 = require("./scanfix/prod-check-skill.js");
99
+ const claude_skills_js_1 = require("./scanfix/claude-skills.js");
100
100
  // Import AWS scanfix arrays (AWS provisioning runs as part of factiii pipeline)
101
101
  const config_js_2 = require("../aws/scanfix/config.js");
102
102
  const credentials_js_1 = require("../aws/scanfix/credentials.js");
@@ -296,7 +296,7 @@ class FactiiiPipeline {
296
296
  ...port_convention_js_1.portConventionFixes,
297
297
  ...start_sh_js_1.startShFixes,
298
298
  ...db_seed_js_1.dbSeedFixes,
299
- ...prod_check_skill_js_1.prodCheckSkillFixes,
299
+ ...claude_skills_js_1.claudeSkillFixes,
300
300
  // AWS infrastructure provisioning (guarded by isAwsConfigured())
301
301
  ...config_js_2.configFixes,
302
302
  ...credentials_js_1.credentialsFixes,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/pipelines/factiii/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/pipelines/factiii/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,iDAAoD;AAYpD,6CAAqD;AACrD,gEAA2F;AAE3F,wBAAwB;AACxB,yDAAwD;AACxD,yDAAwD;AACxD,mDAAkD;AAClD,2DAAyD;AACzD,yDAAuD;AACvD,qDAAoD;AACpD,yDAAsD;AACtD,iDAAgD;AAChD,mDAAkD;AAClD,qEAAmE;AACnE,uDAAqD;AACrD,qDAAmD;AACnD,2DAAyD;AACzD,iEAA8D;AAE9D,gFAAgF;AAChF,wDAAyE;AACzE,kEAAiE;AACjE,wDAAuD;AACvD,kDAAiD;AACjD,0EAAuE;AACvE,kDAAiD;AACjD,kDAAiD;AACjD,gDAA+C;AAC/C,kDAAiD;AACjD,kDAAiD;AACjD,kDAAiD;AACjD,wEAAsE;AACtE,gEAA8D;AAC9D,0DAAyD;AAEzD,4EAA4E;AAE5E,yBAAyB;AACzB,qEAAuD;AACvD,oEAAsD;AACtD,2DAA6C;AAC7C,qDAAuC;AAEvC,MAAM,eAAe;IACnB,+DAA+D;IAC/D,kBAAkB;IAClB,+DAA+D;IAE/D,MAAM,CAAU,EAAE,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAU,IAAI,GAAG,kBAAkB,CAAC;IAC1C,MAAM,CAAU,QAAQ,GAAe,UAAU,CAAC;IAClD,MAAM,CAAU,OAAO,GAAG,OAAO,CAAC;IAElC,4EAA4E;IAC5E,wEAAwE;IACxE,2EAA2E;IAC3E,MAAM,CAAU,eAAe,GAAa,EAAE,CAAC;IAE/C,uCAAuC;IACvC,MAAM,CAAU,YAAY,GAA4B;IACtD,gDAAgD;KACjD,CAAC;IAEF,6CAA6C;IAC7C,MAAM,CAAU,gBAAgB,GAA2B;QACzD,eAAe,EAAE,QAAQ;QACzB,YAAY,EAAE,QAAQ;QACtB,YAAY,EAAE,QAAQ;QACtB,UAAU,EAAE,QAAQ;KACrB,CAAC;IAEF;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,OAAsB;QAC9D,OAAO,IAAI,CAAC,CAAC,6CAA6C;IAC5D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,WAAmB;QACzC,0DAA0D;QAC1D,yEAAyE;QACzE,OAAO,WAAW,KAAK,SAAS,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAY,EAAE,MAAqB;QACjD,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,KAAK;gBACR,kCAAkC;gBAClC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;YAE3C,KAAK,SAAS;gBACZ,mCAAmC;gBACnC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;oBAChC,OAAO;wBACL,SAAS,EAAE,KAAK;wBAChB,MAAM,EAAE,gDAAgD;qBACzD,CAAC;gBACJ,CAAC;gBAED,qDAAqD;gBACrD,iEAAiE;gBACjE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBACzB,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1F,MAAM,eAAe,GAAG,iBAAiB,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;gBAC9E,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;gBAEzG,IAAI,CAAC,eAAe,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxC,OAAO;wBACL,SAAS,EAAE,KAAK;wBAChB,MAAM,EAAE,qIAAqI;qBAC9I,CAAC;gBACJ,CAAC;gBAED,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;YAE3C,KAAK,SAAS,CAAC;YACf,KAAK,MAAM;gBACT,0EAA0E;gBAC1E,2EAA2E;gBAC3E,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;oBAChE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;gBAC3C,CAAC;gBAED,+DAA+D;gBAC/D,sDAAsD;gBACtD,+DAA+D;gBAC/D,kEAAkE;gBAClE,qDAAqD;gBACrD,+DAA+D;gBAC/D,CAAC;oBACC,iEAAiE;oBACjE,MAAM,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;oBAChF,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBACzD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAwB,CAAC;oBACvE,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAoB,EAAE,EAAE,CAC/D,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAC1D,CAAC;oBACF,IAAI,UAAU,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5C,kFAAkF;wBAClF,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAoB,EAAE,EAAE,CAC1D,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAChC,CAAC;wBACF,IAAI,MAAM,EAAE,CAAC;4BACX,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;wBAC3C,CAAC;wBACD,OAAO;4BACL,SAAS,EAAE,KAAK;4BAChB,MAAM,EAAE,KAAK,GAAG,iDAAiD;gCAC/D,qEAAqE;yBACxE,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,6DAA6D;gBAC7D,wEAAwE;gBACxE,CAAC;oBACC,MAAM,MAAM,GAAG,IAAA,kCAAkB,EAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtD,IAAI,MAAM,EAAE,CAAC;wBACX,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;oBACzC,CAAC;gBACH,CAAC;gBAED,wEAAwE;gBACxE,mEAAmE;gBACnE,CAAC;oBACC,iEAAiE;oBACjE,MAAM,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;oBAChF,MAAM,IAAI,GAAG,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBACpD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAwB,CAAC;oBAC7D,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAoB,EAAE,EAAE,CACrD,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAChC,CAAC;oBACF,IAAI,MAAM,EAAE,CAAC;wBACX,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;oBAC3C,CAAC;gBACH,CAAC;gBAED,+CAA+C;gBAC/C,yEAAyE;gBACzE,CAAC;oBACC,MAAM,SAAS,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;oBACnE,OAAO;wBACL,SAAS,EAAE,KAAK;wBAChB,MAAM,EAAE,SAAS,GAAG,+BAA+B,GAAG,KAAK,GAAG,iBAAiB;4BAC7E,4EAA4E;4BAC5E,yCAAyC,GAAG,SAAS,GAAG,+CAA+C;qBAC1G,CAAC;gBACJ,CAAC;YAEH;gBACE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,KAAK,EAAE,EAAE,CAAC;QACnE,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,wDAAwD;IACxD,+DAA+D;IAC/D,sCAAsC;IACtC,+DAA+D;IAE/D,MAAM,CAAU,KAAK,GAAU;QAC7B,GAAG,6BAAc;QACjB,GAAG,6BAAc;QACjB,GAAG,uBAAW;QACd,GAAG,uBAAW;QACd,GAAG,qBAAU;QACb,GAAG,8BAAc;QACjB,GAAG,4BAAa;QAChB,GAAG,yBAAY;QACf,GAAG,8BAAc;QACjB,GAAG,2BAAY;QACf,GAAG,wCAAmB;QACtB,GAAG,0BAAY;QACf,GAAG,wBAAW;QACd,GAAG,mCAAgB;QACnB,iEAAiE;QACjE,GAAG,uBAAc;QACjB,GAAG,iCAAgB;QACnB,GAAG,iBAAQ;QACX,GAAG,uCAAkB;QACrB,GAAG,iBAAQ;QACX,GAAG,uBAAW;QACd,GAAG,iBAAQ;QACX,GAAG,eAAO;QACV,GAAG,iBAAQ;QACX,GAAG,iBAAQ;QACX,GAAG,iBAAQ;QACX,GAAG,sCAAkB;QACrB,GAAG,8BAAc;QACjB,GAAG,yBAAY;QACf,8CAA8C;KAC/C,CAAC;IAEF,+DAA+D;IAC/D,wDAAwD;IACxD,+DAA+D;IAE/D;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,KAAY;QAC5B,IAAI,KAAK,KAAK,KAAK;YAAE,OAAO,MAAM,CAAC;QACnC,OAAO,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAe,EAAE,OAAe;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,GAAG,GAA2B,EAAE,CAAC;QAEvC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACjD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACrC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;wBAChB,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;wBAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;wBAC7C,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBACnB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,OAAe;QAC9B,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,aAAa;YACb,aAAa;YACb,mBAAmB;YACnB,QAAQ;YACR,SAAS;SACV,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACpC,qDAAqD;YACrD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;gBACnD,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;gBAC3D,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,YAAY,CACjB,OAAe,EACf,KAAY,EACZ,MAAqB,EACrB,OAAe,EACf,SAAkB,IAAI;QAEtB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpC,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACpB,4BAA4B;YAC5B,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE9D,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC;YAEtD,IAAA,wBAAQ,EAAC,MAAM,GAAG,OAAO,EAAE;gBACzB,GAAG,EAAE,KAAK;gBACV,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,yEAAyE;YACzE,qFAAqF;YACrF,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE9D,kEAAkE;YAClE,uEAAuE;YACvE,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACzB,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;YAC3F,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC;YAEtD,IAAA,wBAAQ,EAAC,MAAM,GAAG,OAAO,EAAE;gBACzB,GAAG,EAAE,KAAK;gBACV,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAqB,EAAE,OAAe;QACrE,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;gBACvE,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EACH,iHAAiH;iBACpH,CAAC;YACJ,CAAC;YAED,8CAA8C;YAC9C,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,kCAAkC,GAAC,CAAC;YAE9E,uCAAuC;YACvC,iEAAiE;YACjE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAwB,CAAC;YAChD,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3E,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAEvF,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;gBAC7C,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;gBACnD,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAExC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,0BAA0B,GAAG,SAAS;iBAC9C,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjC,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EACH,mCAAmC;wBACnC,YAAY;wBACZ,gEAAgE;iBACnE,CAAC;YACJ,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;YAElD,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,yBAAyB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACxF,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAE9F,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;YACpE,CAAC;YACD,IAAI,WAAW,KAAK,eAAe,EAAE,CAAC;gBACpC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;YAC9D,CAAC;YAED,IAAI,CAAC;gBACH,iEAAiE;gBACjE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,eAAe,CAAoI,CAAC;gBAE9K,qBAAqB;gBACrB,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAExD,gCAAgC;gBAChC,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjE,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;gBAEtD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACnC,IAAI,SAAiB,CAAC;gBACtB,IAAI,CAAC;oBACH,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACjD,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,iDAAiD,GAAG,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;qBACvH,CAAC;gBACJ,CAAC;gBAED,+BAA+B;gBAC/B,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC7D,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACpD,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;gBAExD,+DAA+D;gBAC/D,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE;oBACxD,QAAQ,EAAE,MAAM;oBAChB,IAAI,EAAE,KAAK;iBACZ,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,YAAY,GAAG,IAAI,CAAC,CAAC;gBAEhE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;YAC5E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvD,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,sBAAsB,GAAG,GAAG;iBACpC,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QACxC,CAAC;IACH,CAAC;IAED,MAAM,CAAU,QAAQ,GAAoB;QAC1C,+DAA+D;QAC/D,oBAAoB;QACpB,+DAA+D;QAC/D;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,kEAAkE;YAC/E,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,wBAAwB;YACpD,UAAU,EAAE,aAAa;YACzB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAA0B,EAAE;gBAC1E,IAAI,CAAC;oBACH,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;wBACpB,kCAAkC;wBAClC,eAAe,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;wBACzE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;oBACpE,CAAC;oBAED,sDAAsD;oBACtD,MAAM,EAAE,mBAAmB,EAAE,GAAG,wDAAa,kCAAkC,GAAC,CAAC;oBACjF,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBACjD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;oBAEtC,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,6BAA6B,EAAE,CAAC;oBAC1E,CAAC;oBAED,+EAA+E;oBAC/E,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;wBAChE,kFAAkF;wBAClF,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,GAAG,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC;wBACjF,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;wBAC5C,IAAA,wBAAQ,EAAC,KAAK,GAAG,SAAS,GAAG,eAAe,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;wBACpE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;oBACpE,CAAC;oBAED,6EAA6E;oBAC7E,sDAAsD;oBACtD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,oDAAoD,GAAG,KAAK,EAAE,CAAC;gBACzG,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,CAAC;YACH,CAAC;SACF;QACD;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,iDAAiD;YAC9D,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC;YAClC,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAA0B,EAAE;gBAC1E,IAAI,CAAC;oBACH,eAAe,CAAC,YAAY,CAAC,uBAAuB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC9E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;gBACvE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,CAAC;YACH,CAAC;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,kFAAkF;YAC/F,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,wBAAwB;YACpD,UAAU,EAAE,aAAa;YACzB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAA0B,EAAE;gBAC1E,IAAI,CAAC;oBACH,eAAe,CAAC,YAAY,CAAC,8BAA8B,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;oBACrF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;gBACnE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,CAAC;YACH,CAAC;SACF;QACD;YACE,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kDAAkD;YAC/D,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC;YAClC,UAAU,EAAE,MAAM;YAClB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAA0B,EAAE;gBAC1E,IAAI,CAAC;oBACH,eAAe,CAAC,YAAY,CAAC,uBAAuB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC9E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC3B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,CAAC;YACH,CAAC;SACF;QAED,+DAA+D;QAC/D,eAAe;QACf,+DAA+D;QAC/D;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,sCAAsC;YACnD,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;YAC3B,UAAU,EAAE,MAAM;YAClB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBAC3D,EAAE,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,yBAAyB,EAAE,YAAY,EAAE,KAAK,EAAE;gBAC9F,EAAE,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,uCAAuC,EAAE;gBACvF,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,kCAAkC,EAAE;gBAC9E,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,wBAAwB,EAAE;gBACpE,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBACpE,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,kEAAkE,EAAE;aAC7G;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAA0B,EAAE;gBAC1E,MAAM,WAAW,GAAI,OAAO,CAAC,OAAkB,IAAI,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC;gBAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAI,OAAO,CAAC,KAAgB,IAAI,KAAK,CAAC;gBACjD,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1E,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEhE,MAAM,SAAS,GAAG,cAAc,GAAG,UAAU,GAAG,GAAG,GAAG,aAAa,GAAG,GAAG,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,GAAG,GAAG,GAAG,WAAW,CAAC;gBAE/H,IAAI,CAAC;oBACH,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChC,IAAA,wBAAQ,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;wBAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oBAC3B,CAAC;oBAED,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;wBAC9B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;4BACnB,IAAA,wBAAQ,EAAC,SAAS,GAAG,+BAA+B,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;wBACpK,CAAC;6BAAM,CAAC;4BACN,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;4BAC1H,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;4BAC7D,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;4BAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBAC/B,CAAC;wBACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oBAC3B,CAAC;oBAED,IAAI,WAAW,EAAE,CAAC;wBAChB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;4BACnB,IAAA,wBAAQ,EAAC,SAAS,GAAG,+BAA+B,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;wBAC3H,CAAC;6BAAM,CAAC;4BACN,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;4BACzI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;wBAC5C,CAAC;wBACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oBAC3B,CAAC;oBAED,IAAI,UAAU,EAAE,CAAC;wBACf,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;4BACnB,IAAA,wBAAQ,EAAC,SAAS,GAAG,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;wBACzG,CAAC;6BAAM,CAAC;4BACN,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;4BACnG,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;4BACnC,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;4BAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBAC/B,CAAC;wBACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oBAC3B,CAAC;oBAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC3B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,CAAC;YACH,CAAC;SACF;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,6DAA6D;YAC1E,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,UAAU,EAAE,MAAM;YAClB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAA0B,EAAE;gBAC3E,OAAO,MAAM,eAAe,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACpE,CAAC;SACF;QACD;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,8CAA8C;YAC3D,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;YAC3B,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,6CAA6C,EAAE;aAC9F;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAA0B,EAAE;gBAC1E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC;gBAClD,MAAM,WAAW,GAAI,OAAO,CAAC,OAAkB,IAAI,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC;gBAE7E,IAAI,CAAC;oBACH,IAAA,wBAAQ,EACN,oBAAoB,GAAG,UAAU,GAAG,8BAA8B,GAAG,WAAW,EAChF,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;oBACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,GAAG,WAAW,EAAE,CAAC;gBAChE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,CAAC;YACH,CAAC;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,8DAA8D;YAC3E,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;YAC3B,UAAU,EAAE,SAAS;YACrB,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAA0B,EAAE;gBAC3E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC;gBAE9C,sCAAsC;gBACtC,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;oBAChE,IAAI,CAAC;wBACH,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;wBAC/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAChB,IAAA,wBAAQ,EAAC,kBAAkB,GAAG,WAAW,GAAG,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;wBAC9E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oBAC3B,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClD,CAAC;gBACH,CAAC;gBAED,oDAAoD;gBACpD,MAAM,EAAE,uBAAuB,EAAE,GAAG,wDAAa,kCAAkC,GAAC,CAAC;gBACrF,MAAM,YAAY,GAAG,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAE3C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,iCAAiC,EAAE,CAAC;gBACtF,CAAC;gBAED,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAW,CAAC;gBACtC,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAkC,CAAC;gBACzE,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC;gBAC9B,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,IAAI,QAAQ,CAAC;gBAE5C,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,GAAG,OAAO,GAAG,eAAe,EAAE,CAAC;gBAC5F,CAAC;gBAED,MAAM,OAAO,GAAG,IAAA,kCAAkB,EAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACvD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,GAAG,KAAK,GAAG,gCAAgC,EAAE,CAAC;gBACvG,CAAC;gBAED,MAAM,OAAO,GAAG;oBACd,KAAK;oBACL,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,0BAA0B;oBAChC,IAAI,EAAE,wBAAwB;oBAC9B,IAAI,EAAE,uBAAuB;oBAC7B,IAAI,GAAG,GAAG,GAAG,IAAI;oBACjB,kBAAkB,GAAG,WAAW,GAAG,UAAU;iBAC9C,CAAC;gBAEF,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,KAAK,GAAG,cAAc,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;gBACpF,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAEhB,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBAE/D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBAClD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC5E,CAAC;gBAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;SACF;QACD;YACE,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,oDAAoD;YACjE,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;YAC3B,UAAU,EAAE,SAAS;YACrB,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAA0B,EAAE;gBAC3E,MAAM,EAAE,uBAAuB,EAAE,GAAG,wDAAa,kCAAkC,GAAC,CAAC;gBACrF,MAAM,YAAY,GAAG,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAE3C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,iCAAiC,EAAE,CAAC;gBACtF,CAAC;gBAED,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAW,CAAC;gBACtC,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAkC,CAAC;gBACzE,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC;gBAC9B,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,IAAI,QAAQ,CAAC;gBAE5C,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,GAAG,OAAO,GAAG,eAAe,EAAE,CAAC;gBAC5F,CAAC;gBAED,MAAM,OAAO,GAAG,IAAA,kCAAkB,EAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACvD,MAAM,OAAO,GAAa,EAAE,CAAC;gBAE7B,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC9B,CAAC;gBAED,OAAO,CAAC,IAAI,CACV,IAAI,EAAE,0BAA0B,EAChC,IAAI,EAAE,wBAAwB,EAC9B,IAAI,EAAE,uBAAuB,EAC7B,IAAI,GAAG,GAAG,GAAG,IAAI,CAClB,CAAC;gBAEF,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;gBAC1E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAEhB,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBAE/D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBAClD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC5E,CAAC;gBAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;SACF;QACD;YACE,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sDAAsD;YACnE,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;YAC3B,UAAU,EAAE,MAAM;YAClB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAA0B,EAAE;gBAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC;gBAElD,IAAI,CAAC;oBACH,IAAA,wBAAQ,EACN,oBAAoB,GAAG,UAAU,GAAG,wBAAwB,EAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;oBACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC3B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,CAAC;YACH,CAAC;SACF;QAED,+DAA+D;QAC/D,kBAAkB;QAClB,+DAA+D;QAC/D;YACE,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;YAC3B,UAAU,EAAE,MAAM;YAClB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,kBAAkB,EAAE;aAClE;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAA0B,EAAE;gBAC1E,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,mBAAmB;gBAClF,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACjE,MAAM,UAAU,GAAI,OAAO,CAAC,MAAiB,IAAI,SAAS,GAAG,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC;gBAE9F,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC;gBAEtD,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;gBAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,GAAG,OAAO,EAAE,CAAC;gBACzE,CAAC;gBAED,IAAI,CAAC;oBACH,IAAA,wBAAQ,EAAC,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC1E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,GAAG,UAAU,EAAE,CAAC;gBACrE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,CAAC;YACH,CAAC;SACF;QACD;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,sEAAsE;YACnF,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;YAC3B,UAAU,EAAE,aAAa;YACzB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,wBAAwB,EAAE;aACvE;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAA0B,EAAE;gBAC1E,MAAM,SAAS,GAAG,OAAO,CAAC,KAAe,CAAC;gBAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;gBACpE,CAAC;gBAED,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,mBAAmB;gBAElF,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC;gBAEtD,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;gBAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,GAAG,OAAO,EAAE,CAAC;gBACzE,CAAC;gBAED,IAAI,CAAC;oBACH,IAAA,wBAAQ,EAAC,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBACtE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,yBAAyB,GAAG,SAAS,EAAE,CAAC;gBAC3E,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,CAAC;YACH,CAAC;SACF;QACD;YACE,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2DAA2D;YACxE,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;YAC3B,UAAU,EAAE,MAAM;YAClB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAA0B,EAAE;gBAC3E,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC;gBAChD,MAAM,OAAO,GAAa,EAAE,CAAC;gBAE7B,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,aAAa,CAAC,CAAC;gBAE7C,yBAAyB;gBACzB,IAAI,CAAC;oBACH,IAAA,wBAAQ,EAAC,mBAAmB,GAAG,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBACjE,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACrC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBACzC,CAAC;gBAED,qDAAqD;gBACrD,IAAI,CAAC;oBACH,IAAA,wBAAQ,EACN,cAAc,GAAG,aAAa,GAAG,+CAA+C,EAChF,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACtC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBAC1C,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBACvC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;gBACvC,CAAC;gBAED,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBACnF,OAAO;oBACL,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,iBAAiB;iBAC7D,CAAC;YACJ,CAAC;SACF;KACF,CAAC;IAEF,+DAA+D;IAC/D,iBAAiB;IACjB,+DAA+D;IAE/D;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,OAAe;QACvC,OAAO,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,OAAe;QACzC,OAAO,cAAc,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAe;QACtC,OAAO,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAe;QACtC,OAAO,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAe;QACnC,OAAO,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAe;QAC5C,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAC5B,MAAqB,EACrB,SAA4B;QAE5B,OAAO,YAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAC/B,MAAqB,EACrB,aAAgC;QAEhC,OAAO,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,2BAA2B,CACtC,MAAqB;QAErB,OAAO,SAAS,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,+DAA+D;IAC/D,mBAAmB;IACnB,+DAA+D;IAEvD,OAAO,CAAgB;IAE/B,YAAY,MAAqB;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CAAC,KAAY,EAAE,UAAyB,EAAE;QACzD,yCAAyC;QACzC,sEAAsE;QACtE,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5D,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QACjD,CAAC;QAED,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YACxB,yFAAyF;YACzF,4FAA4F;YAC5F,IAAI,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,gCAAgC,CAAC,CAAC;gBAEtE,sEAAsE;gBACtE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;oBAC5B,MAAM,EAAE,mBAAmB,EAAE,GAAG,wDAAa,kCAAkC,GAAC,CAAC;oBACjF,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACvD,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC;oBAE3C,IAAI,aAAa,EAAE,MAAM,EAAE,CAAC;wBAC1B,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;wBACpE,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,oBAAoB,CAC5D,IAAI,CAAC,OAAO,EACZ,aAAa,CACd,CAAC;wBACF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;4BACzB,OAAO,WAAW,CAAC;wBACrB,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,mDAAmD;wBACnD,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;wBAC1D,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACpF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;4BACzB,OAAO,WAAW,CAAC;wBACrB,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;gBAChE,CAAC;gBAED,+EAA+E;gBAC/E,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,gBAAgB,GAAC,CAAC;gBACtD,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACzC,CAAC;YAED,oEAAoE;YACpE,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,oBAAoB,CAAC,CAAC;YAC1D,IAAI,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC;YACrC,IAAI,OAAO,CAAC,MAAM;gBAAE,UAAU,IAAI,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;YAChE,IAAI,OAAO,CAAC,MAAM;gBAAE,UAAU,IAAI,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;YAChE,MAAM,SAAS,GAAG,MAAM,IAAA,uCAAuB,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACjF,OAAO;gBACL,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,SAAS;gBACtE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,uBAAuB;aACnF,CAAC;QACJ,CAAC;QAED,2EAA2E;QAC3E,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE9D,oEAAoE;QACpE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,CAAC,EAAE,CAAC;YAC5F,IAAI,CAAC;gBACH,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,wDAAa,8BAA8B,GAAC,CAAC;gBAC9E,IAAI,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;oBAC1C,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE;wBAClE,UAAU,EAAE,KAAK,KAAK,MAAM;qBAC7B,CAAC,CAAC;oBACH,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;wBACzB,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,YAAY,CAAC,OAAO,IAAI,4BAA4B,CAAC,CAAC,CAAC;oBACnF,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,mCAAmC,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC;oBACvF,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,sCAAsC,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,KAAY,EAAE,WAAoC,EAAE;QAClE,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5D,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YACxB,yBAAyB;YACzB,MAAM,EAAE,uBAAuB,EAAE,GAAG,wDAAa,kCAAkC,GAAC,CAAC;YACrF,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAA0B,CAAC;YAC/D,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC;YAEjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,cAAc,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC;YACzE,MAAM,SAAS,GAAG,MAAM,IAAA,uCAAuB,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;YACxF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAElB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,GAAG,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,2CAA2C;QAC3C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAY,EAAE,WAAoC,EAAE;QACjE,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5D,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAChE,CAAC;QAED,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YACxB,yBAAyB;YACzB,MAAM,EAAE,uBAAuB,EAAE,GAAG,wDAAa,kCAAkC,GAAC,CAAC;YACrF,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAA6C,CAAC;YAClF,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC;YAEjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,cAAc,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC;YACzE,MAAM,SAAS,GAAG,MAAM,IAAA,uCAAuB,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,KAAK,CAAC,CAAC;YACvF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAElB,yDAAyD;YACzD,kEAAkE;YAClE,6DAA6D;YAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;QACvD,CAAC;QAED,2CAA2C;QAC3C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,KAAY,EAAE,OAAsB;QAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAEjD,iEAAiE;QACjE,MAAM,OAAO,GAAG,MAAM,IAAA,8BAAmB,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjE,+EAA+E;QAC/E,MAAM,EAAE,mBAAmB,EAAE,GAAG,wDAAa,kCAAkC,GAAC,CAAC;QACjF,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,SAAS,EAAE,MAAM,CAAC;QAErC,MAAM,iBAAiB,GAAG,CAAC,UAAU;YACnC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAK,CAAqB,CAAC,EAAE,KAAK,UAAU,CAAC;YAC1F,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAUnC,CAAC;QAEd,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE3D,0DAA0D;YAC1D,IAAI,cAAc,CAAC,iBAAiB,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBAEtC,0CAA0C;gBAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;gBAE1E,MAAM,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE;oBAC1D,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,MAAM;oBAChC,UAAU,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;oBAChC,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBAEH,2EAA2E;gBAC3E,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,kCAAkC,GAAC,CAAC;gBACxE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBACjD,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;YAED,wCAAwC;YACxC,iEAAiE;YACjE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;gBAC5B,MAAM,EAAE,mBAAmB,EAAE,GAAG,wDAAa,kCAAkC,GAAC,CAAC;gBACjF,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEvD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;oBACvC,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;wBACtB,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;wBACjE,OAAO,CAAC,GAAG,CAAC,wBAAwB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;wBACxD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;wBACrF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;4BACzB,OAAO,CAAC,KAAK,CAAC,sBAAsB,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;4BACzD,OAAO,WAAW,CAAC;wBACrB,CAAC;wBACD,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;oBACzE,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;oBACtE,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;oBAC5B,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC;oBAC3C,IAAI,aAAa,EAAE,MAAM,EAAE,CAAC;wBAC1B,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;wBACpE,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,oBAAoB,CAC5D,IAAI,CAAC,OAAO,EACZ,aAAa,CACd,CAAC;wBACF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;4BACzB,OAAO,WAAW,CAAC;wBACrB,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,+DAA+D;wBAC/D,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;wBAC/E,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACpF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;4BACzB,OAAO,WAAW,CAAC;wBACrB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;YACxE,CAAC;YAED,4BAA4B;YAC5B,gGAAgG;YAChG,IAAI,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACzC,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,gBAAgB,GAAC,CAAC;gBACtD,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,OAAsB,EAAE,WAAmB;QACtD,uDAAuD;QACvD,OAAO,IAAI,CAAC,WAAW,CAAC,WAAoB,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAsB,EAAE,WAAmB;QACxD,OAAO,CAAC,GAAG,CAAC,gBAAgB,WAAW,qBAAqB,CAAC,CAAC;QAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;;AAGH,kBAAe,eAAe,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Claude Code skill scanfixes for Factiii Pipeline plugin
3
+ *
4
+ * Installs the three "standard" Claude Code skills the team uses across every
5
+ * factiii-pipeline repo, so any Claude Code session in any repo can rely on
6
+ * the same `/commit`, `/push`, and `/prod-check` workflows being available
7
+ * with the same gates.
8
+ *
9
+ * ~/.claude/skills/commit/SKILL.md — lint:fix + check-types gate, then commit
10
+ * ~/.claude/skills/push/SKILL.md — scoped tests for changed code, then push
11
+ * ~/.claude/skills/prod-check/SKILL.md — full pre-prod gate (lint/types/tests/build
12
+ * + branch diff vs production + secret scan
13
+ * + audit + auto-commit fixes)
14
+ *
15
+ * All three SKILL.md bodies are intentionally **generic across factiii-pipeline
16
+ * repos**: they live once at ~/.claude/skills/ and are shared by every repo on
17
+ * the machine, so they detect repo shape at runtime (apps/server, packages/*,
18
+ * Prisma, etc.) rather than hardcoding paths from any one repo.
19
+ *
20
+ * Local-only (no SSH, no GITHUB_ACTIONS check). Stage: dev.
21
+ * Severity: warning — missing skills don't break deploys, but having them
22
+ * available is what enforces the gates the team relies on.
23
+ *
24
+ * OPT-IN: These are "host-machine fixes" — they write to ~/.claude/, which is
25
+ * the developer's personal Claude Code config, not project state. Per
26
+ * STANDARDS.md "Host-Machine Fixes", they are gated behind an explicit opt-in
27
+ * in stack.local.yml (`claude_skills: true`). When the flag is unset or false,
28
+ * scan returns "no issue" and fix is a no-op. This keeps devs who don't use
29
+ * Claude Code (or who curate their own skills) from being surprised by files
30
+ * appearing in their home directory.
31
+ *
32
+ * REFRESH BEHAVIOR: Unlike the previous scanfix (which only wrote when the
33
+ * file was missing), this one **overwrites when the on-disk content drifts
34
+ * from the canonical content baked into stack**. That way `npx stack fix --dev`
35
+ * propagates skill updates to every dev who has opted in. If a dev wants to
36
+ * customize their local copy and not have stack stomp it, they can add the
37
+ * line `<!-- user-managed -->` anywhere in the file — the scanfix will detect
38
+ * the marker and skip that file.
39
+ *
40
+ * Split of concerns:
41
+ * - This scanfix owns the skill *workflows* (SKILL.md content). Process
42
+ * lives here so it ships with stack and is identical on every dev machine
43
+ * that opts in.
44
+ * - The audit *override reference table* (which packages, why) is optional
45
+ * per-repo at .specs/audit.md so PR reviewers can see it; the prod-check
46
+ * skill uses it if present and skips it if not.
47
+ * - Phase 4 of the prod-check SKILL.md auto-commits the deterministic fixes
48
+ * the gate produced. This is a sanctioned exception to factiii-stack's
49
+ * "never commit without approval" rule because prod-check is itself an
50
+ * explicit user-invoked gate; the skill always reports the resulting
51
+ * commit SHA back to the user.
52
+ */
53
+ import type { Fix } from '../../../../types/index.js';
54
+ export declare const claudeSkillFixes: Fix[];
55
+ //# sourceMappingURL=claude-skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-skills.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/claude-skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAKH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAuXtD,eAAO,MAAM,gBAAgB,EAAE,GAAG,EAsBjC,CAAC"}
@@ -0,0 +1,474 @@
1
+ "use strict";
2
+ /**
3
+ * Claude Code skill scanfixes for Factiii Pipeline plugin
4
+ *
5
+ * Installs the three "standard" Claude Code skills the team uses across every
6
+ * factiii-pipeline repo, so any Claude Code session in any repo can rely on
7
+ * the same `/commit`, `/push`, and `/prod-check` workflows being available
8
+ * with the same gates.
9
+ *
10
+ * ~/.claude/skills/commit/SKILL.md — lint:fix + check-types gate, then commit
11
+ * ~/.claude/skills/push/SKILL.md — scoped tests for changed code, then push
12
+ * ~/.claude/skills/prod-check/SKILL.md — full pre-prod gate (lint/types/tests/build
13
+ * + branch diff vs production + secret scan
14
+ * + audit + auto-commit fixes)
15
+ *
16
+ * All three SKILL.md bodies are intentionally **generic across factiii-pipeline
17
+ * repos**: they live once at ~/.claude/skills/ and are shared by every repo on
18
+ * the machine, so they detect repo shape at runtime (apps/server, packages/*,
19
+ * Prisma, etc.) rather than hardcoding paths from any one repo.
20
+ *
21
+ * Local-only (no SSH, no GITHUB_ACTIONS check). Stage: dev.
22
+ * Severity: warning — missing skills don't break deploys, but having them
23
+ * available is what enforces the gates the team relies on.
24
+ *
25
+ * OPT-IN: These are "host-machine fixes" — they write to ~/.claude/, which is
26
+ * the developer's personal Claude Code config, not project state. Per
27
+ * STANDARDS.md "Host-Machine Fixes", they are gated behind an explicit opt-in
28
+ * in stack.local.yml (`claude_skills: true`). When the flag is unset or false,
29
+ * scan returns "no issue" and fix is a no-op. This keeps devs who don't use
30
+ * Claude Code (or who curate their own skills) from being surprised by files
31
+ * appearing in their home directory.
32
+ *
33
+ * REFRESH BEHAVIOR: Unlike the previous scanfix (which only wrote when the
34
+ * file was missing), this one **overwrites when the on-disk content drifts
35
+ * from the canonical content baked into stack**. That way `npx stack fix --dev`
36
+ * propagates skill updates to every dev who has opted in. If a dev wants to
37
+ * customize their local copy and not have stack stomp it, they can add the
38
+ * line `<!-- user-managed -->` anywhere in the file — the scanfix will detect
39
+ * the marker and skip that file.
40
+ *
41
+ * Split of concerns:
42
+ * - This scanfix owns the skill *workflows* (SKILL.md content). Process
43
+ * lives here so it ships with stack and is identical on every dev machine
44
+ * that opts in.
45
+ * - The audit *override reference table* (which packages, why) is optional
46
+ * per-repo at .specs/audit.md so PR reviewers can see it; the prod-check
47
+ * skill uses it if present and skips it if not.
48
+ * - Phase 4 of the prod-check SKILL.md auto-commits the deterministic fixes
49
+ * the gate produced. This is a sanctioned exception to factiii-stack's
50
+ * "never commit without approval" rule because prod-check is itself an
51
+ * explicit user-invoked gate; the skill always reports the resulting
52
+ * commit SHA back to the user.
53
+ */
54
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
55
+ if (k2 === undefined) k2 = k;
56
+ var desc = Object.getOwnPropertyDescriptor(m, k);
57
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
58
+ desc = { enumerable: true, get: function() { return m[k]; } };
59
+ }
60
+ Object.defineProperty(o, k2, desc);
61
+ }) : (function(o, m, k, k2) {
62
+ if (k2 === undefined) k2 = k;
63
+ o[k2] = m[k];
64
+ }));
65
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
66
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
67
+ }) : function(o, v) {
68
+ o["default"] = v;
69
+ });
70
+ var __importStar = (this && this.__importStar) || (function () {
71
+ var ownKeys = function(o) {
72
+ ownKeys = Object.getOwnPropertyNames || function (o) {
73
+ var ar = [];
74
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
75
+ return ar;
76
+ };
77
+ return ownKeys(o);
78
+ };
79
+ return function (mod) {
80
+ if (mod && mod.__esModule) return mod;
81
+ var result = {};
82
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
83
+ __setModuleDefault(result, mod);
84
+ return result;
85
+ };
86
+ })();
87
+ Object.defineProperty(exports, "__esModule", { value: true });
88
+ exports.claudeSkillFixes = void 0;
89
+ const fs = __importStar(require("fs"));
90
+ const os = __importStar(require("os"));
91
+ const path = __importStar(require("path"));
92
+ const config_helpers_js_1 = require("../../../../utils/config-helpers.js");
93
+ const SKILLS_ROOT = path.join(os.homedir(), '.claude', 'skills');
94
+ const USER_MANAGED_MARKER = '<!-- user-managed -->';
95
+ // ─────────────────────────────────────────────────────────────────────────────
96
+ // commit SKILL.md — gate: pnpm lint:fix + pnpm check-types, then commit
97
+ // ─────────────────────────────────────────────────────────────────────────────
98
+ const COMMIT_SKILL_CONTENT = `---
99
+ name: commit
100
+ description: Create a git commit in any repo, gated by quality checks. Runs \`pnpm lint:fix\` and \`pnpm check-types\` first (skipping whichever isn't defined); only proceeds to commit if both pass. TRIGGER when the user invokes /commit or asks to commit changes.
101
+ ---
102
+
103
+ # commit
104
+
105
+ Create a git commit, but only after the workspace passes the same quality gates that block CI. The point: never land a commit that breaks types or has trivially auto-fixable lint noise.
106
+
107
+ This skill is installed once globally in \`~/.claude/skills/\` and is shared by every repo on the machine. Detect what's available before running anything; skip steps whose script doesn't exist rather than failing.
108
+
109
+ ## Phase 0 — Detect repo shape
110
+
111
+ Read the root \`package.json\` once and record which of these scripts exist:
112
+
113
+ - \`lint:fix\`
114
+ - \`check-types\`
115
+
116
+ Both are optional. A repo that defines neither still gets a commit (just with no gates).
117
+
118
+ ## Steps
119
+
120
+ 1. **Inspect what's being committed** — \`git status\` and \`git diff\` (both staged and unstaged) so you understand the change before gating it. If there are no changes, stop and tell the user.
121
+
122
+ 2. **Auto-fix lint** — if \`lint:fix\` exists, run \`pnpm lint:fix\` from the repo root. This cleans import order, unused imports, prettier, prefer-const. Do not chase auto-fixable categories as findings — let the fixer handle them. If \`lint:fix\` itself errors out (not just modifies files), stop and report.
123
+
124
+ 3. **Type check** — if \`check-types\` exists, run \`pnpm check-types\`. Type errors are blocking. Do NOT commit if this fails. If the errors are in code the user just changed, fix them and re-run. If they look pre-existing or need user judgment, stop and report before committing — do not paper over with \`@ts-ignore\` or \`any\`.
125
+
126
+ 4. **Re-inspect** — \`lint:fix\` may have modified files. Run \`git status\` / \`git diff\` again so the commit message reflects the post-fix state.
127
+
128
+ 5. **Commit** — follow the standard commit protocol from the system prompt:
129
+ - Stage specific files by name (never \`git add -A\` / \`git add .\`).
130
+ - Draft a concise message focused on the *why*.
131
+ - **Do NOT include a \`Co-Authored-By\` trailer** — factiii repos forbid it; absence is the safe default.
132
+ - Use a HEREDOC for the commit message to preserve formatting.
133
+ - Never \`--amend\`, never \`--no-verify\`.
134
+
135
+ 6. **Verify** — run \`git status\` after the commit to confirm it landed and report the commit hash to the user.
136
+
137
+ ## Notes
138
+
139
+ - Installed by the \`commit-skill\` scanfix in \`@factiii/stack\` (factiii pipeline). Run \`npx stack fix --dev\` from any factiii-pipeline repo to install or restore it.
140
+ - This file is shared across all factiii-pipeline repos on the machine — keep it generic. If you want to hand-edit your local copy and stop stack from refreshing it, add the line \`<!-- user-managed -->\` anywhere in the file.
141
+ - If pre-commit hooks fail, do NOT amend — fix the issue, re-stage, create a new commit.
142
+ - Do not push unless the user explicitly asks (\`/push\` is the right next step).
143
+ - If the user passes a message via args (\`/commit -m "..."\`), respect it but still run gates first.
144
+ `;
145
+ // ─────────────────────────────────────────────────────────────────────────────
146
+ // push SKILL.md — gate: scoped tests for changed code, then push
147
+ // ─────────────────────────────────────────────────────────────────────────────
148
+ const PUSH_SKILL_CONTENT = `---
149
+ name: push
150
+ description: Push the current branch in any repo, gated by tests scoped to the code that actually changed. Detects which apps/* and packages/* directories exist, maps the branch's diff onto them, and runs only those test suites. TRIGGER when the user invokes /push or asks to push the current branch.
151
+ ---
152
+
153
+ # push
154
+
155
+ Push the current branch, but only after the tests that *matter for this change* are green. The point: don't run the entire monorepo's test matrix on every push, but never push code whose tests weren't run.
156
+
157
+ This skill sits between \`/commit\` (cheap local gates: lint:fix + check-types) and \`/prod-check\` (full pre-prod sweep including audit). Use it for the everyday "I'm ready to share this branch" moment.
158
+
159
+ This skill is installed once globally in \`~/.claude/skills/\` and is shared by every repo on the machine. Repo layouts vary — **detect what exists before running step-specific commands**. Never invent paths.
160
+
161
+ ---
162
+
163
+ ## Phase 0 — Detect repo shape
164
+
165
+ Inspect the working directory and record:
166
+
167
+ - Every directory under \`apps/\` that contains a \`package.json\`. Each is a candidate **bucket**.
168
+ - Every directory under \`packages/\` that contains a \`package.json\`. Each is a candidate **bucket**.
169
+ - For every bucket, whether its \`package.json\` defines a \`test\` script (and a \`seed:test\` script — if present, run it before \`test\`).
170
+ - Whether a top-level \`shared/\` (or \`packages/shared/\`) directory exists.
171
+ - Whether the **root** \`package.json\` defines a \`test\` script (some repos use a single root suite instead of per-bucket).
172
+
173
+ The list of buckets *is* the test scope. A repo with only \`packages/stack\` and \`packages/auth\` has two buckets; a repo with \`apps/server\`, \`apps/client\`, and \`apps/mobile\` has three. Treat them uniformly.
174
+
175
+ ---
176
+
177
+ ## Steps
178
+
179
+ 1. **Sanity check the working tree** — \`git status\`. If there are uncommitted changes, stop and tell the user to \`/commit\` first. Pushing dirty state is never what they meant.
180
+
181
+ 2. **Determine what actually changed** — figure out the diff against the upstream:
182
+ - If the branch tracks a remote: \`git diff --name-only @{u}...HEAD\`.
183
+ - Otherwise diff against \`origin/main\`: \`git fetch origin main\` then \`git diff --name-only origin/main...HEAD\`.
184
+ - If the diff is empty, stop and report — there's nothing to push.
185
+
186
+ 3. **Map changed paths to buckets** — for each changed file, add to the run set whichever bucket(s) match:
187
+
188
+ | Pattern | Buckets to run |
189
+ |---|---|
190
+ | \`apps/<name>/**\` | the matching \`apps/<name>\` bucket |
191
+ | \`packages/<name>/**\` | the matching \`packages/<name>\` bucket |
192
+ | \`shared/**\` or \`packages/shared/**\` | every other bucket that imports shared (when in doubt, run them all — shared validators are exercised everywhere) |
193
+ | \`package.json\`, \`pnpm-lock.yaml\`, \`pnpm-workspace.yaml\`, \`tsconfig*.json\` (root) | **every** bucket — a workspace/dep change can break anything |
194
+ | \`.github/**\`, \`*.md\`, \`stack.yml\`, \`stackAuto.yml\`, \`docker-compose*.yml\` | none (no test-relevant changes) |
195
+ | anything else that doesn't match | the closest containing bucket; if none, run all buckets (be conservative) |
196
+
197
+ If *only* no-test-relevant files changed, skip Step 4 entirely and note "no test-relevant changes" in the report. If the run set ends up empty for any other reason, run **every** bucket — better to test too much than too little.
198
+
199
+ 4. **Run the selected test commands** — for each bucket in the run set, in order (\`apps/*\` before \`packages/*\` is a fine default):
200
+
201
+ - If the bucket defines \`seed:test\`, run \`pnpm --filter <bucket-name> seed:test\` first. Skipping it produces misleading failures in repos that have a seed step.
202
+ - Then run \`pnpm --filter <bucket-name> test\`.
203
+ - If a bucket has no \`test\` script, skip it and note that in the report rather than failing.
204
+ - If a bucket fails, stop immediately and report. Do not push.
205
+
206
+ If the repo only defines a root \`test\` script (no per-bucket scripts), run \`pnpm test\` once instead of iterating.
207
+
208
+ 5. **Push** — \`git push\`. If the branch has no upstream, use \`git push -u origin <branch>\`. Never \`--force\` or \`--no-verify\` unless the user explicitly asked.
209
+
210
+ 6. **Report** — one short summary: which buckets ran, which were skipped (and why), the push result, and the remote branch URL if visible from \`git push\` output.
211
+
212
+ ---
213
+
214
+ ## Notes
215
+
216
+ - Installed by the \`push-skill\` scanfix in \`@factiii/stack\` (factiii pipeline). Run \`npx stack fix --dev\` from any factiii-pipeline repo to install or restore it.
217
+ - This file is shared across all factiii-pipeline repos on the machine — keep it generic. If you want to hand-edit your local copy and stop stack from refreshing it, add the line \`<!-- user-managed -->\` anywhere in the file.
218
+ - This skill is about *scoping* tests, not skipping them. If you can't confidently determine the scope (weird path, generated file, unfamiliar package), run more tests rather than fewer.
219
+ - If the user wants the full matrix anyway, they can run \`pnpm test\` from the root themselves — don't second-guess that.
220
+ - Don't run lint or type checks here — those belong to \`/commit\`. Don't run audit or schema diffs — those belong to \`/prod-check\`.
221
+ - Don't create commits in this skill. If tests modify files (snapshots, etc.), stop and tell the user to review and \`/commit\` the updates.
222
+ `;
223
+ // ─────────────────────────────────────────────────────────────────────────────
224
+ // prod-check SKILL.md — full pre-prod gate (already generic across repos)
225
+ // ─────────────────────────────────────────────────────────────────────────────
226
+ const PROD_CHECK_SKILL_CONTENT = `---
227
+ name: prod-check
228
+ description: Pre-production verification for any factiii-pipeline repo. Runs quality gates (lint, types, tests, build), diffs the current branch against origin/production for schema/migration/env/secret/API changes, runs a security audit, and commits the resulting fixes. TRIGGER when the user asks to check a branch against production, prepare a production push, run pre-merge checks, or audit dependencies before release.
229
+ ---
230
+
231
+ # prod-check
232
+
233
+ Pre-production verification workflow for **factiii-pipeline repos**. Runs in four phases: **fix everything locally**, **diff against production**, **security audit**, then **commit**. Report at the end groups findings as **BLOCKING** vs **INFORMATIONAL**.
234
+
235
+ The whole point: nothing should reach \`origin/production\` that hasn't passed local quality gates and been reviewed for schema, secret, and API-breaking changes.
236
+
237
+ This skill is installed once globally in \`~/.claude/skills/\` and is shared by every factiii-pipeline repo on your machine. Repo layouts vary — **detect what exists before running step-specific commands**. Skip steps that don't apply (e.g. no \`apps/mobile\` → no Expo doctor; no Prisma schema → no migration diff). Never invent paths.
238
+
239
+ ---
240
+
241
+ ## Phase 0 — Detect repo shape
242
+
243
+ Before running anything, inspect the working directory and record which of these exist. Every later phase branches on this list:
244
+
245
+ - \`apps/server\` (Node server app)
246
+ - \`apps/client\` (web client)
247
+ - \`apps/mobile\` (Expo mobile app)
248
+ - Any \`packages/<name>\` directories with their own \`package.json\`
249
+ - \`apps/server/prisma/schema.prisma\` and \`apps/server/prisma/migrations/\`
250
+ - \`apps/server/src/routes/\` (tRPC route tree)
251
+ - \`shared/\` or \`packages/shared/\` validator dir (look for \`validators/\` underneath)
252
+ - \`.specs/audit.md\` (audit override reference table — optional)
253
+ - Root scripts: which of \`lint:fix\`, \`lint\`, \`check-types\`, \`test\`, \`build\` exist in root \`package.json\`
254
+
255
+ If a repo has only a server, run only server steps. If it has no Prisma, skip schema/migration diffing. If it's a packages-only repo (no \`apps/\`), iterate \`packages/*\` instead. **Do not fail a phase because an optional path is missing — note it as "n/a for this repo" and move on.**
256
+
257
+ ---
258
+
259
+ ## Phase 1 — Local quality gates (fix before continuing)
260
+
261
+ Run in this order against the scripts that exist. Each step must be green before moving on. If a step fails, fix it (or report blockers and stop) — do not skip.
262
+
263
+ 1. **Sync** — \`git fetch origin production\` and confirm the working tree is clean (\`git status\`). Stash or commit anything dirty before continuing; uncommitted state contaminates the diff in Phase 2.
264
+ 2. **Auto-fix lint noise** — \`pnpm lint:fix\` if the script exists. This cleans import order, unused imports, prettier, prefer-const so the type/test output isn't drowned in cosmetic churn. Always run the fixer first; ignore auto-fixable categories as *findings*.
265
+ 3. **Type check** — \`pnpm check-types\`. Fix every error. No \`@ts-ignore\`, no \`any\` (use \`unknown\`). Type errors are blocking.
266
+ 4. **Lint (real rules)** — \`pnpm lint\`. Focus on what matters: promise handling, hooks rules, real type issues. Auto-fixable categories are noise — don't chase them.
267
+ 5. **Tests** — for each bucket detected in Phase 0 that has a \`test\` script: if it also has \`seed:test\`, run that first, then \`test\`. Skipping the seed step produces misleading failures in repos that have one.
268
+ 6. **Build everything that exists** — \`pnpm build\` from the root. All present apps/packages must build. A green local dev does not imply a green build.
269
+
270
+ If any step surfaces failures you can fix safely, fix them. If failures need user judgment (e.g. a failing test reflects intended behavior change), stop and report before continuing.
271
+
272
+ ---
273
+
274
+ ## Phase 2 — Diff against production
275
+
276
+ Only run after Phase 1 is fully green. Use \`origin/production\` as the base (refresh with \`git fetch origin production\` if Phase 1 took a while). For every path-based check below, only run it if the path exists in this repo.
277
+
278
+ 1. **Overall diffstat** — \`git diff --stat origin/production...HEAD\` for orientation.
279
+ 2. **Schema & migrations** — only if \`apps/server/prisma/schema.prisma\` exists. \`git diff origin/production...HEAD -- apps/server/prisma/schema.prisma 'apps/server/prisma/migrations/**'\`.
280
+ - Comment-only schema changes = informational.
281
+ - Field/model/index changes = blocking unless paired with a migration.
282
+ - **New migration files = blocking action**: they need to be applied to prod DB during deploy. Call this out explicitly with the migration name(s).
283
+ 3. **Secrets scan** — always. Search the diff for committed credentials. Patterns to grep: \`AKIA[0-9A-Z]{16}\` (AWS access key), \`-----BEGIN .* PRIVATE KEY-----\`, \`sk_live_\`, \`sk_test_\`, \`xox[baprs]-\`, \`ghp_\`, \`Bearer [A-Za-z0-9_\\-]{20,}\`, raw \`password\\s*[:=]\`, \`client_secret\`. Run against \`git diff origin/production...HEAD\`. Anything matching is **BLOCKING** — instruct the user to rotate the credential in its provider before merging, since git history is forever.
284
+ 4. **Env / infra surface** — diff whichever of these exist and flag any change:
285
+ - \`stack.yml\`, \`stackAuto.yml\`, \`docker-compose*.yml\`
286
+ - \`.github/workflows/**\`
287
+ - \`start.sh\`, root \`package.json\`, any \`apps/*/package.json\` or \`packages/*/package.json\` (deps)
288
+ - \`pnpm-workspace.yaml\` catalog
289
+ Changes here often need a corresponding action on the prod host (env var added, image rebuilt, workflow secret set).
290
+ 5. **Breaking API changes for mobile** — only if \`apps/mobile/\` exists. Old mobile builds in the wild cannot be force-updated. Diff the server's route tree (e.g. \`apps/server/src/routes/**\`) and look for:
291
+ - Removed tRPC procedures
292
+ - Renamed/removed input or output fields
293
+ - Tightened Zod validators (new required fields, narrower enums)
294
+ - Changed HTTP status codes or error shapes
295
+ These are blocking unless the change is additive or behind a version gate.
296
+ 6. **Shared validators** — if a shared validator dir exists, diff it. Tightening a Zod schema is the most common silent break for old clients.
297
+
298
+ ---
299
+
300
+ ## Phase 3 — Security audit pass
301
+
302
+ **Always run** — even when \`pnpm-lock.yaml\` is unchanged. New CVEs get disclosed against packages already pinned in the lockfile, so a clean diff doesn't mean a clean audit.
303
+
304
+ Start with a quick \`pnpm audit\` against the current lockfile. If it's clean and (where present) \`.specs/audit.md\` is current, you're done with Phase 3 in one command. If there are new findings, run the full process below to triage them.
305
+
306
+ If the repo has a \`.specs/audit.md\`, it owns the override **reference table** (what's pinned and *why*). This skill owns the **process** for updating it. If the repo has no audit doc, just report findings — don't create the file unless the user asks.
307
+
308
+ ### Audit process
309
+
310
+ 1. Remove ALL overrides from \`package.json\` (security + dedup).
311
+ 2. \`pnpm install --no-frozen-lockfile\`.
312
+ 3. If \`apps/mobile/\` exists: \`cd apps/mobile && npx expo-doctor\` — check Expo SDK compatibility first.
313
+ 4. Re-add dedup overrides if still needed, \`pnpm install\`.
314
+ 5. \`pnpm audit\` — note what's still vulnerable.
315
+ 6. For each vuln: \`pnpm why <pkg>\` — if upstream fixed it, no override needed.
316
+ 7. Add security overrides only for transitive deps where the fix is a semver-compatible bump.
317
+ 8. \`pnpm install && pnpm audit\` — verify.
318
+ 9. If \`.specs/audit.md\` exists, **update it** with the new override row(s), source chain, and the *reason* (CVE, behavior, or compatibility issue). A row without a reason is worse than no row.
319
+
320
+ **Don't override** if: major version jump required, dev-only with no prod exposure, or it's a direct dep (just upgrade it).
321
+
322
+ ---
323
+
324
+ ## Phase 4 — Commit prod-check fixes
325
+
326
+ This phase **intentionally violates** the repo's "never commit without user approval" rule in CLAUDE.md. It is the one sanctioned exception: prod-check is explicitly invoked by the user as a pre-production gate, and the commit captures only the deterministic fixes the gate produced (lint:fix output, type-error fixes, audit override updates). Always tell the user the commit happened and what's in it.
327
+
328
+ Skip this phase entirely if:
329
+
330
+ - Phase 1 had unresolved failures (the user must triage first), OR
331
+ - \`git status\` is clean (nothing was changed), OR
332
+ - The diff includes changes you didn't make in this session — in that case, **stop and ask** rather than sweeping unrelated work into a prod-check commit.
333
+
334
+ ### Commit steps
335
+
336
+ 1. \`git status --short\` — confirm only files touched by Phase 1–3 are dirty.
337
+ 2. \`git diff\` — sanity-check the contents one more time.
338
+ 3. Stage **only** the files this session modified (name them explicitly; do **not** \`git add -A\`).
339
+ 4. Commit with a HEREDOC message:
340
+ \`\`\`
341
+ chore(prod-check): apply pre-production gate fixes
342
+
343
+ - <bulleted list of what was fixed: lint:fix, type errors, audit overrides, etc>
344
+ \`\`\`
345
+ No \`Co-Authored-By\` trailer (factiii-stack CLAUDE.md forbids it).
346
+ 5. Do **not** push. Pushing is always the user's call (\`/push\` is the right next step).
347
+ 6. In your final report, surface a clearly-labeled note:
348
+ > **Auto-committed by prod-check:** \`<commit sha>\` — <one-line summary>. This skill is allowed to commit pre-prod gate fixes; review with \`git show <sha>\` and amend or revert if anything looks off.
349
+
350
+ ---
351
+
352
+ ## Final report format
353
+
354
+ Group findings into two buckets. Be specific — name files, line numbers, migration filenames.
355
+
356
+ \`\`\`
357
+ BLOCKING (must resolve before merging to production):
358
+ - <finding> — <file:line> — <what to do>
359
+
360
+ INFORMATIONAL (no action needed, just FYI):
361
+ - <finding> — <file:line>
362
+
363
+ AUTO-COMMIT:
364
+ - <sha or "none — nothing to commit"> — <summary>
365
+ \`\`\`
366
+
367
+ If Phase 1 had failures the user must triage, surface those at the top before any Phase 2 findings and skip Phase 4.
368
+
369
+ ---
370
+
371
+ ## Notes
372
+
373
+ - Installed by the \`prod-check-skill\` scanfix in \`@factiii/stack\` (factiii pipeline). Run \`npx stack fix --dev\` from any factiii-pipeline repo to install or restore it.
374
+ - This file is shared across all factiii-pipeline repos on the machine — keep it generic. If you want to hand-edit your local copy and stop stack from refreshing it, add the line \`<!-- user-managed -->\` anywhere in the file.
375
+ - Per-repo specifics (audit override tables, etc.) belong in the consumer repo at \`.specs/audit.md\`.
376
+ `;
377
+ // ─────────────────────────────────────────────────────────────────────────────
378
+ // Helpers
379
+ // ─────────────────────────────────────────────────────────────────────────────
380
+ /**
381
+ * Read the per-developer opt-in flag from stack.local.yml.
382
+ * Defaults to false: host-machine fixes never run unless explicitly enabled.
383
+ */
384
+ function isOptedIn(rootDir) {
385
+ try {
386
+ const local = (0, config_helpers_js_1.loadLocalConfig)(rootDir);
387
+ return local.claude_skills === true;
388
+ }
389
+ catch {
390
+ return false;
391
+ }
392
+ }
393
+ /**
394
+ * Decide whether the on-disk SKILL.md needs (re)writing.
395
+ *
396
+ * Returns true if:
397
+ * - the file is missing, OR
398
+ * - the file content differs from the canonical content AND the file does
399
+ * not contain the user-managed marker (so devs who hand-edit can opt out
400
+ * by adding `<!-- user-managed -->` anywhere in the file).
401
+ */
402
+ function needsInstall(file, canonical) {
403
+ if (!fs.existsSync(file))
404
+ return true;
405
+ const current = fs.readFileSync(file, 'utf8');
406
+ if (current.includes(USER_MANAGED_MARKER))
407
+ return false;
408
+ return current !== canonical;
409
+ }
410
+ /**
411
+ * Idempotently install a SKILL.md to ~/.claude/skills/<name>/SKILL.md,
412
+ * honoring the user-managed opt-out marker.
413
+ */
414
+ function installSkill(name, content) {
415
+ const dir = path.join(SKILLS_ROOT, name);
416
+ const file = path.join(dir, 'SKILL.md');
417
+ if (!needsInstall(file, content))
418
+ return;
419
+ if (!fs.existsSync(dir))
420
+ fs.mkdirSync(dir, { recursive: true });
421
+ fs.writeFileSync(file, content, 'utf8');
422
+ }
423
+ /**
424
+ * Build a Fix definition for one of the standard skills. The shape is the
425
+ * same for all three — only the id, description, name, and content vary.
426
+ */
427
+ function makeSkillFix(args) {
428
+ const file = path.join(SKILLS_ROOT, args.skillName, 'SKILL.md');
429
+ return {
430
+ id: args.id,
431
+ stage: 'dev',
432
+ severity: 'warning',
433
+ description: args.description,
434
+ scan: async function (_config, rootDir) {
435
+ // Opt-in gate: invisible to devs who haven't enabled claude_skills.
436
+ if (!isOptedIn(rootDir))
437
+ return false;
438
+ // Returns true when there IS an issue (skill missing or stale).
439
+ return needsInstall(file, args.content);
440
+ },
441
+ fix: async function (_config, rootDir) {
442
+ // Belt-and-braces: re-check the opt-in before touching ~/.claude.
443
+ if (!isOptedIn(rootDir))
444
+ return true;
445
+ installSkill(args.skillName, args.content);
446
+ return true;
447
+ },
448
+ manualFix: `Set \`claude_skills: true\` in stack.local.yml and run \`npx stack fix --dev\`, or create ${file} by hand.`,
449
+ };
450
+ }
451
+ // ─────────────────────────────────────────────────────────────────────────────
452
+ // Exported fixes
453
+ // ─────────────────────────────────────────────────────────────────────────────
454
+ exports.claudeSkillFixes = [
455
+ makeSkillFix({
456
+ id: 'commit-skill-installed',
457
+ skillName: 'commit',
458
+ description: 'Claude Code commit skill is missing or stale at ~/.claude/skills/commit/SKILL.md — the lint:fix + check-types pre-commit gate cannot be invoked consistently without it (enable with `claude_skills: true` in stack.local.yml; add `<!-- user-managed -->` to the file to opt out of refresh)',
459
+ content: COMMIT_SKILL_CONTENT,
460
+ }),
461
+ makeSkillFix({
462
+ id: 'push-skill-installed',
463
+ skillName: 'push',
464
+ description: 'Claude Code push skill is missing or stale at ~/.claude/skills/push/SKILL.md — scoped pre-push tests cannot be invoked consistently without it (enable with `claude_skills: true` in stack.local.yml; add `<!-- user-managed -->` to the file to opt out of refresh)',
465
+ content: PUSH_SKILL_CONTENT,
466
+ }),
467
+ makeSkillFix({
468
+ id: 'prod-check-skill-installed',
469
+ skillName: 'prod-check',
470
+ description: 'Claude Code prod-check skill is missing or stale at ~/.claude/skills/prod-check/SKILL.md — pre-prod gates (lint/types/tests/build + branch diff vs production + secret scan + audit) cannot be invoked consistently without it (enable with `claude_skills: true` in stack.local.yml; add `<!-- user-managed -->` to the file to opt out of refresh)',
471
+ content: PROD_CHECK_SKILL_CONTENT,
472
+ }),
473
+ ];
474
+ //# sourceMappingURL=claude-skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-skills.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/claude-skills.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@factiii/stack",
3
- "version": "0.7.3",
3
+ "version": "0.8.0",
4
4
  "description": "Infrastructure management package for deploying services to servers",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -42,7 +42,7 @@
42
42
  "commander": "^11.1.0",
43
43
  "js-yaml": "^4.1.1",
44
44
  "libsodium-wrappers": "^0.7.11",
45
- "@factiii/auth": "0.7.2"
45
+ "@factiii/auth": "0.8.0"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/jest": "^30.0.0",
@@ -1,34 +0,0 @@
1
- /**
2
- * prod-check skill scanfix for Factiii Pipeline plugin
3
- *
4
- * Ensures the per-user Claude Code skill at ~/.claude/skills/prod-check/SKILL.md
5
- * exists on the developer's machine. The skill encodes the pre-production
6
- * verification workflow (lint → check-types → tests → build → diff vs production
7
- * → secret scan → audit) so any Claude Code session can run it consistently.
8
- *
9
- * Local-only (no SSH, no GITHUB_ACTIONS check). Stage: dev.
10
- * Severity: warning — missing skill doesn't break deploys, but having it
11
- * available is what enforces the pre-prod gates the team relies on.
12
- *
13
- * OPT-IN: This scanfix is a "host-machine fix" — it writes to ~/.claude/, which
14
- * is the developer's personal Claude Code config, not project state. Per
15
- * STANDARDS.md "Host-Machine Fixes", these are gated behind an explicit
16
- * opt-in in stack.local.yml (`claude_skills: true`). When the flag is unset
17
- * or false, scan returns "no issue" and fix is a no-op. This keeps devs who
18
- * don't use Claude Code (or who curate their own skills) from being surprised
19
- * by files appearing in their home directory.
20
- *
21
- * Split of concerns:
22
- * - This scanfix owns the skill *workflow* (SKILL.md). Process lives here
23
- * so it ships with stack and is identical on every dev machine that
24
- * opts in.
25
- * - The audit *override reference table* (which packages, why) lives in
26
- * the consumer repo at .specs/audit.md so PR reviewers can see it.
27
- *
28
- * If the user edits their local SKILL.md, this scanfix won't clobber it —
29
- * delete the file and re-run `npx stack fix --dev` to restore the canonical
30
- * version.
31
- */
32
- import type { Fix } from '../../../../types/index.js';
33
- export declare const prodCheckSkillFixes: Fix[];
34
- //# sourceMappingURL=prod-check-skill.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prod-check-skill.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/prod-check-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAKH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAwHtD,eAAO,MAAM,mBAAmB,EAAE,GAAG,EAiCpC,CAAC"}
@@ -1,221 +0,0 @@
1
- "use strict";
2
- /**
3
- * prod-check skill scanfix for Factiii Pipeline plugin
4
- *
5
- * Ensures the per-user Claude Code skill at ~/.claude/skills/prod-check/SKILL.md
6
- * exists on the developer's machine. The skill encodes the pre-production
7
- * verification workflow (lint → check-types → tests → build → diff vs production
8
- * → secret scan → audit) so any Claude Code session can run it consistently.
9
- *
10
- * Local-only (no SSH, no GITHUB_ACTIONS check). Stage: dev.
11
- * Severity: warning — missing skill doesn't break deploys, but having it
12
- * available is what enforces the pre-prod gates the team relies on.
13
- *
14
- * OPT-IN: This scanfix is a "host-machine fix" — it writes to ~/.claude/, which
15
- * is the developer's personal Claude Code config, not project state. Per
16
- * STANDARDS.md "Host-Machine Fixes", these are gated behind an explicit
17
- * opt-in in stack.local.yml (`claude_skills: true`). When the flag is unset
18
- * or false, scan returns "no issue" and fix is a no-op. This keeps devs who
19
- * don't use Claude Code (or who curate their own skills) from being surprised
20
- * by files appearing in their home directory.
21
- *
22
- * Split of concerns:
23
- * - This scanfix owns the skill *workflow* (SKILL.md). Process lives here
24
- * so it ships with stack and is identical on every dev machine that
25
- * opts in.
26
- * - The audit *override reference table* (which packages, why) lives in
27
- * the consumer repo at .specs/audit.md so PR reviewers can see it.
28
- *
29
- * If the user edits their local SKILL.md, this scanfix won't clobber it —
30
- * delete the file and re-run `npx stack fix --dev` to restore the canonical
31
- * version.
32
- */
33
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
34
- if (k2 === undefined) k2 = k;
35
- var desc = Object.getOwnPropertyDescriptor(m, k);
36
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
37
- desc = { enumerable: true, get: function() { return m[k]; } };
38
- }
39
- Object.defineProperty(o, k2, desc);
40
- }) : (function(o, m, k, k2) {
41
- if (k2 === undefined) k2 = k;
42
- o[k2] = m[k];
43
- }));
44
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
45
- Object.defineProperty(o, "default", { enumerable: true, value: v });
46
- }) : function(o, v) {
47
- o["default"] = v;
48
- });
49
- var __importStar = (this && this.__importStar) || (function () {
50
- var ownKeys = function(o) {
51
- ownKeys = Object.getOwnPropertyNames || function (o) {
52
- var ar = [];
53
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
54
- return ar;
55
- };
56
- return ownKeys(o);
57
- };
58
- return function (mod) {
59
- if (mod && mod.__esModule) return mod;
60
- var result = {};
61
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
62
- __setModuleDefault(result, mod);
63
- return result;
64
- };
65
- })();
66
- Object.defineProperty(exports, "__esModule", { value: true });
67
- exports.prodCheckSkillFixes = void 0;
68
- const fs = __importStar(require("fs"));
69
- const os = __importStar(require("os"));
70
- const path = __importStar(require("path"));
71
- const config_helpers_js_1 = require("../../../../utils/config-helpers.js");
72
- const SKILL_DIR = path.join(os.homedir(), '.claude', 'skills', 'prod-check');
73
- const SKILL_FILE = path.join(SKILL_DIR, 'SKILL.md');
74
- const SKILL_CONTENT = `---
75
- name: prod-check
76
- description: Pre-production verification for the factiii monorepo. Runs quality gates (lint, types, tests, build), diffs the current branch against origin/production for schema/migration/env/secret/API changes, and runs a security audit pass. TRIGGER when the user asks to check a branch against production, prepare a production push, run pre-merge checks, or audit dependencies before release.
77
- ---
78
-
79
- # prod-check
80
-
81
- Pre-production verification workflow for \`jon/factiii\`. Runs in two phases: **fix everything locally first**, then **diff against production** to surface anything risky. Report at the end groups findings as **BLOCKING** vs **INFORMATIONAL**.
82
-
83
- The whole point: nothing should reach \`origin/production\` that hasn't passed local quality gates and been reviewed for schema, secret, and API-breaking changes.
84
-
85
- ---
86
-
87
- ## Phase 1 — Local quality gates (fix before continuing)
88
-
89
- Run in this order. Each step must be green before moving on. If a step fails, fix it (or report blockers and stop) — do not skip.
90
-
91
- 1. **Sync** — \`git fetch origin production\` and confirm the working tree is clean (\`git status\`). Stash or commit anything dirty before continuing; uncommitted state contaminates the diff in Phase 2.
92
- 2. **Auto-fix lint noise** — \`pnpm lint:fix\`. This cleans import order, unused imports, prettier, prefer-const so the type/test output isn't drowned in cosmetic churn. Per CLAUDE.md, ignore auto-fixable lint as a *finding*, but always run the fixer first.
93
- 3. **Type check** — \`pnpm check-types\`. Fix every error. No \`@ts-ignore\`, no \`any\` (use \`unknown\`). Type errors are blocking.
94
- 4. **Lint (real rules)** — \`pnpm lint\`. Focus on what matters per CLAUDE.md: promise handling, hooks rules, real type issues. Auto-fixable categories are noise — don't chase them.
95
- 5. **Server tests** — from \`apps/server/\`: \`pnpm seed:test\` first, then \`pnpm test\`. The seed step is required (see memory \`feedback_testing.md\`); skipping it produces misleading failures.
96
- 6. **Build all three apps** — \`pnpm build\`. Server, client, and mobile must all build. A green local dev does not imply a green build.
97
-
98
- If any step in Phase 1 surfaces failures you can fix safely, fix them. If failures need user judgment (e.g. a failing test reflects intended behavior change), stop and report before continuing to Phase 2.
99
-
100
- ---
101
-
102
- ## Phase 2 — Diff against production
103
-
104
- Only run after Phase 1 is fully green. Use \`origin/production\` as the base (refresh with \`git fetch origin production\` if Phase 1 took a while).
105
-
106
- 1. **Overall diffstat** — \`git diff --stat origin/production...HEAD\` for orientation.
107
- 2. **Schema & migrations** — \`git diff origin/production...HEAD -- apps/server/prisma/schema.prisma 'apps/server/prisma/migrations/**'\`.
108
- - Comment-only schema changes = informational.
109
- - Field/model/index changes = blocking unless paired with a migration.
110
- - **New migration files = blocking action**: they need to be applied to prod DB during deploy. Call this out explicitly with the migration name(s).
111
- 3. **Secrets scan** — search the diff for committed credentials. Patterns to grep: \`AKIA[0-9A-Z]{16}\` (AWS access key), \`-----BEGIN .* PRIVATE KEY-----\`, \`sk_live_\`, \`sk_test_\`, \`xox[baprs]-\`, \`ghp_\`, \`Bearer [A-Za-z0-9_\\-]{20,}\`, raw \`password\\s*[:=]\`, \`client_secret\`. Run against \`git diff origin/production...HEAD\`. Anything matching is **BLOCKING** — instruct the user to rotate the credential in its provider before merging, since git history is forever.
112
- 4. **Env / infra surface** — diff these paths and flag any change:
113
- - \`stack.yml\`, \`docker-compose*.yml\`
114
- - \`.github/workflows/**\`
115
- - \`start.sh\`, \`apps/server/package.json\` (deps), root \`package.json\`
116
- - \`pnpm-workspace.yaml\` catalog
117
- Changes here often need a corresponding action on the prod host (env var added, image rebuilt, workflow secret set).
118
- 5. **Breaking API changes for mobile** — old mobile builds in the wild cannot be force-updated. Diff \`apps/server/src/routes/**\` and look for:
119
- - Removed tRPC procedures
120
- - Renamed/removed input or output fields
121
- - Tightened Zod validators (new required fields, narrower enums)
122
- - Changed HTTP status codes or error shapes
123
- These are blocking unless the change is additive or behind a version gate.
124
- 6. **Shared validators** — diff \`shared/all/validators/**\`. Tightening a Zod schema is the most common silent break for old clients.
125
-
126
- ---
127
-
128
- ## Phase 3 — Security audit pass
129
-
130
- **Always run** — even when \`pnpm-lock.yaml\` is unchanged. New CVEs get disclosed against packages already pinned in the lockfile, so a clean diff doesn't mean a clean audit. The whole point of this phase is to catch vulns introduced *upstream* that landed since the last prod push.
131
-
132
- Start with a quick \`pnpm audit\` against the current lockfile. If it's clean and \`.specs/audit.md\` is current, you're done with Phase 3 in one command. If there are new findings, run the full process below to triage them.
133
-
134
- The override **reference table** (what's pinned and *why*) lives in \`.specs/audit.md\` so it's reviewable in PRs alongside code. This skill owns the **process** for updating it.
135
-
136
- ### Audit process
137
-
138
- 1. Remove ALL overrides from \`package.json\` (security + Expo dedup).
139
- 2. \`pnpm install --no-frozen-lockfile\`.
140
- 3. \`cd apps/mobile && npx expo-doctor\` — check Expo SDK compatibility first.
141
- 4. Re-add Expo dedup overrides if still needed, \`pnpm install\`.
142
- 5. \`pnpm audit\` — note what's still vulnerable.
143
- 6. For each vuln: \`pnpm why <pkg>\` — if upstream fixed it, no override needed.
144
- 7. Add security overrides only for transitive deps where the fix is a semver-compatible bump.
145
- 8. \`pnpm install && pnpm audit\` — verify.
146
- 9. **Update \`.specs/audit.md\`** with the new override row(s), source chain, and the *reason* (CVE, behavior, or compatibility issue). A row without a reason is worse than no row.
147
-
148
- **Don't override** if: major version jump required, dev-only with no prod exposure, or it's a direct dep (just upgrade it).
149
-
150
- ---
151
-
152
- ## Final report format
153
-
154
- Group findings into two buckets. Be specific — name files, line numbers, migration filenames.
155
-
156
- \`\`\`
157
- BLOCKING (must resolve before merging to production):
158
- - <finding> — <file:line> — <what to do>
159
-
160
- INFORMATIONAL (no action needed, just FYI):
161
- - <finding> — <file:line>
162
- \`\`\`
163
-
164
- If Phase 1 had failures the user must triage, surface those at the top before any Phase 2 findings.
165
-
166
- ---
167
-
168
- ## Notes
169
-
170
- - This skill is installed by the \`prod-check-skill\` scanfix in \`@factiii/stack\` (factiii pipeline). Run \`npx stack fix --dev\` from the factiii repo to install or restore it.
171
- - Workflow lives here in \`~/.claude/skills/\`; the audit override reference table lives in the factiii repo at \`.specs/audit.md\` so reasons are reviewable in PRs.
172
- - Memory pointers: \`feedback_testing.md\` (server test seed requirement), \`reference_staging_access.md\` (staging server layout) may be useful context for related work but are not part of this skill's flow.
173
- `;
174
- /**
175
- * Read the per-developer opt-in flag from stack.local.yml.
176
- * Defaults to false: host-machine fixes never run unless explicitly enabled.
177
- */
178
- function isOptedIn(rootDir) {
179
- try {
180
- const local = (0, config_helpers_js_1.loadLocalConfig)(rootDir);
181
- return local.claude_skills === true;
182
- }
183
- catch {
184
- return false;
185
- }
186
- }
187
- exports.prodCheckSkillFixes = [
188
- {
189
- id: 'prod-check-skill-installed',
190
- stage: 'dev',
191
- severity: 'warning',
192
- description: 'Claude Code prod-check skill is missing at ~/.claude/skills/prod-check/SKILL.md — pre-prod gates (lint/types/tests/build + branch diff vs production + secret scan + audit) cannot be invoked consistently without it (enable with `claude_skills: true` in stack.local.yml)',
193
- scan: async function (_config, rootDir) {
194
- // Opt-in gate: if the dev hasn't enabled claude_skills in stack.local.yml,
195
- // report no issue. This keeps the scanfix invisible to devs who don't
196
- // want their ~/.claude/ touched.
197
- if (!isOptedIn(rootDir))
198
- return false;
199
- // Returns true when there IS an issue (skill missing).
200
- return !fs.existsSync(SKILL_FILE);
201
- },
202
- fix: async function (_config, rootDir) {
203
- // Belt-and-braces: even if scan ever returned a stale result, fix
204
- // re-checks the opt-in before touching the host filesystem.
205
- if (!isOptedIn(rootDir))
206
- return true;
207
- // Local-only: write SKILL.md into the user's home dir.
208
- // Idempotent: only writes if missing, so a user who has hand-edited
209
- // their copy won't get clobbered. Delete the file to force a refresh.
210
- if (!fs.existsSync(SKILL_DIR)) {
211
- fs.mkdirSync(SKILL_DIR, { recursive: true });
212
- }
213
- if (!fs.existsSync(SKILL_FILE)) {
214
- fs.writeFileSync(SKILL_FILE, SKILL_CONTENT, 'utf8');
215
- }
216
- return true;
217
- },
218
- manualFix: 'Set `claude_skills: true` in stack.local.yml and run `npx stack fix --dev`, or create ~/.claude/skills/prod-check/SKILL.md by hand.',
219
- },
220
- ];
221
- //# sourceMappingURL=prod-check-skill.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prod-check-skill.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/prod-check-skill.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAE7B,2EAAsE;AAEtE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAEpD,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmGrB,CAAC;AAEF;;;GAGG;AACH,SAAS,SAAS,CAAC,OAAe;IAChC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,mCAAe,EAAC,OAAO,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEY,QAAA,mBAAmB,GAAU;IACxC;QACE,EAAE,EAAE,4BAA4B;QAChC,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,SAAS;QACnB,WAAW,EACT,8QAA8Q;QAChR,IAAI,EAAE,KAAK,WAAW,OAAO,EAAE,OAAO;YACpC,2EAA2E;YAC3E,sEAAsE;YACtE,iCAAiC;YACjC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtC,uDAAuD;YACvD,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QACD,GAAG,EAAE,KAAK,WAAW,OAAO,EAAE,OAAO;YACnC,kEAAkE;YAClE,4DAA4D;YAC5D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YACrC,uDAAuD;YACvD,oEAAoE;YACpE,sEAAsE;YACtE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,SAAS,EACP,qIAAqI;KACxI;CACF,CAAC"}