ai-dev-analytics 2.0.0 → 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.
Files changed (180) hide show
  1. package/README.en.md +34 -48
  2. package/README.md +52 -458
  3. package/dist/cli/commands/doctor.d.ts.map +1 -1
  4. package/dist/cli/commands/doctor.js +109 -11
  5. package/dist/cli/commands/doctor.js.map +1 -1
  6. package/dist/cli/commands/init.d.ts.map +1 -1
  7. package/dist/cli/commands/init.js +4 -0
  8. package/dist/cli/commands/init.js.map +1 -1
  9. package/dist/cli/commands/memory.d.ts.map +1 -1
  10. package/dist/cli/commands/memory.js +3 -13
  11. package/dist/cli/commands/memory.js.map +1 -1
  12. package/dist/cli/commands/merge-data.d.ts +0 -1
  13. package/dist/cli/commands/merge-data.d.ts.map +1 -1
  14. package/dist/cli/commands/merge-data.js +2 -12
  15. package/dist/cli/commands/merge-data.js.map +1 -1
  16. package/dist/cli/commands/merge.js +4 -4
  17. package/dist/cli/commands/merge.js.map +1 -1
  18. package/dist/cli/commands/rules.d.ts +0 -10
  19. package/dist/cli/commands/rules.d.ts.map +1 -1
  20. package/dist/cli/commands/rules.js +7 -33
  21. package/dist/cli/commands/rules.js.map +1 -1
  22. package/dist/cli/commands/skills.d.ts +0 -5
  23. package/dist/cli/commands/skills.d.ts.map +1 -1
  24. package/dist/cli/commands/skills.js +4 -24
  25. package/dist/cli/commands/skills.js.map +1 -1
  26. package/dist/cli/commands/sync.d.ts.map +1 -1
  27. package/dist/cli/commands/sync.js +6 -15
  28. package/dist/cli/commands/sync.js.map +1 -1
  29. package/dist/cli/index.js +25 -90
  30. package/dist/cli/index.js.map +1 -1
  31. package/dist/{schemas/run-json.d.ts → internal/runtime/schema.d.ts} +4 -18
  32. package/dist/internal/runtime/schema.d.ts.map +1 -0
  33. package/dist/{schemas/run-json.js → internal/runtime/schema.js} +5 -9
  34. package/dist/internal/runtime/schema.js.map +1 -0
  35. package/dist/{utils/run-data.d.ts → internal/runtime/state.d.ts} +7 -8
  36. package/dist/internal/runtime/state.d.ts.map +1 -0
  37. package/dist/{utils/run-data.js → internal/runtime/state.js} +11 -12
  38. package/dist/internal/runtime/state.js.map +1 -0
  39. package/dist/{utils → internal/runtime}/summary.d.ts +2 -2
  40. package/dist/internal/runtime/summary.d.ts.map +1 -0
  41. package/dist/{utils → internal/runtime}/summary.js +4 -4
  42. package/dist/internal/runtime/summary.js.map +1 -0
  43. package/dist/internal/runtime/tokens.d.ts.map +1 -0
  44. package/dist/internal/runtime/tokens.js.map +1 -0
  45. package/dist/mcp/server.js +9 -8
  46. package/dist/mcp/server.js.map +1 -1
  47. package/dist/schemas/aida-project.d.ts +4 -0
  48. package/dist/schemas/aida-project.d.ts.map +1 -1
  49. package/dist/schemas/rules.d.ts +15 -0
  50. package/dist/schemas/rules.d.ts.map +1 -0
  51. package/dist/schemas/rules.js +5 -0
  52. package/dist/schemas/rules.js.map +1 -0
  53. package/dist/services/project-build.d.ts +44 -0
  54. package/dist/services/project-build.d.ts.map +1 -0
  55. package/dist/services/project-build.js +32 -0
  56. package/dist/services/project-build.js.map +1 -0
  57. package/dist/services/project-health.d.ts +14 -0
  58. package/dist/services/project-health.d.ts.map +1 -0
  59. package/dist/services/project-health.js +19 -0
  60. package/dist/services/project-health.js.map +1 -0
  61. package/dist/services/security-audit.d.ts +59 -0
  62. package/dist/services/security-audit.d.ts.map +1 -0
  63. package/dist/services/security-audit.js +638 -0
  64. package/dist/services/security-audit.js.map +1 -0
  65. package/dist/utils/ai-build.d.ts +0 -5
  66. package/dist/utils/ai-build.d.ts.map +1 -1
  67. package/dist/utils/ai-build.js +2 -35
  68. package/dist/utils/ai-build.js.map +1 -1
  69. package/dist/utils/guide.d.ts +3 -3
  70. package/dist/utils/guide.js +6 -6
  71. package/dist/utils/import.d.ts.map +1 -1
  72. package/dist/utils/import.js +4 -15
  73. package/dist/utils/import.js.map +1 -1
  74. package/dist/utils/paths.d.ts +0 -10
  75. package/dist/utils/paths.d.ts.map +1 -1
  76. package/dist/utils/paths.js +1 -17
  77. package/dist/utils/paths.js.map +1 -1
  78. package/dist/utils/project-health.d.ts +1 -0
  79. package/dist/utils/project-health.d.ts.map +1 -1
  80. package/dist/utils/project-health.js +26 -3
  81. package/dist/utils/project-health.js.map +1 -1
  82. package/dist/utils/rules.d.ts +11 -1
  83. package/dist/utils/rules.d.ts.map +1 -1
  84. package/dist/utils/rules.js +27 -1
  85. package/dist/utils/rules.js.map +1 -1
  86. package/dist/utils/skills.d.ts +6 -10
  87. package/dist/utils/skills.d.ts.map +1 -1
  88. package/dist/utils/skills.js +23 -67
  89. package/dist/utils/skills.js.map +1 -1
  90. package/package.json +12 -14
  91. package/dist/cli/commands/build.d.ts +0 -2
  92. package/dist/cli/commands/build.d.ts.map +0 -1
  93. package/dist/cli/commands/build.js +0 -55
  94. package/dist/cli/commands/build.js.map +0 -1
  95. package/dist/cli/commands/dashboard.d.ts +0 -2
  96. package/dist/cli/commands/dashboard.d.ts.map +0 -1
  97. package/dist/cli/commands/dashboard.js +0 -70
  98. package/dist/cli/commands/dashboard.js.map +0 -1
  99. package/dist/cli/commands/import.d.ts +0 -2
  100. package/dist/cli/commands/import.d.ts.map +0 -1
  101. package/dist/cli/commands/import.js +0 -71
  102. package/dist/cli/commands/import.js.map +0 -1
  103. package/dist/cli/commands/log.d.ts +0 -2
  104. package/dist/cli/commands/log.d.ts.map +0 -1
  105. package/dist/cli/commands/log.js +0 -440
  106. package/dist/cli/commands/log.js.map +0 -1
  107. package/dist/cli/commands/migrate-dir.d.ts +0 -6
  108. package/dist/cli/commands/migrate-dir.d.ts.map +0 -1
  109. package/dist/cli/commands/migrate-dir.js +0 -125
  110. package/dist/cli/commands/migrate-dir.js.map +0 -1
  111. package/dist/cli/commands/migrate-legacy.d.ts +0 -2
  112. package/dist/cli/commands/migrate-legacy.d.ts.map +0 -1
  113. package/dist/cli/commands/migrate-legacy.js +0 -141
  114. package/dist/cli/commands/migrate-legacy.js.map +0 -1
  115. package/dist/cli/commands/migrate.d.ts +0 -2
  116. package/dist/cli/commands/migrate.d.ts.map +0 -1
  117. package/dist/cli/commands/migrate.js +0 -303
  118. package/dist/cli/commands/migrate.js.map +0 -1
  119. package/dist/cli/commands/reindex.d.ts +0 -14
  120. package/dist/cli/commands/reindex.d.ts.map +0 -1
  121. package/dist/cli/commands/reindex.js +0 -69
  122. package/dist/cli/commands/reindex.js.map +0 -1
  123. package/dist/cli/commands/report.d.ts +0 -2
  124. package/dist/cli/commands/report.d.ts.map +0 -1
  125. package/dist/cli/commands/report.js +0 -224
  126. package/dist/cli/commands/report.js.map +0 -1
  127. package/dist/cli/commands/start.d.ts +0 -2
  128. package/dist/cli/commands/start.d.ts.map +0 -1
  129. package/dist/cli/commands/start.js +0 -155
  130. package/dist/cli/commands/start.js.map +0 -1
  131. package/dist/cli/commands/status.d.ts +0 -2
  132. package/dist/cli/commands/status.d.ts.map +0 -1
  133. package/dist/cli/commands/status.js +0 -70
  134. package/dist/cli/commands/status.js.map +0 -1
  135. package/dist/cli/commands/update.d.ts +0 -2
  136. package/dist/cli/commands/update.d.ts.map +0 -1
  137. package/dist/cli/commands/update.js +0 -74
  138. package/dist/cli/commands/update.js.map +0 -1
  139. package/dist/schemas/run-json.d.ts.map +0 -1
  140. package/dist/schemas/run-json.js.map +0 -1
  141. package/dist/server/api.d.ts +0 -30
  142. package/dist/server/api.d.ts.map +0 -1
  143. package/dist/server/api.js +0 -232
  144. package/dist/server/api.js.map +0 -1
  145. package/dist/server/index.d.ts +0 -2
  146. package/dist/server/index.d.ts.map +0 -1
  147. package/dist/server/index.js +0 -228
  148. package/dist/server/index.js.map +0 -1
  149. package/dist/utils/run-data.d.ts.map +0 -1
  150. package/dist/utils/run-data.js.map +0 -1
  151. package/dist/utils/summary.d.ts.map +0 -1
  152. package/dist/utils/summary.js.map +0 -1
  153. package/dist/utils/tokens.d.ts.map +0 -1
  154. package/dist/utils/tokens.js.map +0 -1
  155. package/src/assets/skills/audit.md +0 -98
  156. package/src/assets/skills/bug-fixer.md +0 -43
  157. package/src/assets/skills/code-generator.md +0 -71
  158. package/src/assets/skills/commit-code.md +0 -67
  159. package/src/assets/skills/dashboard-generator.md +0 -65
  160. package/src/assets/skills/dev-flower.md +0 -85
  161. package/src/assets/skills/deviation-recorder.md +0 -83
  162. package/src/assets/skills/docx-to-markdown.md +0 -69
  163. package/src/assets/skills/mcp-reviewer.md +0 -38
  164. package/src/assets/skills/requirement-analyzer.md +0 -103
  165. package/src/assets/skills/rules-evolver.md +0 -47
  166. package/src/assets/skills/self-reviewer.md +0 -49
  167. package/src/assets/skills/task-splitter.md +0 -60
  168. package/src/assets/skills/workflow-orchestrator.md +0 -209
  169. package/src/assets/templates/demo-run.json +0 -910
  170. package/src/assets/templates/run.json +0 -63
  171. package/src/dashboard/assets/index-B8QcPcg7.css +0 -1
  172. package/src/dashboard/assets/index-DcAl6lhS.js +0 -111
  173. package/src/dashboard/demo/overview.json +0 -71
  174. package/src/dashboard/demo/run.en.json +0 -1169
  175. package/src/dashboard/demo/run.json +0 -2667
  176. package/src/dashboard/demo/run.zh.json +0 -1169
  177. package/src/dashboard/demo/runs.json +0 -19
  178. package/src/dashboard/index.html +0 -13
  179. /package/dist/{utils → internal/runtime}/tokens.d.ts +0 -0
  180. /package/dist/{utils → internal/runtime}/tokens.js +0 -0
@@ -1,125 +0,0 @@
1
- import { readdirSync, renameSync, rmSync, statSync } from 'node:fs';
2
- import { resolve, extname, basename } from 'node:path';
3
- import { cyan, green, red, yellow } from '../../utils/display.js';
4
- import { fileExists, readText, writeText } from '../../utils/fs.js';
5
- const TEXT_EXTENSIONS = new Set([
6
- '.md',
7
- '.json',
8
- '.ts',
9
- '.tsx',
10
- '.js',
11
- '.jsx',
12
- '.mjs',
13
- '.cjs',
14
- '.html',
15
- '.css',
16
- '.txt',
17
- '.toml',
18
- '.yml',
19
- '.yaml',
20
- ]);
21
- function replaceInFile(filePath) {
22
- const ext = extname(filePath);
23
- const name = basename(filePath);
24
- if (!TEXT_EXTENSIONS.has(ext) && !['.gitignore', 'AGENTS.md', 'CLAUDE.md'].includes(name)) {
25
- return false;
26
- }
27
- const raw = readText(filePath);
28
- const next = raw.replace(/\.aidevos/g, '.aida').replace(/aidevos-/g, 'aida-');
29
- if (next === raw)
30
- return false;
31
- writeText(filePath, next);
32
- return true;
33
- }
34
- function walkAndReplace(rootDir) {
35
- if (!fileExists(rootDir))
36
- return 0;
37
- let updated = 0;
38
- const stack = [rootDir];
39
- while (stack.length > 0) {
40
- const current = stack.pop();
41
- for (const name of readdirSync(current)) {
42
- const fullPath = resolve(current, name);
43
- const stat = statSync(fullPath);
44
- if (stat.isDirectory()) {
45
- stack.push(fullPath);
46
- continue;
47
- }
48
- if (replaceInFile(fullPath))
49
- updated++;
50
- }
51
- }
52
- return updated;
53
- }
54
- function normalizeLegacyToolArtifactDirs(projectRoot) {
55
- let updated = 0;
56
- const oldCursorRulesDir = resolve(projectRoot, '.cursor', 'rules', 'aidevos');
57
- const newCursorRulesDir = resolve(projectRoot, '.cursor', 'rules', 'aida');
58
- if (fileExists(oldCursorRulesDir)) {
59
- if (!fileExists(newCursorRulesDir)) {
60
- renameSync(oldCursorRulesDir, newCursorRulesDir);
61
- updated++;
62
- }
63
- else {
64
- for (const name of readdirSync(oldCursorRulesDir)) {
65
- const source = resolve(oldCursorRulesDir, name);
66
- const target = resolve(newCursorRulesDir, name);
67
- if (!fileExists(target)) {
68
- renameSync(source, target);
69
- updated++;
70
- }
71
- }
72
- rmSync(oldCursorRulesDir, { recursive: true, force: true });
73
- updated++;
74
- }
75
- }
76
- return updated;
77
- }
78
- export function migrateLegacyDirectory(projectRoot) {
79
- const oldDir = resolve(projectRoot, '.aidevos');
80
- const newDir = resolve(projectRoot, '.aida');
81
- if (!fileExists(oldDir)) {
82
- if (fileExists(newDir)) {
83
- return { status: 'already-current', updatedFiles: normalizeLegacyToolArtifactDirs(projectRoot) };
84
- }
85
- return { status: 'missing-legacy', updatedFiles: 0 };
86
- }
87
- if (fileExists(newDir)) {
88
- return { status: 'conflict', updatedFiles: 0 };
89
- }
90
- renameSync(oldDir, newDir);
91
- let updatedFiles = 0;
92
- updatedFiles += walkAndReplace(newDir);
93
- for (const topLevel of ['AGENTS.md', 'CLAUDE.md', '.gitignore']) {
94
- const target = resolve(projectRoot, topLevel);
95
- if (fileExists(target) && replaceInFile(target)) {
96
- updatedFiles++;
97
- }
98
- }
99
- updatedFiles += normalizeLegacyToolArtifactDirs(projectRoot);
100
- return { status: 'migrated', updatedFiles };
101
- }
102
- export async function migrateDir() {
103
- const projectRoot = process.cwd();
104
- const result = migrateLegacyDirectory(projectRoot);
105
- if (result.status === 'already-current') {
106
- console.log(green('\n ✓ Project already uses .aida.\n'));
107
- return;
108
- }
109
- if (result.status === 'missing-legacy') {
110
- console.log(yellow('\n No .aidevos directory found.\n'));
111
- return;
112
- }
113
- if (result.status === 'conflict') {
114
- console.log(red('\n Cannot migrate: both .aidevos and .aida exist.\n'));
115
- console.log(' Resolve the duplicate directories first, then run `aida migrate-dir` again.\n');
116
- return;
117
- }
118
- console.log(cyan('\n Migrating project directory: .aidevos -> .aida\n'));
119
- console.log(green(' ✓ Directory renamed') + ': .aida');
120
- console.log(green(' ✓ Updated references') + `: ${result.updatedFiles} text file(s)`);
121
- console.log('\n Next step: run `aida build` to regenerate local AI tool artifacts.');
122
- console.log(' Note: if ignored AI files were already tracked by git before migration, untrack them manually.');
123
- console.log(' Example: git rm --cached .mcp.json AGENTS.md CLAUDE.md\n');
124
- }
125
- //# sourceMappingURL=migrate-dir.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrate-dir.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate-dir.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function migrateLegacy(): Promise<void>;
2
- //# sourceMappingURL=migrate-legacy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrate-legacy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate-legacy.ts"],"names":[],"mappings":"AAuEA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA6EnD"}
@@ -1,141 +0,0 @@
1
- import { cyan, green, red, yellow } from '../../utils/display.js';
2
- import { configPath } from '../../utils/paths.js';
3
- import { fileExists, readJson } from '../../utils/fs.js';
4
- import { buildProjectArtifacts } from '../../utils/ai-build.js';
5
- import { CLOSED_LOOP_BASELINE_TOOLS, detectClosedLoopImportableTools, importProjectSources, importProjectSourcesWithBaseline } from '../../utils/import.js';
6
- import { normalizeProjectTruthSources } from '../../utils/project-health.js';
7
- import { promptSingleSelect } from '../../utils/prompt.js';
8
- import { migrate } from './migrate.js';
9
- import { migrateLegacyDirectory } from './migrate-dir.js';
10
- function requestedBaseline() {
11
- const value = process.argv[3]?.trim();
12
- if (!value)
13
- return null;
14
- const valid = new Set(CLOSED_LOOP_BASELINE_TOOLS);
15
- return valid.has(value) ? value : 'invalid';
16
- }
17
- function toolLabel(tool) {
18
- const labels = {
19
- 'claude-code': 'Claude Code',
20
- cursor: 'Cursor',
21
- 'vscode-copilot': 'VS Code + Copilot',
22
- windsurf: 'Windsurf',
23
- lingma: 'Lingma',
24
- codex: 'Codex',
25
- };
26
- return labels[tool];
27
- }
28
- function printManualUntrackNotice() {
29
- console.log(' Note: if ignored AI files were already tracked by git before migration, untrack them manually.');
30
- console.log(' Example: git rm --cached .mcp.json AGENTS.md CLAUDE.md\n');
31
- }
32
- function configuredToolOrder(projectRoot) {
33
- if (!fileExists(configPath(projectRoot)))
34
- return [];
35
- try {
36
- const config = readJson(configPath(projectRoot));
37
- if (Array.isArray(config.aiTools) && config.aiTools.length > 0)
38
- return config.aiTools;
39
- return config.aiTool ? [config.aiTool] : [];
40
- }
41
- catch {
42
- return [];
43
- }
44
- }
45
- async function resolveBaselineTool(projectRoot) {
46
- const requested = requestedBaseline();
47
- const importable = detectClosedLoopImportableTools(projectRoot, ['claude-code', 'cursor', 'vscode-copilot', 'windsurf', 'lingma', 'codex']);
48
- if (requested === 'invalid') {
49
- throw new Error(`Unknown baseline tool: ${process.argv[3]?.trim()}`);
50
- }
51
- if (requested)
52
- return { tool: requested, prompted: false };
53
- if (importable.length === 0)
54
- return { tool: null, prompted: false };
55
- if (importable.length === 1)
56
- return { tool: importable[0], prompted: false };
57
- const configured = configuredToolOrder(projectRoot);
58
- const options = importable.map((tool) => ({
59
- value: tool,
60
- label: toolLabel(tool),
61
- hint: configured.includes(tool) ? 'configured' : 'detected',
62
- }));
63
- const selected = await promptSingleSelect('Select baseline tool to import into AIDA JSON:', options);
64
- return {
65
- tool: selected || importable[0],
66
- prompted: true,
67
- };
68
- }
69
- export async function migrateLegacy() {
70
- const projectRoot = process.cwd();
71
- console.log(cyan('\n Legacy AIDA Project Migration\n'));
72
- const dirResult = migrateLegacyDirectory(projectRoot);
73
- if (dirResult.status === 'conflict') {
74
- console.log(red(' Cannot migrate: both .aidevos and .aida exist.\n'));
75
- console.log(' Resolve the duplicate directories first, then run `aida migrate-legacy` again.\n');
76
- return;
77
- }
78
- if (dirResult.status === 'missing-legacy' && !fileExists(configPath(projectRoot))) {
79
- console.log(yellow(' No .aidevos directory found and .aida is not initialized.\n'));
80
- return;
81
- }
82
- if (dirResult.status === 'migrated') {
83
- console.log(green(' ✓ Renamed') + ' .aidevos -> .aida');
84
- console.log(green(' ✓ Updated references') + ` ${dirResult.updatedFiles} text file(s)`);
85
- }
86
- else if (dirResult.status === 'already-current') {
87
- console.log(green(' ✓ Project already uses .aida'));
88
- }
89
- if (!fileExists(configPath(projectRoot))) {
90
- console.log(red('\n AIDA config.json was not found after migration.\n'));
91
- return;
92
- }
93
- let baselineTool;
94
- let promptedBaseline = false;
95
- try {
96
- const resolved = await resolveBaselineTool(projectRoot);
97
- baselineTool = resolved.tool;
98
- promptedBaseline = resolved.prompted;
99
- }
100
- catch (error) {
101
- console.log(red(`\n ${error instanceof Error ? error.message : String(error)}\n`));
102
- console.log(` Supported baseline tools: ${CLOSED_LOOP_BASELINE_TOOLS.join(', ')}\n`);
103
- return;
104
- }
105
- if (baselineTool) {
106
- const imported = importProjectSourcesWithBaseline(projectRoot, baselineTool);
107
- await migrate();
108
- const normalized = normalizeProjectTruthSources(projectRoot);
109
- const built = buildProjectArtifacts(projectRoot, imported.tools);
110
- console.log(green('\n ✓ Imported baseline') + ` ${toolLabel(baselineTool)}`);
111
- if (promptedBaseline) {
112
- console.log(` Selected baseline: ${toolLabel(baselineTool)}`);
113
- }
114
- console.log(` Rules: ${imported.baseline.rulesImported}`);
115
- console.log(` Skills: ${imported.baseline.skillsImported}`);
116
- console.log(` Tool configs discovered: ${imported.tools.join(', ') || '-'}`);
117
- console.log(` Memories: ${normalized.memories}`);
118
- console.log(` Summary: ${normalized.summary}`);
119
- console.log(green('\n ✓ Rebuilt artifacts') + ` ${built.tools.join(', ')}`);
120
- if (built.gitignoreAdded.length > 0) {
121
- console.log(` .gitignore: added ${built.gitignoreAdded.join(', ')}`);
122
- }
123
- }
124
- else {
125
- const imported = importProjectSources(projectRoot);
126
- await migrate();
127
- const normalized = normalizeProjectTruthSources(projectRoot);
128
- const built = buildProjectArtifacts(projectRoot, imported.tools);
129
- console.log(yellow('\n No baseline tool detected. Imported structured AIDA sources only.'));
130
- console.log(` Tool configs discovered: ${imported.tools.join(', ') || '-'}`);
131
- console.log(` Memories: ${normalized.memories}`);
132
- console.log(` Summary: ${normalized.summary}`);
133
- console.log(green('\n ✓ Rebuilt artifacts') + ` ${built.tools.join(', ')}`);
134
- if (built.gitignoreAdded.length > 0) {
135
- console.log(` .gitignore: added ${built.gitignoreAdded.join(', ')}`);
136
- }
137
- }
138
- console.log(green(' ✓ Legacy migration completed\n'));
139
- printManualUntrackNotice();
140
- }
141
- //# sourceMappingURL=migrate-legacy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrate-legacy.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate-legacy.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function migrate(): Promise<void>;
2
- //# sourceMappingURL=migrate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":"AAkTA,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAqF7C"}
@@ -1,303 +0,0 @@
1
- import { resolve } from 'node:path';
2
- import { readdirSync, statSync } from 'node:fs';
3
- import { fileExists, readJson, writeJson } from '../../utils/fs.js';
4
- import { green, cyan, red, yellow } from '../../utils/display.js';
5
- import { recalcMetrics } from '../../utils/run-data.js';
6
- import { normalizeProjectTruthSources } from '../../utils/project-health.js';
7
- // ─── Category mapping (old → new enum) ──────────────────
8
- const DEVIATION_CAT_MAP = {
9
- 'ui-spacing': 'ui-spacing',
10
- 'layout': 'layout',
11
- 'component-usage': 'component-usage',
12
- 'i18n': 'i18n',
13
- 'api': 'api',
14
- 'logic': 'logic',
15
- 'architecture': 'architecture',
16
- 'style': 'style',
17
- 'process': 'process',
18
- 'other': 'other',
19
- // Old values not in new enum → map to closest
20
- 'styling': 'style',
21
- 'workflow': 'process',
22
- 'state-management': 'logic',
23
- 'feature-incomplete': 'other',
24
- };
25
- const ROOT_CAUSE_MAP = {
26
- 'rule-missing': 'rule-missing',
27
- 'context-insufficient': 'context-insufficient',
28
- 'hallucination': 'hallucination',
29
- 'misunderstanding': 'misunderstanding',
30
- 'reference-copy': 'reference-copy',
31
- 'process-omission': 'process-omission',
32
- 'other': 'other',
33
- // Old values
34
- 'skill-execution': 'process-omission',
35
- 'ai-logic-error': 'hallucination',
36
- 'task-omission': 'process-omission',
37
- };
38
- // ─── Migrators ──────────────────────────────────────────
39
- function migrateBug(old) {
40
- return {
41
- bugId: old.bugId || old.id || '',
42
- title: old.title,
43
- severity: old.severity || 'medium',
44
- source: old.source || 'self-review',
45
- status: old.status || 'open',
46
- files: old.files || [],
47
- fix: old.fix || null,
48
- taskId: old.taskId || old.task || null,
49
- reportedAt: old.reportedAt || old.createdAt || new Date().toISOString(),
50
- fixedAt: old.fixedAt || null,
51
- };
52
- }
53
- function migrateDeviation(old) {
54
- return {
55
- deviationId: old.deviationId || old.id || '',
56
- title: old.title,
57
- rootCauseCategory: ROOT_CAUSE_MAP[old.rootCauseCategory] || 'other',
58
- deviationCategory: DEVIATION_CAT_MAP[old.deviationCategory] || 'other',
59
- aiOutput: old.aiOutput || '',
60
- expectedOutput: old.expectedOutput || old.expected || '',
61
- files: old.files || [],
62
- ruleSedimented: old.ruleSedimented ?? null,
63
- detectedAt: old.detectedAt || old.createdAt || new Date().toISOString(),
64
- fixedAt: old.fixedAt || null,
65
- };
66
- }
67
- function migrateReview(old) {
68
- let issueCount = old.issueCount || 0;
69
- let issuesArray = [];
70
- if (typeof old.issues === 'number') {
71
- issueCount = old.issues;
72
- }
73
- else if (Array.isArray(old.issues)) {
74
- issuesArray = old.issues;
75
- issueCount = old.issues.length;
76
- }
77
- return {
78
- reviewId: old.reviewId || old.id || '',
79
- taskId: old.taskId || null,
80
- result: old.result || 'pass',
81
- issueCount,
82
- scope: old.scope || '',
83
- reviewedAt: old.reviewedAt || old.createdAt || new Date().toISOString(),
84
- issues: issuesArray,
85
- };
86
- }
87
- function migrateRule(old) {
88
- return {
89
- ruleId: old.ruleId || old.id || '',
90
- content: old.content,
91
- sourceDeviation: old.sourceDeviation || null,
92
- sedimentedAt: old.sedimentedAt || old.createdAt || new Date().toISOString(),
93
- file: old.file || '',
94
- ...(old.status === 'pending' ? { status: 'pending' } : {}),
95
- };
96
- }
97
- function migrateFile(old) {
98
- return {
99
- path: old.path || old.filePath || '',
100
- changeType: old.changeType || 'modified',
101
- linesAdded: old.linesAdded || 0,
102
- linesRemoved: old.linesRemoved || 0,
103
- changeCount: old.changeCount || 1,
104
- lastModified: old.lastModified || old.changedAt || new Date().toISOString(),
105
- };
106
- }
107
- // ─── Full migration ─────────────────────────────────────
108
- function migrateRunJson(data, projectName) {
109
- const meta = data.meta || {};
110
- const summary = data.summary || {};
111
- const now = new Date().toISOString();
112
- // Migrate meta
113
- const newMeta = {
114
- schemaVersion: '2.0',
115
- runId: meta.branch || meta.runId || '',
116
- project: meta.project || projectName || '',
117
- developer: meta.developer || '',
118
- branch: meta.branch || '',
119
- aiModel: meta.aiModel || '',
120
- aiTool: meta.aiTool || '',
121
- startTime: meta.startTime || now,
122
- endTime: meta.endTime || undefined,
123
- status: meta.status || 'running',
124
- prdPhases: meta.prdPhases || [],
125
- };
126
- // Migrate entities
127
- const bugs = (data.bugs || []).map((b) => migrateBug(b));
128
- const deviations = (data.deviations || []).map((d) => migrateDeviation(d));
129
- const reviews = (data.reviews || []).map((r) => migrateReview(r));
130
- const rules = (data.rules || []).map((r) => migrateRule(r));
131
- const files = (data.files || []).map((f) => migrateFile(f));
132
- const tasks = data.tasks || [];
133
- // Ensure tasks have startedAt
134
- for (const t of tasks) {
135
- if (!t.startedAt && t.createdAt)
136
- t.startedAt = t.createdAt;
137
- }
138
- // Rebuild summary from actual data
139
- const newSummary = {
140
- totalTasks: tasks.length,
141
- completedTasks: tasks.filter((t) => t.status === 'done').length,
142
- bugCount: bugs.length,
143
- deviationCount: deviations.length,
144
- reviewCount: reviews.length,
145
- reviewPassCount: reviews.filter((r) => r.result === 'pass').length,
146
- reviewFailCount: reviews.filter((r) => r.result === 'fail').length,
147
- rulesSedimented: rules.filter((r) => r.status !== 'pending').length,
148
- prdPhaseCount: summary.prdPhaseCount || 0,
149
- filesChanged: files.length,
150
- linesAdded: files.reduce((s, f) => s + (f.linesAdded || 0), 0),
151
- linesRemoved: files.reduce((s, f) => s + (f.linesRemoved || 0), 0),
152
- };
153
- // Build timeline from existing data
154
- const timeline = data.timeline || [];
155
- if (timeline.length === 0) {
156
- // Generate timeline from tasks
157
- for (const t of tasks) {
158
- if (t.createdAt) {
159
- timeline.push({ type: 'task', title: `${t.taskId}: ${t.title}`, timestamp: t.createdAt });
160
- }
161
- if (t.completedAt) {
162
- timeline.push({ type: 'task-done', title: `${t.taskId}: ${t.title}`, timestamp: t.completedAt });
163
- }
164
- }
165
- for (const b of bugs) {
166
- if (b.reportedAt) {
167
- timeline.push({ type: 'bug', title: `${b.bugId}: ${b.title}`, timestamp: b.reportedAt });
168
- }
169
- if (b.fixedAt) {
170
- timeline.push({ type: 'bug-fix', title: `${b.bugId}: ${b.title}`, timestamp: b.fixedAt });
171
- }
172
- }
173
- for (const d of deviations) {
174
- if (d.detectedAt) {
175
- timeline.push({ type: 'deviation', title: `${d.deviationId}: ${d.title}`, timestamp: d.detectedAt });
176
- }
177
- }
178
- for (const r of reviews) {
179
- if (r.reviewedAt) {
180
- timeline.push({ type: 'review', title: `${r.reviewId}: ${r.result}`, timestamp: r.reviewedAt });
181
- }
182
- }
183
- timeline.sort((a, b) => new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime());
184
- }
185
- const migrated = {
186
- meta: newMeta,
187
- summary: newSummary,
188
- metrics: {},
189
- context: data.context || { lastUpdated: now },
190
- tasks,
191
- bugs,
192
- deviations,
193
- reviews,
194
- rules,
195
- files,
196
- timeline,
197
- events: data.events || [],
198
- workflow: data.workflow || [],
199
- cost: data.cost || { totalTokens: 0, estimatedManualHours: 0, actualHours: 0, tokenBreakdown: [] },
200
- highlights: data.highlights || [],
201
- };
202
- // Recalculate metrics
203
- recalcMetrics(migrated);
204
- return migrated;
205
- }
206
- // ─── File discovery ─────────────────────────────────────
207
- function findAllRunJsonFiles(baseDir) {
208
- const results = [];
209
- function walk(dir) {
210
- try {
211
- const items = readdirSync(dir);
212
- for (const item of items) {
213
- const fullPath = resolve(dir, item);
214
- try {
215
- const stat = statSync(fullPath);
216
- if (stat.isDirectory()) {
217
- walk(fullPath);
218
- }
219
- else if (item === 'run.json') {
220
- results.push(fullPath);
221
- }
222
- }
223
- catch { /* skip */ }
224
- }
225
- }
226
- catch { /* skip */ }
227
- }
228
- walk(baseDir);
229
- return results;
230
- }
231
- // ─── CLI entry point ────────────────────────────────────
232
- export async function migrate() {
233
- const projectRoot = process.cwd();
234
- const aidaDir = resolve(projectRoot, '.aida/runs');
235
- if (!fileExists(aidaDir)) {
236
- console.log(yellow('\n No .aida/runs directory found.\n'));
237
- return;
238
- }
239
- // Read project name from config
240
- let projectName = '';
241
- const configPath = resolve(projectRoot, '.aida/config.json');
242
- if (fileExists(configPath)) {
243
- try {
244
- const cfg = readJson(configPath);
245
- projectName = cfg.project || '';
246
- }
247
- catch { /* ignore */ }
248
- }
249
- console.log(cyan('\n AIDevo Data Migration\n'));
250
- console.log(' Searching for run.json files...\n');
251
- const runJsonFiles = findAllRunJsonFiles(aidaDir);
252
- if (runJsonFiles.length === 0) {
253
- console.log(yellow(' No run.json files found.\n'));
254
- return;
255
- }
256
- console.log(` Found ${runJsonFiles.length} run.json file(s):\n`);
257
- runJsonFiles.forEach((f) => console.log(` ${f.replace(projectRoot, '.')}`));
258
- console.log('\n Starting migration...\n');
259
- let successCount = 0;
260
- let errorCount = 0;
261
- for (const filePath of runJsonFiles) {
262
- try {
263
- const data = readJson(filePath);
264
- // Check if already at schema 2.0
265
- if (data.meta?.schemaVersion === '2.0' && data.cost && Array.isArray(data.highlights)) {
266
- console.log(green(` ✓ ${filePath.replace(projectRoot, '.')} (already v2.0)`));
267
- successCount++;
268
- continue;
269
- }
270
- // Backup original
271
- const backupPath = filePath.replace('.json', '.backup.json');
272
- writeJson(backupPath, data);
273
- // Perform migration
274
- const migrated = migrateRunJson(data, projectName);
275
- // Write migrated data
276
- writeJson(filePath, migrated);
277
- // Summary of what changed
278
- const stats = [
279
- `${migrated.tasks.length} tasks`,
280
- `${migrated.bugs.length} bugs`,
281
- `${migrated.deviations.length} deviations`,
282
- `${migrated.reviews.length} reviews`,
283
- `${migrated.timeline.length} timeline entries`,
284
- ].join(', ');
285
- console.log(green(` ✓ ${filePath.replace(projectRoot, '.')}`));
286
- console.log(` ${stats}`);
287
- successCount++;
288
- }
289
- catch (error) {
290
- console.log(red(` ✗ ${filePath.replace(projectRoot, '.')}: ${error}`));
291
- errorCount++;
292
- }
293
- }
294
- console.log(`\n ${green('Migration complete!')}`);
295
- console.log(` Success: ${successCount}`);
296
- if (errorCount > 0) {
297
- console.log(` ${red(`Errors: ${errorCount}`)}`);
298
- }
299
- const normalized = normalizeProjectTruthSources(projectRoot);
300
- console.log(` Truth sources normalized: ${normalized.rules} rules, ${normalized.skills} skills, ${normalized.memories} memories, ${normalized.summary} summaries`);
301
- console.log(`\n ${yellow('Note:')} Original files backed up as *.backup.json\n`);
302
- }
303
- //# sourceMappingURL=migrate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Core reindex logic - can be called from CLI or programmatically (e.g. dashboard startup).
3
- * Returns the number of runs indexed, or -1 on error.
4
- */
5
- export declare function buildIndex(projectRoot: string): number;
6
- /**
7
- * CLI entry point for `aida reindex`
8
- *
9
- * Also auto-resolves git merge conflicts in index.json and config.json:
10
- * - index.json: rebuilt from source (requirement.json files) — authoritative
11
- * - config.json: merges aiTools as union, keeps ours for scalar fields
12
- */
13
- export declare function reindex(): Promise<void>;
14
- //# sourceMappingURL=reindex.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reindex.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/reindex.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;GAMG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAoD7C"}