quackscore 0.2.5 → 0.3.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 (92) hide show
  1. package/dist/commands/create.d.ts +1 -0
  2. package/dist/commands/create.d.ts.map +1 -1
  3. package/dist/commands/create.js +26 -10
  4. package/dist/commands/create.js.map +1 -1
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +19 -0
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/leaderboard.d.ts +5 -1
  9. package/dist/commands/leaderboard.d.ts.map +1 -1
  10. package/dist/commands/leaderboard.js +57 -29
  11. package/dist/commands/leaderboard.js.map +1 -1
  12. package/dist/commands/profile-options.d.ts +24 -0
  13. package/dist/commands/profile-options.d.ts.map +1 -0
  14. package/dist/commands/profile-options.js +38 -0
  15. package/dist/commands/profile-options.js.map +1 -0
  16. package/dist/commands/remove.d.ts +5 -1
  17. package/dist/commands/remove.d.ts.map +1 -1
  18. package/dist/commands/remove.js +14 -5
  19. package/dist/commands/remove.js.map +1 -1
  20. package/dist/commands/show.d.ts +5 -1
  21. package/dist/commands/show.d.ts.map +1 -1
  22. package/dist/commands/show.js +12 -3
  23. package/dist/commands/show.js.map +1 -1
  24. package/dist/commands/update-summary.d.ts +2 -0
  25. package/dist/commands/update-summary.d.ts.map +1 -1
  26. package/dist/commands/update-summary.js +12 -3
  27. package/dist/commands/update-summary.js.map +1 -1
  28. package/dist/commands/update.d.ts.map +1 -1
  29. package/dist/commands/update.js +148 -68
  30. package/dist/commands/update.js.map +1 -1
  31. package/dist/config/types.d.ts +1 -1
  32. package/dist/config/types.d.ts.map +1 -1
  33. package/dist/config/types.js +14 -0
  34. package/dist/config/types.js.map +1 -1
  35. package/dist/github/client.d.ts +5 -5
  36. package/dist/github/client.d.ts.map +1 -1
  37. package/dist/github/client.js +157 -57
  38. package/dist/github/client.js.map +1 -1
  39. package/dist/index.js +32 -7
  40. package/dist/index.js.map +1 -1
  41. package/dist/llm/analyzer.d.ts +3 -3
  42. package/dist/llm/analyzer.d.ts.map +1 -1
  43. package/dist/llm/analyzer.js.map +1 -1
  44. package/dist/llm/character.d.ts +2 -2
  45. package/dist/llm/character.d.ts.map +1 -1
  46. package/dist/llm/character.js.map +1 -1
  47. package/dist/llm/client.d.ts +2 -2
  48. package/dist/llm/client.d.ts.map +1 -1
  49. package/dist/llm/client.js +1 -1
  50. package/dist/llm/client.js.map +1 -1
  51. package/dist/llm/providers.d.ts +3 -3
  52. package/dist/llm/providers.d.ts.map +1 -1
  53. package/dist/llm/providers.js +25 -6
  54. package/dist/llm/providers.js.map +1 -1
  55. package/dist/report/generate.d.ts.map +1 -1
  56. package/dist/report/generate.js +4 -2
  57. package/dist/report/generate.js.map +1 -1
  58. package/dist/report/leaderboard.d.ts +5 -1
  59. package/dist/report/leaderboard.d.ts.map +1 -1
  60. package/dist/report/leaderboard.js +611 -865
  61. package/dist/report/leaderboard.js.map +1 -1
  62. package/dist/shared/profile-scope.d.ts +19 -0
  63. package/dist/shared/profile-scope.d.ts.map +1 -0
  64. package/dist/shared/profile-scope.js +101 -0
  65. package/dist/shared/profile-scope.js.map +1 -0
  66. package/dist/shared/types.d.ts +28 -0
  67. package/dist/shared/types.d.ts.map +1 -1
  68. package/dist/shared/ui.d.ts +1 -0
  69. package/dist/shared/ui.d.ts.map +1 -1
  70. package/dist/shared/ui.js +3 -0
  71. package/dist/shared/ui.js.map +1 -1
  72. package/dist/storage/index.d.ts +1 -1
  73. package/dist/storage/index.d.ts.map +1 -1
  74. package/dist/storage/index.js +1 -1
  75. package/dist/storage/index.js.map +1 -1
  76. package/dist/storage/leaderboard.d.ts +3 -2
  77. package/dist/storage/leaderboard.d.ts.map +1 -1
  78. package/dist/storage/leaderboard.js +80 -9
  79. package/dist/storage/leaderboard.js.map +1 -1
  80. package/dist/storage/paths.d.ts +5 -0
  81. package/dist/storage/paths.d.ts.map +1 -1
  82. package/dist/storage/paths.js +13 -0
  83. package/dist/storage/paths.js.map +1 -1
  84. package/dist/storage/report.d.ts +4 -2
  85. package/dist/storage/report.d.ts.map +1 -1
  86. package/dist/storage/report.js +25 -8
  87. package/dist/storage/report.js.map +1 -1
  88. package/dist/storage/user.d.ts +2 -1
  89. package/dist/storage/user.d.ts.map +1 -1
  90. package/dist/storage/user.js +27 -10
  91. package/dist/storage/user.js.map +1 -1
  92. package/package.json +13 -6
@@ -1 +1 @@
1
- {"version":3,"file":"leaderboard.js","sourceRoot":"","sources":["../../src/report/leaderboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGlE,MAAM,cAAc,GAA2B;IAC7C,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,aAAa,CAAC;IACjC,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,SAAS,GAAG,GAAG;IAClD,IAAI,CAAC,KAAK;QAAE,OAAO,4BAA4B,CAAC;IAChD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,IAAI,UAAU,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,UAAU,CAAC;IACtD,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC;AAC9D,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,cAAc,CAAC,WAAmB;IACzC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,IAAI,WAAW,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,IAAsB,EAAE,KAAuB;IACrE,OAAO,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;WACtC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;WACpC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC;WAC3G,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,UAAU,CAAC,OAA2B;IAC7C,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO;YACL,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAyB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;QAC/F,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC;QAC3D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtG,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnG,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;QAC/F,IAAI,CAAC,MAAM;YAAE,OAAO,YAAY,CAAC,QAAQ,CAAC;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IACjG,CAAC,EAAE,SAAS,CAAC,CAAC;IAEd,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW;QACX,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,cAAc;QACd,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM;QACzC,WAAW;QACX,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAuB,EAAE,KAAa,EAAE,MAAe;IAC1E,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU;QACnC,CAAC,CAAC,wCAAwC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,6DAA6D;QAC3I,CAAC,CAAC,0DAA0D,CAAC;IAE/D,OAAO,yBAAyB,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;4BAE3B,KAAK,GAAG,CAAC;;;;oBAIjB,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC;sCACR,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,mBAAmB,CAAC;;;wBAG5D,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE;4BAC9B,KAAK,CAAC,KAAK;;;;sCAID,KAAK,CAAC,WAAW;sCACjB,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oDAC5B,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;;uCAEzD,UAAU,CAAC,OAAO,CAAC;;;YAG9C,YAAY;;;;;kCAKU,UAAU,CAAC,WAAW,CAAC;;;;sBAInC,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,mBAAmB,CAAC;;;;sBAI9C,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;;;;sBAI1C,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;;;;eAInC,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAO,GAAG,mDAAmD;IACrF,OAAO,sBAAsB,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC3D,CAAC;AAED,SAAS,oBAAoB,CAC3B,EAAU,EACV,aAAqB,EACrB,aAAqB,EACrB,OAAgD;IAEhD,OAAO;iCACwB,UAAU,CAAC,EAAE,CAAC,YAAY,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,aAAa;kHACE,UAAU,CAAC,EAAE,CAAC;+DACjE,UAAU,CAAC,aAAa,CAAC;;qCAEnD,UAAU,CAAC,EAAE,CAAC;UACzC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,+BAA+B,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,gEAAgE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;WAE1R,CAAC;AACZ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAA8B;IACpE,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM;QACvC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7G,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvB,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAC3F,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAChC,IAAI,GAAG,CACL,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CACnG,CACF,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE7E,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDA4jB6C,cAAc,CAAC,MAAM;;;;;UAKjE,oBAAoB,CAAC,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE;QACpE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE;QACnC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;QAC1C,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;QAC5C,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;QAClD,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;QAClD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;QAC1C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE;KAC9C,CAAC;;;;UAIA,oBAAoB,CAAC,uBAAuB,EAAE,4BAA4B,EAAE,qBAAqB,EAAE;QACnG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE;QAC9C,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;KAC5G,CAAC;;gEAEsD,cAAc,CAAC,MAAM;;wCAE7C,WAAW;iFAC8B,gBAAgB,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;6EAE1C,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;0DAuBnC,kBAAkB,CAAC,QAAQ,CAAC;;;kCAGpD,iBAAiB;+BACpB,kBAAkB,CAAC,cAAc,CAAC;iCAChC,kBAAkB,CAAC,gBAAgB,CAAC;0BAC3C,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0Z3B,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"leaderboard.js","sourceRoot":"","sources":["../../src/report/leaderboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { PRData, ProfileScope, UserData } from './types.js';
2
+ export interface ProfileSelector {
3
+ username: string;
4
+ organisation?: string;
5
+ repository?: string;
6
+ }
7
+ export declare function teamKey(team: string): string;
8
+ export declare function normalizeProfileScope(scope?: ProfileScope): ProfileScope;
9
+ export declare function profileSelector(username: string, scope?: ProfileScope): ProfileSelector;
10
+ export declare function scopeFromSelector(selector: ProfileSelector, windowWeeks?: number): ProfileScope;
11
+ export declare function profileStorageKey(selector: ProfileSelector): string;
12
+ export declare function profileScopeLabel(scope?: ProfileScope): string;
13
+ export declare function profileDisplayName(username: string, scope?: ProfileScope): string;
14
+ export declare function normalizeTeams(teams?: string[]): string[];
15
+ export declare function mergeTeamDisplay(existingTeams?: string[], requestedTeams?: string[]): string[];
16
+ export declare function hasTeamMatch(teams: string[] | undefined, team?: string): boolean;
17
+ export declare function prIdentity(pr: Pick<PRData, 'repo' | 'number'>): string;
18
+ export declare function normalizeUserDataShape(data: UserData): UserData;
19
+ //# sourceMappingURL=profile-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-scope.d.ts","sourceRoot":"","sources":["../../src/shared/profile-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAaD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,YAAY,CAMxE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,eAAe,CAMvF;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CAM/F;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAYnE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAS9D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAGjF;AAED,wBAAgB,cAAc,CAAC,KAAK,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAa7D;AAED,wBAAgB,gBAAgB,CAAC,aAAa,GAAE,MAAM,EAAO,EAAE,cAAc,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAatG;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAIhF;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,MAAM,CAEtE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAM/D"}
@@ -0,0 +1,101 @@
1
+ const GLOBAL_SCOPE_LABEL = 'All repositories';
2
+ function cleanValue(value) {
3
+ const trimmed = value?.trim();
4
+ return trimmed ? trimmed : undefined;
5
+ }
6
+ function encodeSegment(value) {
7
+ return encodeURIComponent(value.replace(/\s+/g, ' ').trim());
8
+ }
9
+ export function teamKey(team) {
10
+ return team.trim().toLocaleLowerCase();
11
+ }
12
+ export function normalizeProfileScope(scope) {
13
+ return {
14
+ organisation: cleanValue(scope?.organisation),
15
+ repository: cleanValue(scope?.repository),
16
+ windowWeeks: scope?.windowWeeks,
17
+ };
18
+ }
19
+ export function profileSelector(username, scope) {
20
+ return {
21
+ username: username.trim(),
22
+ organisation: cleanValue(scope?.organisation),
23
+ repository: cleanValue(scope?.repository),
24
+ };
25
+ }
26
+ export function scopeFromSelector(selector, windowWeeks) {
27
+ return normalizeProfileScope({
28
+ organisation: selector.organisation,
29
+ repository: selector.repository,
30
+ windowWeeks,
31
+ });
32
+ }
33
+ export function profileStorageKey(selector) {
34
+ const username = selector.username.trim();
35
+ const organisation = cleanValue(selector.organisation);
36
+ const repository = cleanValue(selector.repository);
37
+ if (!organisation)
38
+ return username;
39
+ const keyParts = [username, 'org', encodeSegment(organisation)];
40
+ if (repository) {
41
+ keyParts.push('repo', encodeSegment(repository));
42
+ }
43
+ return keyParts.join('__');
44
+ }
45
+ export function profileScopeLabel(scope) {
46
+ const normalized = normalizeProfileScope(scope);
47
+ if (normalized.organisation && normalized.repository) {
48
+ return `${normalized.organisation}/${normalized.repository}`;
49
+ }
50
+ if (normalized.organisation) {
51
+ return normalized.organisation;
52
+ }
53
+ return GLOBAL_SCOPE_LABEL;
54
+ }
55
+ export function profileDisplayName(username, scope) {
56
+ const scopeLabel = profileScopeLabel(scope);
57
+ return scopeLabel === GLOBAL_SCOPE_LABEL ? username : `${username} @ ${scopeLabel}`;
58
+ }
59
+ export function normalizeTeams(teams = []) {
60
+ const deduped = new Map();
61
+ for (const team of teams) {
62
+ const trimmed = team.trim();
63
+ if (!trimmed)
64
+ continue;
65
+ const key = teamKey(trimmed);
66
+ if (!deduped.has(key)) {
67
+ deduped.set(key, trimmed);
68
+ }
69
+ }
70
+ return [...deduped.values()];
71
+ }
72
+ export function mergeTeamDisplay(existingTeams = [], requestedTeams = []) {
73
+ const existingByKey = new Map(normalizeTeams(existingTeams).map((team) => [teamKey(team), team]));
74
+ const merged = [];
75
+ const seen = new Set();
76
+ for (const team of normalizeTeams(requestedTeams)) {
77
+ const key = teamKey(team);
78
+ if (seen.has(key))
79
+ continue;
80
+ merged.push(existingByKey.get(key) ?? team);
81
+ seen.add(key);
82
+ }
83
+ return merged;
84
+ }
85
+ export function hasTeamMatch(teams, team) {
86
+ const normalizedFilter = cleanValue(team) ? teamKey(team) : undefined;
87
+ if (!normalizedFilter)
88
+ return true;
89
+ return (teams ?? []).some((candidate) => teamKey(candidate) === normalizedFilter);
90
+ }
91
+ export function prIdentity(pr) {
92
+ return `${pr.repo}#${pr.number}`;
93
+ }
94
+ export function normalizeUserDataShape(data) {
95
+ return {
96
+ ...data,
97
+ scope: normalizeProfileScope(data.scope),
98
+ teams: normalizeTeams(data.teams),
99
+ };
100
+ }
101
+ //# sourceMappingURL=profile-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-scope.js","sourceRoot":"","sources":["../../src/shared/profile-scope.ts"],"names":[],"mappings":"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"}
@@ -53,12 +53,19 @@ export interface CharacterProfile {
53
53
  summary: string;
54
54
  avatarUrl?: string;
55
55
  }
56
+ export interface ProfileScope {
57
+ organisation?: string;
58
+ repository?: string;
59
+ windowWeeks?: number;
60
+ }
56
61
  export interface UserData {
57
62
  username: string;
58
63
  lastUpdated: string;
59
64
  prs: PRData[];
60
65
  stats: PlayerStats;
61
66
  character?: CharacterProfile;
67
+ scope?: ProfileScope;
68
+ teams?: string[];
62
69
  }
63
70
  export interface LeaderboardContribution {
64
71
  mergedAt: string;
@@ -69,6 +76,9 @@ export interface LeaderboardProfile {
69
76
  storageKey: string;
70
77
  username: string;
71
78
  lastUpdated: string;
79
+ scope: ProfileScope;
80
+ scopeLabel: string;
81
+ teams: string[];
72
82
  totalPoints: number;
73
83
  level: number;
74
84
  analyzedPRs: number;
@@ -82,6 +92,8 @@ export interface LeaderboardProfile {
82
92
  export interface LeaderboardEntry {
83
93
  storageKey: string;
84
94
  username: string;
95
+ scopeLabel: string;
96
+ teams: string[];
85
97
  totalPoints: number;
86
98
  level: number;
87
99
  lastUpdated: string;
@@ -92,4 +104,20 @@ export interface LeaderboardEntry {
92
104
  summary?: string;
93
105
  reportPath?: string;
94
106
  }
107
+ export interface TeamLeaderboardMember {
108
+ storageKey: string;
109
+ username: string;
110
+ scopeLabel: string;
111
+ reportPath?: string;
112
+ }
113
+ export interface TeamLeaderboardEntry {
114
+ team: string;
115
+ totalPoints: number;
116
+ level: number;
117
+ memberCount: number;
118
+ analyzedPRs: number;
119
+ primaryArea?: string;
120
+ lastActivityAt?: string;
121
+ members: TeamLeaderboardMember[];
122
+ }
95
123
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export declare function rpgLog(message: string): void;
2
2
  export declare function rpgSuccess(message: string): void;
3
3
  export declare function rpgError(message: string): void;
4
4
  export declare function rpgInfo(message: string): void;
5
+ export declare function rpgWarn(message: string): void;
5
6
  export declare function rpgProgress(current: number, total: number, title: string): void;
6
7
  export declare function rpgHeader(text: string): void;
7
8
  //# sourceMappingURL=ui.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/shared/ui.ts"],"names":[],"mappings":"AAIA,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5C;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI/E;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAG5C"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/shared/ui.ts"],"names":[],"mappings":"AAIA,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5C;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI/E;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAG5C"}
package/dist/shared/ui.js CHANGED
@@ -12,6 +12,9 @@ export function rpgError(message) {
12
12
  export function rpgInfo(message) {
13
13
  console.log(`📜 ${chalk.yellow(message)}`);
14
14
  }
15
+ export function rpgWarn(message) {
16
+ console.log(`⚠️ ${chalk.yellow(message)}`);
17
+ }
15
18
  export function rpgProgress(current, total, title) {
16
19
  const pct = Math.round((current / total) * 100);
17
20
  const bar = '█'.repeat(Math.floor(pct / 5)) + '░'.repeat(20 - Math.floor(pct / 5));
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/shared/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,IAAI,GAAG,IAAI,CAAC;AAElB,MAAM,UAAU,MAAM,CAAC,OAAe;IACpC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,KAAa,EAAE,KAAa;IACvE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,GAAG,WAAW,OAAO,IAAI,KAAK,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,IAAI,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/shared/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,IAAI,GAAG,IAAI,CAAC;AAElB,MAAM,UAAU,MAAM,CAAC,OAAe;IACpC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,KAAa,EAAE,KAAa;IACvE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,GAAG,WAAW,OAAO,IAAI,KAAK,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,IAAI,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC;AACxE,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { saveUserData, loadUserData } from './user.js';
2
2
  export { saveReport, getUserReportPath } from './report.js';
3
- export { loadLeaderboard, loadLeaderboardProfiles, saveLeaderboardReport } from './leaderboard.js';
3
+ export { loadLeaderboard, loadLeaderboardProfiles, loadTeamLeaderboard, saveLeaderboardReport } from './leaderboard.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { saveUserData, loadUserData } from './user.js';
2
2
  export { saveReport, getUserReportPath } from './report.js';
3
- export { loadLeaderboard, loadLeaderboardProfiles, saveLeaderboardReport } from './leaderboard.js';
3
+ export { loadLeaderboard, loadLeaderboardProfiles, loadTeamLeaderboard, saveLeaderboardReport } from './leaderboard.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,5 +1,6 @@
1
- import type { LeaderboardEntry, LeaderboardProfile } from '../shared/types.js';
1
+ import type { LeaderboardEntry, LeaderboardProfile, TeamLeaderboardEntry } from '../shared/types.js';
2
2
  export declare function loadLeaderboardProfiles(): LeaderboardProfile[];
3
- export declare function loadLeaderboard(): LeaderboardEntry[];
3
+ export declare function loadLeaderboard(team?: string): LeaderboardEntry[];
4
+ export declare function loadTeamLeaderboard(): TeamLeaderboardEntry[];
4
5
  export declare function saveLeaderboardReport(html: string): string;
5
6
  //# sourceMappingURL=leaderboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"leaderboard.d.ts","sourceRoot":"","sources":["../../src/storage/leaderboard.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAY,MAAM,oBAAoB,CAAC;AAgIzF,wBAAgB,uBAAuB,IAAI,kBAAkB,EAAE,CAkC9D;AAED,wBAAgB,eAAe,IAAI,gBAAgB,EAAE,CAIpD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI1D"}
1
+ {"version":3,"file":"leaderboard.d.ts","sourceRoot":"","sources":["../../src/storage/leaderboard.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAY,MAAM,oBAAoB,CAAC;AAgJ/G,wBAAgB,uBAAuB,IAAI,kBAAkB,EAAE,CAkC9D;AAED,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAKjE;AAED,wBAAgB,mBAAmB,IAAI,oBAAoB,EAAE,CA2D5D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI1D"}
@@ -1,9 +1,10 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
3
  import { calculateLevel } from '../scoring/index.js';
4
- import { ensureStorageDir, LEADERBOARD_FILE, LEADERBOARD_REPORT_FILE, STORAGE_DIR } from './paths.js';
4
+ import { ensureStorageDir, LEADERBOARD_FILE, LEADERBOARD_REPORT_FILE, STORAGE_DIR, profileReportPathByKey } from './paths.js';
5
5
  import { diagLog } from '../shared/diagnostics.js';
6
6
  import { normalizeTechnologies } from '../shared/technologies.js';
7
+ import { hasTeamMatch, normalizeTeams, normalizeUserDataShape, profileScopeLabel, teamKey } from '../shared/profile-scope.js';
7
8
  const IGNORED_JSON_FILES = new Set(['config.json', 'leaderboard.json']);
8
9
  function isUserData(value) {
9
10
  if (!value || typeof value !== 'object')
@@ -18,7 +19,7 @@ function isUserData(value) {
18
19
  }
19
20
  function normalizeUserData(data) {
20
21
  return {
21
- ...data,
22
+ ...normalizeUserDataShape(data),
22
23
  prs: data.prs.map((pr) => pr.analysis
23
24
  ? {
24
25
  ...pr,
@@ -34,14 +35,21 @@ function normalizeUserData(data) {
34
35
  },
35
36
  };
36
37
  }
37
- function compareEntries(left, right) {
38
+ function compareProfileEntries(left, right) {
38
39
  return right.totalPoints - left.totalPoints
39
40
  || right.analyzedPRs - left.analyzedPRs
40
41
  || Date.parse(right.lastActivityAt ?? right.lastUpdated) - Date.parse(left.lastActivityAt ?? left.lastUpdated)
41
42
  || left.username.localeCompare(right.username);
42
43
  }
44
+ function compareTeamEntries(left, right) {
45
+ return right.totalPoints - left.totalPoints
46
+ || right.memberCount - left.memberCount
47
+ || right.analyzedPRs - left.analyzedPRs
48
+ || Date.parse(right.lastActivityAt ?? '') - Date.parse(left.lastActivityAt ?? '')
49
+ || left.team.localeCompare(right.team);
50
+ }
43
51
  function toLeaderboardProfile(storageKey, data) {
44
- const reportPath = path.join(STORAGE_DIR, `${storageKey}.html`);
52
+ const reportPath = profileReportPathByKey(storageKey);
45
53
  const primaryArea = Object.entries(data.stats.areas).sort(([, left], [, right]) => right - left)[0]?.[0];
46
54
  const contributionDates = data.prs
47
55
  .map((pr) => pr.mergedAt)
@@ -51,6 +59,9 @@ function toLeaderboardProfile(storageKey, data) {
51
59
  storageKey,
52
60
  username: data.username,
53
61
  lastUpdated: data.lastUpdated,
62
+ scope: data.scope ?? {},
63
+ scopeLabel: profileScopeLabel(data.scope),
64
+ teams: normalizeTeams(data.teams),
54
65
  totalPoints: data.stats.totalPoints,
55
66
  level: data.stats.level,
56
67
  analyzedPRs: data.stats.analyzedPRs,
@@ -71,11 +82,13 @@ function toLeaderboardProfile(storageKey, data) {
71
82
  }),
72
83
  };
73
84
  }
74
- function toLeaderboardEntry(profile) {
85
+ function toProfileEntry(profile) {
75
86
  if (profile.contributions.length === 0) {
76
87
  return {
77
88
  storageKey: profile.storageKey,
78
89
  username: profile.username,
90
+ scopeLabel: profile.scopeLabel,
91
+ teams: profile.teams,
79
92
  totalPoints: profile.totalPoints,
80
93
  level: profile.level,
81
94
  lastUpdated: profile.lastUpdated,
@@ -104,6 +117,8 @@ function toLeaderboardEntry(profile) {
104
117
  return {
105
118
  storageKey: profile.storageKey,
106
119
  username: profile.username,
120
+ scopeLabel: profile.scopeLabel,
121
+ teams: profile.teams,
107
122
  totalPoints,
108
123
  level,
109
124
  lastUpdated: profile.lastUpdated,
@@ -137,7 +152,7 @@ export function loadLeaderboardProfiles() {
137
152
  return [];
138
153
  }
139
154
  const normalized = normalizeUserData(parsed);
140
- return [toLeaderboardProfile(path.basename(fileName, '.json'), normalized)];
155
+ return [toLeaderboardProfile(fileName.slice(0, -5), normalized)];
141
156
  }
142
157
  catch (error) {
143
158
  diagLog('Skipping unreadable leaderboard profile', {
@@ -148,10 +163,66 @@ export function loadLeaderboardProfiles() {
148
163
  }
149
164
  });
150
165
  }
151
- export function loadLeaderboard() {
166
+ export function loadLeaderboard(team) {
152
167
  return loadLeaderboardProfiles()
153
- .map(toLeaderboardEntry)
154
- .sort(compareEntries);
168
+ .filter((profile) => hasTeamMatch(profile.teams, team))
169
+ .map(toProfileEntry)
170
+ .sort(compareProfileEntries);
171
+ }
172
+ export function loadTeamLeaderboard() {
173
+ const teams = new Map();
174
+ const teamAreas = new Map();
175
+ for (const profile of loadLeaderboardProfiles()) {
176
+ if (profile.teams.length === 0)
177
+ continue;
178
+ const allTimeEntry = toProfileEntry(profile);
179
+ const areaTotals = profile.contributions.reduce((totals, contribution) => {
180
+ for (const area of contribution.areas) {
181
+ totals[area] = (totals[area] || 0) + contribution.points;
182
+ }
183
+ return totals;
184
+ }, {});
185
+ for (const team of profile.teams) {
186
+ const key = teamKey(team);
187
+ const existing = teams.get(key) ?? {
188
+ team,
189
+ totalPoints: 0,
190
+ level: 1,
191
+ memberCount: 0,
192
+ analyzedPRs: 0,
193
+ primaryArea: undefined,
194
+ lastActivityAt: undefined,
195
+ members: [],
196
+ };
197
+ const areaTotalsForTeam = teamAreas.get(key) ?? {};
198
+ existing.totalPoints += allTimeEntry.totalPoints;
199
+ existing.analyzedPRs += allTimeEntry.analyzedPRs;
200
+ existing.lastActivityAt = !existing.lastActivityAt
201
+ ? allTimeEntry.lastActivityAt
202
+ : (Date.parse(allTimeEntry.lastActivityAt ?? '') > Date.parse(existing.lastActivityAt)
203
+ ? allTimeEntry.lastActivityAt
204
+ : existing.lastActivityAt);
205
+ existing.members.push({
206
+ storageKey: profile.storageKey,
207
+ username: profile.username,
208
+ scopeLabel: profile.scopeLabel,
209
+ reportPath: profile.reportPath,
210
+ });
211
+ for (const [area, points] of Object.entries(areaTotals)) {
212
+ areaTotalsForTeam[area] = (areaTotalsForTeam[area] || 0) + points;
213
+ }
214
+ existing.primaryArea = Object.entries(areaTotalsForTeam).sort(([, left], [, right]) => right - left)[0]?.[0] ?? existing.primaryArea;
215
+ teams.set(key, existing);
216
+ teamAreas.set(key, areaTotalsForTeam);
217
+ }
218
+ }
219
+ return [...teams.values()]
220
+ .map((entry) => ({
221
+ ...entry,
222
+ level: calculateLevel(entry.totalPoints).level,
223
+ memberCount: entry.members.length,
224
+ }))
225
+ .sort(compareTeamEntries);
155
226
  }
156
227
  export function saveLeaderboardReport(html) {
157
228
  ensureStorageDir();
@@ -1 +1 @@
1
- {"version":3,"file":"leaderboard.js","sourceRoot":"","sources":["../../src/storage/leaderboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"leaderboard.js","sourceRoot":"","sources":["../../src/storage/leaderboard.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,12 @@
1
+ import type { ProfileSelector } from '../shared/profile-scope.js';
1
2
  export declare const STORAGE_DIR: string;
2
3
  export declare const LEADERBOARD_FILE: string;
3
4
  export declare const LEADERBOARD_REPORT_FILE: string;
4
5
  export declare function ensureStorageDir(): void;
5
6
  export declare function userFilePath(username: string): string;
6
7
  export declare function userReportPath(username: string): string;
8
+ export declare function profileFilePath(selector: ProfileSelector): string;
9
+ export declare function profileReportPath(selector: ProfileSelector): string;
10
+ export declare function profileFilePathByKey(storageKey: string): string;
11
+ export declare function profileReportPathByKey(storageKey: string): string;
7
12
  //# sourceMappingURL=paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/storage/paths.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,QAAyC,CAAC;AAClE,eAAO,MAAM,gBAAgB,QAA6C,CAAC;AAC3E,eAAO,MAAM,uBAAuB,QAA6C,CAAC;AAElF,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/storage/paths.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,eAAO,MAAM,WAAW,QAAyC,CAAC;AAClE,eAAO,MAAM,gBAAgB,QAA6C,CAAC;AAC3E,eAAO,MAAM,uBAAuB,QAA6C,CAAC;AAElF,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAEjE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAEnE;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEjE"}
@@ -2,6 +2,7 @@ import fs from 'fs';
2
2
  import path from 'path';
3
3
  import os from 'os';
4
4
  import { diagLog } from '../shared/diagnostics.js';
5
+ import { profileStorageKey } from '../shared/profile-scope.js';
5
6
  export const STORAGE_DIR = path.join(os.homedir(), '.quackscore');
6
7
  export const LEADERBOARD_FILE = path.join(STORAGE_DIR, 'leaderboard.json');
7
8
  export const LEADERBOARD_REPORT_FILE = path.join(STORAGE_DIR, 'leaderboard.html');
@@ -17,4 +18,16 @@ export function userFilePath(username) {
17
18
  export function userReportPath(username) {
18
19
  return path.join(STORAGE_DIR, `${username}.html`);
19
20
  }
21
+ export function profileFilePath(selector) {
22
+ return path.join(STORAGE_DIR, `${profileStorageKey(selector)}.json`);
23
+ }
24
+ export function profileReportPath(selector) {
25
+ return path.join(STORAGE_DIR, `${profileStorageKey(selector)}.html`);
26
+ }
27
+ export function profileFilePathByKey(storageKey) {
28
+ return path.join(STORAGE_DIR, `${storageKey}.json`);
29
+ }
30
+ export function profileReportPathByKey(storageKey) {
31
+ return path.join(STORAGE_DIR, `${storageKey}.html`);
32
+ }
20
33
  //# sourceMappingURL=paths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/storage/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;AAElF,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,4BAA4B,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;QACnE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/storage/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG/D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;AAElF,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,4BAA4B,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;QACnE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAyB;IACvD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAyB;IACzD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IACrD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,UAAU,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,UAAU,OAAO,CAAC,CAAC;AACtD,CAAC"}
@@ -1,3 +1,5 @@
1
- export declare function getUserReportPath(username: string): string;
2
- export declare function saveReport(username: string, html: string): string;
1
+ import type { ProfileSelector } from '../shared/profile-scope.js';
2
+ import type { ProfileScope } from '../shared/types.js';
3
+ export declare function getUserReportPath(selectorOrUsername: ProfileSelector | string, scope?: ProfileScope): string;
4
+ export declare function saveReport(selectorOrUsername: ProfileSelector | string, html: string, scope?: ProfileScope): string;
3
5
  //# sourceMappingURL=report.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/storage/report.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUjE"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/storage/report.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,wBAAgB,iBAAiB,CAAC,kBAAkB,EAAE,eAAe,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAiB5G;AAED,wBAAgB,UAAU,CAAC,kBAAkB,EAAE,eAAe,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAcnH"}