@ddse/acm-aicoder 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/.aicoder/index.json +304 -0
  2. package/AICODER_IMPLEMENTATION_PLAN_PHASE2.md +284 -0
  3. package/LICENSE +21 -0
  4. package/README.md +490 -0
  5. package/bin/interactive.tsx +232 -0
  6. package/dist/bin/interactive.d.ts +3 -0
  7. package/dist/bin/interactive.d.ts.map +1 -0
  8. package/dist/bin/interactive.js +155 -0
  9. package/dist/bin/interactive.js.map +1 -0
  10. package/dist/src/config/providers.d.ts +15 -0
  11. package/dist/src/config/providers.d.ts.map +1 -0
  12. package/dist/src/config/providers.js +142 -0
  13. package/dist/src/config/providers.js.map +1 -0
  14. package/dist/src/config/session.d.ts +25 -0
  15. package/dist/src/config/session.d.ts.map +1 -0
  16. package/dist/src/config/session.js +97 -0
  17. package/dist/src/config/session.js.map +1 -0
  18. package/dist/src/context/bm25.d.ts +68 -0
  19. package/dist/src/context/bm25.d.ts.map +1 -0
  20. package/dist/src/context/bm25.js +131 -0
  21. package/dist/src/context/bm25.js.map +1 -0
  22. package/dist/src/context/code-search.d.ts +30 -0
  23. package/dist/src/context/code-search.d.ts.map +1 -0
  24. package/dist/src/context/code-search.js +150 -0
  25. package/dist/src/context/code-search.js.map +1 -0
  26. package/dist/src/context/context-pack.d.ts +25 -0
  27. package/dist/src/context/context-pack.d.ts.map +1 -0
  28. package/dist/src/context/context-pack.js +92 -0
  29. package/dist/src/context/context-pack.js.map +1 -0
  30. package/dist/src/context/dependency-mapper.d.ts +10 -0
  31. package/dist/src/context/dependency-mapper.d.ts.map +1 -0
  32. package/dist/src/context/dependency-mapper.js +62 -0
  33. package/dist/src/context/dependency-mapper.js.map +1 -0
  34. package/dist/src/context/index.d.ts +8 -0
  35. package/dist/src/context/index.d.ts.map +1 -0
  36. package/dist/src/context/index.js +9 -0
  37. package/dist/src/context/index.js.map +1 -0
  38. package/dist/src/context/symbol-extractor.d.ts +26 -0
  39. package/dist/src/context/symbol-extractor.d.ts.map +1 -0
  40. package/dist/src/context/symbol-extractor.js +129 -0
  41. package/dist/src/context/symbol-extractor.js.map +1 -0
  42. package/dist/src/context/test-mapper.d.ts +16 -0
  43. package/dist/src/context/test-mapper.d.ts.map +1 -0
  44. package/dist/src/context/test-mapper.js +66 -0
  45. package/dist/src/context/test-mapper.js.map +1 -0
  46. package/dist/src/context/types.d.ts +61 -0
  47. package/dist/src/context/types.d.ts.map +1 -0
  48. package/dist/src/context/types.js +3 -0
  49. package/dist/src/context/types.js.map +1 -0
  50. package/dist/src/context/workspace-indexer.d.ts +39 -0
  51. package/dist/src/context/workspace-indexer.d.ts.map +1 -0
  52. package/dist/src/context/workspace-indexer.js +222 -0
  53. package/dist/src/context/workspace-indexer.js.map +1 -0
  54. package/dist/src/index.d.ts +5 -0
  55. package/dist/src/index.d.ts.map +1 -0
  56. package/dist/src/index.js +6 -0
  57. package/dist/src/index.js.map +1 -0
  58. package/dist/src/registries.d.ts +34 -0
  59. package/dist/src/registries.d.ts.map +1 -0
  60. package/dist/src/registries.js +87 -0
  61. package/dist/src/registries.js.map +1 -0
  62. package/dist/src/runtime/budget-manager.d.ts +42 -0
  63. package/dist/src/runtime/budget-manager.d.ts.map +1 -0
  64. package/dist/src/runtime/budget-manager.js +82 -0
  65. package/dist/src/runtime/budget-manager.js.map +1 -0
  66. package/dist/src/runtime/interactive-runtime.d.ts +39 -0
  67. package/dist/src/runtime/interactive-runtime.d.ts.map +1 -0
  68. package/dist/src/runtime/interactive-runtime.js +321 -0
  69. package/dist/src/runtime/interactive-runtime.js.map +1 -0
  70. package/dist/src/tasks-v2/analysis-tasks.d.ts +117 -0
  71. package/dist/src/tasks-v2/analysis-tasks.d.ts.map +1 -0
  72. package/dist/src/tasks-v2/analysis-tasks.js +209 -0
  73. package/dist/src/tasks-v2/analysis-tasks.js.map +1 -0
  74. package/dist/src/tasks-v2/developer-tasks.d.ts +226 -0
  75. package/dist/src/tasks-v2/developer-tasks.d.ts.map +1 -0
  76. package/dist/src/tasks-v2/developer-tasks.js +322 -0
  77. package/dist/src/tasks-v2/developer-tasks.js.map +1 -0
  78. package/dist/src/tasks-v2/index.d.ts +3 -0
  79. package/dist/src/tasks-v2/index.d.ts.map +1 -0
  80. package/dist/src/tasks-v2/index.js +4 -0
  81. package/dist/src/tasks-v2/index.js.map +1 -0
  82. package/dist/src/tools-v2/edit-tools.d.ts +67 -0
  83. package/dist/src/tools-v2/edit-tools.d.ts.map +1 -0
  84. package/dist/src/tools-v2/edit-tools.js +117 -0
  85. package/dist/src/tools-v2/edit-tools.js.map +1 -0
  86. package/dist/src/tools-v2/index.d.ts +6 -0
  87. package/dist/src/tools-v2/index.d.ts.map +1 -0
  88. package/dist/src/tools-v2/index.js +7 -0
  89. package/dist/src/tools-v2/index.js.map +1 -0
  90. package/dist/src/tools-v2/read-tools.d.ts +129 -0
  91. package/dist/src/tools-v2/read-tools.d.ts.map +1 -0
  92. package/dist/src/tools-v2/read-tools.js +216 -0
  93. package/dist/src/tools-v2/read-tools.js.map +1 -0
  94. package/dist/src/tools-v2/search-tools.d.ts +73 -0
  95. package/dist/src/tools-v2/search-tools.d.ts.map +1 -0
  96. package/dist/src/tools-v2/search-tools.js +132 -0
  97. package/dist/src/tools-v2/search-tools.js.map +1 -0
  98. package/dist/src/tools-v2/test-tools.d.ts +59 -0
  99. package/dist/src/tools-v2/test-tools.d.ts.map +1 -0
  100. package/dist/src/tools-v2/test-tools.js +111 -0
  101. package/dist/src/tools-v2/test-tools.js.map +1 -0
  102. package/dist/src/tools-v2/workspace-context.d.ts +65 -0
  103. package/dist/src/tools-v2/workspace-context.d.ts.map +1 -0
  104. package/dist/src/tools-v2/workspace-context.js +336 -0
  105. package/dist/src/tools-v2/workspace-context.js.map +1 -0
  106. package/dist/src/ui/App.d.ts +9 -0
  107. package/dist/src/ui/App.d.ts.map +1 -0
  108. package/dist/src/ui/App.js +257 -0
  109. package/dist/src/ui/App.js.map +1 -0
  110. package/dist/src/ui/components/ChatPane.d.ts +12 -0
  111. package/dist/src/ui/components/ChatPane.d.ts.map +1 -0
  112. package/dist/src/ui/components/ChatPane.js +41 -0
  113. package/dist/src/ui/components/ChatPane.js.map +1 -0
  114. package/dist/src/ui/components/EventsPane.d.ts +12 -0
  115. package/dist/src/ui/components/EventsPane.d.ts.map +1 -0
  116. package/dist/src/ui/components/EventsPane.js +48 -0
  117. package/dist/src/ui/components/EventsPane.js.map +1 -0
  118. package/dist/src/ui/components/GoalsTasksPane.d.ts +18 -0
  119. package/dist/src/ui/components/GoalsTasksPane.d.ts.map +1 -0
  120. package/dist/src/ui/components/GoalsTasksPane.js +83 -0
  121. package/dist/src/ui/components/GoalsTasksPane.js.map +1 -0
  122. package/dist/src/ui/store.d.ts +74 -0
  123. package/dist/src/ui/store.d.ts.map +1 -0
  124. package/dist/src/ui/store.js +260 -0
  125. package/dist/src/ui/store.js.map +1 -0
  126. package/dist/tests/integration.test.d.ts +2 -0
  127. package/dist/tests/integration.test.d.ts.map +1 -0
  128. package/dist/tests/integration.test.js +415 -0
  129. package/dist/tests/integration.test.js.map +1 -0
  130. package/dist/tsconfig.tsbuildinfo +1 -0
  131. package/docs/AICODER.png +0 -0
  132. package/docs/INTERACTIVE_CLI_GUIDE.md +201 -0
  133. package/docs/TUI_MOCKUP.md +180 -0
  134. package/package.json +52 -0
  135. package/src/config/providers.ts +174 -0
  136. package/src/config/session.ts +143 -0
  137. package/src/context/bm25.ts +173 -0
  138. package/src/context/code-search.ts +188 -0
  139. package/src/context/context-pack.ts +133 -0
  140. package/src/context/dependency-mapper.ts +72 -0
  141. package/src/context/index.ts +8 -0
  142. package/src/context/symbol-extractor.ts +149 -0
  143. package/src/context/test-mapper.ts +77 -0
  144. package/src/context/types.ts +69 -0
  145. package/src/context/workspace-indexer.ts +249 -0
  146. package/src/index.ts +5 -0
  147. package/src/registries.ts +118 -0
  148. package/src/runtime/budget-manager.ts +118 -0
  149. package/src/runtime/interactive-runtime.ts +423 -0
  150. package/src/tasks-v2/analysis-tasks.ts +311 -0
  151. package/src/tasks-v2/developer-tasks.ts +437 -0
  152. package/src/tasks-v2/index.ts +3 -0
  153. package/src/tools-v2/edit-tools.ts +153 -0
  154. package/src/tools-v2/index.ts +6 -0
  155. package/src/tools-v2/read-tools.ts +286 -0
  156. package/src/tools-v2/search-tools.ts +175 -0
  157. package/src/tools-v2/test-tools.ts +147 -0
  158. package/src/tools-v2/workspace-context.ts +428 -0
  159. package/src/ui/App.tsx +392 -0
  160. package/src/ui/components/ChatPane.tsx +84 -0
  161. package/src/ui/components/EventsPane.tsx +81 -0
  162. package/src/ui/components/GoalsTasksPane.tsx +149 -0
  163. package/src/ui/store.ts +362 -0
  164. package/tests/integration.test.ts +537 -0
  165. package/tsconfig.json +22 -0
@@ -0,0 +1,117 @@
1
+ import { Task, type RunContext } from '@ddse/acm-sdk';
2
+ import { type ContextPack } from '../context/index.js';
3
+ /**
4
+ * AnalyzeWorkspaceTask - Deep workspace analysis with context
5
+ */
6
+ export declare class AnalyzeWorkspaceTask extends Task<{
7
+ path?: string;
8
+ includeTests?: boolean;
9
+ includeDeps?: boolean;
10
+ runBuild?: boolean;
11
+ runTests?: boolean;
12
+ buildCommand?: string;
13
+ testCommand?: string;
14
+ }, {
15
+ summary: string;
16
+ totalFiles: number;
17
+ codeFiles: number;
18
+ symbols: number;
19
+ dependencies: number;
20
+ testFiles: number;
21
+ build?: {
22
+ success: boolean;
23
+ errors: string[];
24
+ duration: number;
25
+ };
26
+ tests?: {
27
+ success: boolean;
28
+ exitCode: number;
29
+ duration: number;
30
+ };
31
+ contextPack?: ContextPack;
32
+ }> {
33
+ constructor();
34
+ execute(ctx: RunContext, input: {
35
+ path?: string;
36
+ includeTests?: boolean;
37
+ includeDeps?: boolean;
38
+ runBuild?: boolean;
39
+ runTests?: boolean;
40
+ buildCommand?: string;
41
+ testCommand?: string;
42
+ }): Promise<{
43
+ summary: string;
44
+ totalFiles: number;
45
+ codeFiles: number;
46
+ symbols: number;
47
+ dependencies: number;
48
+ testFiles: number;
49
+ build?: {
50
+ success: boolean;
51
+ errors: string[];
52
+ duration: number;
53
+ };
54
+ tests?: {
55
+ success: boolean;
56
+ exitCode: number;
57
+ duration: number;
58
+ };
59
+ contextPack?: ContextPack;
60
+ }>;
61
+ verification(): string[];
62
+ }
63
+ /**
64
+ * CollectContextPackTask - Generate context for planning
65
+ */
66
+ export declare class CollectContextPackTask extends Task<{
67
+ goal: string;
68
+ path?: string;
69
+ maxFiles?: number;
70
+ maxSymbols?: number;
71
+ }, {
72
+ contextPack: ContextPack;
73
+ }> {
74
+ constructor();
75
+ execute(ctx: RunContext, input: {
76
+ goal: string;
77
+ path?: string;
78
+ maxFiles?: number;
79
+ maxSymbols?: number;
80
+ }): Promise<{
81
+ contextPack: ContextPack;
82
+ }>;
83
+ verification(): string[];
84
+ }
85
+ /**
86
+ * SearchCodeTask - Search for code with context
87
+ */
88
+ export declare class SearchCodeTask extends Task<{
89
+ query: string;
90
+ k?: number;
91
+ preferTypes?: string[];
92
+ path?: string;
93
+ }, {
94
+ results: Array<{
95
+ path: string;
96
+ score: number;
97
+ snippet: string;
98
+ line: number;
99
+ }>;
100
+ }> {
101
+ constructor();
102
+ execute(ctx: RunContext, input: {
103
+ query: string;
104
+ k?: number;
105
+ preferTypes?: string[];
106
+ path?: string;
107
+ }): Promise<{
108
+ results: Array<{
109
+ path: string;
110
+ score: number;
111
+ snippet: string;
112
+ line: number;
113
+ }>;
114
+ }>;
115
+ verification(): string[];
116
+ }
117
+ //# sourceMappingURL=analysis-tasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis-tasks.d.ts","sourceRoot":"","sources":["../../../src/tasks-v2/analysis-tasks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,209 @@
1
+ // Analysis and Utility Tasks
2
+ import { Task } from '@ddse/acm-sdk';
3
+ import path from 'path';
4
+ import { WorkspaceIndexer, SymbolExtractor, DependencyMapper, TestMapper, CodeSearch, ContextPackGenerator, } from '../context/index.js';
5
+ /**
6
+ * AnalyzeWorkspaceTask - Deep workspace analysis with context
7
+ */
8
+ export class AnalyzeWorkspaceTask extends Task {
9
+ constructor() {
10
+ super('analyze-workspace', 'analyze_workspace');
11
+ }
12
+ async execute(ctx, input) {
13
+ const workspaceRoot = getWorkspaceRoot(ctx);
14
+ const rootPath = resolveRootPath(input.path, workspaceRoot);
15
+ // Build index
16
+ ctx.stream?.emit('task', { taskId: this.id, step: 'indexing_workspace' });
17
+ const indexer = new WorkspaceIndexer(rootPath);
18
+ const index = await indexer.buildIndex({ useCache: true });
19
+ ctx.stream?.emit('task', {
20
+ taskId: this.id,
21
+ step: 'index_complete',
22
+ totalFiles: index.totalFiles,
23
+ });
24
+ // Extract symbols
25
+ ctx.stream?.emit('task', { taskId: this.id, step: 'extracting_symbols' });
26
+ const symbolExtractor = new SymbolExtractor(rootPath);
27
+ const symbols = await symbolExtractor.extractSymbols(index);
28
+ // Extract dependencies
29
+ const depMapper = new DependencyMapper(rootPath);
30
+ const dependencies = await depMapper.extractDependencies(index);
31
+ // Map tests
32
+ const testMappings = TestMapper.mapTests(index);
33
+ // Count code files
34
+ const codeFiles = index.files.filter(f => ['typescript', 'javascript'].includes(f.language)).length;
35
+ ctx.stream?.emit('task', {
36
+ taskId: this.id,
37
+ step: 'analysis_complete',
38
+ symbols: symbols.length,
39
+ dependencies: dependencies.length,
40
+ tests: testMappings.length,
41
+ });
42
+ // Optionally run build and tests using registered tools
43
+ let buildSummary;
44
+ if (input.runBuild) {
45
+ ctx.stream?.emit('task', { taskId: this.id, step: 'running_build' });
46
+ const buildTool = ctx.getTool('build');
47
+ if (buildTool) {
48
+ const buildRes = await buildTool.call({
49
+ command: input.buildCommand || 'npm run build',
50
+ cwd: rootPath,
51
+ });
52
+ buildSummary = {
53
+ success: !!buildRes.success,
54
+ errors: Array.isArray(buildRes.errors) ? buildRes.errors : [],
55
+ duration: Number(buildRes.duration) || 0,
56
+ };
57
+ ctx.stream?.emit('task', {
58
+ taskId: this.id,
59
+ step: 'build_complete',
60
+ success: buildSummary.success,
61
+ errors: buildSummary.errors.length,
62
+ duration: buildSummary.duration,
63
+ });
64
+ }
65
+ else {
66
+ ctx.stream?.emit('task', { taskId: this.id, step: 'build_tool_missing' });
67
+ }
68
+ }
69
+ let testSummary;
70
+ if (input.runTests) {
71
+ ctx.stream?.emit('task', { taskId: this.id, step: 'running_tests' });
72
+ const testTool = ctx.getTool('run_tests_v2');
73
+ if (testTool) {
74
+ const testRes = await testTool.call({
75
+ command: input.testCommand || 'npm test',
76
+ cwd: rootPath,
77
+ });
78
+ testSummary = {
79
+ success: !!testRes.success,
80
+ exitCode: Number(testRes.exitCode) || (testRes.success ? 0 : 1),
81
+ duration: Number(testRes.duration) || 0,
82
+ };
83
+ ctx.stream?.emit('task', {
84
+ taskId: this.id,
85
+ step: 'tests_complete',
86
+ success: testSummary.success,
87
+ exitCode: testSummary.exitCode,
88
+ duration: testSummary.duration,
89
+ });
90
+ }
91
+ else {
92
+ ctx.stream?.emit('task', { taskId: this.id, step: 'test_tool_missing' });
93
+ }
94
+ }
95
+ const summaryParts = [
96
+ `Analyzed ${index.totalFiles} files`,
97
+ `${codeFiles} code files`,
98
+ `${symbols.length} symbols`,
99
+ `${dependencies.length} dependencies`,
100
+ `${testMappings.length} test files`,
101
+ ];
102
+ if (buildSummary) {
103
+ summaryParts.push(`build: ${buildSummary.success ? 'ok' : `${buildSummary.errors.length} errors`}`);
104
+ }
105
+ if (testSummary) {
106
+ summaryParts.push(`tests: ${testSummary.success ? 'ok' : `exit ${testSummary.exitCode}`}`);
107
+ }
108
+ const summary = summaryParts.join(', ');
109
+ return {
110
+ summary,
111
+ totalFiles: index.totalFiles,
112
+ codeFiles,
113
+ symbols: symbols.length,
114
+ dependencies: dependencies.length,
115
+ testFiles: testMappings.length,
116
+ build: buildSummary,
117
+ tests: testSummary,
118
+ };
119
+ }
120
+ verification() {
121
+ return ['output.totalFiles > 0', 'output.summary !== undefined'];
122
+ }
123
+ }
124
+ /**
125
+ * CollectContextPackTask - Generate context for planning
126
+ */
127
+ export class CollectContextPackTask extends Task {
128
+ constructor() {
129
+ super('collect-context-pack', 'collect_context_pack');
130
+ }
131
+ async execute(ctx, input) {
132
+ const workspaceRoot = getWorkspaceRoot(ctx);
133
+ const rootPath = resolveRootPath(input.path, workspaceRoot);
134
+ const goalText = (input.goal && input.goal.trim().length > 0)
135
+ ? input.goal
136
+ : (ctx.goal?.intent || ctx.goal?.id || '');
137
+ // Build index and search
138
+ ctx.stream?.emit('task', { taskId: this.id, step: 'indexing' });
139
+ const indexer = new WorkspaceIndexer(rootPath);
140
+ const index = await indexer.buildIndex({ useCache: true });
141
+ const search = new CodeSearch(rootPath);
142
+ await search.indexFiles(index);
143
+ // Extract symbols and dependencies
144
+ const symbolExtractor = new SymbolExtractor(rootPath);
145
+ const symbols = await symbolExtractor.extractSymbols(index);
146
+ const depMapper = new DependencyMapper(rootPath);
147
+ const dependencies = await depMapper.extractDependencies(index);
148
+ const testMappings = TestMapper.mapTests(index);
149
+ // Generate context pack
150
+ ctx.stream?.emit('task', { taskId: this.id, step: 'generating_context' });
151
+ const packGenerator = new ContextPackGenerator(search);
152
+ const contextPack = await packGenerator.generate(goalText, index, symbols, dependencies, testMappings, {
153
+ maxFiles: input.maxFiles ?? 8,
154
+ maxSymbols: input.maxSymbols ?? 20,
155
+ includeTests: true,
156
+ includeDependencies: true,
157
+ });
158
+ ctx.stream?.emit('task', {
159
+ taskId: this.id,
160
+ step: 'context_ready',
161
+ files: contextPack.files.length,
162
+ symbols: contextPack.symbols.length,
163
+ });
164
+ return { contextPack };
165
+ }
166
+ verification() {
167
+ return ['output.contextPack !== undefined', 'output.contextPack.files.length > 0'];
168
+ }
169
+ }
170
+ function getWorkspaceRoot(ctx) {
171
+ const workspace = ctx.context?.facts?.workspace ?? process.cwd();
172
+ return path.resolve(workspace);
173
+ }
174
+ function resolveRootPath(inputPath, workspaceRoot) {
175
+ if (!inputPath) {
176
+ return workspaceRoot;
177
+ }
178
+ return path.isAbsolute(inputPath) ? inputPath : path.resolve(workspaceRoot, inputPath);
179
+ }
180
+ /**
181
+ * SearchCodeTask - Search for code with context
182
+ */
183
+ export class SearchCodeTask extends Task {
184
+ constructor() {
185
+ super('search-code', 'search_code');
186
+ }
187
+ async execute(ctx, input) {
188
+ const searchTool = ctx.getTool('code_search');
189
+ if (!searchTool)
190
+ throw new Error('CodeSearchTool not found');
191
+ ctx.stream?.emit('task', { taskId: this.id, step: 'searching', query: input.query });
192
+ const result = await searchTool.call({
193
+ query: input.query,
194
+ k: input.k ?? 10,
195
+ preferTypes: input.preferTypes,
196
+ includeContext: true,
197
+ });
198
+ ctx.stream?.emit('task', {
199
+ taskId: this.id,
200
+ step: 'search_complete',
201
+ resultsFound: result.results.length,
202
+ });
203
+ return { results: result.results };
204
+ }
205
+ verification() {
206
+ return ['output.results !== undefined'];
207
+ }
208
+ }
209
+ //# sourceMappingURL=analysis-tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis-tasks.js","sourceRoot":"","sources":["../../../src/tasks-v2/analysis-tasks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,226 @@
1
+ import { Task, type RunContext } from '@ddse/acm-sdk';
2
+ /**
3
+ * FindSymbolDefinitionTask - Locate symbol across codebase
4
+ */
5
+ export declare class FindSymbolDefinitionTask extends Task<{
6
+ symbolName: string;
7
+ fileHint?: string;
8
+ }, {
9
+ locations: Array<{
10
+ path: string;
11
+ line: number;
12
+ snippet: string;
13
+ }>;
14
+ }> {
15
+ constructor();
16
+ execute(ctx: RunContext, input: {
17
+ symbolName: string;
18
+ fileHint?: string;
19
+ }): Promise<{
20
+ locations: Array<{
21
+ path: string;
22
+ line: number;
23
+ snippet: string;
24
+ }>;
25
+ }>;
26
+ verification(): string[];
27
+ }
28
+ /**
29
+ * ImplementFunctionTask - Create function with AI assistance
30
+ */
31
+ export declare class ImplementFunctionTask extends Task<{
32
+ path: string;
33
+ functionName: string;
34
+ signature: string;
35
+ intent: string;
36
+ dryRun?: boolean;
37
+ }, {
38
+ implemented: boolean;
39
+ changes: string;
40
+ testResults?: any;
41
+ }> {
42
+ constructor();
43
+ execute(ctx: RunContext, input: {
44
+ path: string;
45
+ functionName: string;
46
+ signature: string;
47
+ intent: string;
48
+ dryRun?: boolean;
49
+ }): Promise<{
50
+ implemented: boolean;
51
+ changes: string;
52
+ testResults?: any;
53
+ }>;
54
+ policyInput(ctx: RunContext, input: any): Record<string, unknown>;
55
+ verification(): string[];
56
+ }
57
+ /**
58
+ * RefactorRenameSymbolTask - Rename symbol across codebase
59
+ */
60
+ export declare class RefactorRenameSymbolTask extends Task<{
61
+ symbol: string;
62
+ newName: string;
63
+ scope?: string;
64
+ dryRun?: boolean;
65
+ }, {
66
+ occurrences: number;
67
+ filesChanged: string[];
68
+ success: boolean;
69
+ }> {
70
+ constructor();
71
+ execute(ctx: RunContext, input: {
72
+ symbol: string;
73
+ newName: string;
74
+ scope?: string;
75
+ dryRun?: boolean;
76
+ }): Promise<{
77
+ occurrences: number;
78
+ filesChanged: string[];
79
+ success: boolean;
80
+ }>;
81
+ policyInput(ctx: RunContext, input: any): Record<string, unknown>;
82
+ verification(): string[];
83
+ }
84
+ /**
85
+ * FixTypeErrorTask - Resolve TypeScript errors
86
+ */
87
+ export declare class FixTypeErrorTask extends Task<{
88
+ diagnostics: string;
89
+ context?: string;
90
+ dryRun?: boolean;
91
+ }, {
92
+ fixed: boolean;
93
+ changes: string[];
94
+ remainingErrors: number;
95
+ }> {
96
+ constructor();
97
+ execute(ctx: RunContext, input: {
98
+ diagnostics: string;
99
+ context?: string;
100
+ dryRun?: boolean;
101
+ }): Promise<{
102
+ fixed: boolean;
103
+ changes: string[];
104
+ remainingErrors: number;
105
+ }>;
106
+ policyInput(ctx: RunContext, input: any): Record<string, unknown>;
107
+ verification(): string[];
108
+ }
109
+ /**
110
+ * GenerateUnitTestsTask - Create tests with AI
111
+ */
112
+ export declare class GenerateUnitTestsTask extends Task<{
113
+ targetPath: string;
114
+ symbolName?: string;
115
+ coverage?: string;
116
+ dryRun?: boolean;
117
+ }, {
118
+ implemented: boolean;
119
+ testPath: string;
120
+ testCount: number;
121
+ }> {
122
+ constructor();
123
+ execute(ctx: RunContext, input: {
124
+ targetPath: string;
125
+ symbolName?: string;
126
+ coverage?: string;
127
+ dryRun?: boolean;
128
+ }): Promise<{
129
+ implemented: boolean;
130
+ testPath: string;
131
+ testCount: number;
132
+ }>;
133
+ policyInput(ctx: RunContext, input: any): Record<string, unknown>;
134
+ verification(): string[];
135
+ }
136
+ /**
137
+ * ReadFileLinesTask - Precise file slice reading
138
+ */
139
+ export declare class ReadFileLinesTask extends Task<{
140
+ path: string;
141
+ startLine?: number;
142
+ endLine?: number;
143
+ maxLines?: number;
144
+ }, {
145
+ content: string;
146
+ startLine: number;
147
+ endLine: number;
148
+ totalLines?: number;
149
+ }> {
150
+ constructor();
151
+ execute(ctx: RunContext, input: {
152
+ path: string;
153
+ startLine?: number;
154
+ endLine?: number;
155
+ maxLines?: number;
156
+ }): Promise<{
157
+ content: string;
158
+ startLine: number;
159
+ endLine: number;
160
+ totalLines?: number;
161
+ }>;
162
+ verification(): string[];
163
+ }
164
+ /**
165
+ * DiffFilesTask - Generate unified diff between two files
166
+ */
167
+ export declare class DiffFilesTask extends Task<{
168
+ aPath: string;
169
+ bPath: string;
170
+ context?: number;
171
+ }, {
172
+ diff: string;
173
+ stats: {
174
+ filesChanged: number;
175
+ additions: number;
176
+ deletions: number;
177
+ };
178
+ }> {
179
+ constructor();
180
+ execute(ctx: RunContext, input: {
181
+ aPath: string;
182
+ bPath: string;
183
+ context?: number;
184
+ }): Promise<{
185
+ diff: string;
186
+ stats: {
187
+ filesChanged: number;
188
+ additions: number;
189
+ deletions: number;
190
+ };
191
+ }>;
192
+ verification(): string[];
193
+ }
194
+ /**
195
+ * GrepSearchTask - Fast pattern search across workspace
196
+ */
197
+ export declare class GrepSearchTask extends Task<{
198
+ pattern: string;
199
+ regex?: boolean;
200
+ caseInsensitive?: boolean;
201
+ maxResults?: number;
202
+ }, {
203
+ matches: Array<{
204
+ path: string;
205
+ line: number;
206
+ column: number;
207
+ preview: string;
208
+ }>;
209
+ }> {
210
+ constructor();
211
+ execute(ctx: RunContext, input: {
212
+ pattern: string;
213
+ regex?: boolean;
214
+ caseInsensitive?: boolean;
215
+ maxResults?: number;
216
+ }): Promise<{
217
+ matches: Array<{
218
+ path: string;
219
+ line: number;
220
+ column: number;
221
+ preview: string;
222
+ }>;
223
+ }>;
224
+ verification(): string[];
225
+ }
226
+ //# sourceMappingURL=developer-tasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"developer-tasks.d.ts","sourceRoot":"","sources":["../../../src/tasks-v2/developer-tasks.ts"],"names":[],"mappings":"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"}