ai-dev-analytics 2.0.1 → 2.0.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAsBA,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAgH5C"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAqDA,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CA0H5C"}
@@ -1,7 +1,9 @@
1
1
  import { green, red, yellow, cyan, dim } from '../../utils/display.js';
2
- import { configPath } from '../../utils/paths.js';
3
- import { fileExists } from '../../utils/fs.js';
2
+ import { configPath, aidaDir } from '../../utils/paths.js';
3
+ import { fileExists, readText } from '../../utils/fs.js';
4
4
  import { inspectProject, inspectSecurity, normalizeProject } from '../../services/project-health.js';
5
+ import { readdirSync, statSync } from 'node:fs';
6
+ import { resolve } from 'node:path';
5
7
  function hasFixFlag() {
6
8
  return process.argv.slice(3).includes('--fix');
7
9
  }
@@ -19,6 +21,38 @@ function securityMode() {
19
21
  function line(ok, label, detail) {
20
22
  console.log(`${ok ? green(' ✓') : yellow(' !')} ${label}: ${detail}`);
21
23
  }
24
+ function walkJsonFiles(rootDir) {
25
+ if (!fileExists(rootDir))
26
+ return [];
27
+ const results = [];
28
+ const stack = [rootDir];
29
+ while (stack.length > 0) {
30
+ const current = stack.pop();
31
+ for (const name of readdirSync(current)) {
32
+ const fullPath = resolve(current, name);
33
+ const stat = statSync(fullPath);
34
+ if (stat.isDirectory())
35
+ stack.push(fullPath);
36
+ else if (name.endsWith('.json'))
37
+ results.push(fullPath);
38
+ }
39
+ }
40
+ return results;
41
+ }
42
+ function findConflictedFiles(projectRoot) {
43
+ const dir = aidaDir(projectRoot);
44
+ if (!fileExists(dir))
45
+ return [];
46
+ return walkJsonFiles(dir).filter((f) => {
47
+ try {
48
+ const raw = readText(f);
49
+ return raw.includes('<<<<<<<') || raw.includes('>>>>>>>');
50
+ }
51
+ catch {
52
+ return false;
53
+ }
54
+ });
55
+ }
22
56
  export async function doctor() {
23
57
  const projectRoot = process.cwd();
24
58
  console.log(cyan('\n AIDA Doctor\n'));
@@ -26,6 +60,15 @@ export async function doctor() {
26
60
  console.log(red(' AIDA not initialized. Run `npx aida init` first.\n'));
27
61
  return;
28
62
  }
63
+ const conflicted = findConflictedFiles(projectRoot);
64
+ if (conflicted.length > 0) {
65
+ console.log(yellow(` ⚠ ${conflicted.length} AIDA JSON file(s) have unresolved git merge conflicts:`));
66
+ for (const f of conflicted) {
67
+ console.log(` - ${f.replace(projectRoot + '/', '')}`);
68
+ }
69
+ console.log(yellow('\n Run `aida merge` to auto-resolve conflicts before running doctor.\n'));
70
+ return;
71
+ }
29
72
  const fix = hasFixFlag();
30
73
  if (fix) {
31
74
  const normalized = normalizeProject(projectRoot);
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ type MergeStatus = 'merged' | 'no-conflict' | 'missing' | 'error';
2
+ interface MergeCountResult {
3
+ status: MergeStatus;
4
+ merged: number;
5
+ missing: number;
6
+ errors: number;
7
+ }
8
+ export interface MergeDataSummary {
9
+ memoryIndex: MergeCountResult;
10
+ moduleMemories: MergeCountResult;
11
+ contexts: MergeCountResult;
12
+ requirements: MergeCountResult;
13
+ runs: MergeCountResult;
14
+ rebuiltMemoryViews: boolean;
15
+ }
16
+ export declare function mergeAidaJsonData(projectRoot: string): MergeDataSummary;
17
+ export declare function mergeData(): Promise<void>;
18
+ export {};
19
+ //# sourceMappingURL=merge-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-data.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/merge-data.ts"],"names":[],"mappings":"AAgDA,KAAK,WAAW,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;AAElE,UAAU,gBAAgB;IACxB,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AA4iBD,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,gBAAgB,CAAA;IAC7B,cAAc,EAAE,gBAAgB,CAAA;IAChC,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,YAAY,EAAE,gBAAgB,CAAA;IAC9B,IAAI,EAAE,gBAAgB,CAAA;IACtB,kBAAkB,EAAE,OAAO,CAAA;CAC5B;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAkEvE;AAcD,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CA0C/C"}
@@ -0,0 +1,624 @@
1
+ import { readdirSync, statSync } from 'node:fs';
2
+ import { resolve } from 'node:path';
3
+ import { green, red, yellow } from '../../utils/display.js';
4
+ import { fileExists, readText, extractConflictSections, writeJson, } from '../../utils/fs.js';
5
+ import { aidaDir, configPath, memoryIndexPath, moduleMemoriesDir, runsDir, } from '../../utils/paths.js';
6
+ import { buildMemoryViews, loadMemoryIndex, loadModuleMemory, normalizeModuleKey, saveModuleMemory, } from '../../utils/memory.js';
7
+ import { normalizeRunData, recalcMetrics, resolveCurrentTaskId } from '../../internal/runtime/state.js';
8
+ function uniqueStrings(values) {
9
+ const result = [];
10
+ const seen = new Set();
11
+ for (const value of values) {
12
+ const normalized = `${value || ''}`.trim();
13
+ if (!normalized || seen.has(normalized))
14
+ continue;
15
+ seen.add(normalized);
16
+ result.push(normalized);
17
+ }
18
+ return result;
19
+ }
20
+ function latestIso(a, b) {
21
+ if (!a)
22
+ return b || '';
23
+ if (!b)
24
+ return a;
25
+ return new Date(a).getTime() >= new Date(b).getTime() ? a : b;
26
+ }
27
+ function pickLatestString(current, incoming, currentUpdatedAt, incomingUpdatedAt) {
28
+ const currentValue = (current || '').trim();
29
+ const incomingValue = (incoming || '').trim();
30
+ if (!currentValue)
31
+ return incomingValue;
32
+ if (!incomingValue)
33
+ return currentValue;
34
+ return latestIso(currentUpdatedAt, incomingUpdatedAt) === incomingUpdatedAt ? incomingValue : currentValue;
35
+ }
36
+ function parseConflictJsonObject(raw) {
37
+ const trimmed = raw.trim();
38
+ if (!trimmed || trimmed === 'null')
39
+ return null;
40
+ try {
41
+ return JSON.parse(trimmed);
42
+ }
43
+ catch {
44
+ return null;
45
+ }
46
+ }
47
+ function hasConflict(filePath) {
48
+ if (!fileExists(filePath))
49
+ return false;
50
+ const raw = readText(filePath);
51
+ return raw.includes('<<<<<<<') || raw.includes('>>>>>>>');
52
+ }
53
+ function mergeByKey(items, keyOf, mergeItem) {
54
+ const map = new Map();
55
+ for (const item of items) {
56
+ const key = keyOf(item);
57
+ const existing = map.get(key);
58
+ map.set(key, existing ? mergeItem(existing, item) : item);
59
+ }
60
+ return [...map.values()];
61
+ }
62
+ function mergeIndexEntry(current, incoming) {
63
+ const useIncoming = latestIso(current.updatedAt, incoming.updatedAt) === incoming.updatedAt;
64
+ return {
65
+ key: current.key || incoming.key,
66
+ title: pickLatestString(current.title, incoming.title, current.updatedAt, incoming.updatedAt),
67
+ summary: pickLatestString(current.summary, incoming.summary, current.updatedAt, incoming.updatedAt),
68
+ keywords: uniqueStrings([...current.keywords, ...incoming.keywords]),
69
+ paths: uniqueStrings([...current.paths, ...incoming.paths]),
70
+ tickets: uniqueStrings([...(current.tickets || []), ...(incoming.tickets || [])]),
71
+ updatedAt: useIncoming ? incoming.updatedAt : current.updatedAt,
72
+ };
73
+ }
74
+ function mergeMemoryIndex(ours, theirs) {
75
+ const mergedModules = mergeByKey([...((ours?.items || ours?.modules || [])), ...((theirs?.items || theirs?.modules || []))], (item) => normalizeModuleKey(item.key), (current, incoming) => mergeIndexEntry({ ...current, key: normalizeModuleKey(current.key) }, { ...incoming, key: normalizeModuleKey(incoming.key) })).sort((a, b) => a.key.localeCompare(b.key));
76
+ return {
77
+ schemaVersion: '2.0',
78
+ updatedAt: latestIso(ours?.updatedAt, theirs?.updatedAt),
79
+ items: mergedModules,
80
+ };
81
+ }
82
+ function hydrateModuleMemoryFromIndex(projectRoot, entry) {
83
+ const moduleKey = normalizeModuleKey(entry.key);
84
+ if (!moduleKey)
85
+ return;
86
+ const existing = loadModuleMemory(projectRoot, moduleKey);
87
+ if (existing) {
88
+ saveModuleMemory(projectRoot, {
89
+ ...existing,
90
+ moduleKey,
91
+ title: existing.title || entry.title || moduleKey,
92
+ summary: existing.summary || entry.summary || '',
93
+ keywords: uniqueStrings([...(existing.keywords || []), moduleKey, entry.title, ...(entry.keywords || [])]),
94
+ entryFiles: uniqueStrings([...(existing.entryFiles || []), ...(entry.paths || [])]),
95
+ relatedPaths: uniqueStrings([...(existing.relatedPaths || []), ...(entry.paths || [])]),
96
+ updatedAt: latestIso(existing.updatedAt, entry.updatedAt) || existing.updatedAt || entry.updatedAt || new Date().toISOString(),
97
+ });
98
+ return;
99
+ }
100
+ saveModuleMemory(projectRoot, {
101
+ schemaVersion: '2.0',
102
+ moduleKey,
103
+ title: entry.title || moduleKey,
104
+ summary: entry.summary || '',
105
+ keywords: uniqueStrings([moduleKey, entry.title, ...(entry.keywords || [])]),
106
+ entryFiles: uniqueStrings(entry.paths || []),
107
+ relatedPaths: uniqueStrings(entry.paths || []),
108
+ dataFlow: [],
109
+ decisions: [],
110
+ constraints: [],
111
+ pitfalls: [],
112
+ relatedRules: [],
113
+ tickets: [],
114
+ changes: [],
115
+ updatedAt: entry.updatedAt || new Date().toISOString(),
116
+ });
117
+ }
118
+ function hydrateMissingModuleMemoriesFromIndex(projectRoot) {
119
+ const index = loadMemoryIndex(projectRoot);
120
+ for (const entry of index.items) {
121
+ hydrateModuleMemoryFromIndex(projectRoot, entry);
122
+ }
123
+ }
124
+ function mergeModuleMemoryRecord(current, incoming) {
125
+ const useIncoming = latestIso(current.updatedAt, incoming.updatedAt) === incoming.updatedAt;
126
+ const mergedTickets = mergeByKey([...current.tickets, ...incoming.tickets], (item) => `${item.ticket || ''}|${item.branch || ''}`, (left, right) => ({
127
+ ticket: left.ticket || right.ticket,
128
+ branch: left.branch || right.branch,
129
+ summary: pickLatestString(left.summary, right.summary, left.updatedAt, right.updatedAt),
130
+ updatedAt: latestIso(left.updatedAt, right.updatedAt),
131
+ }));
132
+ const mergedChanges = mergeByKey([...(current.changes || []), ...(incoming.changes || [])], (item) => item.ticket || item.branch
133
+ ? `${item.ticket || ''}|${item.branch || ''}`
134
+ : `${item.title || ''}|${item.summary}`, (left, right) => ({
135
+ ticket: left.ticket || right.ticket,
136
+ branch: left.branch || right.branch,
137
+ title: pickLatestString(left.title, right.title, left.updatedAt, right.updatedAt) || undefined,
138
+ summary: pickLatestString(left.summary, right.summary, left.updatedAt, right.updatedAt),
139
+ updatedAt: latestIso(left.updatedAt, right.updatedAt),
140
+ }));
141
+ return {
142
+ schemaVersion: '2.0',
143
+ moduleKey: current.moduleKey || incoming.moduleKey,
144
+ title: pickLatestString(current.title, incoming.title, current.updatedAt, incoming.updatedAt),
145
+ summary: pickLatestString(current.summary, incoming.summary, current.updatedAt, incoming.updatedAt),
146
+ keywords: uniqueStrings([...current.keywords, ...incoming.keywords]),
147
+ entryFiles: uniqueStrings([...current.entryFiles, ...incoming.entryFiles]),
148
+ relatedPaths: uniqueStrings([...current.relatedPaths, ...incoming.relatedPaths]),
149
+ dataFlow: uniqueStrings([...current.dataFlow, ...incoming.dataFlow]),
150
+ decisions: uniqueStrings([...current.decisions, ...incoming.decisions]),
151
+ constraints: uniqueStrings([...current.constraints, ...incoming.constraints]),
152
+ pitfalls: uniqueStrings([...current.pitfalls, ...incoming.pitfalls]),
153
+ relatedRules: uniqueStrings([...current.relatedRules, ...incoming.relatedRules]),
154
+ tickets: mergedTickets,
155
+ changes: mergedChanges,
156
+ updatedAt: useIncoming ? incoming.updatedAt : current.updatedAt,
157
+ };
158
+ }
159
+ function mergeRunContextRecord(current, incoming) {
160
+ const useIncoming = latestIso(current.updatedAt, incoming.updatedAt) === incoming.updatedAt;
161
+ return {
162
+ branch: current.branch || incoming.branch,
163
+ ticket: pickLatestString(current.ticket, incoming.ticket, current.updatedAt, incoming.updatedAt) || undefined,
164
+ title: pickLatestString(current.title, incoming.title, current.updatedAt, incoming.updatedAt),
165
+ summary: pickLatestString(current.summary, incoming.summary, current.updatedAt, incoming.updatedAt),
166
+ currentPhase: pickLatestString(current.currentPhase, incoming.currentPhase, current.updatedAt, incoming.updatedAt),
167
+ modules: uniqueStrings([...current.modules, ...incoming.modules]),
168
+ completed: uniqueStrings([...current.completed, ...incoming.completed]),
169
+ inProgress: uniqueStrings([...current.inProgress, ...incoming.inProgress]),
170
+ next: uniqueStrings([...current.next, ...incoming.next]),
171
+ decisions: uniqueStrings([...current.decisions, ...incoming.decisions]),
172
+ constraints: uniqueStrings([...current.constraints, ...incoming.constraints]),
173
+ keyFiles: uniqueStrings([...current.keyFiles, ...incoming.keyFiles]),
174
+ risks: uniqueStrings([...current.risks, ...incoming.risks]),
175
+ updatedAt: useIncoming ? incoming.updatedAt : current.updatedAt,
176
+ };
177
+ }
178
+ function mergeRequirementModule(current, incoming) {
179
+ return {
180
+ id: current.id || incoming.id,
181
+ name: pickLatestString(current.name, incoming.name),
182
+ description: pickLatestString(current.description, incoming.description),
183
+ assignee: incoming.assignee || current.assignee,
184
+ };
185
+ }
186
+ function mergeRequirementPhase(current, incoming) {
187
+ return {
188
+ phase: current.phase || incoming.phase,
189
+ file: current.file || incoming.file,
190
+ title: pickLatestString(current.title, incoming.title),
191
+ confirmedAt: latestIso(current.confirmedAt || undefined, incoming.confirmedAt || undefined) || null,
192
+ };
193
+ }
194
+ function mergeDeveloper(current, incoming) {
195
+ return {
196
+ name: current.name || incoming.name,
197
+ modules: uniqueStrings([...current.modules, ...incoming.modules]),
198
+ tasks: Math.max(current.tasks, incoming.tasks),
199
+ completedTasks: Math.max(current.completedTasks, incoming.completedTasks),
200
+ bugs: Math.max(current.bugs, incoming.bugs),
201
+ deviations: Math.max(current.deviations, incoming.deviations),
202
+ linesAdded: Math.max(current.linesAdded, incoming.linesAdded),
203
+ linesRemoved: Math.max(current.linesRemoved, incoming.linesRemoved),
204
+ firstPassRate: Math.max(current.firstPassRate, incoming.firstPassRate),
205
+ actualWorkSeconds: Math.max(current.actualWorkSeconds, incoming.actualWorkSeconds),
206
+ totalTokens: Math.max(current.totalTokens, incoming.totalTokens),
207
+ };
208
+ }
209
+ function mergeRequirementRecord(current, incoming) {
210
+ const developers = mergeByKey([...current.developers, ...incoming.developers], (item) => item.name, mergeDeveloper).sort((a, b) => a.name.localeCompare(b.name));
211
+ const modules = mergeByKey([...current.modules, ...incoming.modules], (item) => item.id || item.name, mergeRequirementModule);
212
+ const prdPhases = mergeByKey([...current.prdPhases, ...incoming.prdPhases], (item) => `${item.phase}|${item.file}`, mergeRequirementPhase);
213
+ const highlights = mergeByKey([...current.highlights, ...incoming.highlights], (item) => `${item.content}|${item.createdAt}`, (left) => left);
214
+ return {
215
+ branch: current.branch || incoming.branch,
216
+ title: pickLatestString(current.title, incoming.title, current.updatedAt, incoming.updatedAt),
217
+ summary: pickLatestString(current.summary, incoming.summary, current.updatedAt, incoming.updatedAt),
218
+ prdPhases,
219
+ modules,
220
+ highlights,
221
+ developers,
222
+ totals: {
223
+ tasks: developers.reduce((sum, item) => sum + item.tasks, 0),
224
+ completedTasks: developers.reduce((sum, item) => sum + item.completedTasks, 0),
225
+ bugs: developers.reduce((sum, item) => sum + item.bugs, 0),
226
+ deviations: developers.reduce((sum, item) => sum + item.deviations, 0),
227
+ linesAdded: developers.reduce((sum, item) => sum + item.linesAdded, 0),
228
+ linesRemoved: developers.reduce((sum, item) => sum + item.linesRemoved, 0),
229
+ totalTokens: developers.reduce((sum, item) => sum + item.totalTokens, 0),
230
+ },
231
+ createdAt: current.createdAt || incoming.createdAt,
232
+ updatedAt: latestIso(current.updatedAt, incoming.updatedAt),
233
+ };
234
+ }
235
+ const taskStatusRank = {
236
+ pending: 0,
237
+ 'in-progress': 1,
238
+ done: 2,
239
+ };
240
+ function mergeTask(current, incoming) {
241
+ const currentRank = taskStatusRank[current.status];
242
+ const incomingRank = taskStatusRank[incoming.status];
243
+ const preferred = incomingRank >= currentRank ? incoming : current;
244
+ const other = preferred === incoming ? current : incoming;
245
+ return {
246
+ ...preferred,
247
+ title: pickLatestString(current.title, incoming.title),
248
+ stageName: pickLatestString(current.stageName, incoming.stageName),
249
+ prdPhase: pickLatestString(current.prdPhase, incoming.prdPhase),
250
+ acceptance: pickLatestString(current.acceptance, incoming.acceptance) || undefined,
251
+ createdAt: current.createdAt || incoming.createdAt,
252
+ startedAt: latestIso(current.startedAt, incoming.startedAt) || current.startedAt || incoming.startedAt,
253
+ completedAt: latestIso(current.completedAt || undefined, incoming.completedAt || undefined) || preferred.completedAt || other.completedAt || null,
254
+ status: currentRank === incomingRank ? preferred.status : (incomingRank > currentRank ? incoming.status : current.status),
255
+ };
256
+ }
257
+ function mergeBug(current, incoming) {
258
+ const status = current.status === 'fixed' || incoming.status === 'fixed' ? 'fixed' : 'open';
259
+ const severityOrder = { low: 0, medium: 1, high: 2, critical: 3 };
260
+ return {
261
+ ...current,
262
+ ...incoming,
263
+ title: pickLatestString(current.title, incoming.title),
264
+ severity: severityOrder[current.severity] >= severityOrder[incoming.severity] ? current.severity : incoming.severity,
265
+ source: current.source || incoming.source,
266
+ status,
267
+ files: uniqueStrings([...current.files, ...incoming.files]),
268
+ fix: pickLatestString(current.fix || undefined, incoming.fix || undefined) || null,
269
+ taskId: incoming.taskId || current.taskId || null,
270
+ reportedAt: current.reportedAt || incoming.reportedAt,
271
+ fixedAt: latestIso(current.fixedAt || undefined, incoming.fixedAt || undefined) || null,
272
+ };
273
+ }
274
+ function mergeDeviation(current, incoming) {
275
+ return {
276
+ ...current,
277
+ ...incoming,
278
+ title: pickLatestString(current.title, incoming.title),
279
+ aiOutput: pickLatestString(current.aiOutput, incoming.aiOutput) || undefined,
280
+ expectedOutput: pickLatestString(current.expectedOutput, incoming.expectedOutput) || undefined,
281
+ files: uniqueStrings([...current.files, ...incoming.files]),
282
+ ruleSedimented: incoming.ruleSedimented ?? current.ruleSedimented,
283
+ detectedAt: current.detectedAt || incoming.detectedAt,
284
+ fixedAt: latestIso(current.fixedAt || undefined, incoming.fixedAt || undefined) || null,
285
+ };
286
+ }
287
+ function mergeReview(current, incoming) {
288
+ const preferred = latestIso(current.reviewedAt, incoming.reviewedAt) === incoming.reviewedAt ? incoming : current;
289
+ return {
290
+ ...preferred,
291
+ taskId: incoming.taskId || current.taskId || null,
292
+ scope: pickLatestString(current.scope, incoming.scope),
293
+ result: preferred.result,
294
+ issueCount: Math.max(current.issueCount, incoming.issueCount),
295
+ issues: uniqueStrings([...(current.issues || []), ...(incoming.issues || [])]),
296
+ reviewedAt: preferred.reviewedAt,
297
+ };
298
+ }
299
+ function mergeRuleItem(current, incoming) {
300
+ const preferred = latestIso(current.sedimentedAt || undefined, incoming.sedimentedAt || undefined) === incoming.sedimentedAt ? incoming : current;
301
+ return {
302
+ ...preferred,
303
+ content: pickLatestString(current.content, incoming.content),
304
+ category: pickLatestString(current.category, incoming.category) || undefined,
305
+ sourceDeviation: incoming.sourceDeviation || current.sourceDeviation || null,
306
+ sedimentedAt: latestIso(current.sedimentedAt || undefined, incoming.sedimentedAt || undefined) || null,
307
+ file: pickLatestString(current.file, incoming.file),
308
+ status: incoming.status || current.status,
309
+ };
310
+ }
311
+ function mergeFileItem(current, incoming) {
312
+ const changeType = current.changeType === incoming.changeType
313
+ ? current.changeType
314
+ : (current.changeType === 'deleted' || incoming.changeType === 'deleted' ? 'deleted' : 'modified');
315
+ return {
316
+ path: current.path || incoming.path,
317
+ changeType,
318
+ linesAdded: Math.max(current.linesAdded, incoming.linesAdded),
319
+ linesRemoved: Math.max(current.linesRemoved, incoming.linesRemoved),
320
+ changeCount: Math.max(current.changeCount, incoming.changeCount),
321
+ lastModified: latestIso(current.lastModified, incoming.lastModified) || undefined,
322
+ };
323
+ }
324
+ function mergeWorkflow(current, incoming) {
325
+ const statusRank = {
326
+ pending: 0,
327
+ in_progress: 1,
328
+ completed: 2,
329
+ failed: 3,
330
+ };
331
+ const preferred = statusRank[incoming.status] >= statusRank[current.status] ? incoming : current;
332
+ return {
333
+ ...preferred,
334
+ stage: pickLatestString(current.stage, incoming.stage),
335
+ prdPhase: pickLatestString(current.prdPhase, incoming.prdPhase) || undefined,
336
+ startTime: current.startTime || incoming.startTime,
337
+ endTime: latestIso(current.endTime, incoming.endTime) || undefined,
338
+ };
339
+ }
340
+ function recalcRunSummary(data) {
341
+ data.summary.totalTasks = data.tasks.length;
342
+ data.summary.completedTasks = data.tasks.filter((item) => item.status === 'done').length;
343
+ data.summary.bugCount = data.bugs.length;
344
+ data.summary.deviationCount = data.deviations.length;
345
+ data.summary.reviewCount = data.reviews.length;
346
+ data.summary.reviewPassCount = data.reviews.filter((item) => item.result === 'pass').length;
347
+ data.summary.reviewFailCount = data.reviews.filter((item) => item.result === 'fail').length;
348
+ data.summary.rulesSedimented = data.rules.filter((item) => item.status !== 'pending').length;
349
+ data.summary.prdPhaseCount = uniqueStrings(data.tasks.map((item) => item.prdPhase)).length;
350
+ data.summary.filesChanged = data.files.length;
351
+ data.summary.linesAdded = data.files.reduce((sum, item) => sum + (item.linesAdded || 0), 0);
352
+ data.summary.linesRemoved = data.files.reduce((sum, item) => sum + (item.linesRemoved || 0), 0);
353
+ }
354
+ function mergeRunDataRecord(currentRaw, incomingRaw) {
355
+ const current = normalizeRunData(currentRaw);
356
+ const incoming = normalizeRunData(incomingRaw);
357
+ const merged = normalizeRunData({
358
+ ...current,
359
+ ...incoming,
360
+ meta: {
361
+ ...current.meta,
362
+ ...incoming.meta,
363
+ schemaVersion: incoming.meta.schemaVersion || current.meta.schemaVersion,
364
+ branch: current.meta.branch || incoming.meta.branch,
365
+ developer: current.meta.developer || incoming.meta.developer,
366
+ project: pickLatestString(current.meta.project, incoming.meta.project),
367
+ aiModel: pickLatestString(current.meta.aiModel, incoming.meta.aiModel),
368
+ aiTool: pickLatestString(current.meta.aiTool, incoming.meta.aiTool),
369
+ startTime: current.meta.startTime || incoming.meta.startTime,
370
+ endTime: latestIso(current.meta.endTime, incoming.meta.endTime) || undefined,
371
+ status: pickLatestString(current.meta.status, incoming.meta.status),
372
+ prdPhases: uniqueStrings([...(current.meta.prdPhases || []), ...(incoming.meta.prdPhases || [])]),
373
+ },
374
+ summary: { ...current.summary, ...incoming.summary },
375
+ metrics: { ...current.metrics, ...incoming.metrics },
376
+ context: {
377
+ ...current.context,
378
+ ...incoming.context,
379
+ currentStage: pickLatestString(current.context.currentStage, incoming.context.currentStage) || undefined,
380
+ currentPrdPhase: pickLatestString(current.context.currentPrdPhase, incoming.context.currentPrdPhase) || undefined,
381
+ currentTaskId: undefined,
382
+ lastUpdated: latestIso(current.context.lastUpdated, incoming.context.lastUpdated) || undefined,
383
+ },
384
+ tasks: mergeByKey([...current.tasks, ...incoming.tasks], (item) => item.taskId, mergeTask),
385
+ bugs: mergeByKey([...current.bugs, ...incoming.bugs], (item) => item.bugId, mergeBug),
386
+ deviations: mergeByKey([...current.deviations, ...incoming.deviations], (item) => item.deviationId, mergeDeviation),
387
+ reviews: mergeByKey([...current.reviews, ...incoming.reviews], (item) => item.reviewId, mergeReview),
388
+ rules: mergeByKey([...current.rules, ...incoming.rules], (item) => item.ruleId, mergeRuleItem),
389
+ files: mergeByKey([...current.files, ...incoming.files], (item) => item.path, mergeFileItem),
390
+ timeline: mergeByKey([...current.timeline, ...incoming.timeline], (item) => `${item.type}|${item.title}|${item.timestamp}`, (left) => left)
391
+ .sort((a, b) => a.timestamp.localeCompare(b.timestamp)),
392
+ workflow: mergeByKey([...current.workflow, ...incoming.workflow], (item) => `${item.stage}|${item.prdPhase || ''}`, mergeWorkflow),
393
+ events: mergeByKey([...current.events, ...incoming.events], (item) => `${item.type}|${item.time}|${JSON.stringify(item.data)}`, (left) => left)
394
+ .sort((a, b) => a.time.localeCompare(b.time)),
395
+ cost: {
396
+ ...current.cost,
397
+ ...incoming.cost,
398
+ totalTokens: Math.max(current.cost.totalTokens || 0, incoming.cost.totalTokens || 0),
399
+ estimatedManualHours: Math.max(current.cost.estimatedManualHours || 0, incoming.cost.estimatedManualHours || 0),
400
+ actualHours: Math.max(current.cost.actualHours || 0, incoming.cost.actualHours || 0),
401
+ tokenBreakdown: mergeByKey([...(current.cost.tokenBreakdown || []), ...(incoming.cost.tokenBreakdown || [])], (item) => item.stage, (left, right) => ({ stage: left.stage || right.stage, tokens: Math.max(left.tokens, right.tokens) })),
402
+ tokenDetail: current.cost.tokenDetail || incoming.cost.tokenDetail
403
+ ? {
404
+ inputTokens: Math.max(current.cost.tokenDetail?.inputTokens || 0, incoming.cost.tokenDetail?.inputTokens || 0),
405
+ outputTokens: Math.max(current.cost.tokenDetail?.outputTokens || 0, incoming.cost.tokenDetail?.outputTokens || 0),
406
+ cacheCreationTokens: Math.max(current.cost.tokenDetail?.cacheCreationTokens || 0, incoming.cost.tokenDetail?.cacheCreationTokens || 0),
407
+ cacheReadTokens: Math.max(current.cost.tokenDetail?.cacheReadTokens || 0, incoming.cost.tokenDetail?.cacheReadTokens || 0),
408
+ }
409
+ : undefined,
410
+ },
411
+ highlights: mergeByKey([...current.highlights, ...incoming.highlights], (item) => `${item.content}|${item.createdAt}`, (left) => left),
412
+ });
413
+ recalcRunSummary(merged);
414
+ merged.context.currentTaskId = resolveCurrentTaskId(merged.tasks);
415
+ const activeTask = merged.tasks.find((item) => item.taskId === merged.context.currentTaskId);
416
+ merged.context.currentStage = activeTask?.stageName;
417
+ merged.context.currentPrdPhase = activeTask?.prdPhase;
418
+ recalcMetrics(merged);
419
+ return merged;
420
+ }
421
+ function mergeConflictFile(filePath, mergeObjects) {
422
+ if (!fileExists(filePath))
423
+ return 'missing';
424
+ const raw = readText(filePath);
425
+ if (!raw.includes('<<<<<<<') && !raw.includes('>>>>>>>'))
426
+ return 'no-conflict';
427
+ const sections = extractConflictSections(raw);
428
+ if (!sections)
429
+ return 'error';
430
+ const ours = parseConflictJsonObject(sections.ours);
431
+ const theirs = parseConflictJsonObject(sections.theirs);
432
+ const merged = mergeObjects(ours, theirs);
433
+ writeJson(filePath, merged);
434
+ return 'merged';
435
+ }
436
+ function walkJsonTargets(rootDir, targetName) {
437
+ if (!fileExists(rootDir))
438
+ return [];
439
+ const results = [];
440
+ const stack = [rootDir];
441
+ while (stack.length > 0) {
442
+ const current = stack.pop();
443
+ for (const name of readdirSync(current)) {
444
+ const fullPath = resolve(current, name);
445
+ const stat = statSync(fullPath);
446
+ if (stat.isDirectory())
447
+ stack.push(fullPath);
448
+ else if (name === targetName)
449
+ results.push(fullPath);
450
+ }
451
+ }
452
+ return results.sort();
453
+ }
454
+ function walkMemoryModuleFiles(rootDir) {
455
+ if (!fileExists(rootDir))
456
+ return [];
457
+ const results = [];
458
+ const stack = [rootDir];
459
+ while (stack.length > 0) {
460
+ const current = stack.pop();
461
+ for (const name of readdirSync(current)) {
462
+ const fullPath = resolve(current, name);
463
+ const stat = statSync(fullPath);
464
+ if (stat.isDirectory())
465
+ stack.push(fullPath);
466
+ else if (name.endsWith('.json'))
467
+ results.push(fullPath);
468
+ }
469
+ }
470
+ return results.sort();
471
+ }
472
+ function mergeFixedFile(filePath, merger, counters) {
473
+ const status = mergeConflictFile(filePath, merger);
474
+ if (status === 'merged')
475
+ counters.merged++;
476
+ else if (status === 'missing')
477
+ counters.missing++;
478
+ else if (status === 'error')
479
+ counters.errors++;
480
+ }
481
+ function mergeModuleFiles(files, merger) {
482
+ const counters = { status: 'no-conflict', merged: 0, missing: 0, errors: 0 };
483
+ for (const filePath of files) {
484
+ if (!hasConflict(filePath))
485
+ continue;
486
+ const status = mergeConflictFile(filePath, (ours, theirs) => merger(ours, theirs));
487
+ if (status === 'merged')
488
+ counters.merged++;
489
+ else if (status === 'error')
490
+ counters.errors++;
491
+ }
492
+ counters.status = counters.errors > 0 ? 'error' : counters.merged > 0 ? 'merged' : 'no-conflict';
493
+ return counters;
494
+ }
495
+ function mergeRunFiles(files) {
496
+ const counters = { status: 'no-conflict', merged: 0, missing: 0, errors: 0 };
497
+ for (const filePath of files) {
498
+ if (!hasConflict(filePath))
499
+ continue;
500
+ const status = mergeConflictFile(filePath, (ours, theirs) => mergeRunDataRecord(ours, theirs));
501
+ if (status === 'merged')
502
+ counters.merged++;
503
+ else if (status === 'error')
504
+ counters.errors++;
505
+ }
506
+ counters.status = counters.errors > 0 ? 'error' : counters.merged > 0 ? 'merged' : 'no-conflict';
507
+ return counters;
508
+ }
509
+ export function mergeAidaJsonData(projectRoot) {
510
+ const summary = {
511
+ memoryIndex: { status: 'missing', merged: 0, missing: 1, errors: 0 },
512
+ moduleMemories: { status: 'missing', merged: 0, missing: 0, errors: 0 },
513
+ contexts: { status: 'missing', merged: 0, missing: 0, errors: 0 },
514
+ requirements: { status: 'missing', merged: 0, missing: 0, errors: 0 },
515
+ runs: { status: 'missing', merged: 0, missing: 0, errors: 0 },
516
+ rebuiltMemoryViews: false,
517
+ };
518
+ if (!fileExists(configPath(projectRoot)) || !fileExists(aidaDir(projectRoot))) {
519
+ return summary;
520
+ }
521
+ const memoryIndex = memoryIndexPath(projectRoot);
522
+ if (fileExists(memoryIndex)) {
523
+ summary.memoryIndex = { status: 'no-conflict', merged: 0, missing: 0, errors: 0 };
524
+ mergeFixedFile(memoryIndex, mergeMemoryIndex, summary.memoryIndex);
525
+ summary.memoryIndex.status = summary.memoryIndex.errors > 0 ? 'error' : summary.memoryIndex.merged > 0 ? 'merged' : 'no-conflict';
526
+ }
527
+ const moduleFiles = walkMemoryModuleFiles(moduleMemoriesDir(projectRoot));
528
+ summary.moduleMemories = moduleFiles.length === 0
529
+ ? { status: 'missing', merged: 0, missing: 0, errors: 0 }
530
+ : mergeModuleFiles(moduleFiles, mergeModuleMemoryRecord);
531
+ const contextFiles = walkJsonTargets(runsDir(projectRoot), 'context.json');
532
+ summary.contexts = { status: contextFiles.length === 0 ? 'missing' : 'no-conflict', merged: 0, missing: 0, errors: 0 };
533
+ for (const filePath of contextFiles) {
534
+ const status = mergeConflictFile(filePath, (ours, theirs) => mergeRunContextRecord(ours, theirs));
535
+ if (status === 'merged')
536
+ summary.contexts.merged++;
537
+ else if (status === 'error')
538
+ summary.contexts.errors++;
539
+ }
540
+ if (summary.contexts.status !== 'missing') {
541
+ summary.contexts.status = summary.contexts.errors > 0 ? 'error' : summary.contexts.merged > 0 ? 'merged' : 'no-conflict';
542
+ }
543
+ const requirementFiles = walkJsonTargets(runsDir(projectRoot), 'requirement.json');
544
+ summary.requirements = { status: requirementFiles.length === 0 ? 'missing' : 'no-conflict', merged: 0, missing: 0, errors: 0 };
545
+ for (const filePath of requirementFiles) {
546
+ const status = mergeConflictFile(filePath, (ours, theirs) => mergeRequirementRecord(ours, theirs));
547
+ if (status === 'merged')
548
+ summary.requirements.merged++;
549
+ else if (status === 'error')
550
+ summary.requirements.errors++;
551
+ }
552
+ if (summary.requirements.status !== 'missing') {
553
+ summary.requirements.status = summary.requirements.errors > 0 ? 'error' : summary.requirements.merged > 0 ? 'merged' : 'no-conflict';
554
+ }
555
+ const runFiles = walkJsonTargets(runsDir(projectRoot), 'run.json');
556
+ summary.runs = runFiles.length === 0 ? { status: 'missing', merged: 0, missing: 0, errors: 0 } : mergeRunFiles(runFiles);
557
+ const hasAnyMerge = [
558
+ summary.memoryIndex,
559
+ summary.moduleMemories,
560
+ summary.contexts,
561
+ summary.requirements,
562
+ summary.runs,
563
+ ].some((item) => item.status === 'merged');
564
+ if (hasAnyMerge) {
565
+ hydrateMissingModuleMemoriesFromIndex(projectRoot);
566
+ buildMemoryViews(projectRoot);
567
+ summary.rebuiltMemoryViews = true;
568
+ }
569
+ return summary;
570
+ }
571
+ function printLine(label, result) {
572
+ if (result.status === 'merged') {
573
+ console.log(` ${label}: merged, ${result.merged} file(s)`);
574
+ }
575
+ else if (result.status === 'no-conflict') {
576
+ console.log(` ${label}: no conflict`);
577
+ }
578
+ else if (result.status === 'missing') {
579
+ console.log(` ${label}: missing`);
580
+ }
581
+ else {
582
+ console.log(` ${label}: parse error`);
583
+ }
584
+ }
585
+ export async function mergeData() {
586
+ const projectRoot = process.cwd();
587
+ if (!fileExists(configPath(projectRoot))) {
588
+ console.log(red('\n AIDA not initialized. Run `npx aida init` first.\n'));
589
+ return;
590
+ }
591
+ const summary = mergeAidaJsonData(projectRoot);
592
+ const hasError = [
593
+ summary.memoryIndex,
594
+ summary.moduleMemories,
595
+ summary.contexts,
596
+ summary.requirements,
597
+ summary.runs,
598
+ ].some((item) => item.status === 'error');
599
+ if (hasError) {
600
+ console.log(red('\n AIDA data merge finished with parse errors. Resolve the remaining conflicted JSON manually.\n'));
601
+ return;
602
+ }
603
+ const changed = [
604
+ summary.memoryIndex,
605
+ summary.moduleMemories,
606
+ summary.contexts,
607
+ summary.requirements,
608
+ summary.runs,
609
+ ].some((item) => item.status === 'merged');
610
+ if (!changed) {
611
+ console.log(yellow('\n No AIDA JSON conflicts detected.\n'));
612
+ return;
613
+ }
614
+ console.log(green('\n ✓ AIDA data merge completed\n'));
615
+ printLine('memory index', summary.memoryIndex);
616
+ printLine('module memories', summary.moduleMemories);
617
+ printLine('branch contexts', summary.contexts);
618
+ printLine('requirements', summary.requirements);
619
+ printLine('run.json', summary.runs);
620
+ if (summary.rebuiltMemoryViews)
621
+ console.log(' memory views: rebuilt');
622
+ console.log('');
623
+ }
624
+ //# sourceMappingURL=merge-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-data.js","sourceRoot":"","sources":["../../../src/cli/commands/merge-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function merge(): Promise<void>;
2
+ //# sourceMappingURL=merge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/merge.ts"],"names":[],"mappings":"AAkBA,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAoE3C"}
@@ -0,0 +1,82 @@
1
+ import { green, red, yellow } from '../../utils/display.js';
2
+ import { configPath } from '../../utils/paths.js';
3
+ import { fileExists } from '../../utils/fs.js';
4
+ import { buildProjectArtifacts } from '../../utils/ai-build.js';
5
+ import { mergeRuleRegistry } from '../../utils/rules.js';
6
+ import { mergeSkillRegistry } from '../../utils/skills.js';
7
+ import { mergeAidaJsonData } from './merge-data.js';
8
+ function printDataLine(lines, label, result) {
9
+ if (result.status === 'merged') {
10
+ lines.push(` ${label}: merged, ${result.merged} file(s)`);
11
+ }
12
+ else if (result.status === 'no-conflict') {
13
+ lines.push(` ${label}: no conflict`);
14
+ }
15
+ else if (result.status === 'missing') {
16
+ lines.push(` ${label}: missing`);
17
+ }
18
+ }
19
+ export async function merge() {
20
+ const projectRoot = process.cwd();
21
+ if (!fileExists(configPath(projectRoot))) {
22
+ console.log(red('\n AIDA not initialized. Run `npx aida init` first.\n'));
23
+ return;
24
+ }
25
+ const rules = mergeRuleRegistry(projectRoot);
26
+ const skills = mergeSkillRegistry(projectRoot);
27
+ const data = mergeAidaJsonData(projectRoot);
28
+ const dataHasError = [
29
+ data.memoryIndex,
30
+ data.moduleMemories,
31
+ data.contexts,
32
+ data.requirements,
33
+ data.runs,
34
+ ].some((item) => item.status === 'error');
35
+ if (rules.status === 'error' || skills.status === 'error' || dataHasError) {
36
+ console.log(red('\n Merge finished with parse errors. Resolve the remaining conflicted file manually.\n'));
37
+ return;
38
+ }
39
+ const lines = [];
40
+ if (rules.status === 'merged') {
41
+ lines.push(` rules.json: merged, ${rules.total} total (${rules.added} new)`);
42
+ }
43
+ else if (rules.status === 'no-conflict') {
44
+ lines.push(' rules.json: no conflict');
45
+ }
46
+ else if (rules.status === 'missing') {
47
+ lines.push(' rules.json: missing');
48
+ }
49
+ if (skills.status === 'merged') {
50
+ lines.push(` skills.json: merged, ${skills.total} total (${skills.added} new)`);
51
+ }
52
+ else if (skills.status === 'no-conflict') {
53
+ lines.push(' skills.json: no conflict');
54
+ }
55
+ else if (skills.status === 'missing') {
56
+ lines.push(' skills.json: missing');
57
+ }
58
+ printDataLine(lines, 'memory index', data.memoryIndex);
59
+ printDataLine(lines, 'module memories', data.moduleMemories);
60
+ printDataLine(lines, 'branch contexts', data.contexts);
61
+ printDataLine(lines, 'requirements', data.requirements);
62
+ printDataLine(lines, 'run.json', data.runs);
63
+ const changed = rules.status === 'merged'
64
+ || skills.status === 'merged'
65
+ || data.memoryIndex.status === 'merged'
66
+ || data.moduleMemories.status === 'merged'
67
+ || data.contexts.status === 'merged'
68
+ || data.requirements.status === 'merged'
69
+ || data.runs.status === 'merged';
70
+ if (!changed) {
71
+ console.log(yellow('\n No AIDA conflicts detected.\n'));
72
+ return;
73
+ }
74
+ if (rules.status === 'merged' || skills.status === 'merged') {
75
+ buildProjectArtifacts(projectRoot, [], { skipMcpConfig: true });
76
+ }
77
+ console.log(green('\n ✓ AIDA merge completed\n'));
78
+ for (const line of lines)
79
+ console.log(line);
80
+ console.log('');
81
+ }
82
+ //# sourceMappingURL=merge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../src/cli/commands/merge.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -60,6 +60,11 @@ async function main() {
60
60
  await skills();
61
61
  break;
62
62
  }
63
+ case 'merge': {
64
+ const { merge } = await import('./commands/merge.js');
65
+ await merge();
66
+ break;
67
+ }
63
68
  case 'mcp': {
64
69
  const { startMcpServer } = await import('../mcp/server.js');
65
70
  startMcpServer();
@@ -74,6 +79,7 @@ async function main() {
74
79
  aida mcp Start MCP server (stdio mode, for AI tools)
75
80
  aida sync Rebuild memory views and AI-tool artifacts from truth sources
76
81
  aida doctor Inspect and normalize 2.0 JSON truth sources
82
+ aida merge Resolve git merge conflicts in AIDA JSON files
77
83
  aida memory Manage branch context and module memory
78
84
  aida rules Manage project rules registry
79
85
  aida skills Manage project skills registry
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-dev-analytics",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "AIDA 2.0 - AI asset truth-source management for rules, skills, memories, and summaries",
5
5
  "type": "module",
6
6
  "bin": {