quackscore 0.1.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 (139) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +158 -0
  3. package/dist/commands/create.d.ts +6 -0
  4. package/dist/commands/create.d.ts.map +1 -0
  5. package/dist/commands/create.js +165 -0
  6. package/dist/commands/create.js.map +1 -0
  7. package/dist/commands/init.d.ts +8 -0
  8. package/dist/commands/init.d.ts.map +1 -0
  9. package/dist/commands/init.js +62 -0
  10. package/dist/commands/init.js.map +1 -0
  11. package/dist/commands/leaderboard.d.ts +2 -0
  12. package/dist/commands/leaderboard.d.ts.map +1 -0
  13. package/dist/commands/leaderboard.js +36 -0
  14. package/dist/commands/leaderboard.js.map +1 -0
  15. package/dist/commands/mock-report.d.ts +4 -0
  16. package/dist/commands/mock-report.d.ts.map +1 -0
  17. package/dist/commands/mock-report.js +311 -0
  18. package/dist/commands/mock-report.js.map +1 -0
  19. package/dist/commands/show.d.ts +2 -0
  20. package/dist/commands/show.d.ts.map +1 -0
  21. package/dist/commands/show.js +17 -0
  22. package/dist/commands/show.js.map +1 -0
  23. package/dist/commands/update.d.ts +3 -0
  24. package/dist/commands/update.d.ts.map +1 -0
  25. package/dist/commands/update.js +175 -0
  26. package/dist/commands/update.js.map +1 -0
  27. package/dist/config/index.d.ts +4 -0
  28. package/dist/config/index.d.ts.map +1 -0
  29. package/dist/config/index.js +3 -0
  30. package/dist/config/index.js.map +1 -0
  31. package/dist/config/manager.d.ts +7 -0
  32. package/dist/config/manager.d.ts.map +1 -0
  33. package/dist/config/manager.js +29 -0
  34. package/dist/config/manager.js.map +1 -0
  35. package/dist/config/types.d.ts +14 -0
  36. package/dist/config/types.d.ts.map +1 -0
  37. package/dist/config/types.js +21 -0
  38. package/dist/config/types.js.map +1 -0
  39. package/dist/github/client.d.ts +8 -0
  40. package/dist/github/client.d.ts.map +1 -0
  41. package/dist/github/client.js +241 -0
  42. package/dist/github/client.js.map +1 -0
  43. package/dist/github/index.d.ts +3 -0
  44. package/dist/github/index.d.ts.map +1 -0
  45. package/dist/github/index.js +2 -0
  46. package/dist/github/index.js.map +1 -0
  47. package/dist/index.d.ts +3 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +93 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/llm/analyzer.d.ts +7 -0
  52. package/dist/llm/analyzer.d.ts.map +1 -0
  53. package/dist/llm/analyzer.js +249 -0
  54. package/dist/llm/analyzer.js.map +1 -0
  55. package/dist/llm/character.d.ts +16 -0
  56. package/dist/llm/character.d.ts.map +1 -0
  57. package/dist/llm/character.js +245 -0
  58. package/dist/llm/character.js.map +1 -0
  59. package/dist/llm/client.d.ts +5 -0
  60. package/dist/llm/client.d.ts.map +1 -0
  61. package/dist/llm/client.js +98 -0
  62. package/dist/llm/client.js.map +1 -0
  63. package/dist/llm/index.d.ts +4 -0
  64. package/dist/llm/index.d.ts.map +1 -0
  65. package/dist/llm/index.js +4 -0
  66. package/dist/llm/index.js.map +1 -0
  67. package/dist/llm/prompts.d.ts +4 -0
  68. package/dist/llm/prompts.d.ts.map +1 -0
  69. package/dist/llm/prompts.js +109 -0
  70. package/dist/llm/prompts.js.map +1 -0
  71. package/dist/llm/providers.d.ts +10 -0
  72. package/dist/llm/providers.d.ts.map +1 -0
  73. package/dist/llm/providers.js +70 -0
  74. package/dist/llm/providers.js.map +1 -0
  75. package/dist/report/generate.d.ts +3 -0
  76. package/dist/report/generate.d.ts.map +1 -0
  77. package/dist/report/generate.js +1540 -0
  78. package/dist/report/generate.js.map +1 -0
  79. package/dist/report/index.d.ts +2 -0
  80. package/dist/report/index.d.ts.map +1 -0
  81. package/dist/report/index.js +2 -0
  82. package/dist/report/index.js.map +1 -0
  83. package/dist/scoring/index.d.ts +3 -0
  84. package/dist/scoring/index.d.ts.map +1 -0
  85. package/dist/scoring/index.js +3 -0
  86. package/dist/scoring/index.js.map +1 -0
  87. package/dist/scoring/points.d.ts +8 -0
  88. package/dist/scoring/points.d.ts.map +1 -0
  89. package/dist/scoring/points.js +28 -0
  90. package/dist/scoring/points.js.map +1 -0
  91. package/dist/scoring/stats.d.ts +3 -0
  92. package/dist/scoring/stats.d.ts.map +1 -0
  93. package/dist/scoring/stats.js +80 -0
  94. package/dist/scoring/stats.js.map +1 -0
  95. package/dist/shared/diagnostics.d.ts +8 -0
  96. package/dist/shared/diagnostics.d.ts.map +1 -0
  97. package/dist/shared/diagnostics.js +99 -0
  98. package/dist/shared/diagnostics.js.map +1 -0
  99. package/dist/shared/pr-summary.d.ts +5 -0
  100. package/dist/shared/pr-summary.d.ts.map +1 -0
  101. package/dist/shared/pr-summary.js +272 -0
  102. package/dist/shared/pr-summary.js.map +1 -0
  103. package/dist/shared/profile-summary.d.ts +5 -0
  104. package/dist/shared/profile-summary.d.ts.map +1 -0
  105. package/dist/shared/profile-summary.js +262 -0
  106. package/dist/shared/profile-summary.js.map +1 -0
  107. package/dist/shared/technologies.d.ts +5 -0
  108. package/dist/shared/technologies.d.ts.map +1 -0
  109. package/dist/shared/technologies.js +211 -0
  110. package/dist/shared/technologies.js.map +1 -0
  111. package/dist/shared/types.d.ts +61 -0
  112. package/dist/shared/types.d.ts.map +1 -0
  113. package/dist/shared/types.js +14 -0
  114. package/dist/shared/types.js.map +1 -0
  115. package/dist/shared/ui.d.ts +7 -0
  116. package/dist/shared/ui.d.ts.map +1 -0
  117. package/dist/shared/ui.js +24 -0
  118. package/dist/shared/ui.js.map +1 -0
  119. package/dist/storage/index.d.ts +4 -0
  120. package/dist/storage/index.d.ts.map +1 -0
  121. package/dist/storage/index.js +4 -0
  122. package/dist/storage/index.js.map +1 -0
  123. package/dist/storage/leaderboard.d.ts +4 -0
  124. package/dist/storage/leaderboard.d.ts.map +1 -0
  125. package/dist/storage/leaderboard.js +37 -0
  126. package/dist/storage/leaderboard.js.map +1 -0
  127. package/dist/storage/paths.d.ts +6 -0
  128. package/dist/storage/paths.d.ts.map +1 -0
  129. package/dist/storage/paths.js +19 -0
  130. package/dist/storage/paths.js.map +1 -0
  131. package/dist/storage/report.d.ts +3 -0
  132. package/dist/storage/report.d.ts.map +1 -0
  133. package/dist/storage/report.js +21 -0
  134. package/dist/storage/report.js.map +1 -0
  135. package/dist/storage/user.d.ts +4 -0
  136. package/dist/storage/user.d.ts.map +1 -0
  137. package/dist/storage/user.js +44 -0
  138. package/dist/storage/user.js.map +1 -0
  139. package/package.json +52 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-summary.js","sourceRoot":"","sources":["../../src/shared/pr-summary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { PlayerStats, PRData } from './types.js';
2
+ export declare function getNarrativePRSummary(pr: PRData): string;
3
+ export declare function buildManagerProfileSummary(stats: PlayerStats, prs: PRData[]): string;
4
+ export declare function buildManagerProfileNotes(stats: PlayerStats, prs: PRData[]): string[];
5
+ //# sourceMappingURL=profile-summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-summary.d.ts","sourceRoot":"","sources":["../../src/shared/profile-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAoEtD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAIxD;AAwLD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAepF;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAgBpF"}
@@ -0,0 +1,262 @@
1
+ import { buildFallbackPRSummary, getLowValuePRSummaryReason } from './pr-summary.js';
2
+ const FOUNDATION_PATTERN = /\b(core|engine|architecture|orchestrator|runtime|config|system design|system-design|review pipeline|reviewer|cli|indexing|schema|validation|loader|platform|foundation|service detection|report output|execution path)\b/i;
3
+ const ENABLEMENT_PATTERN = /\b(test|coverage|workflow|ci|pipeline|retry|fix|stabiliz|guardrail|teardown|release|docs?|readme|packaging|metadata|timeout|validation)\b/i;
4
+ const DELIVERY_PATTERN = /\b(implement|build|add|introduc|expand|replace|support|ship|deliver|launch|feature|capability)\b/i;
5
+ function normalizeText(value) {
6
+ return value.replace(/\s+/g, ' ').trim();
7
+ }
8
+ function compactText(value, maxLength) {
9
+ const normalized = normalizeText(value);
10
+ if (normalized.length <= maxLength)
11
+ return normalized;
12
+ const clipped = normalized.slice(0, maxLength - 3).trimEnd();
13
+ const breakIndex = Math.max(clipped.lastIndexOf('. '), clipped.lastIndexOf('; '), clipped.lastIndexOf(', '), clipped.lastIndexOf(' '));
14
+ const safeIndex = breakIndex > 120 ? breakIndex : clipped.length;
15
+ return `${clipped.slice(0, safeIndex).trimEnd()}...`;
16
+ }
17
+ function formatLabel(value) {
18
+ return value.replace(/_/g, ' ');
19
+ }
20
+ function formatNaturalList(items) {
21
+ if (items.length === 0)
22
+ return '';
23
+ if (items.length === 1)
24
+ return items[0];
25
+ if (items.length === 2)
26
+ return `${items[0]} and ${items[1]}`;
27
+ return `${items.slice(0, -1).join(', ')}, and ${items[items.length - 1]}`;
28
+ }
29
+ function describeAreaDomain(area) {
30
+ switch (area) {
31
+ case 'backend':
32
+ return 'backend systems and service behavior';
33
+ case 'web_frontend':
34
+ return 'frontend flows and user-facing interactions';
35
+ case 'mobile_frontend':
36
+ return 'mobile-facing product surfaces';
37
+ case 'devops':
38
+ return 'delivery pipelines and platform plumbing';
39
+ case 'sre':
40
+ return 'reliability, observability, and production guardrails';
41
+ case 'qa':
42
+ return 'test coverage and release confidence';
43
+ case 'scripts':
44
+ return 'tooling, automation, and workflow glue';
45
+ case 'security':
46
+ return 'security-sensitive paths and protective guardrails';
47
+ case 'ai':
48
+ return 'AI-driven product behavior';
49
+ case 'ai_coding_optimizations':
50
+ return 'AI-assisted developer workflows';
51
+ default:
52
+ return formatLabel(area);
53
+ }
54
+ }
55
+ export function getNarrativePRSummary(pr) {
56
+ const summary = pr.analysis?.summary;
57
+ if (!summary)
58
+ return buildFallbackPRSummary(pr);
59
+ return getLowValuePRSummaryReason(summary) ? buildFallbackPRSummary(pr) : summary;
60
+ }
61
+ function getImpactWeight(pr) {
62
+ const changeVolume = Math.min(pr.additions + pr.deletions, 4000);
63
+ const complexityWeight = (pr.analysis?.complexity ?? 0) * 120;
64
+ return (pr.points ?? 0) + complexityWeight + Math.round(changeVolume / 4);
65
+ }
66
+ function buildPRSignal(pr) {
67
+ const summary = getNarrativePRSummary(pr);
68
+ const lowercase = `${pr.title} ${summary}`.toLowerCase();
69
+ const complexity = pr.analysis?.complexity ?? 0;
70
+ const areas = new Set(pr.analysis?.areas ?? []);
71
+ const types = new Set(pr.analysis?.types ?? []);
72
+ let foundationScore = FOUNDATION_PATTERN.test(lowercase) ? 2 : 0;
73
+ if (complexity >= 8)
74
+ foundationScore += 1;
75
+ if ((pr.additions + pr.deletions) >= 1200)
76
+ foundationScore += 1;
77
+ if (areas.size >= 2)
78
+ foundationScore += 1;
79
+ if (types.has('refactor'))
80
+ foundationScore += 1;
81
+ let enablementScore = ENABLEMENT_PATTERN.test(lowercase) ? 2 : 0;
82
+ if (areas.has('qa') || areas.has('devops') || areas.has('sre'))
83
+ enablementScore += 1;
84
+ if (types.has('bugfix') || types.has('documentation'))
85
+ enablementScore += 1;
86
+ let deliveryScore = DELIVERY_PATTERN.test(lowercase) ? 2 : 0;
87
+ if (types.has('new_development'))
88
+ deliveryScore += 1;
89
+ if (areas.has('ai') || areas.has('backend') || areas.has('web_frontend'))
90
+ deliveryScore += 1;
91
+ return {
92
+ pr,
93
+ summary,
94
+ weight: getImpactWeight(pr),
95
+ foundationScore,
96
+ enablementScore,
97
+ deliveryScore,
98
+ };
99
+ }
100
+ function getImpactMode(signals) {
101
+ const totals = signals.reduce((acc, signal) => {
102
+ if (signal.foundationScore > 0)
103
+ acc.foundation += signal.weight * signal.foundationScore;
104
+ if (signal.enablementScore > 0)
105
+ acc.enablement += signal.weight * signal.enablementScore;
106
+ if (signal.deliveryScore > 0)
107
+ acc.delivery += signal.weight * signal.deliveryScore;
108
+ return acc;
109
+ }, { foundation: 0, enablement: 0, delivery: 0 });
110
+ if (totals.foundation >= Math.max(totals.enablement * 0.8, totals.delivery * 0.8) && totals.foundation > 0) {
111
+ return 'foundation';
112
+ }
113
+ if (totals.enablement > 0 && totals.delivery > 0) {
114
+ const ratio = totals.enablement / Math.max(totals.delivery, 1);
115
+ if (ratio > 0.55 && ratio < 1.8)
116
+ return 'balanced';
117
+ }
118
+ if (totals.enablement >= totals.delivery && totals.enablement > 0)
119
+ return 'enablement';
120
+ return 'delivery';
121
+ }
122
+ function sortSignals(signals, mode) {
123
+ return [...signals].sort((left, right) => {
124
+ const leftModeScore = mode === 'foundation'
125
+ ? left.foundationScore
126
+ : mode === 'enablement'
127
+ ? left.enablementScore
128
+ : mode === 'delivery'
129
+ ? left.deliveryScore
130
+ : Math.max(left.foundationScore, left.deliveryScore);
131
+ const rightModeScore = mode === 'foundation'
132
+ ? right.foundationScore
133
+ : mode === 'enablement'
134
+ ? right.enablementScore
135
+ : mode === 'delivery'
136
+ ? right.deliveryScore
137
+ : Math.max(right.foundationScore, right.deliveryScore);
138
+ return (rightModeScore - leftModeScore)
139
+ || (right.weight - left.weight)
140
+ || ((right.pr.analysis?.complexity ?? 0) - (left.pr.analysis?.complexity ?? 0))
141
+ || (right.pr.additions - left.pr.additions);
142
+ });
143
+ }
144
+ function pickRepresentativeSummaries(signals, mode) {
145
+ const ranked = sortSignals(signals, mode);
146
+ const picked = [];
147
+ for (const signal of ranked) {
148
+ if (picked.some((candidate) => candidate.summary === signal.summary))
149
+ continue;
150
+ picked.push(signal);
151
+ if (picked.length === 1 && mode === 'balanced')
152
+ continue;
153
+ if (picked.length >= 2)
154
+ break;
155
+ }
156
+ if (picked.length < 2) {
157
+ for (const signal of signals.sort((left, right) => right.weight - left.weight)) {
158
+ if (picked.some((candidate) => candidate.summary === signal.summary))
159
+ continue;
160
+ picked.push(signal);
161
+ if (picked.length >= 2)
162
+ break;
163
+ }
164
+ }
165
+ return picked.map((signal) => compactText(signal.summary.replace(/[.]+$/, ''), 120));
166
+ }
167
+ function buildAggregateEvidenceSentence(mode, signals) {
168
+ if (signals.length === 0)
169
+ return '';
170
+ const highComplexityCount = signals.filter((signal) => (signal.pr.analysis?.complexity ?? 0) >= 8).length;
171
+ const multiAreaCount = signals.filter((signal) => new Set(signal.pr.analysis?.areas ?? []).size >= 2).length;
172
+ const guardrailCount = signals.filter((signal) => signal.enablementScore > 0).length;
173
+ const foundationCount = signals.filter((signal) => signal.foundationScore > 0).length;
174
+ const deliveryCount = signals.filter((signal) => signal.deliveryScore > 0).length;
175
+ switch (mode) {
176
+ case 'foundation':
177
+ return highComplexityCount >= 2 || multiAreaCount >= 2
178
+ ? 'Several of the strongest PRs are high-complexity or cross-cutting changes, which usually signals platform-level ownership.'
179
+ : 'The strongest signal is repeated ownership of structural changes that affect how later work gets built and operated.';
180
+ case 'balanced':
181
+ return guardrailCount >= 2 && deliveryCount >= 2
182
+ ? 'Visible product changes keep arriving together with test, workflow, or reliability hardening, which points to ownership beyond ticket completion.'
183
+ : 'The repeated pattern is shipping work and leaving the surrounding delivery path safer afterward.';
184
+ case 'enablement':
185
+ return guardrailCount >= 2
186
+ ? 'Most of the leverage comes from raising the floor for the rest of the team through tests, workflow hardening, stabilization, and release guardrails.'
187
+ : 'The impact here is more about delivery confidence and force multiplication than about defining the product architecture.';
188
+ case 'delivery':
189
+ default:
190
+ return foundationCount >= 2
191
+ ? 'There is some structural work in the mix, but the dominant signal is still direct product delivery rather than long-term platform ownership.'
192
+ : 'The strongest signal is consistent product throughput, while deeper platform ownership appears secondary in this set.';
193
+ }
194
+ }
195
+ function buildOwnershipSentence(stats) {
196
+ const areaEntries = Object.entries(stats.areas).sort(([, left], [, right]) => right - left);
197
+ const primaryArea = areaEntries[0]?.[0];
198
+ const secondaryArea = areaEntries[1]?.[0];
199
+ if (!primaryArea) {
200
+ return 'The PR set spans multiple delivery areas rather than a single narrow lane.';
201
+ }
202
+ if (secondaryArea && secondaryArea !== primaryArea) {
203
+ return `These PRs center on ${describeAreaDomain(primaryArea)}, with regular spillover into ${describeAreaDomain(secondaryArea)}.`;
204
+ }
205
+ return `These PRs center on ${describeAreaDomain(primaryArea)}.`;
206
+ }
207
+ function buildImpactSentence(mode) {
208
+ switch (mode) {
209
+ case 'foundation':
210
+ return 'This reads as a foundational contributor shaping core architecture and execution paths, not just closing follow-up tickets.';
211
+ case 'balanced':
212
+ return 'This reads as a high-leverage contributor who ships product work and hardens the delivery path around it.';
213
+ case 'enablement':
214
+ return 'This reads as an enabling contributor whose value is in release confidence and delivery reliability more than core architecture.';
215
+ case 'delivery':
216
+ default:
217
+ return 'This reads as a delivery-focused contributor whose main impact is shipping product behavior more than owning the deepest platform layers.';
218
+ }
219
+ }
220
+ function buildImportanceSentence(mode) {
221
+ switch (mode) {
222
+ case 'foundation':
223
+ return 'Without this person, the team would likely feel it in how quickly new work can be built on top of the core system.';
224
+ case 'balanced':
225
+ return 'The team likely feels this person in both product progress and reduced delivery friction.';
226
+ case 'enablement':
227
+ return 'The team value is real, but it reads more as force multiplication and stability support than as ownership of product direction.';
228
+ case 'delivery':
229
+ default:
230
+ return 'The team value here appears to be direct product throughput more than foundational technical leadership.';
231
+ }
232
+ }
233
+ export function buildManagerProfileSummary(stats, prs) {
234
+ const analyzed = prs.filter((pr) => pr.analysis && !pr.analysis.skipped);
235
+ if (analyzed.length === 0) {
236
+ return 'No merged pull requests were found for this profile scope, so there is not enough evidence to describe contribution impact yet.';
237
+ }
238
+ const signals = analyzed.map(buildPRSignal);
239
+ const mode = getImpactMode(signals);
240
+ return compactText([
241
+ buildOwnershipSentence(stats),
242
+ buildImpactSentence(mode),
243
+ buildAggregateEvidenceSentence(mode, signals),
244
+ buildImportanceSentence(mode),
245
+ ].filter(Boolean).join(' '), 600);
246
+ }
247
+ export function buildManagerProfileNotes(stats, prs) {
248
+ const analyzed = prs.filter((pr) => pr.analysis && !pr.analysis.skipped);
249
+ if (analyzed.length === 0) {
250
+ return ['There is not enough analyzed PR data yet to infer contribution impact.'];
251
+ }
252
+ const signals = analyzed.map(buildPRSignal);
253
+ const mode = getImpactMode(signals);
254
+ const examples = pickRepresentativeSummaries(signals, mode);
255
+ return [
256
+ buildOwnershipSentence(stats),
257
+ buildImpactSentence(mode),
258
+ examples.length > 0 ? `Representative work includes ${formatNaturalList(examples)}.` : '',
259
+ buildImportanceSentence(mode),
260
+ ].filter(Boolean);
261
+ }
262
+ //# sourceMappingURL=profile-summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-summary.js","sourceRoot":"","sources":["../../src/shared/profile-summary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const TECHNOLOGY_TAXONOMY: readonly ["javascript", "typescript", "python", "java", "dotnet", "go", "rust", "cpp", "ruby", "php", "swift", "kotlin", "sql", "data", "react", "vue", "angular", "svelte", "nodejs", "docker", "kubernetes", "terraform", "cloud", "bash", "powershell", "pytorch", "tensorflow", "elixir", "dart", "solidity", "scala", "mobile", "api", "ci_cd", "testing", "game_dev", "css", "html", "markdown", "other"];
2
+ export type Technology = (typeof TECHNOLOGY_TAXONOMY)[number];
3
+ export declare function normalizeTechnology(value: string): Technology;
4
+ export declare function normalizeTechnologies(values: string[]): Technology[];
5
+ //# sourceMappingURL=technologies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"technologies.d.ts","sourceRoot":"","sources":["../../src/shared/technologies.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,iZAyCtB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAiH9D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAiC7D;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAEpE"}
@@ -0,0 +1,211 @@
1
+ export const TECHNOLOGY_TAXONOMY = [
2
+ 'javascript',
3
+ 'typescript',
4
+ 'python',
5
+ 'java',
6
+ 'dotnet',
7
+ 'go',
8
+ 'rust',
9
+ 'cpp',
10
+ 'ruby',
11
+ 'php',
12
+ 'swift',
13
+ 'kotlin',
14
+ 'sql',
15
+ 'data',
16
+ 'react',
17
+ 'vue',
18
+ 'angular',
19
+ 'svelte',
20
+ 'nodejs',
21
+ 'docker',
22
+ 'kubernetes',
23
+ 'terraform',
24
+ 'cloud',
25
+ 'bash',
26
+ 'powershell',
27
+ 'pytorch',
28
+ 'tensorflow',
29
+ 'elixir',
30
+ 'dart',
31
+ 'solidity',
32
+ 'scala',
33
+ 'mobile',
34
+ 'api',
35
+ 'ci_cd',
36
+ 'testing',
37
+ 'game_dev',
38
+ 'css',
39
+ 'html',
40
+ 'markdown',
41
+ 'other',
42
+ ];
43
+ const DIRECT_ALIASES = {
44
+ js: 'javascript',
45
+ jsx: 'javascript',
46
+ javascript: 'javascript',
47
+ ts: 'typescript',
48
+ tsx: 'typescript',
49
+ typescript: 'typescript',
50
+ python: 'python',
51
+ py: 'python',
52
+ java: 'java',
53
+ spring_boot: 'java',
54
+ spring: 'java',
55
+ dotnet: 'dotnet',
56
+ c_sharp: 'dotnet',
57
+ csharp: 'dotnet',
58
+ asp_net: 'dotnet',
59
+ aspnet: 'dotnet',
60
+ go: 'go',
61
+ golang: 'go',
62
+ rust: 'rust',
63
+ cpp: 'cpp',
64
+ cplusplus: 'cpp',
65
+ ruby: 'ruby',
66
+ rails: 'ruby',
67
+ php: 'php',
68
+ laravel: 'php',
69
+ swift: 'swift',
70
+ objective_c: 'swift',
71
+ kotlin: 'kotlin',
72
+ sql: 'sql',
73
+ postgresql: 'sql',
74
+ mariadb: 'sql',
75
+ sqlite: 'sql',
76
+ react: 'react',
77
+ redux: 'react',
78
+ nextjs: 'react',
79
+ next_js: 'react',
80
+ vue: 'vue',
81
+ angular: 'angular',
82
+ svelte: 'svelte',
83
+ node: 'nodejs',
84
+ nodejs: 'nodejs',
85
+ express: 'nodejs',
86
+ nest_js: 'nodejs',
87
+ deno: 'nodejs',
88
+ bun: 'nodejs',
89
+ electron: 'nodejs',
90
+ docker: 'docker',
91
+ kubernetes: 'kubernetes',
92
+ helm: 'kubernetes',
93
+ istio: 'kubernetes',
94
+ terraform: 'terraform',
95
+ ansible: 'terraform',
96
+ pulumi: 'terraform',
97
+ aws: 'cloud',
98
+ azure: 'cloud',
99
+ gcp: 'cloud',
100
+ cloudflare: 'cloud',
101
+ vercel: 'cloud',
102
+ firebase: 'cloud',
103
+ supabase: 'cloud',
104
+ bash: 'bash',
105
+ shell: 'bash',
106
+ powershell: 'powershell',
107
+ pytorch: 'pytorch',
108
+ tensorflow: 'tensorflow',
109
+ elixir: 'elixir',
110
+ dart: 'dart',
111
+ flutter: 'mobile',
112
+ react_native: 'mobile',
113
+ mobile: 'mobile',
114
+ graphql: 'api',
115
+ grpc: 'api',
116
+ openapi: 'api',
117
+ rest: 'api',
118
+ github_actions: 'ci_cd',
119
+ jenkins: 'ci_cd',
120
+ circleci: 'ci_cd',
121
+ playwright: 'testing',
122
+ cypress: 'testing',
123
+ jest: 'testing',
124
+ selenium: 'testing',
125
+ vitest: 'testing',
126
+ mocha: 'testing',
127
+ chai: 'testing',
128
+ mongodb: 'data',
129
+ redis: 'data',
130
+ elasticsearch: 'data',
131
+ cassandra: 'data',
132
+ dynamodb: 'data',
133
+ neo4j: 'data',
134
+ kafka: 'data',
135
+ rabbitmq: 'data',
136
+ nosql: 'data',
137
+ solidity: 'solidity',
138
+ scala: 'scala',
139
+ unity: 'game_dev',
140
+ unreal_engine: 'game_dev',
141
+ webgl: 'game_dev',
142
+ css: 'css',
143
+ tailwind: 'css',
144
+ scss: 'css',
145
+ sass: 'css',
146
+ html: 'html',
147
+ markdown: 'markdown',
148
+ mdx: 'markdown',
149
+ other: 'other',
150
+ };
151
+ const ALLOWED_TECHNOLOGIES = new Set(TECHNOLOGY_TAXONOMY);
152
+ export function normalizeTechnology(value) {
153
+ const normalized = value.trim().toLowerCase().replace(/[\s-]+/g, '_');
154
+ if (!normalized)
155
+ return 'other';
156
+ if (DIRECT_ALIASES[normalized])
157
+ return DIRECT_ALIASES[normalized];
158
+ if (ALLOWED_TECHNOLOGIES.has(normalized))
159
+ return normalized;
160
+ if (normalized.includes('react') || normalized.includes('redux') || normalized.includes('next'))
161
+ return 'react';
162
+ if (normalized.includes('vue'))
163
+ return 'vue';
164
+ if (normalized.includes('angular'))
165
+ return 'angular';
166
+ if (normalized.includes('svelte'))
167
+ return 'svelte';
168
+ if (normalized.includes('node') || normalized.includes('express') || normalized.includes('nest') || normalized.includes('electron'))
169
+ return 'nodejs';
170
+ if (normalized.includes('python') || normalized.includes('django') || normalized.includes('flask') || normalized.includes('fastapi'))
171
+ return 'python';
172
+ if (normalized.includes('java') || normalized.includes('spring'))
173
+ return 'java';
174
+ if (normalized.includes('php') || normalized.includes('laravel'))
175
+ return 'php';
176
+ if (normalized.includes('ruby') || normalized.includes('rails'))
177
+ return 'ruby';
178
+ if (normalized.includes('sql') || normalized.includes('postgres') || normalized.includes('mysql') || normalized.includes('maria') || normalized.includes('sqlite'))
179
+ return 'sql';
180
+ if (normalized.includes('mongo') || normalized.includes('redis') || normalized.includes('elastic') || normalized.includes('cassandra') || normalized.includes('dynamo') || normalized.includes('neo4j') || normalized.includes('kafka') || normalized.includes('rabbit'))
181
+ return 'data';
182
+ if (normalized.includes('graphql') || normalized.includes('grpc') || normalized.includes('openapi') || normalized.includes('rest'))
183
+ return 'api';
184
+ if (normalized.includes('github_action') || normalized.includes('jenkins') || normalized.includes('circle') || normalized.includes('ci'))
185
+ return 'ci_cd';
186
+ if (normalized.includes('test') || normalized.includes('jest') || normalized.includes('playwright') || normalized.includes('cypress') || normalized.includes('selenium') || normalized.includes('vitest'))
187
+ return 'testing';
188
+ if (normalized.includes('cloud') || normalized.includes('aws') || normalized.includes('azure') || normalized.includes('gcp') || normalized.includes('vercel') || normalized.includes('firebase') || normalized.includes('supabase') || normalized.includes('cloudflare'))
189
+ return 'cloud';
190
+ if (normalized.includes('docker'))
191
+ return 'docker';
192
+ if (normalized.includes('kubernetes') || normalized.includes('helm') || normalized.includes('istio'))
193
+ return 'kubernetes';
194
+ if (normalized.includes('terraform') || normalized.includes('ansible') || normalized.includes('pulumi'))
195
+ return 'terraform';
196
+ if (normalized.includes('mobile') || normalized.includes('flutter') || normalized.includes('react_native'))
197
+ return 'mobile';
198
+ if (normalized.includes('unity') || normalized.includes('unreal') || normalized.includes('webgl'))
199
+ return 'game_dev';
200
+ if (normalized.includes('css') || normalized.includes('tailwind') || normalized.includes('sass') || normalized.includes('scss'))
201
+ return 'css';
202
+ if (normalized.includes('html'))
203
+ return 'html';
204
+ if (normalized.includes('markdown') || normalized.includes('mdx'))
205
+ return 'markdown';
206
+ return 'other';
207
+ }
208
+ export function normalizeTechnologies(values) {
209
+ return [...new Set(values.map((value) => normalizeTechnology(value)))];
210
+ }
211
+ //# sourceMappingURL=technologies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"technologies.js","sourceRoot":"","sources":["../../src/shared/technologies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import type { Technology } from './technologies.js';
2
+ export declare const AREA_TAXONOMY: readonly ["devops", "web_frontend", "scripts", "mobile_frontend", "backend", "sre", "qa", "ai", "security", "ai_coding_optimizations"];
3
+ export type Area = (typeof AREA_TAXONOMY)[number];
4
+ export declare const CONTRIBUTION_TYPE_TAXONOMY: readonly ["bugfix", "new_development", "refactor", "documentation"];
5
+ export type ContributionType = (typeof CONTRIBUTION_TYPE_TAXONOMY)[number];
6
+ export interface LLMPRAnalysis {
7
+ skipped: boolean;
8
+ skipReason?: string;
9
+ complexity: number;
10
+ areas: Area[];
11
+ types: ContributionType[];
12
+ technologies: Technology[];
13
+ summary: string;
14
+ }
15
+ export interface PRData {
16
+ id: number;
17
+ number: number;
18
+ title: string;
19
+ url: string;
20
+ repo: string;
21
+ mergedAt: string;
22
+ additions: number;
23
+ deletions: number;
24
+ diff?: string;
25
+ analysis?: LLMPRAnalysis;
26
+ points?: number;
27
+ }
28
+ export interface WeeklyContribution {
29
+ week: string;
30
+ points: number;
31
+ }
32
+ export interface PlayerStats {
33
+ totalPoints: number;
34
+ level: number;
35
+ pointsToNextLevel: number;
36
+ areas: Record<string, number>;
37
+ technologies: Record<string, number>;
38
+ types: Record<string, number>;
39
+ weeklyContributions: WeeklyContribution[];
40
+ totalPRs: number;
41
+ analyzedPRs: number;
42
+ }
43
+ export interface CharacterProfile {
44
+ title: string;
45
+ summary: string;
46
+ avatarUrl?: string;
47
+ }
48
+ export interface UserData {
49
+ username: string;
50
+ lastUpdated: string;
51
+ prs: PRData[];
52
+ stats: PlayerStats;
53
+ character?: CharacterProfile;
54
+ }
55
+ export interface LeaderboardEntry {
56
+ username: string;
57
+ totalPoints: number;
58
+ level: number;
59
+ lastUpdated: string;
60
+ }
61
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,aAAa,wIAWhB,CAAC;AAEX,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAElD,eAAO,MAAM,0BAA0B,qEAAsE,CAAC;AAE9G,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,14 @@
1
+ export const AREA_TAXONOMY = [
2
+ 'devops',
3
+ 'web_frontend',
4
+ 'scripts',
5
+ 'mobile_frontend',
6
+ 'backend',
7
+ 'sre',
8
+ 'qa',
9
+ 'ai',
10
+ 'security',
11
+ 'ai_coding_optimizations',
12
+ ];
13
+ export const CONTRIBUTION_TYPE_TAXONOMY = ['bugfix', 'new_development', 'refactor', 'documentation'];
14
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,QAAQ;IACR,cAAc;IACd,SAAS;IACT,iBAAiB;IACjB,SAAS;IACT,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,UAAU;IACV,yBAAyB;CACjB,CAAC;AAIX,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,CAAU,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function rpgLog(message: string): void;
2
+ export declare function rpgSuccess(message: string): void;
3
+ export declare function rpgError(message: string): void;
4
+ export declare function rpgInfo(message: string): void;
5
+ export declare function rpgProgress(current: number, total: number, title: string): void;
6
+ export declare function rpgHeader(text: string): void;
7
+ //# sourceMappingURL=ui.d.ts.map