@ddse/acm-aicoder 0.5.0 → 0.5.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 (47) hide show
  1. package/dist/src/capability-map.d.ts +4 -0
  2. package/dist/src/capability-map.d.ts.map +1 -0
  3. package/dist/src/capability-map.js +289 -0
  4. package/dist/src/capability-map.js.map +1 -0
  5. package/dist/src/registries.d.ts +3 -0
  6. package/dist/src/registries.d.ts.map +1 -1
  7. package/dist/src/registries.js +11 -0
  8. package/dist/src/registries.js.map +1 -1
  9. package/dist/tsconfig.tsbuildinfo +1 -1
  10. package/package.json +21 -7
  11. package/.aicoder/index.json +0 -304
  12. package/AICODER_IMPLEMENTATION_PLAN_PHASE2.md +0 -284
  13. package/bin/interactive.tsx +0 -232
  14. package/docs/AICODER.png +0 -0
  15. package/docs/INTERACTIVE_CLI_GUIDE.md +0 -201
  16. package/docs/TUI_MOCKUP.md +0 -180
  17. package/src/config/providers.ts +0 -174
  18. package/src/config/session.ts +0 -143
  19. package/src/context/bm25.ts +0 -173
  20. package/src/context/code-search.ts +0 -188
  21. package/src/context/context-pack.ts +0 -133
  22. package/src/context/dependency-mapper.ts +0 -72
  23. package/src/context/index.ts +0 -8
  24. package/src/context/symbol-extractor.ts +0 -149
  25. package/src/context/test-mapper.ts +0 -77
  26. package/src/context/types.ts +0 -69
  27. package/src/context/workspace-indexer.ts +0 -249
  28. package/src/index.ts +0 -5
  29. package/src/registries.ts +0 -118
  30. package/src/runtime/budget-manager.ts +0 -118
  31. package/src/runtime/interactive-runtime.ts +0 -423
  32. package/src/tasks-v2/analysis-tasks.ts +0 -311
  33. package/src/tasks-v2/developer-tasks.ts +0 -437
  34. package/src/tasks-v2/index.ts +0 -3
  35. package/src/tools-v2/edit-tools.ts +0 -153
  36. package/src/tools-v2/index.ts +0 -6
  37. package/src/tools-v2/read-tools.ts +0 -286
  38. package/src/tools-v2/search-tools.ts +0 -175
  39. package/src/tools-v2/test-tools.ts +0 -147
  40. package/src/tools-v2/workspace-context.ts +0 -428
  41. package/src/ui/App.tsx +0 -392
  42. package/src/ui/components/ChatPane.tsx +0 -84
  43. package/src/ui/components/EventsPane.tsx +0 -81
  44. package/src/ui/components/GoalsTasksPane.tsx +0 -149
  45. package/src/ui/store.ts +0 -362
  46. package/tests/integration.test.ts +0 -537
  47. package/tsconfig.json +0 -22
@@ -0,0 +1,4 @@
1
+ import type { CapabilityMap } from '@acm/sdk';
2
+ export declare const AICODER_CAPABILITY_MAP_VERSION = "acm-aicoder.capabilities.v2025.10";
3
+ export declare const AICODER_CAPABILITY_MAP: CapabilityMap;
4
+ //# sourceMappingURL=capability-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-map.d.ts","sourceRoot":"","sources":["../../src/capability-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,8BAA8B,sCAAsC,CAAC;AAElF,eAAO,MAAM,sBAAsB,EAAE,aA8RpC,CAAC"}
@@ -0,0 +1,289 @@
1
+ export const AICODER_CAPABILITY_MAP_VERSION = 'acm-aicoder.capabilities.v2025.10';
2
+ export const AICODER_CAPABILITY_MAP = {
3
+ version: AICODER_CAPABILITY_MAP_VERSION,
4
+ capabilities: [
5
+ {
6
+ name: 'analyze_workspace',
7
+ version: 'v1.0.0',
8
+ inputSchema: {
9
+ type: 'object',
10
+ properties: {
11
+ path: { type: 'string' },
12
+ includeTests: { type: 'boolean' },
13
+ includeDeps: { type: 'boolean' },
14
+ runBuild: { type: 'boolean' },
15
+ runTests: { type: 'boolean' },
16
+ buildCommand: { type: 'string' },
17
+ testCommand: { type: 'string' },
18
+ },
19
+ additionalProperties: false,
20
+ },
21
+ outputSchema: {
22
+ type: 'object',
23
+ properties: {
24
+ summary: { type: 'string' },
25
+ totalFiles: { type: 'number' },
26
+ codeFiles: { type: 'number' },
27
+ symbols: { type: 'number' },
28
+ dependencies: { type: 'number' },
29
+ testFiles: { type: 'number' },
30
+ build: { type: ['object', 'null'] },
31
+ tests: { type: ['object', 'null'] },
32
+ },
33
+ required: ['summary', 'totalFiles', 'codeFiles', 'symbols', 'dependencies', 'testFiles'],
34
+ },
35
+ invariants: [
36
+ 'summary must describe workspace analysis results',
37
+ 'totalFiles >= 0',
38
+ ],
39
+ sideEffects: false,
40
+ tools: [
41
+ { name: 'code_search', version: 'v1.0.0' },
42
+ { name: 'grep', version: 'v1.0.0' },
43
+ { name: 'build', version: 'v1.0.0' },
44
+ { name: 'run_tests_v2', version: 'v1.0.0' },
45
+ ],
46
+ },
47
+ {
48
+ name: 'collect_context_pack',
49
+ version: 'v1.0.0',
50
+ inputSchema: {
51
+ type: 'object',
52
+ properties: {
53
+ goal: { type: 'string' },
54
+ path: { type: 'string' },
55
+ maxFiles: { type: 'number', minimum: 1 },
56
+ maxSymbols: { type: 'number', minimum: 1 },
57
+ },
58
+ required: ['goal'],
59
+ additionalProperties: false,
60
+ },
61
+ outputSchema: {
62
+ type: 'object',
63
+ properties: {
64
+ contextPack: {
65
+ type: 'object',
66
+ properties: {
67
+ goal: { type: 'string' },
68
+ files: { type: 'array', items: { type: 'object' } },
69
+ symbols: { type: 'array', items: { type: 'object' } },
70
+ tests: { type: 'array', items: { type: 'object' } },
71
+ },
72
+ required: ['files', 'symbols'],
73
+ },
74
+ },
75
+ required: ['contextPack'],
76
+ },
77
+ invariants: [
78
+ 'contextPack.files.length > 0',
79
+ ],
80
+ sideEffects: false,
81
+ tools: [
82
+ { name: 'code_search', version: 'v1.0.0' },
83
+ { name: 'grep', version: 'v1.0.0' },
84
+ { name: 'file_read_v2', version: 'v1.0.0' },
85
+ ],
86
+ },
87
+ {
88
+ name: 'search_code',
89
+ version: 'v1.0.0',
90
+ inputSchema: {
91
+ type: 'object',
92
+ properties: {
93
+ query: { type: 'string' },
94
+ k: { type: 'number', minimum: 1 },
95
+ preferTypes: { type: 'array', items: { type: 'string' } },
96
+ path: { type: 'string' },
97
+ },
98
+ required: ['query'],
99
+ additionalProperties: false,
100
+ },
101
+ outputSchema: {
102
+ type: 'object',
103
+ properties: {
104
+ results: {
105
+ type: 'array',
106
+ items: {
107
+ type: 'object',
108
+ properties: {
109
+ path: { type: 'string' },
110
+ score: { type: 'number' },
111
+ snippet: { type: 'string' },
112
+ line: { type: 'number' },
113
+ },
114
+ required: ['path', 'snippet'],
115
+ },
116
+ },
117
+ },
118
+ required: ['results'],
119
+ },
120
+ invariants: ['results is ordered by relevance score'],
121
+ sideEffects: false,
122
+ tools: [{ name: 'code_search', version: 'v1.0.0' }],
123
+ },
124
+ {
125
+ name: 'find_symbol_definition',
126
+ version: 'v1.0.0',
127
+ inputSchema: {
128
+ type: 'object',
129
+ properties: {
130
+ symbolName: { type: 'string' },
131
+ fileHint: { type: 'string' },
132
+ },
133
+ required: ['symbolName'],
134
+ additionalProperties: false,
135
+ },
136
+ outputSchema: {
137
+ type: 'object',
138
+ properties: {
139
+ locations: {
140
+ type: 'array',
141
+ items: {
142
+ type: 'object',
143
+ properties: {
144
+ path: { type: 'string' },
145
+ line: { type: 'number' },
146
+ snippet: { type: 'string' },
147
+ },
148
+ required: ['path', 'line', 'snippet'],
149
+ },
150
+ },
151
+ },
152
+ required: ['locations'],
153
+ },
154
+ invariants: ['locations entries correspond to symbol definitions'],
155
+ sideEffects: false,
156
+ tools: [{ name: 'code_search', version: 'v1.0.0' }],
157
+ },
158
+ {
159
+ name: 'implement_function',
160
+ version: 'v1.0.0',
161
+ inputSchema: {
162
+ type: 'object',
163
+ properties: {
164
+ path: { type: 'string' },
165
+ functionName: { type: 'string' },
166
+ signature: { type: 'string' },
167
+ intent: { type: 'string' },
168
+ dryRun: { type: 'boolean' },
169
+ },
170
+ required: ['path', 'functionName', 'signature', 'intent'],
171
+ additionalProperties: false,
172
+ },
173
+ outputSchema: {
174
+ type: 'object',
175
+ properties: {
176
+ implemented: { type: 'boolean' },
177
+ changes: { type: 'string' },
178
+ testResults: { type: ['object', 'null'] },
179
+ },
180
+ required: ['implemented', 'changes'],
181
+ },
182
+ invariants: ['changes must reflect function implementation diff'],
183
+ sideEffects: [
184
+ 'Modifies target source file',
185
+ ],
186
+ tools: [
187
+ { name: 'file_read_lines', version: 'v1.0.0' },
188
+ { name: 'code_edit_v2', version: 'v1.0.0' },
189
+ ],
190
+ },
191
+ {
192
+ name: 'refactor_rename_symbol',
193
+ version: 'v1.0.0',
194
+ inputSchema: {
195
+ type: 'object',
196
+ properties: {
197
+ symbol: { type: 'string' },
198
+ newName: { type: 'string' },
199
+ scope: { type: 'string' },
200
+ dryRun: { type: 'boolean' },
201
+ },
202
+ required: ['symbol', 'newName'],
203
+ additionalProperties: false,
204
+ },
205
+ outputSchema: {
206
+ type: 'object',
207
+ properties: {
208
+ occurrences: { type: 'number' },
209
+ filesChanged: { type: 'array', items: { type: 'string' } },
210
+ success: { type: 'boolean' },
211
+ },
212
+ required: ['occurrences', 'filesChanged', 'success'],
213
+ },
214
+ invariants: ['filesChanged entries must be workspace-relative paths'],
215
+ sideEffects: [
216
+ 'May update multiple source files',
217
+ ],
218
+ tools: [
219
+ { name: 'grep', version: 'v1.0.0' },
220
+ { name: 'code_edit_v2', version: 'v1.0.0' },
221
+ ],
222
+ },
223
+ {
224
+ name: 'fix_type_error',
225
+ version: 'v1.0.0',
226
+ inputSchema: {
227
+ type: 'object',
228
+ properties: {
229
+ diagnostics: { type: 'string' },
230
+ context: { type: 'string' },
231
+ dryRun: { type: 'boolean' },
232
+ },
233
+ required: ['diagnostics'],
234
+ additionalProperties: false,
235
+ },
236
+ outputSchema: {
237
+ type: 'object',
238
+ properties: {
239
+ fixed: { type: 'boolean' },
240
+ changes: { type: 'array', items: { type: 'string' } },
241
+ remainingErrors: { type: 'number' },
242
+ },
243
+ required: ['fixed', 'changes', 'remainingErrors'],
244
+ },
245
+ invariants: ['remainingErrors >= 0'],
246
+ sideEffects: [
247
+ 'May run project build pipeline',
248
+ 'May modify source files',
249
+ ],
250
+ tools: [
251
+ { name: 'build', version: 'v1.0.0' },
252
+ { name: 'code_edit_v2', version: 'v1.0.0' },
253
+ ],
254
+ },
255
+ {
256
+ name: 'generate_unit_tests',
257
+ version: 'v1.0.0',
258
+ inputSchema: {
259
+ type: 'object',
260
+ properties: {
261
+ targetPath: { type: 'string' },
262
+ symbolName: { type: 'string' },
263
+ coverage: { type: 'string' },
264
+ dryRun: { type: 'boolean' },
265
+ },
266
+ required: ['targetPath'],
267
+ additionalProperties: false,
268
+ },
269
+ outputSchema: {
270
+ type: 'object',
271
+ properties: {
272
+ implemented: { type: 'boolean' },
273
+ testPath: { type: 'string' },
274
+ testCount: { type: 'number' },
275
+ },
276
+ required: ['implemented', 'testPath', 'testCount'],
277
+ },
278
+ invariants: ['testCount >= 0'],
279
+ sideEffects: [
280
+ 'Creates or updates test files',
281
+ ],
282
+ tools: [
283
+ { name: 'file_read_v2', version: 'v1.0.0' },
284
+ { name: 'code_edit_v2', version: 'v1.0.0' },
285
+ ],
286
+ },
287
+ ],
288
+ };
289
+ //# sourceMappingURL=capability-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-map.js","sourceRoot":"","sources":["../../src/capability-map.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,9 @@ export declare class SimpleToolRegistry extends ToolRegistry {
20
20
  register(tool: Tool): void;
21
21
  get(name: string): Tool | undefined;
22
22
  list(): string[];
23
+ has(name: string): boolean;
24
+ getSpec(name: string): import("@ddse/acm-sdk").ToolSpec | undefined;
25
+ listSpecs(): import("@ddse/acm-sdk").ToolSpec[];
23
26
  }
24
27
  /**
25
28
  * Simple Policy Engine with safety rules for code modifications
@@ -1 +1 @@
1
- {"version":3,"file":"registries.d.ts","sourceRoot":"","sources":["../../src/registries.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,IAAI,EACT,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,kBAAkB;IAC9D,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,YAAY,CAAiC;IAErD,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAKlD,IAAI,IAAI,UAAU,EAAE;IAIpB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIvC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI9C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;CAGhD;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,OAAO,CAAC,KAAK,CAA2B;IAExC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAI1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAInC,IAAI,IAAI,MAAM,EAAE;CAGjB;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,cAAc,CAAgB;IAEtC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAItC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAIpC,QAAQ,CACZ,MAAM,EAAE,YAAY,GAAG,UAAU,GAAG,WAAW,EAC/C,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,cAAc,CAAC;CAoC3B"}
1
+ {"version":3,"file":"registries.d.ts","sourceRoot":"","sources":["../../src/registries.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,IAAI,EACT,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,kBAAkB;IAC9D,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,YAAY,CAAiC;IAErD,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAKlD,IAAI,IAAI,UAAU,EAAE;IAIpB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIvC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI9C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;CAGhD;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,OAAO,CAAC,KAAK,CAA2B;IAExC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAI1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAInC,IAAI,IAAI,MAAM,EAAE;IAIhB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,OAAO,CAAC,IAAI,EAAE,MAAM;IAIpB,SAAS;CAKV;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,cAAc,CAAgB;IAEtC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAItC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAIpC,QAAQ,CACZ,MAAM,EAAE,YAAY,GAAG,UAAU,GAAG,WAAW,EAC/C,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,cAAc,CAAC;CAoC3B"}
@@ -40,6 +40,17 @@ export class SimpleToolRegistry extends ToolRegistry {
40
40
  list() {
41
41
  return Array.from(this.tools.keys());
42
42
  }
43
+ has(name) {
44
+ return this.tools.has(name);
45
+ }
46
+ getSpec(name) {
47
+ return this.tools.get(name)?.spec;
48
+ }
49
+ listSpecs() {
50
+ return Array.from(this.tools.values())
51
+ .map(t => t.spec)
52
+ .filter((s) => s != null);
53
+ }
43
54
  }
44
55
  /**
45
56
  * Simple Policy Engine with safety rules for code modifications
@@ -1 +1 @@
1
- {"version":3,"file":"registries.js","sourceRoot":"","sources":["../../src/registries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registries.js","sourceRoot":"","sources":["../../src/registries.ts"],"names":[],"mappings":"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"}