@optimizely/ocp-cli 1.3.2 → 1.3.4-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"Init.js","sourceRoot":"","sources":["../../../src/commands/app/Init.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAA+B;AAC/B,uCAAuC;AACvC,yBAAyB;AACzB,mCAAgC;AAChC,qDAA6C;AAC7C,mCAAiE;AACjE,6BAA6B;AAC7B,+CAAsC;AACtC,+DAA0D;AAC1D,+DAA2D;AAC3D,wFAAmF;AACnF,4EAAuE;AAEvE,+DAA0D;AAC1D,2DAAsD;AACtD,yDAAoD;AACpD,+DAA0D;AAC1D,wCAAyC;AACzC,6CAAwD;AACxD,mDAA8C;AAC9C,uCAAkC;AAClC,uDAAkD;AAGrC,QAAA,aAAa,GAAG,wBAAwB,CAAC;AACzC,QAAA,cAAc,GAAG,mDAAmD,CAAC;AAG3E,IAAM,aAAa,GAAnB,MAAM,aAAa;IAAnB;QAOG,eAAU,GAAG,CAAC,CAAC;QAEf,kBAAa,GAA4B,EAAE,CAAC;QAC5C,aAAQ,GAAU,EAAE,CAAC;QAwIrB,aAAQ,GAAG,KAAK,EAAE,KAAU,EAAE,KAAa,EAAE,EAAE;YACrD,IAAI,KAAK,EAAE;gBACT,uBAAQ,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACzC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;YAED,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,KAAK,EAAE,EAAE;gBACnC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;aACzB;YAED,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;gBAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBAChD,uBAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBACtD;qBAAM;oBACL,uBAAQ,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBACvE;gBACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;oBACxB,IAAA,SAAG,EAAC,qBAAqB,IAAI,CAAC,QAAQ,CAAC,IAAI,YAAY,KAAK,mBAAmB,CAAC,CAAC;iBAClF;qBAAM;oBACL,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;iBAC1B;aACF;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;oBACzB,IAAA,uBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBACrE;gBACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE;oBAC7B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;iBAC7B;aACF;QACH,CAAC,CAAA;QAEO,YAAO,GAAG,CAAC,KAAa,EAAU,EAAE;YAC1C,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC1C,OAAO,qBAAqB,IAAI,CAAC,UAAU,EAAE,CAAC;aAC/C;YACD,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAC1B,KAAK,cAAc;oBACjB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;wBACtB,OAAO,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;qBACjD;oBACD,MAAM;gBAER,KAAK,QAAQ;oBACX,IAAI,CAAC,KAAK,EAAE;wBACV,OAAO,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;qBAC3C;yBAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;wBACjC,OAAO,KAAK,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;qBAC5D;yBAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;wBACvC,OAAO,KAAK,CAAC,MAAM,CAAC,+DAA+D,CAAC,CAAC;qBACtF;yBAAM,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;wBAC5B,OAAO,KAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;qBAC1D;yBAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE;wBAChD,OAAO,KAAK,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC;qBACjE;oBACD,MAAM;gBAER,KAAK,SAAS;oBACZ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAc,CAAC,EAAE;wBAChC,OAAO,KAAK,CAAC,MAAM,CAAC,gEAAgE,CAAC,CAAC;qBACvF;oBACD,MAAM;aAEP;YACH,OAAO,EAAE,CAAC;QACZ,CAAC,CAAA;QAEO,kBAAa,GAAG,CAAC,KAAa,EAAW,EAAE;YACjD,IAAI,CAAC,KAAK,EAAE;gBACV,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;aACzB;YACD,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAC1B,KAAK,QAAQ;oBACX,OAAO,qBAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnC,KAAK,SAAS;oBACZ,OAAO,sBAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACrC;YAED,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChD,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAA;IAyCH,CAAC;IAlQc,AAAN,KAAK,CAAC,IAAI;QACf,IAAI;YACF,IAAA,iCAAe,GAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAA,+CAAsB,GAAE,CAAC;YAE/C,4BAA4B;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAErD,2BAA2B;YAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE,CAAC,OAAO,GAAG,CAAC,MAAM,qBAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YAE7F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,2BAA2B;aACtC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE;gBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;SACF;QAAC,OAAO,CAAM,EAAE;YACf,IAAA,SAAG,EAAC,IAAA,yBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;SACrB;IACH,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5D,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;QAEnC,IAAI,QAA4B,CAAC;QACjC,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9C,IAAI,MAAM,iCAAe,CAAC,GAAG,CAAC,0BAA0B,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;gBACxF,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;aAC5D;SACF;QAED,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,OAAO,GAAG,MAAM,6BAAa,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAC,YAAY,EAAE,UAAU,EAAC,CAAC,CAAC;YAC7F,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBACjG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC3E,OAAO,GAAG,MAAM,6BAAa,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAC,YAAY,EAAE,UAAU,EAAC,CAAC,CAAC;aAC1F;YACD,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACxB;QAED,+CAA+C;QAC/C,MAAM,OAAO,GAAG,IAAI,iCAAe,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC3F,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;QAC9E,MAAM,IAAI,mCAAgB,CAAC,QAAQ,EAAE,QAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAChF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE9B,OAAO,CAAC,IAAI,EAAE,CAAC;QAEf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,kCAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CACnB,6EAA6E;kBAC3E,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,2BAA2B,CAC1F,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;SAC3D;QAED,eAAM,CAAC,UAAU,CAAC,EAAC,QAAQ,EAAE,IAAI,yBAAc,EAAE,EAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAA,eAAM,EACvB,oCAAoC,QAAQ,MAAM;YAClD,uDAAuD;YACvD,0GAA0G,CAC3G,CAAC,CAAC;IACL,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,IAAY,eAAe;QACzB,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAC,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,EAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,IAAY,QAAQ;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;SACrE;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YACtB,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;SACxE;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE;YAC5C,OAAO,KAAK,CAAC;SACd;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACxB,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;SACb;QAED,0BAA0B;QAC1B,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC1B,KAAK,UAAU;gBACb,MAAM,KAAK,GAAG,CAAC,MAAM,2BAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,EAAY,CAAC;gBAChH,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;gBACpE,MAAM;YAER,KAAK,UAAU;gBACb,MAAM,UAAU,GAAG,CAAC,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW;oBAClG,SAAS,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,oBAAoB;oBACpG,mBAAmB,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,cAAc,EAAE,KAAK;oBAC7F,sBAAsB,EAAE,WAAW,EAAE,uBAAuB,EAAE,qBAAqB;oBACnF,2BAA2B,EAAE,QAAQ,EAAE,0BAA0B,EAAE,2BAA2B;oBAC9F,eAAe,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnD,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,2BAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/F,MAAM;YAER,qBAAqB;YACrB;gBACE,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,6BAAa,CAAC,GAAG,CACpD,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAC,CAC3E,CAAC,CAAC;SACN;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAyFD,IAAY,UAAU;QACpB,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC1B,KAAK,cAAc;gBACjB,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;oBACzD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACrG,IAAI,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;wBAClC,OAAO,GAAG,CAAC;qBACZ;iBACF;gBACD,MAAM;YAER,KAAK,QAAQ;gBACX,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;gBACpG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;oBACjD,OAAO,KAAK,CAAC;iBACd;gBACD,MAAM;SACT;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IACrC,CAAC;IAEO,mBAAmB,CAAC,QAAkD,EAAE,QAAyB,QAAQ;QAC/G,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC/F,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,QAAyB,QAAQ;QAC5D,IAAI;YACF,8GAA8G;YAC9G,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAA,6BAAoB,EAAC,QAAQ,CAAC,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAS,CAAC;YACtC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,CAAC;YACnG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,CAAC;SACtG;QAAC,OAAO,CAAM,EAAE;YACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,qDAAqD,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YACrF,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC;SACnD;IACH,CAAC;CACF,CAAA;AA5QC;IAHC,cAAK;IACL,iBAAQ;IACR,IAAA,aAAI,EAAC,kCAAkC,CAAC;yCACtB;AAUN;IAFZ,gBAAO;IACP,IAAA,aAAI,EAAC,0BAA0B,CAAC;yCAsBhC;AAnCU,aAAa;IADzB,IAAA,kBAAS,EAAC,KAAK,CAAC;GACJ,aAAa,CAgRzB;AAhRY,sCAAa"}
1
+ {"version":3,"file":"Init.js","sourceRoot":"","sources":["../../../src/commands/app/Init.ts"],"names":[],"mappings":"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"}
@@ -13,11 +13,13 @@ const os = require("os");
13
13
  const path = require("path");
14
14
  const semver = require("semver");
15
15
  const oo_cli_1 = require("oo-cli");
16
+ const AppContext_1 = require("../../lib/AppContext");
16
17
  const die_1 = require("../../lib/die");
17
18
  const formatError_1 = require("../../lib/formatError");
18
19
  const handleInterrupt_1 = require("../../lib/handleInterrupt");
19
20
  const TerminalOutput_1 = require("../../lib/TerminalOutput");
20
21
  const TeminalPassthru_1 = require("../../lib/TeminalPassthru");
22
+ const Tracking_1 = require("../../lib/Tracking");
21
23
  /**
22
24
  * Dev Server command - starts the local development server for OCP apps
23
25
  * This is a top-level command (no namespace decorator), so it runs as `ocp dev-server`
@@ -47,6 +49,19 @@ let DevServerCommand = class DevServerCommand {
47
49
  if (this.path) {
48
50
  process.env.APP_ROOT_DIR = this.path;
49
51
  }
52
+ // Track dev server start (fire-and-forget)
53
+ try {
54
+ const ctx = (0, AppContext_1.appContext)();
55
+ Tracking_1.Tracking.track({
56
+ action: 'dev_server_started',
57
+ appId: ctx.appId || 'unknown',
58
+ command: 'dev-server start',
59
+ version: ctx.version,
60
+ });
61
+ }
62
+ catch (_b) {
63
+ // Ignore - don't let tracking errors affect the command
64
+ }
50
65
  // Import and call startServer from ocp-local-env (installed globally)
51
66
  // Get the global npm modules path and construct the full package path
52
67
  const globalRoot = TerminalOutput_1.TerminalOutput.exec('npm root -g').stdout.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"DevServer.js","sourceRoot":"","sources":["../../../src/commands/dev-server/DevServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DevServer.js","sourceRoot":"","sources":["../../../src/commands/dev-server/DevServer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export declare class UninstallCommand {
2
2
  appId: string;
3
3
  trackerId: string;
4
+ noPrompt: boolean;
4
5
  private availability;
5
6
  uninstall(): Promise<void>;
6
7
  }
@@ -12,13 +12,27 @@ const oo_cli_1 = require("oo-cli");
12
12
  const die_1 = require("../../lib/die");
13
13
  const Rivendell_1 = require("../../lib/Rivendell");
14
14
  const formatError_1 = require("../../lib/formatError");
15
+ const TerminalConfirm_1 = require("../../lib/TerminalConfirm");
15
16
  let UninstallCommand = class UninstallCommand {
16
17
  constructor() {
18
+ this.noPrompt = false;
17
19
  this.availability = '';
18
20
  }
19
21
  async uninstall() {
22
+ var _a, _b;
20
23
  try {
21
24
  const install = await Rivendell_1.Rivendell.fetchAppInstallation(this.appId, this.trackerId, this.availability);
25
+ const appVersion = await Rivendell_1.Rivendell.fetchAppVersion({ appId: install.appId, version: install.version }, this.availability || 'us');
26
+ const manifest = JSON.parse(appVersion.manifestJson);
27
+ const hasOpalFunction = manifest.functions
28
+ && Object.values(manifest.functions).some((fn) => fn.opal_tool === true);
29
+ const hasOpalCategory = (_b = (_a = manifest.meta) === null || _a === void 0 ? void 0 : _a.categories) === null || _b === void 0 ? void 0 : _b.includes('Opal');
30
+ const isOpalApp = hasOpalFunction || hasOpalCategory;
31
+ if (isOpalApp) {
32
+ if (!await TerminalConfirm_1.TerminalConfirm.ask(chalk.red(`The app contains Opal tools that may have been added to Opal. If the app is uninstalled, the tools will stop working properly in Opal. Please make sure the tools are removed from Opal first, before uninstalling the app. Are you sure you want to uninstall?`), this.noPrompt, true)) {
33
+ (0, die_1.die)('Operation cancelled.');
34
+ }
35
+ }
22
36
  await Rivendell_1.Rivendell.uninstall(install.id, this.availability);
23
37
  console.log(chalk.green(`Uninstalled ${install.appId} from ${install.trackerId} (${this.availability || 'us'})`));
24
38
  }
@@ -35,6 +49,10 @@ __decorate([
35
49
  oo_cli_1.param,
36
50
  (0, oo_cli_1.help)('The Tracker ID of the account to install into')
37
51
  ], UninstallCommand.prototype, "trackerId", void 0);
52
+ __decorate([
53
+ (0, oo_cli_1.flag)('no-prompt'),
54
+ (0, oo_cli_1.help)('Use default answer to any prompt question (default is yes)')
55
+ ], UninstallCommand.prototype, "noPrompt", void 0);
38
56
  __decorate([
39
57
  (0, oo_cli_1.option)('a'),
40
58
  (0, oo_cli_1.help)('The availability zone that will be targeted (default: us)')
@@ -1 +1 @@
1
- {"version":3,"file":"Uninstall.js","sourceRoot":"","sources":["../../../src/commands/directory/Uninstall.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAA+B;AAC/B,mCAA+D;AAC/D,uCAAkC;AAClC,mDAA8C;AAC9C,uDAAkD;AAG3C,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAAtB;QAWG,iBAAY,GAAW,EAAE,CAAC;IAapC,CAAC;IATc,AAAN,KAAK,CAAC,SAAS;QACpB,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,qBAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACpG,MAAM,qBAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,OAAO,CAAC,KAAK,SAAS,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,YAAY,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;SACnH;QAAC,OAAO,CAAM,EAAE;YACf,IAAA,SAAG,EAAC,IAAA,yBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;SACrB;IACH,CAAC;CACF,CAAA;AArBC;IAFC,cAAK;IACL,IAAA,aAAI,EAAC,YAAY,CAAC;+CACG;AAItB;IAFC,cAAK;IACL,IAAA,aAAI,EAAC,+CAA+C,CAAC;mDAC5B;AAI1B;IAFC,IAAA,eAAM,EAAC,GAAG,CAAC;IACX,IAAA,aAAI,EAAC,2DAA2D,CAAC;sDAChC;AAIrB;IAFZ,gBAAO;IACP,IAAA,aAAI,EAAC,kCAAkC,CAAC;iDASxC;AAvBU,gBAAgB;IAD5B,IAAA,kBAAS,EAAC,WAAW,CAAC;GACV,gBAAgB,CAwB5B;AAxBY,4CAAgB"}
1
+ {"version":3,"file":"Uninstall.js","sourceRoot":"","sources":["../../../src/commands/directory/Uninstall.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAA+B;AAC/B,mCAAqE;AACrE,uCAAkC;AAClC,mDAA8C;AAC9C,uDAAkD;AAClD,+DAA0D;AAGnD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAAtB;QAWE,aAAQ,GAAY,KAAK,CAAC;QAIzB,iBAAY,GAAW,EAAE,CAAC;IAgCpC,CAAC;IA5Bc,AAAN,KAAK,CAAC,SAAS;;QACpB,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,qBAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACpG,MAAM,UAAU,GAAG,MAAM,qBAAS,CAAC,eAAe,CAChD,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAC,EAChD,IAAI,CAAC,YAAY,IAAI,IAAI,CAC1B,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACrD,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS;mBACrC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;YAChF,MAAM,eAAe,GAAG,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,UAAU,0CAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpE,MAAM,SAAS,GAAG,eAAe,IAAI,eAAe,CAAC;YACrD,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,MAAM,iCAAe,CAAC,GAAG,CAC5B,KAAK,CAAC,GAAG,CAAC,iQAAiQ,CAAC,EAC5Q,IAAI,CAAC,QAAQ,EACb,IAAI,CACL,EAAE;oBACD,IAAA,SAAG,EAAC,sBAAsB,CAAC,CAAC;iBAC7B;aACF;YAED,MAAM,qBAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,OAAO,CAAC,KAAK,SAAS,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,YAAY,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;SACnH;QAAC,OAAO,CAAM,EAAE;YACf,IAAA,SAAG,EAAC,IAAA,yBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;SACrB;IACH,CAAC;CACF,CAAA;AA5CC;IAFC,cAAK;IACL,IAAA,aAAI,EAAC,YAAY,CAAC;+CACG;AAItB;IAFC,cAAK;IACL,IAAA,aAAI,EAAC,+CAA+C,CAAC;mDAC5B;AAI1B;IAFC,IAAA,aAAI,EAAC,WAAW,CAAC;IACjB,IAAA,aAAI,EAAC,4DAA4D,CAAC;kDAClC;AAIjC;IAFC,IAAA,eAAM,EAAC,GAAG,CAAC;IACX,IAAA,aAAI,EAAC,2DAA2D,CAAC;sDAChC;AAIrB;IAFZ,gBAAO;IACP,IAAA,aAAI,EAAC,kCAAkC,CAAC;iDA4BxC;AA9CU,gBAAgB;IAD5B,IAAA,kBAAS,EAAC,WAAW,CAAC;GACV,gBAAgB,CA+C5B;AA/CY,4CAAgB"}
@@ -33,6 +33,28 @@ var RivendellApi;
33
33
  return request('DELETE', uri);
34
34
  }
35
35
  RivendellApi.delete_ = delete_;
36
+ const MAX_RETRIES = 2;
37
+ function isSocketError(error) {
38
+ if (error instanceof Error && 'cause' in error) {
39
+ const cause = error.cause;
40
+ return (cause === null || cause === void 0 ? void 0 : cause.code) === 'UND_ERR_SOCKET' || (cause === null || cause === void 0 ? void 0 : cause.code) === 'ECONNRESET' || (cause === null || cause === void 0 ? void 0 : cause.code) === 'EPIPE';
41
+ }
42
+ return false;
43
+ }
44
+ function shouldRetryException(method, error) {
45
+ if (method === 'GET') {
46
+ // For GET: retry on any exception
47
+ return true;
48
+ }
49
+ else {
50
+ // For other methods: only retry on socket errors (idempotent concern)
51
+ return isSocketError(error);
52
+ }
53
+ }
54
+ function shouldRetryResponse(method, status) {
55
+ // Only retry 5xx responses for GET requests
56
+ return method === 'GET' && status >= 500;
57
+ }
36
58
  async function request(method, uri, body) {
37
59
  const url = `${(0, Config_1.runtimeConfig)().rivendell}/${uri}`;
38
60
  const requestPayload = { method };
@@ -45,16 +67,50 @@ var RivendellApi;
45
67
  requestPayload.headers['content-type'] = 'application/json';
46
68
  requestPayload.body = JSON.stringify(body);
47
69
  }
48
- const response = await fetch(url, requestPayload);
49
- const responseText = await response.text();
50
- if (response.status < 200 || response.status >= 300) {
51
- const errorMsg = `Received a ${response.status} from OCP: ${getErrorMessage(response.status)}`;
52
- throw new ApiError(errorMsg, responseText, response);
70
+ let lastError;
71
+ let lastResponseText;
72
+ let lastStatus;
73
+ for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
74
+ try {
75
+ debug(`[RivendellApi] ${method} ${url}${attempt > 0 ? ` (retry ${attempt})` : ''}`);
76
+ const response = await fetch(url, requestPayload);
77
+ debug(`[RivendellApi] Response ${response.status}`);
78
+ const responseText = await response.text();
79
+ // Check for 5xx and retry if applicable
80
+ if (shouldRetryResponse(method, response.status) && attempt < MAX_RETRIES) {
81
+ debug(`[RivendellApi] Server error ${response.status}, retrying...`);
82
+ lastStatus = response.status;
83
+ lastResponseText = responseText;
84
+ continue;
85
+ }
86
+ if (response.status < 200 || response.status >= 300) {
87
+ const errorMsg = `Received a ${response.status} from OCP: ${getErrorMessage(response.status)}`;
88
+ throw new ApiError(errorMsg, responseText, response);
89
+ }
90
+ return {
91
+ response,
92
+ body: responseText ? JSON.parse(responseText) : ''
93
+ };
94
+ }
95
+ catch (error) {
96
+ lastError = error;
97
+ if (shouldRetryException(method, error) && attempt < MAX_RETRIES) {
98
+ console.log(`[RivendellApi] ${isSocketError(error) ? 'Socket error' : 'Request failed'}, retrying...`);
99
+ continue;
100
+ }
101
+ throw error;
102
+ }
53
103
  }
54
- return {
55
- response,
56
- body: responseText ? JSON.parse(responseText) : ''
57
- };
104
+ // Exhausted retries - throw appropriate error
105
+ if (lastError) {
106
+ debug(lastError);
107
+ throw lastError;
108
+ }
109
+ if (lastStatus !== undefined) {
110
+ const errorMsg = `Received a ${lastStatus} from OCP after ${MAX_RETRIES} retries: ${getErrorMessage(lastStatus)}`;
111
+ throw new ApiError(errorMsg, lastResponseText || '', undefined);
112
+ }
113
+ throw new Error('Unexpected: no error or response after retries');
58
114
  }
59
115
  RivendellApi.request = request;
60
116
  function loadApiKey() {
@@ -85,5 +141,10 @@ var RivendellApi;
85
141
  return 'Unhandled error.';
86
142
  }
87
143
  }
144
+ function debug(...args) {
145
+ if (process.env.OCP_DEBUG === '1') {
146
+ console.debug(...args);
147
+ }
148
+ }
88
149
  })(RivendellApi = exports.RivendellApi || (exports.RivendellApi = {}));
89
150
  //# sourceMappingURL=RivendellApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RivendellApi.js","sourceRoot":"","sources":["../../src/lib/RivendellApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RivendellApi.js","sourceRoot":"","sources":["../../src/lib/RivendellApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export declare namespace Tracking {
2
+ interface TrackingEvent {
3
+ action: string;
4
+ appId: string;
5
+ command: string;
6
+ version?: string;
7
+ properties?: Record<string, string>;
8
+ }
9
+ /**
10
+ * Send a tracking event to Segment via Rivendell.
11
+ * Fire-and-forget: does not await, never throws.
12
+ */
13
+ export function track(event: TrackingEvent): void;
14
+ export {};
15
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Tracking = void 0;
4
+ const RivendellApi_1 = require("./RivendellApi");
5
+ var Tracking;
6
+ (function (Tracking) {
7
+ /**
8
+ * Send a tracking event to Segment via Rivendell.
9
+ * Fire-and-forget: does not await, never throws.
10
+ */
11
+ function track(event) {
12
+ // Fire and forget - don't await
13
+ RivendellApi_1.RivendellApi.post('tracking/events', event).catch(() => {
14
+ // Silently ignore tracking failures
15
+ });
16
+ }
17
+ Tracking.track = track;
18
+ })(Tracking = exports.Tracking || (exports.Tracking = {}));
19
+ //# sourceMappingURL=Tracking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tracking.js","sourceRoot":"","sources":["../../src/lib/Tracking.ts"],"names":[],"mappings":";;;AAAA,iDAA4C;AAE5C,IAAiB,QAAQ,CAmBxB;AAnBD,WAAiB,QAAQ;IASvB;;;OAGG;IACH,SAAgB,KAAK,CAAC,KAAoB;QACxC,gCAAgC;QAChC,2BAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACrD,oCAAoC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IALe,cAAK,QAKpB,CAAA;AACH,CAAC,EAnBgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAmBxB"}
@@ -19,7 +19,11 @@ function formatError(error) {
19
19
  return sanitize(errorMessageFromJsonResponse(error));
20
20
  }
21
21
  else {
22
- return sanitize(error.message);
22
+ let message = `${error.name}: ${error.message}`;
23
+ if ('cause' in error && error.cause instanceof Error) {
24
+ message += ` [Cause: ${error.cause.name}: ${error.cause.message}]`;
25
+ }
26
+ return sanitize(message);
23
27
  }
24
28
  }
25
29
  exports.formatError = formatError;
@@ -1 +1 @@
1
- {"version":3,"file":"formatError.js","sourceRoot":"","sources":["../../src/lib/formatError.ts"],"names":[],"mappings":";;;AAAA,iDAA4C;AAC5C,yCAAoC;AACpC,IAAO,iBAAiB,GAAG,2BAAY,CAAC,QAAQ,CAAC;AACjD,IAAO,aAAa,GAAG,mBAAQ,CAAC,QAAQ,CAAC;AAEzC,SAAgB,WAAW,CAAC,KAAY;;IACtC,IAAI,KAAK,YAAY,iBAAiB,EAAE;QACtC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YAClC,OAAO,mFAAmF,CAAC;SAC5F;aAAM;YACL,OAAO,QAAQ,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC;SACtD;KACF;SAAM,IAAI,KAAK,YAAY,aAAa,EAAE;QACzC,OAAO,QAAQ,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC;KACtD;SAAM;QACL,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KAChC;AACH,CAAC;AAZD,kCAYC;AAED,SAAS,4BAA4B,CAAC,KAAwC;;IAC5E,MAAM,WAAW,GAAG,MAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,OAAO,0CAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IACjE,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,kBAAkB,CAAC,KAAI,KAAK,CAAC,YAAY,EAAE;QACnE,IAAI,QAAQ,CAAC;QACb,IAAI;YACF,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SAC3C;QAAC,OAAO,CAAM,EAAE;YACf,OAAO,KAAK,CAAC,OAAO,CAAC;SACtB;QACD,8EAA8E;QAC9E,IAAI,QAAQ,CAAC,MAAM,EAAE;YACnB,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO;gBAC5B,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;gBACzB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ;qBACvB,GAAG,CAAC,CAAC,SAAoC,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;qBACzF,IAAI,CAAC,IAAI,CAAC,CAAC;SACjB;KACF;IAED,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAS;IACzB,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"formatError.js","sourceRoot":"","sources":["../../src/lib/formatError.ts"],"names":[],"mappings":";;;AAAA,iDAA4C;AAC5C,yCAAoC;AACpC,IAAO,iBAAiB,GAAG,2BAAY,CAAC,QAAQ,CAAC;AACjD,IAAO,aAAa,GAAG,mBAAQ,CAAC,QAAQ,CAAC;AAEzC,SAAgB,WAAW,CAAC,KAAY;;IACtC,IAAI,KAAK,YAAY,iBAAiB,EAAE;QACtC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YAClC,OAAO,mFAAmF,CAAC;SAC5F;aAAM;YACL,OAAO,QAAQ,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC;SACtD;KACF;SAAM,IAAI,KAAK,YAAY,aAAa,EAAE;QACzC,OAAO,QAAQ,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC;KACtD;SAAM;QACL,IAAI,OAAO,GAAG,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;QAChD,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,YAAY,KAAK,EAAE;YACpD,OAAO,IAAI,YAAY,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC;SACpE;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;KAC1B;AACH,CAAC;AAhBD,kCAgBC;AAED,SAAS,4BAA4B,CAAC,KAAwC;;IAC5E,MAAM,WAAW,GAAG,MAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,OAAO,0CAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IACjE,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,kBAAkB,CAAC,KAAI,KAAK,CAAC,YAAY,EAAE;QACnE,IAAI,QAAQ,CAAC;QACb,IAAI;YACF,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SAC3C;QAAC,OAAO,CAAM,EAAE;YACf,OAAO,KAAK,CAAC,OAAO,CAAC;SACtB;QACD,8EAA8E;QAC9E,IAAI,QAAQ,CAAC,MAAM,EAAE;YACnB,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO;gBAC5B,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;gBACzB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ;qBACvB,GAAG,CAAC,CAAC,SAAoC,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;qBACzF,IAAI,CAAC,IAAI,CAAC,CAAC;SACjB;KACF;IAED,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAS;IACzB,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
@@ -919,7 +919,19 @@
919
919
  "aliases": [],
920
920
  "help": "Uninstall an app from an account",
921
921
  "documentation": "TBD",
922
- "flags": [],
922
+ "flags": [
923
+ {
924
+ "name": "noPrompt",
925
+ "key": "noPrompt",
926
+ "aliases": [
927
+ "no-prompt"
928
+ ],
929
+ "invertedAliases": [],
930
+ "help": "Use default answer to any prompt question (default is yes)",
931
+ "defaultValue": false,
932
+ "invertible": false
933
+ }
934
+ ],
923
935
  "options": [
924
936
  {
925
937
  "name": "availability",
@@ -1456,7 +1468,7 @@
1456
1468
  }
1457
1469
  ],
1458
1470
  "package": {
1459
- "version": "1.3.2",
1471
+ "version": "1.3.4-beta.0",
1460
1472
  "name": "@optimizely/ocp-cli",
1461
1473
  "license": "Apache-2.0",
1462
1474
  "executable": "ocp"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optimizely/ocp-cli",
3
- "version": "1.3.2",
3
+ "version": "1.3.4-beta.0",
4
4
  "description": "Optimizely Connect Platform command line interface",
5
5
  "repository": "https://github.com/ZaiusInc/ocp-cli",
6
6
  "license": "Apache-2.0",
@@ -32,11 +32,10 @@
32
32
  "test:e2e": "npx vitest run --config vitest.e2e.config.ts",
33
33
  "test:e2e:watch": "npx vitest --config vitest.e2e.config.ts",
34
34
  "test:all": "npm run test && npm run test:e2e",
35
- "test:watch": "npx vitest",
36
- "release": "release-it"
35
+ "test:watch": "npx vitest"
37
36
  },
38
37
  "dependencies": {
39
- "@aws-sdk/client-s3": "^3.316.0",
38
+ "@aws-sdk/client-s3": "3.896",
40
39
  "@inquirer/prompts": "^7.2.4",
41
40
  "adm-zip": "^0.4.13",
42
41
  "chalk": "^4.1.2",
@@ -74,12 +73,15 @@
74
73
  "copy": "^0.3.2",
75
74
  "execa": "^9.6.0",
76
75
  "nodemon": "^2.0.22",
77
- "release-it": "^17.11.0",
78
76
  "rimraf": "^3.0.2",
79
77
  "tslint": "^5.16.0",
80
78
  "typescript": "^4.7.4",
81
79
  "vitest": "^1.6.0"
82
80
  },
81
+ "resolutions": {
82
+ "@aws-sdk/types": "3.893.0",
83
+ "@aws-sdk/util-locate-window": "3.893.0"
84
+ },
83
85
  "engines": {
84
86
  "node": ">=18.0.0"
85
87
  }
@@ -110,7 +110,7 @@ export class CreateCommand {
110
110
  this.warnings.forEach((warning) => console.warn(warning));
111
111
  }
112
112
 
113
- marked.setOptions({renderer: new MarkedTerminal()});
113
+ marked.setOptions({renderer: new MarkedTerminal() as any});
114
114
  console.log('\n' + marked(
115
115
  `New OCP app project created at \`${fullPath}\`\n` +
116
116
  '- View README.md for information on getting started\n' +
@@ -4,11 +4,13 @@ import * as os from 'os';
4
4
  import * as path from 'path';
5
5
  import * as semver from 'semver';
6
6
  import {command, defaultValue, flag, help, option, namespace} from 'oo-cli';
7
+ import {appContext} from '../../lib/AppContext';
7
8
  import {die} from '../../lib/die';
8
9
  import {formatError} from '../../lib/formatError';
9
10
  import {handleInterrupt} from '../../lib/handleInterrupt';
10
11
  import {TerminalOutput} from '../../lib/TerminalOutput';
11
12
  import {TerminalPassthru} from '../../lib/TeminalPassthru';
13
+ import {Tracking} from '../../lib/Tracking';
12
14
 
13
15
  /**
14
16
  * Dev Server command - starts the local development server for OCP apps
@@ -67,6 +69,19 @@ export class DevServerCommand {
67
69
  process.env.APP_ROOT_DIR = this.path;
68
70
  }
69
71
 
72
+ // Track dev server start (fire-and-forget)
73
+ try {
74
+ const ctx = appContext();
75
+ Tracking.track({
76
+ action: 'dev_server_started',
77
+ appId: ctx.appId || 'unknown',
78
+ command: 'dev-server start',
79
+ version: ctx.version,
80
+ });
81
+ } catch {
82
+ // Ignore - don't let tracking errors affect the command
83
+ }
84
+
70
85
  // Import and call startServer from ocp-local-env (installed globally)
71
86
  // Get the global npm modules path and construct the full package path
72
87
  const globalRoot = TerminalOutput.exec('npm root -g').stdout.trim();
@@ -1,8 +1,9 @@
1
1
  import * as chalk from 'chalk';
2
- import {command, help, namespace, option, param} from 'oo-cli';
2
+ import {command, flag, help, namespace, option, param} from 'oo-cli';
3
3
  import {die} from '../../lib/die';
4
4
  import {Rivendell} from '../../lib/Rivendell';
5
5
  import {formatError} from '../../lib/formatError';
6
+ import {TerminalConfirm} from '../../lib/TerminalConfirm';
6
7
 
7
8
  @namespace('directory')
8
9
  export class UninstallCommand {
@@ -14,6 +15,10 @@ export class UninstallCommand {
14
15
  @help('The Tracker ID of the account to install into')
15
16
  public trackerId!: string;
16
17
 
18
+ @flag('no-prompt')
19
+ @help('Use default answer to any prompt question (default is yes)')
20
+ public noPrompt: boolean = false;
21
+
17
22
  @option('a')
18
23
  @help('The availability zone that will be targeted (default: us)')
19
24
  private availability: string = '';
@@ -23,6 +28,25 @@ export class UninstallCommand {
23
28
  public async uninstall() {
24
29
  try {
25
30
  const install = await Rivendell.fetchAppInstallation(this.appId, this.trackerId, this.availability);
31
+ const appVersion = await Rivendell.fetchAppVersion(
32
+ {appId: install.appId, version: install.version},
33
+ this.availability || 'us'
34
+ );
35
+ const manifest = JSON.parse(appVersion.manifestJson);
36
+ const hasOpalFunction = manifest.functions
37
+ && Object.values(manifest.functions).some((fn: any) => fn.opal_tool === true);
38
+ const hasOpalCategory = manifest.meta?.categories?.includes('Opal');
39
+ const isOpalApp = hasOpalFunction || hasOpalCategory;
40
+ if (isOpalApp) {
41
+ if (!await TerminalConfirm.ask(
42
+ chalk.red(`The app contains Opal tools that may have been added to Opal. If the app is uninstalled, the tools will stop working properly in Opal. Please make sure the tools are removed from Opal first, before uninstalling the app. Are you sure you want to uninstall?`),
43
+ this.noPrompt,
44
+ true
45
+ )) {
46
+ die('Operation cancelled.');
47
+ }
48
+ }
49
+
26
50
  await Rivendell.uninstall(install.id, this.availability);
27
51
  console.log(chalk.green(`Uninstalled ${install.appId} from ${install.trackerId} (${this.availability || 'us'})`));
28
52
  } catch (e: any) {
@@ -35,6 +35,31 @@ export namespace RivendellApi {
35
35
  return request('DELETE', uri);
36
36
  }
37
37
 
38
+ const MAX_RETRIES = 2;
39
+
40
+ function isSocketError(error: unknown): boolean {
41
+ if (error instanceof Error && 'cause' in error) {
42
+ const cause = error.cause as any;
43
+ return cause?.code === 'UND_ERR_SOCKET' || cause?.code === 'ECONNRESET' || cause?.code === 'EPIPE';
44
+ }
45
+ return false;
46
+ }
47
+
48
+ function shouldRetryException(method: Method, error: unknown): boolean {
49
+ if (method === 'GET') {
50
+ // For GET: retry on any exception
51
+ return true;
52
+ } else {
53
+ // For other methods: only retry on socket errors (idempotent concern)
54
+ return isSocketError(error);
55
+ }
56
+ }
57
+
58
+ function shouldRetryResponse(method: Method, status: number): boolean {
59
+ // Only retry 5xx responses for GET requests
60
+ return method === 'GET' && status >= 500;
61
+ }
62
+
38
63
  export async function request<T>(method: Method, uri: string, body?: any): Promise<ApiResponse<T>> {
39
64
  const url = `${runtimeConfig().rivendell}/${uri}`;
40
65
  const requestPayload: RequestInit = { method };
@@ -49,18 +74,56 @@ export namespace RivendellApi {
49
74
  requestPayload.body = JSON.stringify(body);
50
75
  }
51
76
 
52
- const response = await fetch(url, requestPayload);
53
- const responseText = await response.text();
77
+ let lastError: unknown;
78
+ let lastResponseText: string | undefined;
79
+ let lastStatus: number | undefined;
80
+
81
+ for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
82
+ try {
83
+ debug(`[RivendellApi] ${method} ${url}${attempt > 0 ? ` (retry ${attempt})` : ''}`);
54
84
 
55
- if (response.status < 200 || response.status >= 300) {
56
- const errorMsg = `Received a ${response.status} from OCP: ${getErrorMessage(response.status)}`;
57
- throw new ApiError(errorMsg, responseText, response);
85
+ const response = await fetch(url, requestPayload);
86
+ debug(`[RivendellApi] Response ${response.status}`);
87
+
88
+ const responseText = await response.text();
89
+
90
+ // Check for 5xx and retry if applicable
91
+ if (shouldRetryResponse(method, response.status) && attempt < MAX_RETRIES) {
92
+ debug(`[RivendellApi] Server error ${response.status}, retrying...`);
93
+ lastStatus = response.status;
94
+ lastResponseText = responseText;
95
+ continue;
96
+ }
97
+
98
+ if (response.status < 200 || response.status >= 300) {
99
+ const errorMsg = `Received a ${response.status} from OCP: ${getErrorMessage(response.status)}`;
100
+ throw new ApiError(errorMsg, responseText, response);
101
+ }
102
+
103
+ return {
104
+ response,
105
+ body: responseText ? JSON.parse(responseText) : ''
106
+ };
107
+ } catch (error) {
108
+ lastError = error;
109
+ if (shouldRetryException(method, error) && attempt < MAX_RETRIES) {
110
+ console.log(`[RivendellApi] ${isSocketError(error) ? 'Socket error' : 'Request failed'}, retrying...`);
111
+ continue;
112
+ }
113
+ throw error;
114
+ }
58
115
  }
59
116
 
60
- return {
61
- response,
62
- body: responseText ? JSON.parse(responseText) : ''
63
- };
117
+ // Exhausted retries - throw appropriate error
118
+ if (lastError) {
119
+ debug(lastError);
120
+ throw lastError;
121
+ }
122
+ if (lastStatus !== undefined) {
123
+ const errorMsg = `Received a ${lastStatus} from OCP after ${MAX_RETRIES} retries: ${getErrorMessage(lastStatus)}`;
124
+ throw new ApiError(errorMsg, lastResponseText || '', undefined);
125
+ }
126
+ throw new Error('Unexpected: no error or response after retries');
64
127
  }
65
128
 
66
129
  function loadApiKey(): string {
@@ -95,4 +158,10 @@ export namespace RivendellApi {
95
158
  return 'Unhandled error.';
96
159
  }
97
160
  }
161
+
162
+ function debug(...args: any[]) {
163
+ if (process.env.OCP_DEBUG === '1') {
164
+ console.debug(...args);
165
+ }
166
+ }
98
167
  }
@@ -0,0 +1,22 @@
1
+ import {RivendellApi} from './RivendellApi';
2
+
3
+ export namespace Tracking {
4
+ interface TrackingEvent {
5
+ action: string;
6
+ appId: string;
7
+ command: string;
8
+ version?: string;
9
+ properties?: Record<string, string>;
10
+ }
11
+
12
+ /**
13
+ * Send a tracking event to Segment via Rivendell.
14
+ * Fire-and-forget: does not await, never throws.
15
+ */
16
+ export function track(event: TrackingEvent): void {
17
+ // Fire and forget - don't await
18
+ RivendellApi.post('tracking/events', event).catch(() => {
19
+ // Silently ignore tracking failures
20
+ });
21
+ }
22
+ }
@@ -13,7 +13,11 @@ export function formatError(error: Error) {
13
13
  } else if (error instanceof MoriaApiError) {
14
14
  return sanitize(errorMessageFromJsonResponse(error));
15
15
  } else {
16
- return sanitize(error.message);
16
+ let message = `${error.name}: ${error.message}`;
17
+ if ('cause' in error && error.cause instanceof Error) {
18
+ message += ` [Cause: ${error.cause.name}: ${error.cause.message}]`;
19
+ }
20
+ return sanitize(message);
17
21
  }
18
22
  }
19
23