argustack 0.1.5 → 0.1.7
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/README.md +25 -12
- package/dist/adapters/csv/mapper.d.ts.map +1 -1
- package/dist/adapters/csv/mapper.js +53 -21
- package/dist/adapters/csv/mapper.js.map +1 -1
- package/dist/adapters/git/mapper.d.ts +1 -1
- package/dist/adapters/git/mapper.js +1 -1
- package/dist/adapters/git/provider.d.ts.map +1 -1
- package/dist/adapters/git/provider.js +1 -3
- package/dist/adapters/git/provider.js.map +1 -1
- package/dist/adapters/github/mapper.d.ts +1 -1
- package/dist/adapters/github/mapper.js +1 -1
- package/dist/adapters/jira/mapper.d.ts.map +1 -1
- package/dist/adapters/jira/mapper.js +19 -2
- package/dist/adapters/jira/mapper.js.map +1 -1
- package/dist/adapters/jira/provider.d.ts.map +1 -1
- package/dist/adapters/jira/provider.js +0 -4
- package/dist/adapters/jira/provider.js.map +1 -1
- package/dist/adapters/postgres/schema.d.ts.map +1 -1
- package/dist/adapters/postgres/schema.js +14 -5
- package/dist/adapters/postgres/schema.js.map +1 -1
- package/dist/adapters/postgres/storage.d.ts.map +1 -1
- package/dist/adapters/postgres/storage.js +15 -14
- package/dist/adapters/postgres/storage.js.map +1 -1
- package/dist/cli/index.js +0 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/generators.d.ts +6 -0
- package/dist/cli/init/generators.d.ts.map +1 -0
- package/dist/cli/init/generators.js +153 -0
- package/dist/cli/init/generators.js.map +1 -0
- package/dist/cli/init/index.d.ts +4 -0
- package/dist/cli/init/index.d.ts.map +1 -0
- package/dist/cli/init/index.js +254 -0
- package/dist/cli/init/index.js.map +1 -0
- package/dist/cli/init/setup-csv.d.ts +4 -0
- package/dist/cli/init/setup-csv.d.ts.map +1 -0
- package/dist/cli/init/setup-csv.js +52 -0
- package/dist/cli/init/setup-csv.js.map +1 -0
- package/dist/cli/init/setup-db.d.ts +4 -0
- package/dist/cli/init/setup-db.d.ts.map +1 -0
- package/dist/cli/init/setup-db.js +33 -0
- package/dist/cli/init/setup-db.js.map +1 -0
- package/dist/cli/init/setup-git.d.ts +4 -0
- package/dist/cli/init/setup-git.d.ts.map +1 -0
- package/dist/cli/init/setup-git.js +244 -0
- package/dist/cli/init/setup-git.js.map +1 -0
- package/dist/cli/init/setup-github.d.ts +4 -0
- package/dist/cli/init/setup-github.d.ts.map +1 -0
- package/dist/cli/init/setup-github.js +102 -0
- package/dist/cli/init/setup-github.js.map +1 -0
- package/dist/cli/init/setup-jira.d.ts +4 -0
- package/dist/cli/init/setup-jira.d.ts.map +1 -0
- package/dist/cli/init/setup-jira.js +124 -0
- package/dist/cli/init/setup-jira.js.map +1 -0
- package/dist/cli/init/types.d.ts +59 -0
- package/dist/cli/init/types.d.ts.map +1 -0
- package/dist/cli/init/types.js +31 -0
- package/dist/cli/init/types.js.map +1 -0
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +29 -38
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/mcp-install.d.ts.map +1 -1
- package/dist/cli/mcp-install.js +0 -21
- package/dist/cli/mcp-install.js.map +1 -1
- package/dist/cli/sources.d.ts.map +1 -1
- package/dist/cli/sources.js +0 -5
- package/dist/cli/sources.js.map +1 -1
- package/dist/cli/status.d.ts.map +1 -1
- package/dist/cli/status.js +1 -4
- package/dist/cli/status.js.map +1 -1
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +0 -3
- package/dist/cli/sync.js.map +1 -1
- package/dist/core/types/config.js +1 -1
- package/dist/core/types/config.js.map +1 -1
- package/dist/core/types/issue.d.ts +5 -0
- package/dist/core/types/issue.d.ts.map +1 -1
- package/dist/mcp/helpers.d.ts +24 -0
- package/dist/mcp/helpers.d.ts.map +1 -0
- package/dist/mcp/helpers.js +73 -0
- package/dist/mcp/helpers.js.map +1 -0
- package/dist/mcp/server.d.ts +2 -3
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +12 -1411
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/estimate.d.ts +3 -0
- package/dist/mcp/tools/estimate.d.ts.map +1 -0
- package/dist/mcp/tools/estimate.js +478 -0
- package/dist/mcp/tools/estimate.js.map +1 -0
- package/dist/mcp/tools/issue.d.ts +3 -0
- package/dist/mcp/tools/issue.d.ts.map +1 -0
- package/dist/mcp/tools/issue.js +468 -0
- package/dist/mcp/tools/issue.js.map +1 -0
- package/dist/mcp/tools/query.d.ts +3 -0
- package/dist/mcp/tools/query.d.ts.map +1 -0
- package/dist/mcp/tools/query.js +319 -0
- package/dist/mcp/tools/query.js.map +1 -0
- package/dist/mcp/tools/search.d.ts +3 -0
- package/dist/mcp/tools/search.d.ts.map +1 -0
- package/dist/mcp/tools/search.js +61 -0
- package/dist/mcp/tools/search.js.map +1 -0
- package/dist/mcp/tools/workspace.d.ts +3 -0
- package/dist/mcp/tools/workspace.d.ts.map +1 -0
- package/dist/mcp/tools/workspace.js +86 -0
- package/dist/mcp/tools/workspace.js.map +1 -0
- package/dist/mcp/types.d.ts +157 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +2 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/use-cases/embed.d.ts.map +1 -1
- package/dist/use-cases/embed.js +1 -3
- package/dist/use-cases/embed.js.map +1 -1
- package/dist/use-cases/pull-git.d.ts.map +1 -1
- package/dist/use-cases/pull-git.js +2 -6
- package/dist/use-cases/pull-git.js.map +1 -1
- package/dist/use-cases/pull-github.d.ts.map +1 -1
- package/dist/use-cases/pull-github.js +2 -6
- package/dist/use-cases/pull-github.js.map +1 -1
- package/dist/use-cases/pull.d.ts.map +1 -1
- package/dist/use-cases/pull.js +2 -13
- package/dist/use-cases/pull.js.map +1 -1
- package/dist/workspace/config.d.ts.map +1 -1
- package/dist/workspace/config.js +0 -3
- package/dist/workspace/config.js.map +1 -1
- package/dist/workspace/resolver.d.ts.map +1 -1
- package/dist/workspace/resolver.js +0 -1
- package/dist/workspace/resolver.js.map +1 -1
- package/package.json +1 -1
- package/templates/init.sql +5 -0
package/README.md
CHANGED
|
@@ -41,7 +41,7 @@ Argustack builds this knowledge base from your project's sources of truth:
|
|
|
41
41
|
> *Is this bug still relevant or already fixed in code?*
|
|
42
42
|
> *Was the feature implemented as described in the ticket?*
|
|
43
43
|
> *Who worked on this module and what changed last month?*
|
|
44
|
-
> *Which commits and PRs reference ticket
|
|
44
|
+
> *Which commits and PRs reference ticket PROJ-123?*
|
|
45
45
|
> *Who approved the PR and what was the review feedback?*
|
|
46
46
|
|
|
47
47
|
## How it works
|
|
@@ -218,7 +218,7 @@ Every custom field is preserved exactly as Jira returns it. 500 custom fields? A
|
|
|
218
218
|
| `commit_files` | Per-file changes — path, status, additions, deletions |
|
|
219
219
|
| `commit_issue_refs` | Cross-reference: commit ↔ Jira issue (extracted from commit messages) |
|
|
220
220
|
|
|
221
|
-
Commit messages mentioning issue keys like `
|
|
221
|
+
Commit messages mentioning issue keys like `PROJ-123` or `PROJ-45` are automatically linked to Jira issues.
|
|
222
222
|
|
|
223
223
|
### GitHub tables
|
|
224
224
|
|
|
@@ -233,7 +233,7 @@ Select "GitHub" during `argustack init` or add later with `argustack source add
|
|
|
233
233
|
| `pr_issue_refs` | Cross-reference: PR ↔ Jira issue (extracted from PR title and body) |
|
|
234
234
|
| `releases` | GitHub releases with tags, notes, and full-text search |
|
|
235
235
|
|
|
236
|
-
PR titles and bodies mentioning issue keys like `
|
|
236
|
+
PR titles and bodies mentioning issue keys like `PROJ-123` are automatically linked to Jira issues — just like commits.
|
|
237
237
|
|
|
238
238
|
## MCP Tools
|
|
239
239
|
|
|
@@ -271,7 +271,7 @@ When connected to Claude, these tools are available:
|
|
|
271
271
|
|------|-------------|
|
|
272
272
|
| `issue_timeline` | Chronological timeline — changelogs + commits + PRs for one issue |
|
|
273
273
|
| `semantic_search` | Find similar issues by meaning (pgvector embeddings) |
|
|
274
|
-
| `estimate` | Predict effort
|
|
274
|
+
| `estimate` | Predict task duration per developer. With effort data: "without bugs" / "with bugs" predictions. With CSV only: resolution timeline in business days (lead time, not active dev) |
|
|
275
275
|
|
|
276
276
|
### System tools
|
|
277
277
|
|
|
@@ -403,15 +403,27 @@ DB_NAME=argustack
|
|
|
403
403
|
|
|
404
404
|
**`.env` is in `.gitignore`** — if you accidentally run `git add .`, your credentials won't be committed.
|
|
405
405
|
|
|
406
|
+
## Architecture — Hexagonal (Ports & Adapters)
|
|
407
|
+
|
|
408
|
+
```
|
|
409
|
+
Driving adapters (entries): cli/, mcp/
|
|
410
|
+
Driven adapters (external systems): adapters/jira/, adapters/git/, adapters/github/, adapters/postgres/
|
|
411
|
+
|
|
412
|
+
Dependency Rule: cli/,mcp/ → use-cases/ → core/ports ← adapters/
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
Core has zero dependencies — only pure TypeScript types and interfaces. Adapters implement core ports and are independently replaceable.
|
|
416
|
+
|
|
406
417
|
## Tech Stack
|
|
407
418
|
|
|
408
|
-
- TypeScript / Node.js
|
|
409
|
-
- Commander.js — CLI
|
|
410
|
-
-
|
|
411
|
-
-
|
|
412
|
-
-
|
|
413
|
-
-
|
|
414
|
-
-
|
|
419
|
+
- TypeScript / Node.js — Hexagonal Architecture
|
|
420
|
+
- Commander.js — CLI (driving adapter)
|
|
421
|
+
- MCP SDK — Claude integration (driving adapter)
|
|
422
|
+
- jira.js — Jira REST API (driven adapter)
|
|
423
|
+
- Octokit — GitHub REST API (driven adapter)
|
|
424
|
+
- es-git — native Git bindings, N-API, powered by libgit2 (driven adapter)
|
|
425
|
+
- csv-parse — streaming RFC 4180 CSV parser (driven adapter)
|
|
426
|
+
- PostgreSQL 16 + pgvector — storage + vector search (driven adapter)
|
|
415
427
|
- Docker — database infrastructure
|
|
416
428
|
|
|
417
429
|
## Roadmap
|
|
@@ -424,9 +436,10 @@ DB_NAME=argustack
|
|
|
424
436
|
- [x] Cross-source timeline (issue_timeline: changelogs + commits + PRs)
|
|
425
437
|
- [x] Multi-repo Git support (multiple repos per workspace, `GIT_REPO_PATHS`)
|
|
426
438
|
- [x] Progress indicators during sync (e.g. `150/506 issues (30%)`)
|
|
439
|
+
- [x] CSV import (Jira export without API token)
|
|
440
|
+
- [x] Estimate tool — task duration prediction with data-source awareness
|
|
427
441
|
- [ ] Database adapter (schema, sample data)
|
|
428
442
|
- [ ] Cross-source analysis (Jira ticket vs actual code vs DB state)
|
|
429
|
-
- [x] CSV import (Jira export without API token)
|
|
430
443
|
|
|
431
444
|
## License
|
|
432
445
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../src/adapters/csv/mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACV,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../src/adapters/csv/mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACV,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAsBD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,GAAG,YAAY,CA2CxE"}
|
|
@@ -9,6 +9,13 @@ function cell(row, index) {
|
|
|
9
9
|
function cellStr(row, index) {
|
|
10
10
|
return cell(row, index) ?? '';
|
|
11
11
|
}
|
|
12
|
+
function parseIntOrNull(value) {
|
|
13
|
+
if (value === null) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
const parsed = parseInt(value, 10);
|
|
17
|
+
return isNaN(parsed) ? null : parsed;
|
|
18
|
+
}
|
|
12
19
|
export function mapCsvRow(row, schema) {
|
|
13
20
|
const sf = schema.standardFields;
|
|
14
21
|
const issueKey = cellStr(row, sf.get('Issue key'));
|
|
@@ -25,7 +32,9 @@ export function mapCsvRow(row, schema) {
|
|
|
25
32
|
priority: cell(row, sf.get('Priority')),
|
|
26
33
|
resolution: cell(row, sf.get('Resolution')),
|
|
27
34
|
assignee: cell(row, sf.get('Assignee')),
|
|
35
|
+
assigneeId: cell(row, sf.get('Assignee Id')),
|
|
28
36
|
reporter: cell(row, sf.get('Reporter')),
|
|
37
|
+
reporterId: cell(row, sf.get('Reporter Id')),
|
|
29
38
|
created: parseJiraDate(cell(row, sf.get('Created'))),
|
|
30
39
|
updated: parseJiraDate(cell(row, sf.get('Updated'))),
|
|
31
40
|
resolved: parseJiraDate(cell(row, sf.get('Resolved'))),
|
|
@@ -34,8 +43,11 @@ export function mapCsvRow(row, schema) {
|
|
|
34
43
|
components: extractRepeated(row, schema, 'Components'),
|
|
35
44
|
fixVersions: extractRepeated(row, schema, 'Fix versions'),
|
|
36
45
|
parentKey: cell(row, sf.get('Parent key')),
|
|
37
|
-
sprint:
|
|
38
|
-
storyPoints:
|
|
46
|
+
sprint: cell(row, sf.get('Sprint')),
|
|
47
|
+
storyPoints: extractStoryPoints(row, schema),
|
|
48
|
+
originalEstimate: parseIntOrNull(cell(row, sf.get('Original estimate'))),
|
|
49
|
+
remainingEstimate: parseIntOrNull(cell(row, sf.get('Remaining Estimate'))),
|
|
50
|
+
timeSpent: parseIntOrNull(cell(row, sf.get('Time Spent'))),
|
|
39
51
|
customFields: extractCustomFields(row, schema),
|
|
40
52
|
rawJson: buildRawJson(row, schema),
|
|
41
53
|
};
|
|
@@ -44,6 +56,17 @@ export function mapCsvRow(row, schema) {
|
|
|
44
56
|
const links = extractLinks(issueKey, row, schema);
|
|
45
57
|
return { issue, comments, worklogs, links };
|
|
46
58
|
}
|
|
59
|
+
function extractStoryPoints(row, schema) {
|
|
60
|
+
for (const cf of schema.customFields) {
|
|
61
|
+
if (cf.name === 'Story Points' || cf.name === 'Story point estimate') {
|
|
62
|
+
const val = parseFloat(cell(row, cf.columnIndex) ?? '');
|
|
63
|
+
if (!isNaN(val)) {
|
|
64
|
+
return val;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
47
70
|
function extractRepeated(row, schema, name) {
|
|
48
71
|
const group = schema.repeatedGroups.get(name);
|
|
49
72
|
if (!group) {
|
|
@@ -137,42 +160,51 @@ function extractWorklogs(issueKey, row, schema) {
|
|
|
137
160
|
const description = parts[0] ?? '';
|
|
138
161
|
const timestamp = parts[1] ?? '';
|
|
139
162
|
const author = parts[2] ?? '';
|
|
140
|
-
const
|
|
141
|
-
const
|
|
163
|
+
const secondsStr = parts[parts.length - 1] ?? '0';
|
|
164
|
+
const seconds = parseInt(secondsStr, 10);
|
|
142
165
|
result.push({
|
|
143
166
|
issueKey,
|
|
144
167
|
author: author || null,
|
|
145
|
-
timeSpent: isNaN(
|
|
146
|
-
timeSpentSeconds: isNaN(
|
|
168
|
+
timeSpent: isNaN(seconds) ? null : formatTimeSpent(seconds),
|
|
169
|
+
timeSpentSeconds: isNaN(seconds) ? null : seconds,
|
|
147
170
|
comment: description || null,
|
|
148
171
|
started: parseJiraDate(timestamp),
|
|
149
172
|
});
|
|
150
173
|
}
|
|
151
174
|
return result;
|
|
152
175
|
}
|
|
176
|
+
function formatTimeSpent(seconds) {
|
|
177
|
+
const hours = Math.floor(seconds / 3600);
|
|
178
|
+
const minutes = Math.floor((seconds % 3600) / 60);
|
|
179
|
+
if (hours > 0 && minutes > 0) {
|
|
180
|
+
return `${hours}h ${minutes}m`;
|
|
181
|
+
}
|
|
182
|
+
if (hours > 0) {
|
|
183
|
+
return `${hours}h`;
|
|
184
|
+
}
|
|
185
|
+
return `${minutes}m`;
|
|
186
|
+
}
|
|
153
187
|
function extractLinks(issueKey, row, schema) {
|
|
154
188
|
const result = [];
|
|
189
|
+
const seen = new Set();
|
|
155
190
|
for (const link of schema.issueLinks) {
|
|
156
191
|
const targetKey = row[link.columnIndex]?.trim();
|
|
157
192
|
if (!targetKey) {
|
|
158
193
|
continue;
|
|
159
194
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
direction: 'outward',
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
result.push({
|
|
170
|
-
sourceKey: targetKey,
|
|
171
|
-
targetKey: issueKey,
|
|
172
|
-
linkType: link.linkType,
|
|
173
|
-
direction: 'inward',
|
|
174
|
-
});
|
|
195
|
+
const sourceKey = link.direction === 'outward' ? issueKey : targetKey;
|
|
196
|
+
const destKey = link.direction === 'outward' ? targetKey : issueKey;
|
|
197
|
+
const dedupeKey = `${sourceKey}|${destKey}|${link.linkType}|${link.direction}`;
|
|
198
|
+
if (seen.has(dedupeKey)) {
|
|
199
|
+
continue;
|
|
175
200
|
}
|
|
201
|
+
seen.add(dedupeKey);
|
|
202
|
+
result.push({
|
|
203
|
+
sourceKey,
|
|
204
|
+
targetKey: destKey,
|
|
205
|
+
linkType: link.linkType,
|
|
206
|
+
direction: link.direction,
|
|
207
|
+
});
|
|
176
208
|
}
|
|
177
209
|
return result;
|
|
178
210
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../src/adapters/csv/mapper.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAS5C,SAAS,IAAI,CAAC,GAAa,EAAE,KAAyB;IACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvC,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AACrC,CAAC;AAED,SAAS,OAAO,CAAC,GAAa,EAAE,KAAyB;IACvD,OAAO,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAa,EAAE,MAAiB;IACxD,MAAM,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC;IAEjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEhD,MAAM,KAAK,GAAU;QACnB,GAAG,EAAE,QAAQ;QACb,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACpC,UAAU;QACV,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC7C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1C,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACpD,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACvC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3C,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACvC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACtD,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC;QAC9C,UAAU,EAAE,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC;QACtD,WAAW,EAAE,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC;QACzD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1C,MAAM,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../src/adapters/csv/mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ export declare function mapCommit(esCommit: EsGitCommit, repoPath: string): Comm
|
|
|
4
4
|
export declare function mapDiffDelta(delta: DiffDelta, commitHash: string, additions: number, deletions: number): CommitFile;
|
|
5
5
|
/**
|
|
6
6
|
* Extract issue references from a commit message.
|
|
7
|
-
* Matches patterns like:
|
|
7
|
+
* Matches patterns like: PROJ-123, PROJ-45, ABC-1
|
|
8
8
|
* Returns unique keys, uppercased.
|
|
9
9
|
*/
|
|
10
10
|
export declare function extractIssueRefs(commitHash: string, message: string): CommitIssueRef[];
|
|
@@ -28,7 +28,7 @@ export function mapDiffDelta(delta, commitHash, additions, deletions) {
|
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* Extract issue references from a commit message.
|
|
31
|
-
* Matches patterns like:
|
|
31
|
+
* Matches patterns like: PROJ-123, PROJ-45, ABC-1
|
|
32
32
|
* Returns unique keys, uppercased.
|
|
33
33
|
*/
|
|
34
34
|
export function extractIssueRefs(commitHash, message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/adapters/git/provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAuBnE,qBAAa,WAAY,YAAW,YAAY;IAGlC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFrC,QAAQ,CAAC,IAAI,iBAAiB;gBAED,QAAQ,EAAE,MAAM;IAEvC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAoB5C,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,cAAc,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/adapters/git/provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAuBnE,qBAAa,WAAY,YAAW,YAAY;IAGlC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFrC,QAAQ,CAAC,IAAI,iBAAiB;gBAED,QAAQ,EAAE,MAAM;IAEvC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAoB5C,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,cAAc,CAAC,WAAW,CAAC;IAyDvD,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBhC,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAenC"}
|
|
@@ -68,9 +68,7 @@ export class GitProvider {
|
|
|
68
68
|
deltaResult = deltas.next();
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
catch {
|
|
72
|
-
// diff failed — skip
|
|
73
|
-
}
|
|
71
|
+
catch { /* diff unavailable */ }
|
|
74
72
|
const refs = extractIssueRefs(sha, commit.message);
|
|
75
73
|
batch.issueRefs.push(...refs);
|
|
76
74
|
if (batch.commits.length >= BATCH_SIZE) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/adapters/git/provider.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/adapters/git/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export declare function mapPrFile(raw: Record<string, unknown>, prNumber: number
|
|
|
6
6
|
export declare function mapRelease(raw: Record<string, unknown>, repoFullName: string): Release;
|
|
7
7
|
/**
|
|
8
8
|
* Extract issue references from PR title and body.
|
|
9
|
-
* Matches Jira-style keys:
|
|
9
|
+
* Matches Jira-style keys: PROJ-123, PROJ-45
|
|
10
10
|
*/
|
|
11
11
|
export declare function extractPrIssueRefs(prNumber: number, repoFullName: string, title: string, body: string | null): PullRequestIssueRef[];
|
|
12
12
|
//# sourceMappingURL=mapper.d.ts.map
|
|
@@ -98,7 +98,7 @@ export function mapRelease(raw, repoFullName) {
|
|
|
98
98
|
}
|
|
99
99
|
/**
|
|
100
100
|
* Extract issue references from PR title and body.
|
|
101
|
-
* Matches Jira-style keys:
|
|
101
|
+
* Matches Jira-style keys: PROJ-123, PROJ-45
|
|
102
102
|
*/
|
|
103
103
|
export function extractPrIssueRefs(prNumber, repoFullName, title, body) {
|
|
104
104
|
const pattern = /\b([A-Z][A-Z0-9]+-\d+)\b/g;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../src/adapters/jira/mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,SAAS,EACV,MAAM,2BAA2B,CAAC;AAEnC,KAAK,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../src/adapters/jira/mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,SAAS,EACV,MAAM,2BAA2B,CAAC;AAEnC,KAAK,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC;AAgBtC;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG,KAAK,CAiDlD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,YAAY,EAAE,CAWhF;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,cAAc,EAAE,CAkBpF;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,YAAY,EAAE,CAWhF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,SAAS,EAAE,CAyB1E"}
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export function mapJiraIssue(raw) {
|
|
6
6
|
const fields = raw.fields;
|
|
7
|
-
// Separate standard fields from custom fields
|
|
8
7
|
const standardFieldKeys = new Set([
|
|
9
8
|
'summary', 'description', 'issuetype', 'status', 'priority',
|
|
10
9
|
'resolution', 'assignee', 'reporter', 'created', 'updated',
|
|
11
10
|
'resolutiondate', 'duedate', 'labels', 'components', 'fixVersions',
|
|
12
11
|
'parent', 'sprint', 'story_points', 'customfield_10016',
|
|
12
|
+
'timeoriginalestimate', 'timeestimate', 'timespent',
|
|
13
13
|
]);
|
|
14
14
|
const customFields = {};
|
|
15
15
|
for (const [key, value] of Object.entries(fields)) {
|
|
@@ -29,7 +29,9 @@ export function mapJiraIssue(raw) {
|
|
|
29
29
|
priority: fields.priority?.name ?? null,
|
|
30
30
|
resolution: fields.resolution?.name ?? null,
|
|
31
31
|
assignee: fields.assignee?.displayName ?? null,
|
|
32
|
+
assigneeId: fields.assignee?.accountId ?? null,
|
|
32
33
|
reporter: fields.reporter?.displayName ?? null,
|
|
34
|
+
reporterId: fields.reporter?.accountId ?? null,
|
|
33
35
|
created: fields.created,
|
|
34
36
|
updated: fields.updated,
|
|
35
37
|
resolved: fields.resolutiondate ?? null,
|
|
@@ -40,6 +42,9 @@ export function mapJiraIssue(raw) {
|
|
|
40
42
|
parentKey: fields.parent?.key ?? null,
|
|
41
43
|
sprint: extractSprint(fields),
|
|
42
44
|
storyPoints: extractStoryPoints(fields),
|
|
45
|
+
originalEstimate: extractTimeField(fields, 'timeoriginalestimate'),
|
|
46
|
+
remainingEstimate: extractTimeField(fields, 'timeestimate'),
|
|
47
|
+
timeSpent: extractTimeField(fields, 'timespent'),
|
|
43
48
|
customFields,
|
|
44
49
|
rawJson: raw,
|
|
45
50
|
};
|
|
@@ -119,7 +124,6 @@ function extractText(value) {
|
|
|
119
124
|
if (typeof value === 'string') {
|
|
120
125
|
return value;
|
|
121
126
|
}
|
|
122
|
-
// ADF format — extract text recursively
|
|
123
127
|
if (isAdfNode(value)) {
|
|
124
128
|
return extractAdfText(value);
|
|
125
129
|
}
|
|
@@ -159,6 +163,19 @@ function extractSprint(fields) {
|
|
|
159
163
|
/**
|
|
160
164
|
* Extract story points from standard or custom field.
|
|
161
165
|
*/
|
|
166
|
+
function extractSeconds(value) {
|
|
167
|
+
if (typeof value === 'number') {
|
|
168
|
+
return value;
|
|
169
|
+
}
|
|
170
|
+
if (typeof value === 'string') {
|
|
171
|
+
const parsed = parseInt(value, 10);
|
|
172
|
+
return isNaN(parsed) ? null : parsed;
|
|
173
|
+
}
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
function extractTimeField(fields, key) {
|
|
177
|
+
return extractSeconds(fields[key]);
|
|
178
|
+
}
|
|
162
179
|
function extractStoryPoints(fields) {
|
|
163
180
|
const storyPoints = fields['story_points'] ?? fields['customfield_10016'];
|
|
164
181
|
if (typeof storyPoints === 'number') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../src/adapters/jira/mapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../src/adapters/jira/mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/adapters/jira/provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAWrE;;;;;;;;GAQG;AACH,qBAAa,YAAa,YAAW,eAAe;IAClD,QAAQ,CAAC,IAAI,UAAU;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE5B,KAAK,EAAE,eAAe;IAI5B,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IASjC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASjE,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/adapters/jira/provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAWrE;;;;;;;;GAQG;AACH,qBAAa,YAAa,YAAW,eAAe;IAClD,QAAQ,CAAC,IAAI,UAAU;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE5B,KAAK,EAAE,eAAe;IAI5B,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IASjC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASjE,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC;CAgDlF"}
|
|
@@ -33,14 +33,12 @@ export class JiraProvider {
|
|
|
33
33
|
return result.count ?? 0;
|
|
34
34
|
}
|
|
35
35
|
async *pullIssues(projectKey, since) {
|
|
36
|
-
// Build JQL
|
|
37
36
|
let jql = `project = "${projectKey}" ORDER BY updated ASC`;
|
|
38
37
|
if (since) {
|
|
39
38
|
jql = `project = "${projectKey}" AND updated >= "${since}" ORDER BY updated ASC`;
|
|
40
39
|
}
|
|
41
40
|
let pageToken = undefined;
|
|
42
41
|
do {
|
|
43
|
-
// jira.js v5: Enhanced Search with token-based pagination
|
|
44
42
|
const searchParams = {
|
|
45
43
|
jql,
|
|
46
44
|
maxResults: PAGE_SIZE,
|
|
@@ -55,7 +53,6 @@ export class JiraProvider {
|
|
|
55
53
|
if (issues.length === 0) {
|
|
56
54
|
break;
|
|
57
55
|
}
|
|
58
|
-
// Map each issue to core types
|
|
59
56
|
const batch = {
|
|
60
57
|
issues: [],
|
|
61
58
|
comments: [],
|
|
@@ -71,7 +68,6 @@ export class JiraProvider {
|
|
|
71
68
|
batch.links.push(...mapJiraLinks(raw.key, raw));
|
|
72
69
|
}
|
|
73
70
|
yield batch;
|
|
74
|
-
// Move to next page via token
|
|
75
71
|
pageToken = response.nextPageToken ?? undefined;
|
|
76
72
|
} while (pageToken);
|
|
77
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/adapters/jira/provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAwB,MAAM,aAAa,CAAC;AACrE,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,YAAY,GACb,MAAM,aAAa,CAAC;AAErB,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB;;;;;;;;GAQG;AACH,MAAM,OAAO,YAAY;IACd,IAAI,GAAG,MAAM,CAAC;IACN,MAAM,CAAiB;IAExC,YAAY,KAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9E,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,EAAE,EAAE,CAAC,CAAC,EAAE;SACT,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,KAAc;QACpD,IAAI,GAAG,GAAG,cAAc,UAAU,GAAG,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,IAAI,oBAAoB,KAAK,GAAG,CAAC;QACtC,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAClE,OAAO,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,CAAC,UAAU,CAAC,UAAkB,EAAE,KAAc;QAClD,
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/adapters/jira/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgres/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgres/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA2Q/D"}
|
|
@@ -17,7 +17,9 @@ export async function ensureSchema(pool) {
|
|
|
17
17
|
priority TEXT,
|
|
18
18
|
resolution VARCHAR(50),
|
|
19
19
|
assignee VARCHAR(100),
|
|
20
|
+
assignee_id TEXT,
|
|
20
21
|
reporter VARCHAR(100),
|
|
22
|
+
reporter_id TEXT,
|
|
21
23
|
created TIMESTAMP,
|
|
22
24
|
updated TIMESTAMP,
|
|
23
25
|
resolved TIMESTAMP,
|
|
@@ -28,6 +30,9 @@ export async function ensureSchema(pool) {
|
|
|
28
30
|
parent_key TEXT,
|
|
29
31
|
sprint VARCHAR(200),
|
|
30
32
|
story_points NUMERIC,
|
|
33
|
+
original_estimate INTEGER,
|
|
34
|
+
remaining_estimate INTEGER,
|
|
35
|
+
time_spent INTEGER,
|
|
31
36
|
custom_fields JSONB,
|
|
32
37
|
raw_json JSONB,
|
|
33
38
|
embedding vector(1536),
|
|
@@ -77,7 +82,6 @@ export async function ensureSchema(pool) {
|
|
|
77
82
|
direction VARCHAR(10)
|
|
78
83
|
)
|
|
79
84
|
`);
|
|
80
|
-
// ─── Git tables ───────────────────────────────────────────────────────
|
|
81
85
|
await pool.query(`
|
|
82
86
|
CREATE TABLE IF NOT EXISTS commits (
|
|
83
87
|
hash VARCHAR(40) PRIMARY KEY,
|
|
@@ -108,7 +112,6 @@ export async function ensureSchema(pool) {
|
|
|
108
112
|
PRIMARY KEY (commit_hash, issue_key)
|
|
109
113
|
)
|
|
110
114
|
`);
|
|
111
|
-
// ─── GitHub tables ──────────────────────────────────────────────────────
|
|
112
115
|
await pool.query(`
|
|
113
116
|
CREATE TABLE IF NOT EXISTS pull_requests (
|
|
114
117
|
number INTEGER NOT NULL,
|
|
@@ -198,7 +201,15 @@ export async function ensureSchema(pool) {
|
|
|
198
201
|
PRIMARY KEY (repo_full_name, id)
|
|
199
202
|
)
|
|
200
203
|
`);
|
|
201
|
-
|
|
204
|
+
await pool.query(`ALTER TABLE issues ADD COLUMN IF NOT EXISTS original_estimate INTEGER`);
|
|
205
|
+
await pool.query(`ALTER TABLE issues ADD COLUMN IF NOT EXISTS remaining_estimate INTEGER`);
|
|
206
|
+
await pool.query(`ALTER TABLE issues ADD COLUMN IF NOT EXISTS time_spent INTEGER`);
|
|
207
|
+
await pool.query(`ALTER TABLE issues ADD COLUMN IF NOT EXISTS assignee_id TEXT`);
|
|
208
|
+
await pool.query(`ALTER TABLE issues ADD COLUMN IF NOT EXISTS reporter_id TEXT`);
|
|
209
|
+
await pool.query(`ALTER TABLE issues ADD COLUMN IF NOT EXISTS search_vector tsvector`);
|
|
210
|
+
await pool.query(`ALTER TABLE commits ADD COLUMN IF NOT EXISTS search_vector tsvector`);
|
|
211
|
+
await pool.query(`ALTER TABLE pull_requests ADD COLUMN IF NOT EXISTS search_vector tsvector`);
|
|
212
|
+
await pool.query(`ALTER TABLE releases ADD COLUMN IF NOT EXISTS search_vector tsvector`);
|
|
202
213
|
const indexes = [
|
|
203
214
|
'CREATE INDEX IF NOT EXISTS idx_issues_project ON issues(project_key)',
|
|
204
215
|
'CREATE INDEX IF NOT EXISTS idx_issues_status ON issues(status)',
|
|
@@ -214,7 +225,6 @@ export async function ensureSchema(pool) {
|
|
|
214
225
|
'CREATE INDEX IF NOT EXISTS idx_worklogs_key ON issue_worklogs(issue_key)',
|
|
215
226
|
'CREATE INDEX IF NOT EXISTS idx_links_source ON issue_links(source_key)',
|
|
216
227
|
'CREATE INDEX IF NOT EXISTS idx_links_target ON issue_links(target_key)',
|
|
217
|
-
// Git indexes
|
|
218
228
|
'CREATE INDEX IF NOT EXISTS idx_commits_author ON commits(author)',
|
|
219
229
|
'CREATE INDEX IF NOT EXISTS idx_commits_date ON commits(committed_at)',
|
|
220
230
|
'CREATE INDEX IF NOT EXISTS idx_commits_repo ON commits(repo_path)',
|
|
@@ -222,7 +232,6 @@ export async function ensureSchema(pool) {
|
|
|
222
232
|
'CREATE INDEX IF NOT EXISTS idx_commit_files_hash ON commit_files(commit_hash)',
|
|
223
233
|
'CREATE INDEX IF NOT EXISTS idx_commit_files_path ON commit_files(file_path)',
|
|
224
234
|
'CREATE INDEX IF NOT EXISTS idx_commit_refs_issue ON commit_issue_refs(issue_key)',
|
|
225
|
-
// GitHub indexes
|
|
226
235
|
'CREATE INDEX IF NOT EXISTS idx_prs_repo ON pull_requests(repo_full_name)',
|
|
227
236
|
'CREATE INDEX IF NOT EXISTS idx_prs_state ON pull_requests(state)',
|
|
228
237
|
'CREATE INDEX IF NOT EXISTS idx_prs_author ON pull_requests(author)',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/adapters/postgres/schema.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAa;IAC9C,MAAM,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAE1D,MAAM,IAAI,CAAC,KAAK,CAAC
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/adapters/postgres/schema.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAa;IAC9C,MAAM,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAE1D,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoChB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;GAUhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;GAUhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;GAUhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;GAQhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;GAYhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;GAShB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;GAMhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;GAWhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;GAahB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;GAUhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;GAOhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;GAiBhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC1F,MAAM,IAAI,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC3F,MAAM,IAAI,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACnF,MAAM,IAAI,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACjF,MAAM,IAAI,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACjF,MAAM,IAAI,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACvF,MAAM,IAAI,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACxF,MAAM,IAAI,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC9F,MAAM,IAAI,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAEzF,MAAM,OAAO,GAAG;QACd,sEAAsE;QACtE,gEAAgE;QAChE,kEAAkE;QAClE,oEAAoE;QACpE,kEAAkE;QAClE,kEAAkE;QAClE,iFAAiF;QACjF,iFAAiF;QACjF,yEAAyE;QACzE,0EAA0E;QAC1E,8EAA8E;QAC9E,0EAA0E;QAC1E,wEAAwE;QACxE,wEAAwE;QACxE,kEAAkE;QAClE,sEAAsE;QACtE,mEAAmE;QACnE,mFAAmF;QACnF,+EAA+E;QAC/E,6EAA6E;QAC7E,kFAAkF;QAClF,0EAA0E;QAC1E,kEAAkE;QAClE,oEAAoE;QACpE,uEAAuE;QACvE,yEAAyE;QACzE,iFAAiF;QACjF,qFAAqF;QACrF,uFAAuF;QACvF,yFAAyF;QACzF,mFAAmF;QACnF,qEAAqE;QACrE,0EAA0E;QAC1E,0EAA0E;QAC1E,mEAAmE;QACnE,qFAAqF;KACtF,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgres/storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG5D;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;gBAEnB,MAAM,EAAE,QAAQ;IAItB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgres/storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG5D;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;gBAEnB,MAAM,EAAE,QAAQ;IAItB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAsH3C,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAyDlD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAWzD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAW1D,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAmHlD,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8ChD,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAW5D,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAWxD,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhE,cAAc,CAClB,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAyBhD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAK3D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|