@mozole/cli 1.2.0 → 1.2.1

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.
Files changed (50) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +74 -17
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/adopt.d.ts +5 -1
  5. package/dist/commands/adopt.d.ts.map +1 -1
  6. package/dist/commands/adopt.js +21 -1
  7. package/dist/commands/adopt.js.map +1 -1
  8. package/dist/commands/cce.d.ts +5 -1
  9. package/dist/commands/cce.d.ts.map +1 -1
  10. package/dist/commands/cce.js +16 -1
  11. package/dist/commands/cce.js.map +1 -1
  12. package/dist/commands/doctor.d.ts +5 -1
  13. package/dist/commands/doctor.d.ts.map +1 -1
  14. package/dist/commands/doctor.js +53 -40
  15. package/dist/commands/doctor.js.map +1 -1
  16. package/dist/commands/new.d.ts +5 -1
  17. package/dist/commands/new.d.ts.map +1 -1
  18. package/dist/commands/new.js +31 -1
  19. package/dist/commands/new.js.map +1 -1
  20. package/dist/commands/qa.d.ts +4 -1
  21. package/dist/commands/qa.d.ts.map +1 -1
  22. package/dist/commands/qa.js +14 -0
  23. package/dist/commands/qa.js.map +1 -1
  24. package/dist/commands/stats.d.ts +19 -1
  25. package/dist/commands/stats.d.ts.map +1 -1
  26. package/dist/commands/stats.js +70 -12
  27. package/dist/commands/stats.js.map +1 -1
  28. package/dist/commands/ui.d.ts +9 -2
  29. package/dist/commands/ui.d.ts.map +1 -1
  30. package/dist/commands/ui.js +30 -6
  31. package/dist/commands/ui.js.map +1 -1
  32. package/dist/commands/verify.d.ts +4 -1
  33. package/dist/commands/verify.d.ts.map +1 -1
  34. package/dist/commands/verify.js +16 -1
  35. package/dist/commands/verify.js.map +1 -1
  36. package/dist/context/cce.d.ts +17 -1
  37. package/dist/context/cce.d.ts.map +1 -1
  38. package/dist/context/cce.js +158 -26
  39. package/dist/context/cce.js.map +1 -1
  40. package/dist/progress.d.ts +44 -0
  41. package/dist/progress.d.ts.map +1 -0
  42. package/dist/progress.js +123 -0
  43. package/dist/progress.js.map +1 -0
  44. package/dist/verify/runner.d.ts +1 -1
  45. package/dist/verify/runner.d.ts.map +1 -1
  46. package/dist/verify/runner.js +6 -2
  47. package/dist/verify/runner.js.map +1 -1
  48. package/dist/version.d.ts +2 -2
  49. package/dist/version.js +1 -1
  50. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAS7C,KAAK,UAAU,UAAU,CACvB,IAAY,EACZ,IAAI,GAAG,CAAC,WAAW,CAAC,EACpB,QAAQ,GAAG,KAAK;IAEhB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ;QACX,OAAO;YACL,KAAK,EAAE,EAAE;YACT,IAAI;YACJ,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,4BAA4B;YAC1D,QAAQ;SACT,CAAC;IACJ,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE;QACvC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,EAAE;QACT,IAAI;QACJ,OAAO,EAAE,MAAM,CAAC,QAAQ,KAAK,CAAC;QAC9B,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;aACpC,IAAI,EAAE;aACN,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClB,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAChB,QAAQ;KACT,CAAC;AACJ,CAAC;AACD,SAAS,cAAc,CAAC,KAAc,EAAE,IAAY;IAClD,MAAM,GAAG,GAAG,KAGX,CAAC;IACF,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAO,GAAkD,iBAAiB;IAE1E,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,MAAM,GAAW,OAAO;IAExB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,EAAE,CAAC;IAC/C,MAAM,eAAe,GAAG,MAAM,wBAAwB,EAAE,CAAC;IACzD,IAAI,WAAW,GAAe;QAC5B,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,4BAA4B;QACnC,QAAQ,EAAE,KAAK;KAChB,CAAC;IACF,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,EAAE;YACvD,GAAG;YACH,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,WAAW,GAAG;YACZ,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,MAAM,CAAC,QAAQ,KAAK,CAAC;YAC9B,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChE,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,UAAU,EAAE,CAAC;IACtC,MAAM,aAAa,GAAe;QAChC,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,KAAK;QACf,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;KAClD,CAAC;IACF,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,UAAU,CAAC,OAAO,EAClB,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAC1B,CAAC;QACF,aAAa,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;QAC9C,aAAa,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;aACnD,IAAI,EAAE;aACN,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClB,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnB,CAAC;IACD,MAAM,WAAW,GAAiB;QAChC;YACE,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE;YACpB,QAAQ,EAAE,IAAI;SACf;QACD;YACE,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE;YAChB,QAAQ,EAAE,IAAI;SACf;QACD,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3C;YACE,GAAG,CAAC,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;YACjD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,KAAK;SACZ;QACD,EAAE,GAAG,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;QAC/D;YACE,GAAG,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9B,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,GAAG,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC/B,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,KAAK;SAChB;QACD,WAAW;KACZ,CAAC;IACF,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;QACxC,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,oBAAoB,GAAG,MAAM,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAErE,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;QAC7C,IAAI,YAAY,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;QAC7C,IAAI,UAA8B,CAAC;QACnC,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,aAAa,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,UAAU,CAAC,OAAO,EAClB,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,EAChC,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAChC,CAAC;gBACF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC/D,YAAY,GAAG,KAAK,CAAC;oBACrB,UAAU,GAAG,WAAW,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,GAAG,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;oBACxD,YAAY;wBACV,MAAM,CAAC,QAAQ,KAAK,CAAC;4BACrB,CAAC,UAAU,CAAC,QAAQ,CAAC,yBAAyB,CAAC;4BAC/C,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC;4BACvC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;oBAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,UAAU,GAAG,aAAa,CAAC;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,KAAK,CAAC;gBACrB,UAAU,GAAG,iBAAiB,CAAC;YACjC,CAAC;QACH,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;QAC3C,IAAI,QAA4B,CAAC;QACjC,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAC7B,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC;YACzC,IAAI,CAAC,UAAU;gBAAE,QAAQ,GAAG,gBAAgB,CAAC;QAC/C,CAAC;QAED,IAAI,gBAAgB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;QACjD,IAAI,cAAkC,CAAC;QACvC,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC1C,gBAAgB,GAAG,KAAK,CAAC;gBACzB,cAAc,GAAG,iBAAiB,CAAC;YACrC,CAAC;iBAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBACzB,gBAAgB,GAAG,KAAK,CAAC;gBACzB,cAAc,GAAG,UAAU,IAAI,aAAa,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC/D,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC;gBACjC,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;QACH,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;QACH,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;QACH,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,gBAAgB;YACzB,KAAK,EAAE,cAAc;YACrB,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CACxD,CAAC;QACF,MAAM,cAAc,GAAG,OAAO,CAC5B,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC;YACjC,cAAc,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAC3C,CAAC;QACF,MAAM,OAAO,GAAG,OAAO,CACrB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC;YACzB,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAC9C,CAAC;QACF,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI;YACxC;gBACE,cAAc;gBACd,cAAc;gBACd,cAAc,IAAI,CAAC,OAAO;gBAC1B,CAAC,cAAc,IAAI,OAAO;aAC3B;YACD,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC;YAC/B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC;YACnD,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC;YACzC,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC;YACxC,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;SACzB;YACR,WAAW,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC1C,KAAK,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjE,QAAQ;aACT,CAAC,CAAC;QACL,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI;YAC5B,CAAC,WAAW,EAAE,oBAAoB,CAAC,SAAS,CAAC;YAC7C,CAAC,SAAS,EAAE,oBAAoB,CAAC,MAAM,CAAC;YACxC,CAAC,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC;YACnC,CAAC,WAAW,EAAE,oBAAoB,CAAC,SAAS,CAAC;SACrC;YACR,WAAW,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,aAAa;gBACpB,IAAI;gBACJ,OAAO;gBACP,KAAK,EACH,CAAC,OAAO,IAAI,IAAI,KAAK,WAAW;oBAC9B,CAAC,CAAC,oBAAoB,CAAC,MAAM;oBAC7B,CAAC,CAAC,SAAS;gBACf,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;QACL,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,OAAO;YACtC,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,OAAO;gBAClC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI;gBAC5B,CAAC,CAAC,UAAU;YACd,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,OAAO;SACxC,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI;YACtC;gBACE,YAAY;gBACZ,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACxB,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;aAClC;YACD;gBACE,aAAa;gBACb,CAAC,SAAS,EAAE,eAAe,CAAC;gBAC5B,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;aACnC;SACO,EAAE,CAAC;YACX,IAAI,SAAS,GAAG,CAAC,OAAO,CAAC;YACzB,IAAI,CAAC;gBACH,SAAS,GAAG,CACV,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,MAAM,CAAC,CACrD,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,WAAW,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,UAAU;gBACjB,IAAI;gBACJ,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChC,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC3B,IAAI,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QACD,KAAK,CAAC,IAAI,CACR,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9F,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,WAAW;SACxB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC/B,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
1
  import type { Output } from "../output.js";
2
- export declare function newCommand(name: string | undefined, cwd: string, output?: Output): Promise<number>;
2
+ import { type ProgressState } from "../progress.js";
3
+ export declare function newCommand(name: string | undefined, cwd: string, output?: Output, options?: {
4
+ verbose?: boolean | undefined;
5
+ onProgress?: ((state: ProgressState) => void) | undefined;
6
+ }): Promise<number>;
3
7
  //# sourceMappingURL=new.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAM3C,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CA8FjB"}
1
+ {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,gBAAgB,CAAC;AAIlE,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,EACxB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACtD,GACL,OAAO,CAAC,MAAM,CAAC,CAgIjB"}
@@ -5,9 +5,10 @@ import { cceCommand, initializeCce } from "../context/cce.js";
5
5
  import { configureAntigravityMcp } from "../integrations/antigravity.js";
6
6
  import { npmExecutable } from "../platform/executable.js";
7
7
  import { run } from "../platform/process.js";
8
+ import { TaskProgress } from "../progress.js";
8
9
  import { projectTemplates } from "../scaffold/templates.js";
9
10
  import { writeFiles } from "../scaffold/write.js";
10
- export async function newCommand(name, cwd, output = console) {
11
+ export async function newCommand(name, cwd, output = console, options = {}) {
11
12
  if (!name ||
12
13
  name === "." ||
13
14
  path.isAbsolute(name) ||
@@ -24,6 +25,13 @@ export async function newCommand(name, cwd, output = console) {
24
25
  return 2;
25
26
  }
26
27
  catch { }
28
+ const progress = new TaskProgress({
29
+ total: 6,
30
+ title: "New Project",
31
+ verbose: options.verbose,
32
+ output,
33
+ onUpdate: options.onProgress,
34
+ });
27
35
  const staging = await mkdtemp(path.join(cwd, `.mozole-${name}-`));
28
36
  const controller = new AbortController();
29
37
  const abort = () => controller.abort();
@@ -31,8 +39,12 @@ export async function newCommand(name, cwd, output = console) {
31
39
  process.once("SIGTERM", abort);
32
40
  let moved = false;
33
41
  try {
42
+ progress.step("Scaffolding project template files and configs");
43
+ progress.logVerbose(`Writing template files to staging: ${staging}`);
34
44
  await writeFiles(staging, projectTemplates(name));
35
45
  if (process.env.MOZOLE_SKIP_INSTALL !== "1") {
46
+ progress.step("Installing package dependencies (npm install)");
47
+ progress.logVerbose("Running npm install");
36
48
  const installed = await run(npmExecutable(), ["install", "--no-fund", "--no-audit"], {
37
49
  cwd: staging,
38
50
  timeoutMs: 600_000,
@@ -42,6 +54,8 @@ export async function newCommand(name, cwd, output = console) {
42
54
  if (installed.exitCode !== 0)
43
55
  throw new Error(`npm install failed. See .mozole/logs/npm-install.log`);
44
56
  if (process.env.MOZOLE_SKIP_BROWSER !== "1") {
57
+ progress.step("Provisioning Playwright Chromium browser");
58
+ progress.logVerbose("Running playwright install chromium");
45
59
  const browser = await run(npmExecutable(), ["exec", "--", "playwright", "install", "chromium"], {
46
60
  cwd: staging,
47
61
  timeoutMs: 600_000,
@@ -51,12 +65,22 @@ export async function newCommand(name, cwd, output = console) {
51
65
  if (browser.exitCode !== 0)
52
66
  throw new Error("Chromium installation failed. See .mozole/logs/playwright-install.log");
53
67
  }
68
+ else {
69
+ progress.step("Skipping browser provisioning (MOZOLE_SKIP_BROWSER)");
70
+ }
71
+ }
72
+ else {
73
+ progress.step("Skipping dependency installation (MOZOLE_SKIP_INSTALL)");
74
+ progress.step("Skipping browser provisioning (MOZOLE_SKIP_INSTALL)");
54
75
  }
76
+ progress.step("Moving staging workspace to target directory");
55
77
  await rename(staging, target);
56
78
  moved = true;
57
79
  let cceMessage = "CCE not initialized (run `mozole cce install`, then rerun `mozole adopt`).";
58
80
  const cceRuntime = await cceCommand();
59
81
  if (process.env.MOZOLE_SKIP_CCE !== "1") {
82
+ progress.step("Initializing CCE vector index & embedding model");
83
+ progress.logVerbose("Running CCE init");
60
84
  const cce = await initializeCce(target, controller.signal, cceRuntime);
61
85
  if (controller.signal.aborted)
62
86
  throw new Error("Creation cancelled.");
@@ -66,14 +90,20 @@ export async function newCommand(name, cwd, output = console) {
66
90
  cceMessage =
67
91
  "CCE setup needs attention; see .mozole/logs/cce-init.log.";
68
92
  }
93
+ else {
94
+ progress.step("Skipping CCE initialization (MOZOLE_SKIP_CCE)");
95
+ }
96
+ progress.step("Configuring Antigravity MCP and final workspace");
69
97
  const cceLauncher = cceRuntime?.prefix.length
70
98
  ? "uvx"
71
99
  : "cce";
72
100
  await configureAntigravityMcp(target, cceLauncher, cceRuntime?.command);
101
+ progress.done(`Created ${name}`);
73
102
  output.log(`\nCreated ${name}\n${cceMessage}\n\nNext: cd ${name} && npm run verify`);
74
103
  return 0;
75
104
  }
76
105
  catch (error) {
106
+ progress.done();
77
107
  if (!moved)
78
108
  await rm(staging, { recursive: true, force: true });
79
109
  output.error(`CREATE FAIL\n\n${error instanceof Error ? error.message : String(error)}\nCleanup: ${moved ? `project remains at ${target}` : "incomplete staging directory removed"}`);
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  import type { Output } from "../output.js";
2
+ import { type ProgressState } from "../progress.js";
2
3
  export declare function qaCommand(cwd: string, mode: {
3
4
  interactive: boolean;
4
5
  visual: boolean;
5
- force?: boolean;
6
+ force?: boolean | undefined;
7
+ verbose?: boolean | undefined;
8
+ onProgress?: ((state: ProgressState) => void) | undefined;
6
9
  }, output?: Output): Promise<number>;
7
10
  //# sourceMappingURL=qa.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"qa.d.ts","sourceRoot":"","sources":["../../src/commands/qa.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAoC3C,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAChE,MAAM,GAAE,MAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CA+DjB"}
1
+ {"version":3,"file":"qa.d.ts","sourceRoot":"","sources":["../../src/commands/qa.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,gBAAgB,CAAC;AAoClE,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IACJ,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC3D,EACD,MAAM,GAAE,MAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CAmFjB"}
@@ -3,6 +3,7 @@ import path from "node:path";
3
3
  import { findProjectRoot, readConfig } from "../config/project.js";
4
4
  import { fileFingerprint, projectFingerprint, } from "../governor/fingerprint.js";
5
5
  import { qaStateKey, readGovernorState, writeGovernorState, } from "../governor/state.js";
6
+ import { TaskProgress } from "../progress.js";
6
7
  import { runQa } from "../qa/runner.js";
7
8
  import { updateTelemetry } from "../telemetry/store.js";
8
9
  async function visualArtifactsCurrent(root, artifacts) {
@@ -32,11 +33,19 @@ async function captureArtifactState(root) {
32
33
  })));
33
34
  }
34
35
  export async function qaCommand(cwd, mode, output = console) {
36
+ const progress = new TaskProgress({
37
+ total: 3,
38
+ title: mode.visual ? "Visual QA" : "QA",
39
+ verbose: mode.verbose,
40
+ output,
41
+ onUpdate: mode.onProgress,
42
+ });
35
43
  const controller = new AbortController();
36
44
  const abort = () => controller.abort();
37
45
  process.once("SIGINT", abort);
38
46
  process.once("SIGTERM", abort);
39
47
  try {
48
+ progress.step("Checking QA cache and governor fingerprint");
40
49
  const root = await findProjectRoot(cwd);
41
50
  const config = await readConfig(root);
42
51
  const key = qaStateKey(mode);
@@ -51,6 +60,7 @@ export async function qaCommand(cwd, mode, output = console) {
51
60
  !mode.force &&
52
61
  cached?.fingerprint === fingerprint &&
53
62
  artifactsCurrent) {
63
+ progress.done();
54
64
  const reused = mode.visual ? (cached.artifacts?.length ?? 0) : 0;
55
65
  const message = mode.visual
56
66
  ? `VISUAL QA CURRENT\n\nReused ${reused} screenshot artifacts.`
@@ -65,7 +75,10 @@ export async function qaCommand(cwd, mode, output = console) {
65
75
  });
66
76
  return 0;
67
77
  }
78
+ progress.step(`Running ${mode.visual ? "visual" : "browser"} QA probes across routes and viewports`);
79
+ progress.logVerbose(`Routes: ${config.routes.join(", ")} | Viewports: ${config.qa.viewports.map((v) => `${v.width}x${v.height}`).join(", ")}`);
68
80
  const result = await runQa(root, config, mode, controller.signal);
81
+ progress.done();
69
82
  (result.passed ? output.log : output.error)(result.output);
70
83
  if (result.passed) {
71
84
  state.qa[key] = {
@@ -84,6 +97,7 @@ export async function qaCommand(cwd, mode, output = console) {
84
97
  return result.passed ? 0 : 1;
85
98
  }
86
99
  catch (error) {
100
+ progress.done();
87
101
  output.error(`QA FAIL\n\n${error instanceof Error ? error.message : String(error)}\n\nIf Chromium is missing, run: npx playwright install chromium`);
88
102
  return controller.signal.aborted ? 130 : 2;
89
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"qa.js","sourceRoot":"","sources":["../../src/commands/qa.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qa.js","sourceRoot":"","sources":["../../src/commands/qa.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,27 @@
1
1
  import type { Output } from "../output.js";
2
+ import { type ProgressState } from "../progress.js";
2
3
  interface CceSavings {
3
4
  queries: number;
4
5
  served_tokens: number;
5
6
  full_file_tokens: number;
6
7
  tokens_saved: number;
7
8
  savings_pct: number;
9
+ buckets?: Record<string, {
10
+ baseline?: number;
11
+ served?: number;
12
+ calls?: number;
13
+ }>;
14
+ }
15
+ export interface CceRetrievalMetrics {
16
+ queries: number;
17
+ deliveredTokens: number;
18
+ baselineTokens?: number;
19
+ avoidedTokens?: number;
20
+ reductionPct?: number;
8
21
  }
9
22
  export declare function parseCceSavings(output: string): CceSavings | undefined;
23
+ export declare function cceRetrievalMetrics(savings: CceSavings): CceRetrievalMetrics;
24
+ export declare function renderCceRetrieval(savings: CceSavings): string[];
10
25
  export declare function cceSavingsInvocation(cce: {
11
26
  command: string;
12
27
  prefix: string[];
@@ -14,6 +29,9 @@ export declare function cceSavingsInvocation(cce: {
14
29
  command: string;
15
30
  args: string[];
16
31
  };
17
- export declare function statsCommand(cwd: string, output?: Output): Promise<number>;
32
+ export declare function statsCommand(cwd: string, output?: Output, options?: {
33
+ verbose?: boolean | undefined;
34
+ onProgress?: ((state: ProgressState) => void) | undefined;
35
+ }): Promise<number>;
18
36
  export {};
19
37
  //# sourceMappingURL=stats.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAW3C,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAsBtE;AACD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAEtC;AACD,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CAqEjB"}
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,gBAAgB,CAAC;AAUlE,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CACd,MAAM,EACN;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CACvD,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CA2BtE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,mBAAmB,CAgC5E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,EAAE,CAShE;AACD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAEtC;AACD,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,EACxB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACtD,GACL,OAAO,CAAC,MAAM,CAAC,CA0FjB"}
@@ -1,6 +1,7 @@
1
1
  import { findProjectRoot } from "../config/project.js";
2
2
  import { cceCommand } from "../context/cce.js";
3
3
  import { run } from "../platform/process.js";
4
+ import { TaskProgress } from "../progress.js";
4
5
  import { readTelemetry } from "../telemetry/store.js";
5
6
  function number(value) {
6
7
  return new Intl.NumberFormat("en-US", {
@@ -15,13 +16,15 @@ export function parseCceSavings(output) {
15
16
  return undefined;
16
17
  try {
17
18
  const value = JSON.parse(output.slice(start, end + 1));
18
- if (![
19
+ const fields = [
19
20
  value.queries,
20
21
  value.served_tokens,
21
22
  value.full_file_tokens,
22
23
  value.tokens_saved,
23
24
  value.savings_pct,
24
- ].every((item) => typeof item === "number" && Number.isFinite(item)))
25
+ ];
26
+ if (!Number.isInteger(value.queries) ||
27
+ !fields.every((item) => typeof item === "number" && Number.isFinite(item) && item >= 0))
25
28
  return undefined;
26
29
  return value;
27
30
  }
@@ -29,39 +32,93 @@ export function parseCceSavings(output) {
29
32
  return undefined;
30
33
  }
31
34
  }
35
+ export function cceRetrievalMetrics(savings) {
36
+ const queries = Math.max(0, Math.trunc(savings.queries));
37
+ if (queries === 0)
38
+ return { queries: 0, deliveredTokens: 0, avoidedTokens: 0 };
39
+ const deliveredTokens = Math.max(0, savings.served_tokens);
40
+ const retrieval = savings.buckets?.retrieval;
41
+ const baseline = retrieval?.baseline;
42
+ const retrievalServed = retrieval?.served;
43
+ const calls = retrieval?.calls;
44
+ const validBaseline = typeof baseline === "number" &&
45
+ Number.isFinite(baseline) &&
46
+ baseline > 0 &&
47
+ typeof retrievalServed === "number" &&
48
+ Number.isFinite(retrievalServed) &&
49
+ retrievalServed >= deliveredTokens &&
50
+ retrievalServed <= baseline &&
51
+ typeof calls === "number" &&
52
+ Number.isInteger(calls) &&
53
+ calls === queries &&
54
+ deliveredTokens <= baseline;
55
+ if (!validBaseline)
56
+ return { queries, deliveredTokens };
57
+ const avoidedTokens = baseline - deliveredTokens;
58
+ return {
59
+ queries,
60
+ deliveredTokens,
61
+ baselineTokens: baseline,
62
+ avoidedTokens,
63
+ reductionPct: (avoidedTokens / baseline) * 100,
64
+ };
65
+ }
66
+ export function renderCceRetrieval(savings) {
67
+ const metrics = cceRetrievalMetrics(savings);
68
+ return [
69
+ ` queries ${number(metrics.queries)}`,
70
+ ` delivered context ${number(metrics.deliveredTokens)} tokens`,
71
+ ` retrieval baseline ${metrics.baselineTokens === undefined ? "N/A" : `${number(metrics.baselineTokens)} tokens`}`,
72
+ ` avoided context ${metrics.avoidedTokens === undefined ? "N/A" : `${number(metrics.avoidedTokens)} tokens`}`,
73
+ ` measured reduction ${metrics.reductionPct === undefined ? "N/A" : `${metrics.reductionPct.toFixed(1)}%`}`,
74
+ ];
75
+ }
32
76
  export function cceSavingsInvocation(cce) {
33
77
  return { command: cce.command, args: [...cce.prefix, "savings", "--json"] };
34
78
  }
35
- export async function statsCommand(cwd, output = console) {
79
+ export async function statsCommand(cwd, output = console, options = {}) {
80
+ const progress = new TaskProgress({
81
+ total: 3,
82
+ title: "Stats",
83
+ verbose: options.verbose,
84
+ output,
85
+ onUpdate: options.onProgress,
86
+ });
36
87
  try {
88
+ progress.step("Locating project root and reading telemetry store");
37
89
  const root = await findProjectRoot(cwd);
38
90
  const telemetry = await readTelemetry(root);
91
+ progress.logVerbose(`Loaded telemetry: verification runs=${telemetry.verification.runs}, qa runs=${telemetry.qa.runs}`);
92
+ progress.step("Probing CCE context savings and measurements");
39
93
  const cce = await cceCommand();
40
94
  let cceLines = [];
41
95
  if (cce) {
96
+ progress.logVerbose(`Querying CCE savings from ${cce.command}`);
42
97
  const invocation = cceSavingsInvocation(cce);
43
98
  const result = await run(invocation.command, invocation.args, {
44
99
  cwd: root,
45
100
  timeoutMs: 15_000,
46
101
  });
47
102
  const savings = result.exitCode === 0 ? parseCceSavings(result.stdout) : undefined;
48
- if (savings)
49
- cceLines = [
50
- ` potential full-file context ${number(savings.full_file_tokens)} tokens`,
51
- ` delivered context ${number(savings.served_tokens)} tokens`,
52
- ` avoided context ${number(savings.tokens_saved)} tokens`,
53
- ` queries ${number(savings.queries)}`,
54
- ` measured reduction ${savings.savings_pct.toFixed(1)}%`,
55
- ];
103
+ if (savings) {
104
+ const retrieval = cceRetrievalMetrics(savings);
105
+ progress.logVerbose(`CCE retrieval: ${retrieval.queries} queries, reduction=${retrieval.reductionPct?.toFixed(1) ?? "N/A"}`);
106
+ cceLines = renderCceRetrieval(savings);
107
+ }
108
+ }
109
+ else {
110
+ progress.logVerbose("CCE not installed or available");
56
111
  }
112
+ progress.step("Calculating agent efficiency metrics and reductions");
57
113
  const suppressed = telemetry.verification.rawChars - telemetry.verification.deliveredChars;
58
114
  const reduction = telemetry.verification.rawChars
59
115
  ? (suppressed / telemetry.verification.rawChars) * 100
60
116
  : 0;
117
+ progress.done();
61
118
  output.log([
62
119
  "Mozole Agent Efficiency",
63
120
  "",
64
- "Context (CCE measured)",
121
+ "Context retrieval (CCE)",
65
122
  ...(cceLines.length
66
123
  ? cceLines
67
124
  : [" unavailable — run CCE queries to collect measurements"]),
@@ -93,6 +150,7 @@ export async function statsCommand(cwd, output = console) {
93
150
  return 0;
94
151
  }
95
152
  catch (error) {
153
+ progress.done();
96
154
  output.error(`STATS FAIL\n\n${error instanceof Error ? error.message : String(error)}`);
97
155
  return 2;
98
156
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,15 @@ type TerminalOutput = NodeJS.WritableStream & {
13
13
  export interface UiFrameState {
14
14
  cwd: string;
15
15
  selected: number;
16
- busy?: string;
17
- lastResult?: string;
16
+ busy?: string | undefined;
17
+ progress?: {
18
+ current: number;
19
+ total: number;
20
+ percent: number;
21
+ message: string;
22
+ elapsedMs: number;
23
+ } | undefined;
24
+ lastResult?: string | undefined;
18
25
  log: string[];
19
26
  }
20
27
  export declare function uiMenuText(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/commands/ui.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAU3C,KAAK,aAAa,GAAG,MAAM,CAAC,cAAc,GAAG;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,KAAK,cAAc,GAAG,MAAM,CAAC,cAAc,GAAG;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,EAAE,CAAC;CACf;AAuHD,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC7C,KAAK,UAAO,GACX,MAAM,CAoER;AAqCD,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,EACxB,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;CAClB,GACL,OAAO,CAAC,MAAM,CAAC,CA+HjB"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/commands/ui.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAW3C,KAAK,aAAa,GAAG,MAAM,CAAC,cAAc,GAAG;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,KAAK,cAAc,GAAG,MAAM,CAAC,cAAc,GAAG;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,EACL;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,GACD,SAAS,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,GAAG,EAAE,MAAM,EAAE,CAAC;CACf;AAyID,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC7C,KAAK,UAAO,GACX,MAAM,CAuFR;AAqCD,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,EACxB,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;CAClB,GACL,OAAO,CAAC,MAAM,CAAC,CAsIjB"}
@@ -1,6 +1,7 @@
1
1
  import path from "node:path";
2
2
  import { stdin, stdout } from "node:process";
3
3
  import { createInterface } from "node:readline/promises";
4
+ import { renderProgressBar } from "../progress.js";
4
5
  import { CLI_VERSION } from "../version.js";
5
6
  import { adoptCommand } from "./adopt.js";
6
7
  import { cceInstallCommand } from "./cce.js";
@@ -15,28 +16,32 @@ const actions = [
15
16
  detail: "Inspect project, toolchain & AI runtime health",
16
17
  key: "1",
17
18
  kind: "command",
18
- run: doctorCommand,
19
+ run: (cwd, output, opts) => doctorCommand(cwd, output, opts),
19
20
  },
20
21
  {
21
22
  label: "Verify",
22
23
  detail: "Run strict lint, typecheck, tests & build",
23
24
  key: "2",
24
25
  kind: "command",
25
- run: verifyCommand,
26
+ run: (cwd, output, opts) => verifyCommand(cwd, output, opts),
26
27
  },
27
28
  {
28
29
  label: "QA",
29
30
  detail: "Run deterministic, screenshot-free browser probes",
30
31
  key: "3",
31
32
  kind: "command",
32
- run: (cwd, output) => qaCommand(cwd, { interactive: false, visual: false }, output),
33
+ run: (cwd, output, opts) => qaCommand(cwd, {
34
+ interactive: false,
35
+ visual: false,
36
+ onProgress: opts?.onProgress,
37
+ }, output),
33
38
  },
34
39
  {
35
40
  label: "Stats",
36
41
  detail: "Inspect token savings & verification cache telemetry",
37
42
  key: "4",
38
43
  kind: "command",
39
- run: statsCommand,
44
+ run: (cwd, output, opts) => statsCommand(cwd, output, opts),
40
45
  },
41
46
  {
42
47
  label: "Install CCE",
@@ -125,8 +130,15 @@ export function uiDashboardFrame(state, dimensions, color = true) {
125
130
  return `${marker} ${key} ${label} ${detail}`;
126
131
  });
127
132
  let statusBadge = paint("● READY Select an operation", 92, color);
133
+ let progressLine;
128
134
  if (state.busy) {
129
135
  statusBadge = paint(`⟳ RUNNING ${state.busy}`, 93, color);
136
+ if (state.progress) {
137
+ const bar = renderProgressBar(state.progress.current / state.progress.total, 14);
138
+ const stepInfo = paint(`[${state.progress.current}/${state.progress.total}]`, 97, color);
139
+ const msg = paint(state.progress.message, 90, color);
140
+ progressLine = ` ${paint(bar, 36, color)} ${stepInfo} ${msg}`;
141
+ }
130
142
  }
131
143
  else if (state.lastResult) {
132
144
  if (state.lastResult.includes("COMPLETE")) {
@@ -148,7 +160,12 @@ export function uiDashboardFrame(state, dimensions, color = true) {
148
160
  "",
149
161
  ...box(actionLines, width, color, "OPERATIONS"),
150
162
  "",
151
- ...box([` ${statusBadge}`, "", ...activity], width, color, "STATUS & ACTIVITY"),
163
+ ...box([
164
+ ` ${statusBadge}`,
165
+ ...(progressLine ? ["", progressLine] : []),
166
+ "",
167
+ ...activity,
168
+ ], width, color, "STATUS & ACTIVITY"),
152
169
  "",
153
170
  paint(" ↑↓ / j k navigate enter run 1–8 jump r redraw q exit", 90, color),
154
171
  paint(" Normal QA is deterministic and screenshot-free. Visual QA remains explicit. · © MozoleStudio", 90, color),
@@ -290,9 +307,16 @@ export async function uiCommand(cwd, output = console, streams = {}) {
290
307
  continue;
291
308
  }
292
309
  state.busy = action.label;
310
+ delete state.progress;
293
311
  render();
294
- const code = await action.run?.(cwd, dashboardOutput);
312
+ const code = await action.run?.(cwd, dashboardOutput, {
313
+ onProgress: (prog) => {
314
+ state.progress = prog;
315
+ render();
316
+ },
317
+ });
295
318
  delete state.busy;
319
+ delete state.progress;
296
320
  state.lastResult = `${action.label} ${code === 0 ? "COMPLETE" : "FAILED"}`;
297
321
  render();
298
322
  }