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.
- package/LICENSE +21 -0
- package/README.md +158 -0
- package/dist/commands/create.d.ts +6 -0
- package/dist/commands/create.d.ts.map +1 -0
- package/dist/commands/create.js +165 -0
- package/dist/commands/create.js.map +1 -0
- package/dist/commands/init.d.ts +8 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +62 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/leaderboard.d.ts +2 -0
- package/dist/commands/leaderboard.d.ts.map +1 -0
- package/dist/commands/leaderboard.js +36 -0
- package/dist/commands/leaderboard.js.map +1 -0
- package/dist/commands/mock-report.d.ts +4 -0
- package/dist/commands/mock-report.d.ts.map +1 -0
- package/dist/commands/mock-report.js +311 -0
- package/dist/commands/mock-report.js.map +1 -0
- package/dist/commands/show.d.ts +2 -0
- package/dist/commands/show.d.ts.map +1 -0
- package/dist/commands/show.js +17 -0
- package/dist/commands/show.js.map +1 -0
- package/dist/commands/update.d.ts +3 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +175 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/config/index.d.ts +4 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/manager.d.ts +7 -0
- package/dist/config/manager.d.ts.map +1 -0
- package/dist/config/manager.js +29 -0
- package/dist/config/manager.js.map +1 -0
- package/dist/config/types.d.ts +14 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +21 -0
- package/dist/config/types.js.map +1 -0
- package/dist/github/client.d.ts +8 -0
- package/dist/github/client.d.ts.map +1 -0
- package/dist/github/client.js +241 -0
- package/dist/github/client.js.map +1 -0
- package/dist/github/index.d.ts +3 -0
- package/dist/github/index.d.ts.map +1 -0
- package/dist/github/index.js +2 -0
- package/dist/github/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +93 -0
- package/dist/index.js.map +1 -0
- package/dist/llm/analyzer.d.ts +7 -0
- package/dist/llm/analyzer.d.ts.map +1 -0
- package/dist/llm/analyzer.js +249 -0
- package/dist/llm/analyzer.js.map +1 -0
- package/dist/llm/character.d.ts +16 -0
- package/dist/llm/character.d.ts.map +1 -0
- package/dist/llm/character.js +245 -0
- package/dist/llm/character.js.map +1 -0
- package/dist/llm/client.d.ts +5 -0
- package/dist/llm/client.d.ts.map +1 -0
- package/dist/llm/client.js +98 -0
- package/dist/llm/client.js.map +1 -0
- package/dist/llm/index.d.ts +4 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +4 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/prompts.d.ts +4 -0
- package/dist/llm/prompts.d.ts.map +1 -0
- package/dist/llm/prompts.js +109 -0
- package/dist/llm/prompts.js.map +1 -0
- package/dist/llm/providers.d.ts +10 -0
- package/dist/llm/providers.d.ts.map +1 -0
- package/dist/llm/providers.js +70 -0
- package/dist/llm/providers.js.map +1 -0
- package/dist/report/generate.d.ts +3 -0
- package/dist/report/generate.d.ts.map +1 -0
- package/dist/report/generate.js +1540 -0
- package/dist/report/generate.js.map +1 -0
- package/dist/report/index.d.ts +2 -0
- package/dist/report/index.d.ts.map +1 -0
- package/dist/report/index.js +2 -0
- package/dist/report/index.js.map +1 -0
- package/dist/scoring/index.d.ts +3 -0
- package/dist/scoring/index.d.ts.map +1 -0
- package/dist/scoring/index.js +3 -0
- package/dist/scoring/index.js.map +1 -0
- package/dist/scoring/points.d.ts +8 -0
- package/dist/scoring/points.d.ts.map +1 -0
- package/dist/scoring/points.js +28 -0
- package/dist/scoring/points.js.map +1 -0
- package/dist/scoring/stats.d.ts +3 -0
- package/dist/scoring/stats.d.ts.map +1 -0
- package/dist/scoring/stats.js +80 -0
- package/dist/scoring/stats.js.map +1 -0
- package/dist/shared/diagnostics.d.ts +8 -0
- package/dist/shared/diagnostics.d.ts.map +1 -0
- package/dist/shared/diagnostics.js +99 -0
- package/dist/shared/diagnostics.js.map +1 -0
- package/dist/shared/pr-summary.d.ts +5 -0
- package/dist/shared/pr-summary.d.ts.map +1 -0
- package/dist/shared/pr-summary.js +272 -0
- package/dist/shared/pr-summary.js.map +1 -0
- package/dist/shared/profile-summary.d.ts +5 -0
- package/dist/shared/profile-summary.d.ts.map +1 -0
- package/dist/shared/profile-summary.js +262 -0
- package/dist/shared/profile-summary.js.map +1 -0
- package/dist/shared/technologies.d.ts +5 -0
- package/dist/shared/technologies.d.ts.map +1 -0
- package/dist/shared/technologies.js +211 -0
- package/dist/shared/technologies.js.map +1 -0
- package/dist/shared/types.d.ts +61 -0
- package/dist/shared/types.d.ts.map +1 -0
- package/dist/shared/types.js +14 -0
- package/dist/shared/types.js.map +1 -0
- package/dist/shared/ui.d.ts +7 -0
- package/dist/shared/ui.d.ts.map +1 -0
- package/dist/shared/ui.js +24 -0
- package/dist/shared/ui.js.map +1 -0
- package/dist/storage/index.d.ts +4 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +4 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/leaderboard.d.ts +4 -0
- package/dist/storage/leaderboard.d.ts.map +1 -0
- package/dist/storage/leaderboard.js +37 -0
- package/dist/storage/leaderboard.js.map +1 -0
- package/dist/storage/paths.d.ts +6 -0
- package/dist/storage/paths.d.ts.map +1 -0
- package/dist/storage/paths.js +19 -0
- package/dist/storage/paths.js.map +1 -0
- package/dist/storage/report.d.ts +3 -0
- package/dist/storage/report.d.ts.map +1 -0
- package/dist/storage/report.js +21 -0
- package/dist/storage/report.js.map +1 -0
- package/dist/storage/user.d.ts +4 -0
- package/dist/storage/user.d.ts.map +1 -0
- package/dist/storage/user.js +44 -0
- package/dist/storage/user.js.map +1 -0
- 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":"AACA,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAYrF,MAAM,kBAAkB,GAAG,2NAA2N,CAAC;AACvP,MAAM,kBAAkB,GAAG,4IAA4I,CAAC;AACxK,MAAM,gBAAgB,GAAG,mGAAmG,CAAC;AAE7H,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,SAAiB;IACnD,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,UAAU,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,UAAU,CAAC;IACtD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACvI,MAAM,SAAS,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACjE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC;AACvD,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAe;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,sCAAsC,CAAC;QAChD,KAAK,cAAc;YACjB,OAAO,6CAA6C,CAAC;QACvD,KAAK,iBAAiB;YACpB,OAAO,gCAAgC,CAAC;QAC1C,KAAK,QAAQ;YACX,OAAO,0CAA0C,CAAC;QACpD,KAAK,KAAK;YACR,OAAO,uDAAuD,CAAC;QACjE,KAAK,IAAI;YACP,OAAO,sCAAsC,CAAC;QAChD,KAAK,SAAS;YACZ,OAAO,wCAAwC,CAAC;QAClD,KAAK,UAAU;YACb,OAAO,oDAAoD,CAAC;QAC9D,KAAK,IAAI;YACP,OAAO,4BAA4B,CAAC;QACtC,KAAK,yBAAyB;YAC5B,OAAO,iCAAiC,CAAC;QAC3C;YACE,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAAU;IAC9C,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACrC,IAAI,CAAC,OAAO;QAAE,OAAO,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAChD,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACpF,CAAC;AAED,SAAS,eAAe,CAAC,EAAU;IACjC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,gBAAgB,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;IAC9D,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,aAAa,CAAC,EAAU;IAC/B,MAAM,OAAO,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;IACzD,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAEhD,IAAI,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,UAAU,IAAI,CAAC;QAAE,eAAe,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI;QAAE,eAAe,IAAI,CAAC,CAAC;IAChE,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC;QAAE,eAAe,IAAI,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,eAAe,IAAI,CAAC,CAAC;IAEhD,IAAI,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,eAAe,IAAI,CAAC,CAAC;IACrF,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC;QAAE,eAAe,IAAI,CAAC,CAAC;IAE5E,IAAI,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAI,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAAE,aAAa,IAAI,CAAC,CAAC;IACrD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC;QAAE,aAAa,IAAI,CAAC,CAAC;IAE7F,OAAO;QACL,EAAE;QACF,OAAO;QACP,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC;QAC3B,eAAe;QACf,eAAe;QACf,aAAa;KACd,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAAmB;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QAC5C,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;YAAE,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;QACzF,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;YAAE,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;QACzF,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC;YAAE,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;QACnF,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IAElD,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QAC3G,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC/D,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,GAAG;YAAE,OAAO,UAAU,CAAC;IACrD,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC;QAAE,OAAO,YAAY,CAAC;IACvF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,WAAW,CAAC,OAAmB,EAAE,IAAgB;IACxD,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACvC,MAAM,aAAa,GAAG,IAAI,KAAK,YAAY;YACzC,CAAC,CAAC,IAAI,CAAC,eAAe;YACtB,CAAC,CAAC,IAAI,KAAK,YAAY;gBACrB,CAAC,CAAC,IAAI,CAAC,eAAe;gBACtB,CAAC,CAAC,IAAI,KAAK,UAAU;oBACnB,CAAC,CAAC,IAAI,CAAC,aAAa;oBACpB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,IAAI,KAAK,YAAY;YAC1C,CAAC,CAAC,KAAK,CAAC,eAAe;YACvB,CAAC,CAAC,IAAI,KAAK,YAAY;gBACrB,CAAC,CAAC,KAAK,CAAC,eAAe;gBACvB,CAAC,CAAC,IAAI,KAAK,UAAU;oBACnB,CAAC,CAAC,KAAK,CAAC,aAAa;oBACrB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAE7D,OAAO,CAAC,cAAc,GAAG,aAAa,CAAC;eAClC,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;eAC5B,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC;eAC5E,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAmB,EAAE,IAAgB;IACxE,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC;YAAE,SAAS;QAC/E,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,UAAU;YAAE,SAAS;QACzD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;YAAE,MAAM;IAChC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/E,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC/E,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpB,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;gBAAE,MAAM;QAChC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAgB,EAAE,OAAmB;IAC3E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1G,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7G,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACrF,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACtF,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAElF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY;YACf,OAAO,mBAAmB,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC;gBACpD,CAAC,CAAC,4HAA4H;gBAC9H,CAAC,CAAC,sHAAsH,CACzH;QACH,KAAK,UAAU;YACb,OAAO,cAAc,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC;gBAC9C,CAAC,CAAC,mJAAmJ;gBACrJ,CAAC,CAAC,kGAAkG,CACrG;QACH,KAAK,YAAY;YACf,OAAO,cAAc,IAAI,CAAC;gBACxB,CAAC,CAAC,sJAAsJ;gBACxJ,CAAC,CAAC,0HAA0H,CAC7H;QACH,KAAK,UAAU,CAAC;QAChB;YACE,OAAO,eAAe,IAAI,CAAC;gBACzB,CAAC,CAAC,8IAA8I;gBAChJ,CAAC,CAAC,uHAAuH,CAC1H;IACL,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAkB;IAChD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC5F,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE1C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,4EAA4E,CAAC;IACtF,CAAC;IAED,IAAI,aAAa,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;QACnD,OAAO,uBAAuB,kBAAkB,CAAC,WAAW,CAAC,iCAAiC,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC;IACrI,CAAC;IAED,OAAO,uBAAuB,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC;AACnE,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAgB;IAC3C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY;YACf,OAAO,6HAA6H,CAAC;QACvI,KAAK,UAAU;YACb,OAAO,2GAA2G,CAAC;QACrH,KAAK,YAAY;YACf,OAAO,kIAAkI,CAAC;QAC5I,KAAK,UAAU,CAAC;QAChB;YACE,OAAO,2IAA2I,CAAC;IACvJ,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAgB;IAC/C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY;YACf,OAAO,oHAAoH,CAAC;QAC9H,KAAK,UAAU;YACb,OAAO,2FAA2F,CAAC;QACrG,KAAK,YAAY;YACf,OAAO,iIAAiI,CAAC;QAC3I,KAAK,UAAU,CAAC;QAChB;YACE,OAAO,0GAA0G,CAAC;IACtH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAkB,EAAE,GAAa;IAC1E,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,iIAAiI,CAAC;IAC3I,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEpC,OAAO,WAAW,CAAC;QACjB,sBAAsB,CAAC,KAAK,CAAC;QAC7B,mBAAmB,CAAC,IAAI,CAAC;QACzB,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC;QAC7C,uBAAuB,CAAC,IAAI,CAAC;KAC9B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAkB,EAAE,GAAa;IACxE,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,wEAAwE,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE5D,OAAO;QACL,sBAAsB,CAAC,KAAK,CAAC;QAC7B,mBAAmB,CAAC,IAAI,CAAC;QACzB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gCAAgC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACzF,uBAAuB,CAAC,IAAI,CAAC;KAC9B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACpB,CAAC"}
|
|
@@ -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":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,YAAY;IACZ,YAAY;IACZ,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,QAAQ;IACR,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,OAAO;IACP,MAAM;IACN,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,MAAM;IACN,UAAU;IACV,OAAO;IACP,QAAQ;IACR,KAAK;IACL,OAAO;IACP,SAAS;IACT,UAAU;IACV,KAAK;IACL,MAAM;IACN,UAAU;IACV,OAAO;CACC,CAAC;AAIX,MAAM,cAAc,GAA+B;IACjD,EAAE,EAAE,YAAY;IAChB,GAAG,EAAE,YAAY;IACjB,UAAU,EAAE,YAAY;IACxB,EAAE,EAAE,YAAY;IAChB,GAAG,EAAE,YAAY;IACjB,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;IACR,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,OAAO;IACpB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,OAAO;IAChB,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,QAAQ;IACb,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,YAAY;IACnB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,WAAW;IACnB,GAAG,EAAE,OAAO;IACZ,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,OAAO;IACZ,UAAU,EAAE,OAAO;IACnB,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,OAAO;IACjB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,QAAQ;IACjB,YAAY,EAAE,QAAQ;IACtB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,KAAK;IACX,cAAc,EAAE,OAAO;IACvB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,OAAO;IACjB,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,MAAM;IACb,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,UAAU;IACjB,aAAa,EAAE,UAAU;IACzB,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAa,mBAAmB,CAAC,CAAC;AAEtE,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAEtE,IAAI,CAAC,UAAU;QAAE,OAAO,OAAO,CAAC;IAEhC,IAAI,cAAc,CAAC,UAAU,CAAC;QAAE,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;IAClE,IAAI,oBAAoB,CAAC,GAAG,CAAC,UAAwB,CAAC;QAAE,OAAO,UAAwB,CAAC;IAExF,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,CAAC;IAChH,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACrD,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACnD,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrJ,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC;IACtJ,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,MAAM,CAAC;IAChF,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/E,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/E,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACjL,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,MAAM,CAAC;IACxR,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACjJ,IAAI,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IACzJ,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5N,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,OAAO,CAAC;IACzR,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACnD,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,YAAY,CAAC;IAC1H,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,WAAW,CAAC;IAC5H,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC5H,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,UAAU,CAAC;IACrH,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9I,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/C,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAErF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAgB;IACpD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC"}
|
|
@@ -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
|