quackscore 0.2.5 → 0.4.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.
Files changed (137) hide show
  1. package/README.md +20 -1
  2. package/dist/commands/create.d.ts +1 -0
  3. package/dist/commands/create.d.ts.map +1 -1
  4. package/dist/commands/create.js +28 -12
  5. package/dist/commands/create.js.map +1 -1
  6. package/dist/commands/init.d.ts.map +1 -1
  7. package/dist/commands/init.js +19 -0
  8. package/dist/commands/init.js.map +1 -1
  9. package/dist/commands/leaderboard.d.ts +5 -1
  10. package/dist/commands/leaderboard.d.ts.map +1 -1
  11. package/dist/commands/leaderboard.js +57 -29
  12. package/dist/commands/leaderboard.js.map +1 -1
  13. package/dist/commands/mock-report.js +21 -21
  14. package/dist/commands/mock-report.js.map +1 -1
  15. package/dist/commands/profile-options.d.ts +24 -0
  16. package/dist/commands/profile-options.d.ts.map +1 -0
  17. package/dist/commands/profile-options.js +38 -0
  18. package/dist/commands/profile-options.js.map +1 -0
  19. package/dist/commands/remove.d.ts +5 -1
  20. package/dist/commands/remove.d.ts.map +1 -1
  21. package/dist/commands/remove.js +14 -5
  22. package/dist/commands/remove.js.map +1 -1
  23. package/dist/commands/show.d.ts +5 -1
  24. package/dist/commands/show.d.ts.map +1 -1
  25. package/dist/commands/show.js +12 -3
  26. package/dist/commands/show.js.map +1 -1
  27. package/dist/commands/stats.d.ts +7 -0
  28. package/dist/commands/stats.d.ts.map +1 -0
  29. package/dist/commands/stats.js +59 -0
  30. package/dist/commands/stats.js.map +1 -0
  31. package/dist/commands/update-summary.d.ts +2 -0
  32. package/dist/commands/update-summary.d.ts.map +1 -1
  33. package/dist/commands/update-summary.js +12 -3
  34. package/dist/commands/update-summary.js.map +1 -1
  35. package/dist/commands/update.d.ts.map +1 -1
  36. package/dist/commands/update.js +148 -68
  37. package/dist/commands/update.js.map +1 -1
  38. package/dist/config/types.d.ts +1 -1
  39. package/dist/config/types.d.ts.map +1 -1
  40. package/dist/config/types.js +14 -0
  41. package/dist/config/types.js.map +1 -1
  42. package/dist/github/client.d.ts +5 -5
  43. package/dist/github/client.d.ts.map +1 -1
  44. package/dist/github/client.js +157 -57
  45. package/dist/github/client.js.map +1 -1
  46. package/dist/github/index.d.ts +2 -0
  47. package/dist/github/index.d.ts.map +1 -1
  48. package/dist/github/index.js +1 -0
  49. package/dist/github/index.js.map +1 -1
  50. package/dist/github/repository-stats.d.ts +8 -0
  51. package/dist/github/repository-stats.d.ts.map +1 -0
  52. package/dist/github/repository-stats.js +96 -0
  53. package/dist/github/repository-stats.js.map +1 -0
  54. package/dist/index.js +48 -7
  55. package/dist/index.js.map +1 -1
  56. package/dist/llm/analyzer.d.ts +3 -3
  57. package/dist/llm/analyzer.d.ts.map +1 -1
  58. package/dist/llm/analyzer.js +5 -5
  59. package/dist/llm/analyzer.js.map +1 -1
  60. package/dist/llm/character.d.ts +2 -2
  61. package/dist/llm/character.d.ts.map +1 -1
  62. package/dist/llm/character.js +3 -3
  63. package/dist/llm/character.js.map +1 -1
  64. package/dist/llm/client.d.ts +2 -2
  65. package/dist/llm/client.d.ts.map +1 -1
  66. package/dist/llm/client.js +1 -1
  67. package/dist/llm/client.js.map +1 -1
  68. package/dist/llm/prompts.d.ts.map +1 -1
  69. package/dist/llm/prompts.js +13 -1
  70. package/dist/llm/prompts.js.map +1 -1
  71. package/dist/llm/providers.d.ts +3 -3
  72. package/dist/llm/providers.d.ts.map +1 -1
  73. package/dist/llm/providers.js +25 -6
  74. package/dist/llm/providers.js.map +1 -1
  75. package/dist/report/generate.d.ts.map +1 -1
  76. package/dist/report/generate.js +9 -7
  77. package/dist/report/generate.js.map +1 -1
  78. package/dist/report/index.d.ts +1 -0
  79. package/dist/report/index.d.ts.map +1 -1
  80. package/dist/report/index.js +1 -0
  81. package/dist/report/index.js.map +1 -1
  82. package/dist/report/leaderboard.d.ts +5 -1
  83. package/dist/report/leaderboard.d.ts.map +1 -1
  84. package/dist/report/leaderboard.js +611 -865
  85. package/dist/report/leaderboard.js.map +1 -1
  86. package/dist/report/repository-stats.d.ts +3 -0
  87. package/dist/report/repository-stats.d.ts.map +1 -0
  88. package/dist/report/repository-stats.js +650 -0
  89. package/dist/report/repository-stats.js.map +1 -0
  90. package/dist/scoring/index.d.ts +1 -0
  91. package/dist/scoring/index.d.ts.map +1 -1
  92. package/dist/scoring/index.js +1 -0
  93. package/dist/scoring/index.js.map +1 -1
  94. package/dist/scoring/points.d.ts.map +1 -1
  95. package/dist/scoring/points.js +5 -10
  96. package/dist/scoring/points.js.map +1 -1
  97. package/dist/scoring/repository-stats.d.ts +7 -0
  98. package/dist/scoring/repository-stats.d.ts.map +1 -0
  99. package/dist/scoring/repository-stats.js +120 -0
  100. package/dist/scoring/repository-stats.js.map +1 -0
  101. package/dist/shared/profile-scope.d.ts +19 -0
  102. package/dist/shared/profile-scope.d.ts.map +1 -0
  103. package/dist/shared/profile-scope.js +101 -0
  104. package/dist/shared/profile-scope.js.map +1 -0
  105. package/dist/shared/profile-summary.js +6 -6
  106. package/dist/shared/profile-summary.js.map +1 -1
  107. package/dist/shared/repository-stats.d.ts +51 -0
  108. package/dist/shared/repository-stats.d.ts.map +1 -0
  109. package/dist/shared/repository-stats.js +2 -0
  110. package/dist/shared/repository-stats.js.map +1 -0
  111. package/dist/shared/types.d.ts +29 -1
  112. package/dist/shared/types.d.ts.map +1 -1
  113. package/dist/shared/ui.d.ts +1 -0
  114. package/dist/shared/ui.d.ts.map +1 -1
  115. package/dist/shared/ui.js +3 -0
  116. package/dist/shared/ui.js.map +1 -1
  117. package/dist/storage/index.d.ts +2 -2
  118. package/dist/storage/index.d.ts.map +1 -1
  119. package/dist/storage/index.js +2 -2
  120. package/dist/storage/index.js.map +1 -1
  121. package/dist/storage/leaderboard.d.ts +3 -2
  122. package/dist/storage/leaderboard.d.ts.map +1 -1
  123. package/dist/storage/leaderboard.js +80 -9
  124. package/dist/storage/leaderboard.js.map +1 -1
  125. package/dist/storage/paths.d.ts +6 -0
  126. package/dist/storage/paths.d.ts.map +1 -1
  127. package/dist/storage/paths.js +21 -0
  128. package/dist/storage/paths.js.map +1 -1
  129. package/dist/storage/report.d.ts +5 -2
  130. package/dist/storage/report.d.ts.map +1 -1
  131. package/dist/storage/report.js +38 -8
  132. package/dist/storage/report.js.map +1 -1
  133. package/dist/storage/user.d.ts +2 -1
  134. package/dist/storage/user.d.ts.map +1 -1
  135. package/dist/storage/user.js +27 -10
  136. package/dist/storage/user.js.map +1 -1
  137. package/package.json +13 -6
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type Provider = 'anthropic' | 'openai' | 'google' | 'openrouter' | 'minimax' | 'ollama' | 'litellm';
1
+ export type Provider = 'anthropic' | 'openai' | 'google' | 'azure' | 'bedrock' | 'vertex' | 'mistral' | 'xai' | 'deepseek' | 'groq' | 'openrouter' | 'minimax' | 'ollama' | 'litellm';
2
2
  /** Shared API key environment variable for all remote LLM providers */
3
3
  export declare const LLM_API_KEY_ENV = "QUACKSCORE_LLM_API_KEY";
4
4
  /** Default model for each provider (used when --model is omitted from init) */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAChB,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAEd,uEAAuE;AACvE,eAAO,MAAM,eAAe,2BAA2B,CAAC;AAExD,+EAA+E;AAC/E,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAQtD,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAQ9D,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAChB,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,SAAS,GACT,QAAQ,GACR,SAAS,GACT,KAAK,GACL,UAAU,GACV,MAAM,GACN,YAAY,GACZ,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAEd,uEAAuE;AACvE,eAAO,MAAM,eAAe,2BAA2B,CAAC;AAExD,+EAA+E;AAC/E,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAetD,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAe9D,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -5,6 +5,13 @@ export const PROVIDER_DEFAULTS = {
5
5
  anthropic: 'claude-haiku-4-5-20251001',
6
6
  openai: 'gpt-4o-mini',
7
7
  google: 'gemini-2.0-flash',
8
+ azure: 'gpt-4o-mini',
9
+ bedrock: 'anthropic.claude-3-5-haiku-20241022-v1:0',
10
+ vertex: 'gemini-2.0-flash',
11
+ mistral: 'mistral-small-latest',
12
+ xai: 'grok-2',
13
+ deepseek: 'deepseek-chat',
14
+ groq: 'llama-3.3-70b-versatile',
8
15
  openrouter: 'anthropic/claude-haiku-4',
9
16
  minimax: 'MiniMax-M2.7',
10
17
  ollama: 'llama3.2',
@@ -15,6 +22,13 @@ export const PROVIDER_EXAMPLE_MODELS = {
15
22
  anthropic: ['claude-opus-4-6', 'claude-sonnet-4-6', 'claude-haiku-4-5-20251001'],
16
23
  openai: ['gpt-4o', 'gpt-4o-mini', 'o3-mini'],
17
24
  google: ['gemini-2.0-flash', 'gemini-2.0-pro', 'gemini-1.5-flash'],
25
+ azure: ['gpt-4o', 'gpt-4o-mini', 'gpt-4-turbo'],
26
+ bedrock: ['anthropic.claude-3-5-haiku-20241022-v1:0', 'anthropic.claude-3-5-sonnet-20241022-v2:0', 'amazon.nova-lite-v1:0'],
27
+ vertex: ['gemini-2.0-flash', 'gemini-2.0-pro', 'gemini-1.5-flash'],
28
+ mistral: ['mistral-large-latest', 'mistral-small-latest', 'codestral-latest'],
29
+ xai: ['grok-2', 'grok-3-mini-fast'],
30
+ deepseek: ['deepseek-chat', 'deepseek-reasoner'],
31
+ groq: ['llama-3.3-70b-versatile', 'gemma2-9b-it', 'mixtral-8x7b-32768'],
18
32
  openrouter: ['anthropic/claude-opus-4', 'google/gemini-2.0-flash', 'meta-llama/llama-3.3-70b-instruct'],
19
33
  minimax: ['MiniMax-M2.7', 'MiniMax-M2.7-highspeed', 'MiniMax-M2.5'],
20
34
  ollama: ['llama3.2', 'mistral', 'codestral', 'deepseek-coder'],
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AASA,uEAAuE;AACvE,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAExD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,iBAAiB,GAA6B;IACzD,SAAS,EAAE,2BAA2B;IACtC,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,kBAAkB;IAC1B,UAAU,EAAE,0BAA0B;IACtC,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,mBAAmB;CAC7B,CAAC;AAEF,sDAAsD;AACtD,MAAM,CAAC,MAAM,uBAAuB,GAA+B;IACjE,SAAS,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,2BAA2B,CAAC;IAChF,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC;IAC5C,MAAM,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC;IAClE,UAAU,EAAE,CAAC,yBAAyB,EAAE,yBAAyB,EAAE,mCAAmC,CAAC;IACvG,OAAO,EAAE,CAAC,cAAc,EAAE,wBAAwB,EAAE,cAAc,CAAC;IACnE,MAAM,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,CAAC;IAC9D,OAAO,EAAE,CAAC,cAAc,EAAE,mBAAmB,EAAE,2BAA2B,CAAC;CAC5E,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAgBA,uEAAuE;AACvE,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAExD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,iBAAiB,GAA6B;IACzD,SAAS,EAAE,2BAA2B;IACtC,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,kBAAkB;IAC1B,KAAK,EAAE,aAAa;IACpB,OAAO,EAAE,0CAA0C;IACnD,MAAM,EAAE,kBAAkB;IAC1B,OAAO,EAAE,sBAAsB;IAC/B,GAAG,EAAE,QAAQ;IACb,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,yBAAyB;IAC/B,UAAU,EAAE,0BAA0B;IACtC,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,mBAAmB;CAC7B,CAAC;AAEF,sDAAsD;AACtD,MAAM,CAAC,MAAM,uBAAuB,GAA+B;IACjE,SAAS,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,2BAA2B,CAAC;IAChF,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC;IAC5C,MAAM,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC;IAClE,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC;IAC/C,OAAO,EAAE,CAAC,0CAA0C,EAAE,2CAA2C,EAAE,uBAAuB,CAAC;IAC3H,MAAM,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC;IAClE,OAAO,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,kBAAkB,CAAC;IAC7E,GAAG,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACnC,QAAQ,EAAE,CAAC,eAAe,EAAE,mBAAmB,CAAC;IAChD,IAAI,EAAE,CAAC,yBAAyB,EAAE,cAAc,EAAE,oBAAoB,CAAC;IACvE,UAAU,EAAE,CAAC,yBAAyB,EAAE,yBAAyB,EAAE,mCAAmC,CAAC;IACvG,OAAO,EAAE,CAAC,cAAc,EAAE,wBAAwB,EAAE,cAAc,CAAC;IACnE,MAAM,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,CAAC;IAC9D,OAAO,EAAE,CAAC,cAAc,EAAE,mBAAmB,EAAE,2BAA2B,CAAC;CAC5E,CAAC"}
@@ -1,4 +1,9 @@
1
1
  import type { PRData } from '../shared/types.js';
2
+ export interface FetchOptions {
3
+ org?: string;
4
+ repo?: string;
5
+ since?: string;
6
+ }
2
7
  /**
3
8
  * Extract per-file stats from the raw diff BEFORE trimming so that line counts
4
9
  * are accurate regardless of trimDiff's budget. Returns both the trimmed diff
@@ -20,10 +25,5 @@ export declare function prepareDiff(rawDiff: string): {
20
25
  * would otherwise consume the entire budget.
21
26
  */
22
27
  export declare function trimDiff(diff: string): string;
23
- export interface FetchOptions {
24
- org?: string;
25
- repo?: string;
26
- since?: string;
27
- }
28
28
  export declare function fetchUserPRs(username: string, token: string, options?: FetchOptions): Promise<PRData[]>;
29
29
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/github/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAMjD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7E,CAKA;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmE7C;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,MAAM,EAAE,CAAC,CA0CnB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/github/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAqCjD,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7E,CAKA;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA6D7C;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,MAAM,EAAE,CAAC,CAoCnB"}
@@ -1,7 +1,12 @@
1
1
  import { Octokit } from '@octokit/rest';
2
2
  import { extractPerFileStats } from '../shared/pr-summary.js';
3
3
  import { diagError, diagLog } from '../shared/diagnostics.js';
4
+ import { rpgWarn } from '../shared/ui.js';
4
5
  const MAX_DIFF_LINES = 500;
6
+ const SEARCH_PAGE_SIZE = 100;
7
+ const SEARCH_MAX_RESULTS = 1000;
8
+ const MIN_SPLIT_RANGE_MS = 60 * 1000;
9
+ const DEFAULT_RANGE_START = '2008-01-01T00:00:00.000Z';
5
10
  /**
6
11
  * Extract per-file stats from the raw diff BEFORE trimming so that line counts
7
12
  * are accurate regardless of trimDiff's budget. Returns both the trimmed diff
@@ -24,7 +29,6 @@ export function trimDiff(diff) {
24
29
  const allLines = diff.split('\n');
25
30
  if (allLines.length <= MAX_DIFF_LINES)
26
31
  return diff;
27
- // Split into per-file sections.
28
32
  const sections = [];
29
33
  let current = [];
30
34
  for (const line of allLines) {
@@ -36,8 +40,6 @@ export function trimDiff(diff) {
36
40
  }
37
41
  if (current.length > 0)
38
42
  sections.push(current);
39
- // Separate header lines (diff --git, ---, +++, @@, index, mode, rename, etc.)
40
- // from content lines (+/-/context) in each section.
41
43
  const parsed = sections.map((section) => {
42
44
  const headers = [];
43
45
  const content = [];
@@ -63,11 +65,9 @@ export function trimDiff(diff) {
63
65
  }
64
66
  return { headers, content };
65
67
  });
66
- const totalHeaderLines = parsed.reduce((s, p) => s + p.headers.length, 0);
68
+ const totalHeaderLines = parsed.reduce((sum, section) => sum + section.headers.length, 0);
67
69
  const contentBudget = Math.max(0, MAX_DIFF_LINES - totalHeaderLines);
68
- const totalContent = parsed.reduce((s, p) => s + p.content.length, 0);
69
- // Equal per-section budget. This prevents a single huge file (like
70
- // pnpm-lock.yaml) from consuming the entire budget and starving real files.
70
+ const totalContent = parsed.reduce((sum, section) => sum + section.content.length, 0);
71
71
  const perSection = parsed.length > 0 ? Math.max(6, Math.floor(contentBudget / parsed.length)) : 0;
72
72
  const result = [];
73
73
  for (const { headers, content } of parsed) {
@@ -91,33 +91,24 @@ export async function fetchUserPRs(username, token, options = {}) {
91
91
  tokenLength: token.length,
92
92
  });
93
93
  const octokit = new Octokit({ auth: token });
94
- const prs = [];
95
- // Always use the GitHub Search API — it filters by author, merge status, and
96
- // date server-side, avoiding the need to download all closed PRs and filter
97
- // client-side (which was extremely slow for large repos like 1300+ PRs).
98
94
  const scopeFilter = options.org && options.repo
99
95
  ? `repo:${options.org}/${options.repo}`
100
96
  : options.org
101
97
  ? `org:${options.org}`
102
98
  : '';
103
- const searchQuery = `type:pr author:${username} is:merged${scopeFilter ? ` ${scopeFilter}` : ''}${options.since ? ` merged:>=${options.since}` : ''}`;
104
- diagLog('Searching for PRs via GitHub Search API', {
105
- username,
106
- searchQuery,
107
- scope: scopeFilter || 'global',
108
- });
109
- const results = await octokit.paginate(octokit.search.issuesAndPullRequests, {
110
- q: searchQuery,
111
- per_page: 100,
112
- sort: 'created',
113
- order: 'desc',
99
+ const baseQuery = `type:pr author:${username} is:merged${scopeFilter ? ` ${scopeFilter}` : ''}`;
100
+ const warnings = new Set();
101
+ const searchStartedAt = Date.now();
102
+ const results = await searchPullRequests(octokit, baseQuery, options.since, warnings);
103
+ diagLog('Received search results', {
104
+ resultCount: results.length,
105
+ durationMs: Date.now() - searchStartedAt,
114
106
  });
115
- diagLog('Received search results', { resultCount: results.length });
116
- if (results.length >= 1000) {
117
- diagLog('WARNING: Search results may be truncated at 1000. Consider narrowing scope with --repository or --since.');
107
+ for (const warning of warnings) {
108
+ diagLog('GitHub search warning', { warning });
109
+ rpgWarn(warning);
118
110
  }
119
- const items = await hydrateSearchResults(octokit, results);
120
- prs.push(...items);
111
+ const prs = await hydrateSearchResults(octokit, results);
121
112
  diagLog('Completed GitHub PR fetch', {
122
113
  username,
123
114
  totalPRs: prs.length,
@@ -125,65 +116,174 @@ export async function fetchUserPRs(username, token, options = {}) {
125
116
  });
126
117
  return prs;
127
118
  }
119
+ function buildSearchQuery(baseQuery, since, window) {
120
+ if (window) {
121
+ return `${baseQuery} merged:${window.from}..${window.to}`;
122
+ }
123
+ if (since) {
124
+ return `${baseQuery} merged:>=${since}`;
125
+ }
126
+ return baseQuery;
127
+ }
128
+ async function requestSearchPage(octokit, query, page) {
129
+ diagLog('Requesting GitHub search page', { query, page });
130
+ const response = await octokit.search.issuesAndPullRequests({
131
+ q: query,
132
+ per_page: SEARCH_PAGE_SIZE,
133
+ page,
134
+ sort: 'created',
135
+ order: 'desc',
136
+ });
137
+ return response.data;
138
+ }
139
+ async function fetchAllPagesForQuery(octokit, query, firstPage) {
140
+ const pageCount = Math.min(Math.ceil(Math.min(firstPage.total_count, SEARCH_MAX_RESULTS) / SEARCH_PAGE_SIZE), 10);
141
+ const items = [...firstPage.items];
142
+ for (let page = 2; page <= pageCount; page++) {
143
+ const nextPage = await requestSearchPage(octokit, query, page);
144
+ items.push(...nextPage.items);
145
+ }
146
+ return items;
147
+ }
148
+ async function searchPullRequests(octokit, baseQuery, since, warnings) {
149
+ const initialQuery = buildSearchQuery(baseQuery, since);
150
+ diagLog('Searching for PRs via GitHub Search API', {
151
+ baseQuery,
152
+ initialQuery,
153
+ scope: baseQuery.includes(' org:') ? 'org' : baseQuery.includes(' repo:') ? 'repo' : 'global',
154
+ });
155
+ const firstPage = await requestSearchPage(octokit, initialQuery, 1);
156
+ if (firstPage.incomplete_results) {
157
+ warnings.add('GitHub Search reported incomplete results. Quackscore is narrowing the date range to avoid missing PRs.');
158
+ }
159
+ if (firstPage.total_count <= SEARCH_MAX_RESULTS && !firstPage.incomplete_results) {
160
+ return dedupeSearchItems(await fetchAllPagesForQuery(octokit, initialQuery, firstPage));
161
+ }
162
+ warnings.add('GitHub Search hit a large result window. Quackscore is splitting the merged-date range to avoid scanning repositories client-side.');
163
+ const segmented = await searchPullRequestsByWindow(octokit, baseQuery, {
164
+ from: since ?? DEFAULT_RANGE_START,
165
+ to: new Date().toISOString(),
166
+ }, warnings);
167
+ return dedupeSearchItems(segmented);
168
+ }
169
+ async function searchPullRequestsByWindow(octokit, baseQuery, window, warnings) {
170
+ const query = buildSearchQuery(baseQuery, undefined, window);
171
+ const firstPage = await requestSearchPage(octokit, query, 1);
172
+ const windowStart = Date.parse(window.from);
173
+ const windowEnd = Date.parse(window.to);
174
+ if (!firstPage.incomplete_results && firstPage.total_count <= SEARCH_MAX_RESULTS) {
175
+ return fetchAllPagesForQuery(octokit, query, firstPage);
176
+ }
177
+ if (firstPage.incomplete_results) {
178
+ warnings.add(`GitHub Search reported incomplete results for merged window ${window.from} .. ${window.to}.`);
179
+ }
180
+ if (Number.isNaN(windowStart) ||
181
+ Number.isNaN(windowEnd) ||
182
+ windowEnd - windowStart <= MIN_SPLIT_RANGE_MS) {
183
+ warnings.add(`GitHub Search could not be narrowed below ${SEARCH_MAX_RESULTS} results for merged window ${window.from} .. ${window.to}; some results may be truncated.`);
184
+ return fetchAllPagesForQuery(octokit, query, firstPage);
185
+ }
186
+ const mid = new Date(windowStart + Math.floor((windowEnd - windowStart) / 2)).toISOString();
187
+ const [left, right] = await Promise.all([
188
+ searchPullRequestsByWindow(octokit, baseQuery, { from: window.from, to: mid }, warnings),
189
+ searchPullRequestsByWindow(octokit, baseQuery, { from: mid, to: window.to }, warnings),
190
+ ]);
191
+ return dedupeSearchItems([...left, ...right]);
192
+ }
193
+ function dedupeSearchItems(items) {
194
+ const deduped = new Map();
195
+ for (const item of items) {
196
+ const key = `${item.repository_url}#${item.number}`;
197
+ if (!deduped.has(key)) {
198
+ deduped.set(key, item);
199
+ }
200
+ }
201
+ return [...deduped.values()];
202
+ }
203
+ function isUsableDiff(rawDiff) {
204
+ const trimmed = rawDiff.trim();
205
+ return trimmed.length > 0 && trimmed.includes('diff --git ');
206
+ }
128
207
  async function hydrateSearchResults(octokit, results) {
129
208
  const prs = [];
130
209
  for (const item of results) {
131
- if (!item.pull_request?.merged_at)
210
+ if (!item.pull_request)
132
211
  continue;
133
212
  const urlParts = item.repository_url.split('/');
134
213
  const repoOwner = urlParts[urlParts.length - 2];
135
214
  const repoName = urlParts[urlParts.length - 1];
215
+ const repo = `${repoOwner}/${repoName}`;
216
+ const mergedAt = item.closed_at ?? undefined;
136
217
  diagLog('Hydrating PR from search result', {
137
218
  repoOwner,
138
219
  repoName,
139
220
  prNumber: item.number,
221
+ mergedAt,
140
222
  });
141
223
  try {
142
- const { data: pr } = await octokit.pulls.get({
224
+ const { data: diffData } = await octokit.request('GET /repos/{owner}/{repo}/pulls/{pull_number}', {
143
225
  owner: repoOwner,
144
226
  repo: repoName,
145
227
  pull_number: item.number,
228
+ mediaType: { format: 'diff' },
146
229
  });
147
- let diff;
148
- let rawFileStats;
149
- try {
150
- const { data: diffData } = await octokit.request('GET /repos/{owner}/{repo}/pulls/{pull_number}', {
151
- owner: repoOwner,
152
- repo: repoName,
153
- pull_number: item.number,
154
- mediaType: { format: 'diff' },
230
+ const rawDiff = String(diffData);
231
+ if (isUsableDiff(rawDiff)) {
232
+ const prepared = prepareDiff(rawDiff);
233
+ const additions = prepared.rawFileStats.reduce((sum, stat) => sum + stat.additions, 0);
234
+ const deletions = prepared.rawFileStats.reduce((sum, stat) => sum + stat.deletions, 0);
235
+ prs.push({
236
+ id: item.id,
237
+ number: item.number,
238
+ title: item.title,
239
+ url: item.html_url,
240
+ repo,
241
+ mergedAt: mergedAt ?? new Date().toISOString(),
242
+ additions,
243
+ deletions,
244
+ diff: prepared.trimmed,
245
+ rawFileStats: prepared.rawFileStats,
155
246
  });
156
- const prepared = prepareDiff(String(diffData));
157
- diff = prepared.trimmed;
158
- rawFileStats = prepared.rawFileStats;
159
- diagLog('Fetched diff for search result PR', {
160
- repoOwner,
161
- repoName,
162
- prNumber: item.number,
163
- diffLength: diff.length,
164
- });
165
- }
166
- catch {
167
- diagLog('Diff unavailable for search result PR', {
168
- repoOwner,
169
- repoName,
247
+ diagLog('Hydrated PR from diff response', {
248
+ repo,
170
249
  prNumber: item.number,
250
+ additions,
251
+ deletions,
252
+ rawFileCount: prepared.rawFileStats.length,
171
253
  });
254
+ continue;
172
255
  }
256
+ diagLog('Diff response unusable, falling back to pulls.get', {
257
+ repo,
258
+ prNumber: item.number,
259
+ diffLength: rawDiff.length,
260
+ });
261
+ }
262
+ catch (err) {
263
+ diagLog('Diff unavailable for search result PR; falling back to pulls.get', {
264
+ repo,
265
+ prNumber: item.number,
266
+ message: err instanceof Error ? err.message : String(err),
267
+ });
268
+ }
269
+ try {
270
+ const { data: pr } = await octokit.pulls.get({
271
+ owner: repoOwner,
272
+ repo: repoName,
273
+ pull_number: item.number,
274
+ });
173
275
  prs.push({
174
276
  id: pr.id,
175
277
  number: pr.number,
176
278
  title: pr.title,
177
279
  url: pr.html_url,
178
- repo: `${repoOwner}/${repoName}`,
179
- mergedAt: pr.merged_at,
280
+ repo,
281
+ mergedAt: pr.merged_at ?? mergedAt ?? new Date().toISOString(),
180
282
  additions: pr.additions,
181
283
  deletions: pr.deletions,
182
- diff,
183
- rawFileStats,
184
284
  });
185
- diagLog('Added PR from search results', {
186
- repo: `${repoOwner}/${repoName}`,
285
+ diagLog('Hydrated PR via pulls.get fallback', {
286
+ repo,
187
287
  prNumber: pr.number,
188
288
  additions: pr.additions,
189
289
  deletions: pr.deletions,
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/github/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/github/client.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  export { fetchUserPRs } from './client.js';
2
2
  export type { FetchOptions } from './client.js';
3
+ export { fetchRepositoryStatsPRs } from './repository-stats.js';
4
+ export type { FetchRepositoryStatsOptions } from './repository-stats.js';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,YAAY,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export { fetchUserPRs } from './client.js';
2
+ export { fetchRepositoryStatsPRs } from './repository-stats.js';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { RepositoryStatsPullRequest } from '../shared/repository-stats.js';
2
+ export interface FetchRepositoryStatsOptions {
3
+ org: string;
4
+ repo: string;
5
+ team?: string;
6
+ }
7
+ export declare function fetchRepositoryStatsPRs(token: string, options: FetchRepositoryStatsOptions): Promise<RepositoryStatsPullRequest[]>;
8
+ //# sourceMappingURL=repository-stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository-stats.d.ts","sourceRoot":"","sources":["../../src/github/repository-stats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA2B,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAGzG,MAAM,WAAW,2BAA2B;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAiGD,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAwCvC"}
@@ -0,0 +1,96 @@
1
+ import { Octokit } from '@octokit/rest';
2
+ import { diagLog } from '../shared/diagnostics.js';
3
+ async function fetchTeamAuthors(octokit, org, team) {
4
+ const members = await octokit.paginate('GET /orgs/{org}/teams/{team_slug}/members', {
5
+ org,
6
+ team_slug: team,
7
+ per_page: 100,
8
+ });
9
+ const authors = new Set(members
10
+ .map((member) => member.login?.toLowerCase())
11
+ .filter((login) => Boolean(login)));
12
+ diagLog('Fetched GitHub team members for repository stats', {
13
+ org,
14
+ team,
15
+ memberCount: authors.size,
16
+ });
17
+ return authors;
18
+ }
19
+ async function hydrateRepositoryStatsPR(octokit, org, repo, pr) {
20
+ const [reviews, issueComments, reviewComments] = await Promise.all([
21
+ octokit.paginate('GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews', {
22
+ owner: org,
23
+ repo,
24
+ pull_number: pr.number,
25
+ per_page: 100,
26
+ }),
27
+ octokit.paginate('GET /repos/{owner}/{repo}/issues/{issue_number}/comments', {
28
+ owner: org,
29
+ repo,
30
+ issue_number: pr.number,
31
+ per_page: 100,
32
+ }),
33
+ octokit.paginate('GET /repos/{owner}/{repo}/pulls/{pull_number}/comments', {
34
+ owner: org,
35
+ repo,
36
+ pull_number: pr.number,
37
+ per_page: 100,
38
+ }),
39
+ ]);
40
+ const approvals = reviews
41
+ .filter((review) => review.state === 'APPROVED' && review.submitted_at && review.user?.login)
42
+ .map((review) => ({
43
+ approver: review.user.login,
44
+ submittedAt: review.submitted_at,
45
+ }))
46
+ .sort((left, right) => Date.parse(left.submittedAt) - Date.parse(right.submittedAt));
47
+ return {
48
+ id: pr.id,
49
+ number: pr.number,
50
+ title: pr.title,
51
+ url: pr.html_url,
52
+ author: pr.user?.login ?? 'unknown',
53
+ createdAt: pr.created_at,
54
+ mergedAt: pr.merged_at,
55
+ issueComments: issueComments.length,
56
+ reviewComments: reviewComments.length,
57
+ approvals,
58
+ };
59
+ }
60
+ export async function fetchRepositoryStatsPRs(token, options) {
61
+ const octokit = new Octokit({ auth: token });
62
+ diagLog('Fetching repository PRs for stats', {
63
+ org: options.org,
64
+ repo: options.repo,
65
+ team: options.team,
66
+ });
67
+ const teamAuthors = options.team
68
+ ? await fetchTeamAuthors(octokit, options.org, options.team)
69
+ : undefined;
70
+ const closedPRs = await octokit.paginate('GET /repos/{owner}/{repo}/pulls', {
71
+ owner: options.org,
72
+ repo: options.repo,
73
+ state: 'closed',
74
+ sort: 'created',
75
+ direction: 'desc',
76
+ per_page: 100,
77
+ });
78
+ const mergedPRs = closedPRs.filter((pr) => {
79
+ if (!pr.merged_at)
80
+ return false;
81
+ if (!teamAuthors)
82
+ return true;
83
+ const author = pr.user?.login?.toLowerCase();
84
+ return Boolean(author && teamAuthors.has(author));
85
+ });
86
+ diagLog('Hydrating merged PRs for repository stats', {
87
+ closedPRs: closedPRs.length,
88
+ mergedPRs: mergedPRs.length,
89
+ });
90
+ const statsPRs = [];
91
+ for (const pr of mergedPRs) {
92
+ statsPRs.push(await hydrateRepositoryStatsPR(octokit, options.org, options.repo, pr));
93
+ }
94
+ return statsPRs;
95
+ }
96
+ //# sourceMappingURL=repository-stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository-stats.js","sourceRoot":"","sources":["../../src/github/repository-stats.ts"],"names":[],"mappings":"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"}