genaicode 0.2.1 → 0.4.1

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 (232) hide show
  1. package/README.md +11 -0
  2. package/bin/genaicode-dev.js +2 -1
  3. package/bin/genaicode.cjs +4 -4
  4. package/dist/ai-service/ai-studio.js +65 -10
  5. package/dist/ai-service/ai-studio.js.map +1 -1
  6. package/dist/ai-service/anthropic.js +22 -8
  7. package/dist/ai-service/anthropic.js.map +1 -1
  8. package/dist/ai-service/chat-gpt.js +22 -10
  9. package/dist/ai-service/chat-gpt.js.map +1 -1
  10. package/dist/ai-service/common.d.ts +20 -7
  11. package/dist/ai-service/common.js +9 -6
  12. package/dist/ai-service/common.js.map +1 -1
  13. package/dist/ai-service/common.test.js +3 -3
  14. package/dist/ai-service/common.test.js.map +1 -1
  15. package/dist/ai-service/unescape-function-call.d.ts +7 -0
  16. package/dist/ai-service/unescape-function-call.js +59 -0
  17. package/dist/ai-service/unescape-function-call.js.map +1 -0
  18. package/dist/ai-service/unescape-function-call.test.js +18 -0
  19. package/dist/ai-service/unescape-function-call.test.js.map +1 -0
  20. package/dist/ai-service/vertex-ai-claude.js +11 -4
  21. package/dist/ai-service/vertex-ai-claude.js.map +1 -1
  22. package/dist/ai-service/vertex-ai.d.ts +1 -1
  23. package/dist/ai-service/vertex-ai.js +73 -14
  24. package/dist/ai-service/vertex-ai.js.map +1 -1
  25. package/dist/cli/cli-options.js +8 -0
  26. package/dist/cli/cli-options.js.map +1 -1
  27. package/dist/cli/cli-params.d.ts +6 -0
  28. package/dist/cli/cli-params.js +25 -4
  29. package/dist/cli/cli-params.js.map +1 -1
  30. package/dist/cli/validate-cli-params.js +11 -1
  31. package/dist/cli/validate-cli-params.js.map +1 -1
  32. package/dist/files/cache-file.d.ts +3 -0
  33. package/dist/files/cache-file.js +36 -0
  34. package/dist/files/cache-file.js.map +1 -0
  35. package/dist/files/find-files.d.ts +1 -0
  36. package/dist/files/find-files.js +7 -2
  37. package/dist/files/find-files.js.map +1 -1
  38. package/dist/files/read-files.d.ts +6 -3
  39. package/dist/files/read-files.js +7 -5
  40. package/dist/files/read-files.js.map +1 -1
  41. package/dist/files/read-files.test.js +2 -1
  42. package/dist/files/read-files.test.js.map +1 -1
  43. package/dist/files/update-files.js +1 -4
  44. package/dist/files/update-files.js.map +1 -1
  45. package/dist/main/codegen-types.d.ts +15 -0
  46. package/dist/main/codegen.d.ts +2 -2
  47. package/dist/main/codegen.js +91 -52
  48. package/dist/main/codegen.js.map +1 -1
  49. package/dist/main/codegen.test.d.ts +1 -0
  50. package/dist/main/codegen.test.js +24 -8
  51. package/dist/main/codegen.test.js.map +1 -1
  52. package/dist/main/common/content-bus-types.d.ts +16 -0
  53. package/dist/main/common/content-bus-types.js +7 -0
  54. package/dist/main/common/content-bus-types.js.map +1 -0
  55. package/dist/main/common/content-bus.d.ts +9 -0
  56. package/dist/main/common/content-bus.js +25 -0
  57. package/dist/main/common/content-bus.js.map +1 -0
  58. package/dist/main/common/cost-collector.d.ts +11 -0
  59. package/dist/main/common/cost-collector.js +90 -0
  60. package/dist/main/common/cost-collector.js.map +1 -0
  61. package/dist/main/common/user-actions.d.ts +7 -0
  62. package/dist/main/common/user-actions.js +15 -0
  63. package/dist/main/common/user-actions.js.map +1 -0
  64. package/dist/main/config-lib.d.ts +19 -0
  65. package/dist/main/config-lib.js.map +1 -1
  66. package/dist/main/config.d.ts +2 -1
  67. package/dist/main/config.js +3 -0
  68. package/dist/main/config.js.map +1 -1
  69. package/dist/main/interactive/codegen-interactive.js +8 -2
  70. package/dist/main/interactive/codegen-interactive.js.map +1 -1
  71. package/dist/main/interactive/codegen-interactive.test.d.ts +1 -0
  72. package/dist/main/interactive/codegen-interactive.test.js +2 -0
  73. package/dist/main/interactive/codegen-interactive.test.js.map +1 -1
  74. package/dist/main/interactive/codegen-worker.d.ts +1 -1
  75. package/dist/main/interactive/codegen-worker.js +10 -4
  76. package/dist/main/interactive/codegen-worker.js.map +1 -1
  77. package/dist/main/interactive/task-file.js +9 -2
  78. package/dist/main/interactive/task-file.js.map +1 -1
  79. package/dist/main/interactive/user-action-handlers.d.ts +1 -0
  80. package/dist/main/interactive/user-action-handlers.js +13 -0
  81. package/dist/main/interactive/user-action-handlers.js.map +1 -0
  82. package/dist/main/interactive/user-interrupt.js +1 -1
  83. package/dist/main/interactive/user-interrupt.js.map +1 -1
  84. package/dist/main/ui/backend/api-utils.d.ts +2 -0
  85. package/dist/main/ui/backend/api-utils.js +18 -0
  86. package/dist/main/ui/backend/api-utils.js.map +1 -0
  87. package/dist/main/ui/backend/api.d.ts +2 -0
  88. package/dist/main/ui/backend/api.js +186 -0
  89. package/dist/main/ui/backend/api.js.map +1 -0
  90. package/dist/main/ui/backend/server.d.ts +2 -0
  91. package/dist/main/ui/backend/server.js +85 -0
  92. package/dist/main/ui/backend/server.js.map +1 -0
  93. package/dist/main/ui/backend/service.d.ts +48 -0
  94. package/dist/main/ui/backend/service.js +161 -0
  95. package/dist/main/ui/backend/service.js.map +1 -0
  96. package/dist/main/ui/codegen-ui.d.ts +2 -0
  97. package/dist/main/ui/codegen-ui.js +13 -0
  98. package/dist/main/ui/codegen-ui.js.map +1 -0
  99. package/dist/main/ui/frontend/assets/index-Bj9ZkmiD.js +638 -0
  100. package/dist/main/ui/frontend/assets/index-S_ocA1xG.css +1 -0
  101. package/dist/main/ui/frontend/assets/logo-BGHkG1-J.png +0 -0
  102. package/dist/main/ui/frontend/assets/logo-dark-KAsU1C78.png +0 -0
  103. package/dist/main/ui/frontend/assets/press-start-2p-cyrillic-400-normal-oElOGqNf.woff2 +0 -0
  104. package/dist/main/ui/frontend/assets/press-start-2p-cyrillic-ext-400-normal-COIQET2s.woff2 +0 -0
  105. package/dist/main/ui/frontend/assets/press-start-2p-greek-400-normal-DUIT0YPZ.woff2 +0 -0
  106. package/dist/main/ui/frontend/assets/press-start-2p-latin-400-normal-BKfmdmKK.woff +0 -0
  107. package/dist/main/ui/frontend/assets/press-start-2p-latin-400-normal-xj9lRvVs.woff2 +0 -0
  108. package/dist/main/ui/frontend/assets/press-start-2p-latin-ext-400-normal-B18ub5-k.woff +0 -0
  109. package/dist/main/ui/frontend/assets/press-start-2p-latin-ext-400-normal-DDIa4im3.woff2 +0 -0
  110. package/dist/main/ui/frontend/index.html +16 -0
  111. package/dist/main/ui/user-action-handlers.d.ts +2 -0
  112. package/dist/main/ui/user-action-handlers.js +9 -0
  113. package/dist/main/ui/user-action-handlers.js.map +1 -0
  114. package/dist/prompt/ai-service-fallback.d.ts +3 -0
  115. package/dist/prompt/ai-service-fallback.js +84 -0
  116. package/dist/prompt/ai-service-fallback.js.map +1 -0
  117. package/dist/prompt/function-calling-validate.js +70 -4
  118. package/dist/prompt/function-calling-validate.js.map +1 -1
  119. package/dist/prompt/function-calling.js +11 -1
  120. package/dist/prompt/function-calling.js.map +1 -1
  121. package/dist/prompt/function-defs/ask-question-reflect.d.ts +20 -0
  122. package/dist/prompt/function-defs/ask-question-reflect.js +21 -0
  123. package/dist/prompt/function-defs/ask-question-reflect.js.map +1 -0
  124. package/dist/prompt/function-defs/ask-question.d.ts +31 -20
  125. package/dist/prompt/function-defs/ask-question.js +51 -21
  126. package/dist/prompt/function-defs/ask-question.js.map +1 -1
  127. package/dist/prompt/function-defs/codegen-summary.d.ts +23 -21
  128. package/dist/prompt/function-defs/codegen-summary.js +28 -28
  129. package/dist/prompt/function-defs/codegen-summary.js.map +1 -1
  130. package/dist/prompt/function-defs/create-file.d.ts +4 -4
  131. package/dist/prompt/function-defs/create-file.js +4 -4
  132. package/dist/prompt/function-defs/create-file.js.map +1 -1
  133. package/dist/prompt/function-defs/delete-file.d.ts +4 -4
  134. package/dist/prompt/function-defs/delete-file.js +4 -4
  135. package/dist/prompt/function-defs/delete-file.js.map +1 -1
  136. package/dist/prompt/function-defs/generate-image.d.ts +4 -4
  137. package/dist/prompt/function-defs/generate-image.js +4 -4
  138. package/dist/prompt/function-defs/generate-image.js.map +1 -1
  139. package/dist/prompt/function-defs/get-source-code.d.ts +1 -1
  140. package/dist/prompt/function-defs/get-source-code.js +2 -1
  141. package/dist/prompt/function-defs/get-source-code.js.map +1 -1
  142. package/dist/prompt/function-defs/move-file.d.ts +4 -4
  143. package/dist/prompt/function-defs/move-file.js +4 -4
  144. package/dist/prompt/function-defs/move-file.js.map +1 -1
  145. package/dist/prompt/function-defs/optimize-context.d.ts +46 -0
  146. package/dist/prompt/function-defs/optimize-context.js +47 -0
  147. package/dist/prompt/function-defs/optimize-context.js.map +1 -0
  148. package/dist/prompt/function-defs/patch-file.d.ts +4 -4
  149. package/dist/prompt/function-defs/patch-file.js +4 -4
  150. package/dist/prompt/function-defs/patch-file.js.map +1 -1
  151. package/dist/prompt/function-defs/read-history.d.ts +13 -0
  152. package/dist/prompt/function-defs/read-history.js +14 -0
  153. package/dist/prompt/function-defs/read-history.js.map +1 -0
  154. package/dist/prompt/function-defs/set-summaries.d.ts +31 -0
  155. package/dist/prompt/function-defs/set-summaries.js +32 -0
  156. package/dist/prompt/function-defs/set-summaries.js.map +1 -0
  157. package/dist/prompt/function-defs/update-file.d.ts +4 -4
  158. package/dist/prompt/function-defs/update-file.js +4 -4
  159. package/dist/prompt/function-defs/update-file.js.map +1 -1
  160. package/dist/prompt/function-defs/update-history.d.ts +21 -0
  161. package/dist/prompt/function-defs/update-history.js +22 -0
  162. package/dist/prompt/function-defs/update-history.js.map +1 -0
  163. package/dist/prompt/limits.d.ts +3 -3
  164. package/dist/prompt/limits.js +10 -8
  165. package/dist/prompt/limits.js.map +1 -1
  166. package/dist/prompt/limits.test.js +6 -6
  167. package/dist/prompt/limits.test.js.map +1 -1
  168. package/dist/prompt/prompt-codegen.js +52 -25
  169. package/dist/prompt/prompt-codegen.js.map +1 -1
  170. package/dist/prompt/prompt-codegen.test.js +2 -2
  171. package/dist/prompt/prompt-codegen.test.js.map +1 -1
  172. package/dist/prompt/prompt-service-ask-question.test.d.ts +1 -0
  173. package/dist/prompt/prompt-service-ask-question.test.js +86 -13
  174. package/dist/prompt/prompt-service-ask-question.test.js.map +1 -1
  175. package/dist/prompt/prompt-service.d.ts +3 -10
  176. package/dist/prompt/prompt-service.js +66 -23
  177. package/dist/prompt/prompt-service.js.map +1 -1
  178. package/dist/prompt/prompt-service.test.d.ts +1 -0
  179. package/dist/prompt/prompt-service.test.js +73 -48
  180. package/dist/prompt/prompt-service.test.js.map +1 -1
  181. package/dist/prompt/steps/step-ask-question-handlers.d.ts +10 -0
  182. package/dist/prompt/steps/step-ask-question-handlers.js +265 -0
  183. package/dist/prompt/steps/step-ask-question-handlers.js.map +1 -0
  184. package/dist/prompt/steps/step-ask-question-reflect.d.ts +4 -0
  185. package/dist/prompt/steps/step-ask-question-reflect.js +40 -0
  186. package/dist/prompt/steps/step-ask-question-reflect.js.map +1 -0
  187. package/dist/prompt/steps/step-ask-question-types.d.ts +60 -0
  188. package/dist/prompt/steps/step-ask-question-types.js +2 -0
  189. package/dist/prompt/steps/step-ask-question-types.js.map +1 -0
  190. package/dist/prompt/steps/step-ask-question.d.ts +3 -3
  191. package/dist/prompt/steps/step-ask-question.js +69 -69
  192. package/dist/prompt/steps/step-ask-question.js.map +1 -1
  193. package/dist/prompt/steps/step-context-optimization.d.ts +4 -0
  194. package/dist/prompt/steps/step-context-optimization.js +193 -0
  195. package/dist/prompt/steps/step-context-optimization.js.map +1 -0
  196. package/dist/prompt/steps/step-history-update.d.ts +5 -0
  197. package/dist/prompt/steps/step-history-update.js +54 -0
  198. package/dist/prompt/steps/step-history-update.js.map +1 -0
  199. package/dist/prompt/steps/step-summarization.d.ts +8 -0
  200. package/dist/prompt/steps/step-summarization.js +75 -0
  201. package/dist/prompt/steps/step-summarization.js.map +1 -0
  202. package/dist/prompt/steps/step-validate-recover.d.ts +2 -13
  203. package/dist/prompt/steps/step-validate-recover.js +3 -3
  204. package/dist/prompt/steps/step-validate-recover.js.map +1 -1
  205. package/dist/prompt/steps/step-verify-patch.d.ts +1 -2
  206. package/dist/prompt/steps/step-verify-patch.js +3 -10
  207. package/dist/prompt/steps/step-verify-patch.js.map +1 -1
  208. package/dist/prompt/steps/steps-types.d.ts +16 -0
  209. package/dist/prompt/steps/steps-utils.d.ts +7 -0
  210. package/dist/prompt/steps/steps-utils.js +11 -0
  211. package/dist/prompt/steps/steps-utils.js.map +1 -0
  212. package/dist/prompt/systemprompt.d.ts +1 -1
  213. package/dist/prompt/systemprompt.js +194 -32
  214. package/dist/prompt/systemprompt.js.map +1 -1
  215. package/dist/prompt/systemprompt.test.js +5 -8
  216. package/dist/prompt/systemprompt.test.js.map +1 -1
  217. package/dist/prompt/token-estimator.d.ts +8 -0
  218. package/dist/prompt/token-estimator.js +31 -0
  219. package/dist/prompt/token-estimator.js.map +1 -0
  220. package/package.json +28 -4
  221. package/dist/main/codegen-interactive-utils.d.ts +0 -8
  222. package/dist/main/codegen-interactive-utils.js +0 -148
  223. package/dist/main/codegen-interactive-utils.js.map +0 -1
  224. package/dist/main/codegen-interactive.d.ts +0 -2
  225. package/dist/main/codegen-interactive.js +0 -68
  226. package/dist/main/codegen-interactive.js.map +0 -1
  227. package/dist/main/interactive/worker-script.js +0 -24
  228. package/dist/main/interactive/worker-script.js.map +0 -1
  229. package/dist/main/interactive/worker.d.ts +0 -2
  230. package/dist/main/interactive/worker.js +0 -55
  231. package/dist/main/interactive/worker.js.map +0 -1
  232. /package/dist/{main/interactive/worker-script.d.ts → ai-service/unescape-function-call.test.d.ts} +0 -0
@@ -1,7 +1,10 @@
1
1
  import { CodegenOptions } from '../main/codegen-types.js';
2
- type SourceCodeMap = Record<string, {
2
+ export type SourceCodeMap = Record<string, {
3
3
  content: string | null;
4
- } | undefined>;
4
+ } | {
5
+ summary: string;
6
+ tokenCount: number;
7
+ }>;
5
8
  type ImageAssetsMap = Record<string, {
6
9
  mimeType: string | false;
7
10
  width: number;
@@ -10,7 +13,7 @@ type ImageAssetsMap = Record<string, {
10
13
  /** Print source code of all source files */
11
14
  export declare function getSourceCode({ filterPaths, taskFile, forceAll, }: {
12
15
  filterPaths?: string[];
13
- taskFile: string | undefined;
16
+ taskFile?: string | undefined;
14
17
  forceAll?: boolean;
15
18
  }, options: CodegenOptions): SourceCodeMap;
16
19
  /** Get image asset files summary */
@@ -6,6 +6,7 @@ import globRegex from 'glob-regex';
6
6
  import { getSourceFiles, getImageAssetFiles } from './find-files.js';
7
7
  import { rcConfig, importantContext } from '../main/config.js';
8
8
  import { verifySourceCodeLimit } from '../prompt/limits.js';
9
+ import { getSummary } from '../prompt/steps/step-summarization.js';
9
10
  /**
10
11
  * Read contents of source files and create a map with file path as key and file content as value
11
12
  */
@@ -19,20 +20,21 @@ function readSourceFiles({ contentMask, ignorePatterns }, filterPaths, forceAll
19
20
  sourceCode[file] = { content: fs.readFileSync(file, 'utf-8') };
20
21
  continue;
21
22
  }
23
+ const summary = getSummary(file);
22
24
  // Apply content mask filter if it's set
23
25
  if (!filterPaths && contentMask && !forceAll) {
24
26
  const relativePath = path.relative(rcConfig.rootDir, file);
25
27
  if (!relativePath.startsWith(contentMask)) {
26
- sourceCode[file] = { content: null }; // Include the file path but set content to null
28
+ sourceCode[file] = summary ? { ...summary } : { content: null };
27
29
  continue;
28
30
  }
29
31
  }
30
- if (!forceAll && ignorePatterns?.some((pattern) => globRegex.default(pattern).test(file))) {
31
- sourceCode[file] = { content: null };
32
+ if (!forceAll && ignorePatterns?.some((pattern) => globRegex(pattern).test(file))) {
33
+ sourceCode[file] = summary ? { ...summary } : { content: null };
32
34
  }
33
35
  else {
34
36
  const content = fs.readFileSync(file, 'utf-8');
35
- sourceCode[file] = { content };
37
+ sourceCode[file] = { content, ...summary };
36
38
  }
37
39
  }
38
40
  }
@@ -53,7 +55,7 @@ export function getSourceCode({ filterPaths, taskFile, forceAll, }, options) {
53
55
  export function getImageAssets() {
54
56
  const imageAssets = {};
55
57
  for (const file of getImageAssetFiles()) {
56
- const dimensions = sizeOf.default(file);
58
+ const dimensions = sizeOf(file);
57
59
  imageAssets[file] = {
58
60
  mimeType: mime.lookup(file),
59
61
  width: dimensions.width,
@@ -1 +1 @@
1
- {"version":3,"file":"read-files.js","sourceRoot":"","sources":["../../src/files/read-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-files.js","sourceRoot":"","sources":["../../src/files/read-files.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ vi.mock('../prompt/limits.js');
18
18
  vi.mock('../cli/cli-params.js', () => ({
19
19
  taskFile: null,
20
20
  contentMask: null,
21
+ requireExplanations: false,
21
22
  ignorePatterns: [],
22
23
  }));
23
24
  vi.mock('../main/config.js', () => ({
@@ -75,7 +76,7 @@ describe('read-files', () => {
75
76
  const mockImageFiles = ['/home/project/image1.png', '/home/project/image2.jpg'];
76
77
  vi.mocked(getImageAssetFiles).mockReturnValue(mockImageFiles);
77
78
  vi.mocked(mime).lookup.mockImplementation((file) => (file.endsWith('.png') ? 'image/png' : 'image/jpeg'));
78
- vi.mocked(sizeOf).default.mockImplementation(() => ({ width: 100, height: 200 }));
79
+ vi.mocked(sizeOf).mockImplementation(() => ({ width: 100, height: 200 }));
79
80
  const result = getImageAssets();
80
81
  expect(result).toEqual({
81
82
  '/home/project/image1.png': { mimeType: 'image/png', width: 100, height: 200 },
@@ -1 +1 @@
1
- {"version":3,"file":"read-files.test.js","sourceRoot":"","sources":["../../src/files/read-files.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-files.test.js","sourceRoot":"","sources":["../../src/files/read-files.test.ts"],"names":[],"mappings":"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"}
@@ -86,10 +86,7 @@ export async function updateFiles(functionCalls, options) {
86
86
  console.log(`Updating file: ${filePath}`);
87
87
  assert(fs.existsSync(filePath), 'File does not exist');
88
88
  }
89
- fs.writeFileSync(filePath, options.aiService === 'vertex-ai' || options.aiService === 'ai-studio'
90
- ? // Fixing a problem caused by vertex function calling. Possibly not a good fix
91
- newContent.replace(/\\n/g, '\n').replace(/\\'/g, "'")
92
- : newContent, 'utf-8');
89
+ fs.writeFileSync(filePath, newContent, 'utf-8');
93
90
  }
94
91
  else if (name === 'moveFile') {
95
92
  console.log(`Moving file from ${source} to ${destination}`);
@@ -1 +1 @@
1
- {"version":3,"file":"update-files.js","sourceRoot":"","sources":["../../src/files/update-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-files.js","sourceRoot":"","sources":["../../src/files/update-files.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,10 @@
1
1
  export type AiServiceType = 'vertex-ai' | 'ai-studio' | 'vertex-ai-claude' | 'chat-gpt' | 'anthropic';
2
2
  export type ImagenType = 'vertex-ai' | 'dall-e';
3
+ export interface UploadedImage {
4
+ base64url: string;
5
+ mediaType: 'image/jpeg' | 'image/png' | 'image/gif' | 'image/webp';
6
+ originalName: string;
7
+ }
3
8
  export interface CodegenOptions {
4
9
  explicitPrompt?: string;
5
10
  taskFile?: string;
@@ -23,6 +28,16 @@ export interface CodegenOptions {
23
28
  ignorePatterns?: string[];
24
29
  askQuestion?: boolean;
25
30
  interactive?: boolean;
31
+ ui?: boolean;
26
32
  disableCache?: boolean;
27
33
  dependencyTree?: boolean;
34
+ historyEnabled?: boolean;
35
+ disableAiServiceFallback?: boolean;
36
+ selfReflectionEnabled?: boolean;
37
+ images?: UploadedImage[];
38
+ isDev?: boolean;
39
+ }
40
+ export interface MultimodalPrompt {
41
+ text: string;
42
+ images: UploadedImage[];
28
43
  }
@@ -1,4 +1,4 @@
1
1
  import { CodegenOptions } from './codegen-types.js';
2
2
  /** Executes codegen */
3
- export declare function runCodegen(): Promise<void>;
4
- export declare function runCodegenIteration(options: CodegenOptions, abortSignal?: AbortSignal): Promise<void>;
3
+ export declare function runCodegen(isDev?: boolean): Promise<void>;
4
+ export declare function runCodegenIteration(options: CodegenOptions, abortSignal?: AbortSignal, waitIfPaused?: () => Promise<void>): Promise<void>;
@@ -17,8 +17,11 @@ import { getLintFixPrompt } from '../prompt/prompt-codegen.js';
17
17
  import { printHelpMessage } from '../cli/cli-options.js';
18
18
  import { getCodeGenPrompt } from '../prompt/prompt-codegen.js';
19
19
  import { runInteractiveMode } from './interactive/codegen-interactive.js';
20
+ import { runCodegenUI } from './ui/codegen-ui.js';
21
+ import { putSystemMessage, putUserMessage } from './common/content-bus.js';
22
+ import { refreshFiles } from '../files/find-files.js';
20
23
  /** Executes codegen */
21
- export async function runCodegen() {
24
+ export async function runCodegen(isDev = false) {
22
25
  // Print to console the received parameters
23
26
  console.log(`Received parameters: ${process.argv.slice(2).join(' ')}`);
24
27
  validateCliParams();
@@ -51,9 +54,17 @@ export async function runCodegen() {
51
54
  askQuestion: cliParams.askQuestion,
52
55
  disableCache: cliParams.disableCache,
53
56
  interactive: cliParams.interactive,
57
+ ui: cliParams.ui,
58
+ disableAiServiceFallback: cliParams.disableAiServiceFallback,
59
+ historyEnabled: !cliParams.disableHistory,
60
+ selfReflectionEnabled: !cliParams.disableSelfReflection,
61
+ isDev,
54
62
  };
55
- // Handle interactive mode
56
- if (cliParams.interactive) {
63
+ if (cliParams.ui) {
64
+ await runCodegenUI(options);
65
+ }
66
+ else if (cliParams.interactive) {
67
+ // Handle interactive mode
57
68
  await runInteractiveMode(options);
58
69
  }
59
70
  else {
@@ -61,18 +72,20 @@ export async function runCodegen() {
61
72
  await runCodegenIteration(options);
62
73
  }
63
74
  }
64
- export async function runCodegenIteration(options, abortSignal) {
75
+ export async function runCodegenIteration(options, abortSignal, waitIfPaused = () => Promise.resolve()) {
76
+ refreshFiles();
77
+ putUserMessage(options.explicitPrompt ?? options.taskFile ?? 'Run codegen iteration without explicit prompt.');
65
78
  if (rcConfig.lintCommand && !options.disableInitialLint) {
66
79
  try {
67
- console.log(`Executing lint command: ${rcConfig.lintCommand}`);
68
- await execPromise(rcConfig.lintCommand);
69
- console.log('Lint command executed successfully');
80
+ putSystemMessage(`Executing lint command: ${rcConfig.lintCommand}`);
81
+ await execPromise(rcConfig.lintCommand, { cwd: rcConfig.rootDir });
82
+ putSystemMessage('Lint command executed successfully');
70
83
  }
71
84
  catch (error) {
72
85
  const { stderr, stdout } = error;
73
- console.log('Lint command failed. Aborting codegen, please fix lint issues before running codegen, or use --disable-initial-lint');
86
+ putSystemMessage('Lint command failed. Aborting codegen, please fix lint issues before running codegen, or use --disable-initial-lint');
74
87
  console.log('Lint errors:', stdout, stderr);
75
- process.exit(1);
88
+ return;
76
89
  }
77
90
  }
78
91
  else if (rcConfig.lintCommand && options.disableInitialLint) {
@@ -81,56 +94,82 @@ export async function runCodegenIteration(options, abortSignal) {
81
94
  if (abortSignal?.aborted) {
82
95
  throw new Error('Codegen iteration aborted');
83
96
  }
84
- console.log('Generating response');
85
- const functionCalls = await promptService(GENERATE_CONTENT_FNS, GENERATE_IMAGE_FNS, getCodeGenPrompt(options));
86
- console.log('Received function calls:', functionCalls);
87
- if (options.dryRun) {
88
- console.log('Dry run mode, not updating files');
89
- }
90
- else {
91
- console.log('Update files');
92
- await updateFiles(functionCalls.filter((call) => call.name !== 'explanation' && call.name !== 'getSourceCode'), options);
93
- console.log('Initial updates applied');
94
- if (abortSignal?.aborted) {
95
- throw new Error('Codegen iteration aborted after initial updates');
97
+ await waitIfPaused();
98
+ putSystemMessage('Generating response');
99
+ try {
100
+ const functionCalls = await promptService(GENERATE_CONTENT_FNS, GENERATE_IMAGE_FNS, getCodeGenPrompt(options), waitIfPaused);
101
+ console.log('Received function calls:', functionCalls);
102
+ await waitIfPaused();
103
+ if (functionCalls.length === 0) {
104
+ putSystemMessage('No updates to apply');
96
105
  }
97
- // Check if lintCommand is specified in .genaicoderc
98
- if (rcConfig.lintCommand) {
99
- try {
100
- console.log(`Executing lint command: ${rcConfig.lintCommand}`);
101
- await execPromise(rcConfig.lintCommand);
102
- console.log('Lint command executed successfully');
106
+ else if (options.dryRun) {
107
+ putSystemMessage('Dry run mode, not updating files');
108
+ }
109
+ else {
110
+ putSystemMessage('Update files');
111
+ await updateFiles(functionCalls.filter((call) => call.name !== 'explanation' && call.name !== 'getSourceCode'), options);
112
+ putSystemMessage('Initial updates applied');
113
+ if (abortSignal?.aborted) {
114
+ throw new Error('Codegen iteration aborted after initial updates');
103
115
  }
104
- catch (error) {
105
- console.log('Lint command failed. Attempting to fix issues...');
106
- // Prepare the lint error output for the second pass
107
- const firstLintError = error;
108
- const lintErrorPrompt = getLintFixPrompt(rcConfig.lintCommand, options, firstLintError.stdout, firstLintError.stderr);
109
- console.log('Generating response for lint fixes');
110
- const lintFixFunctionCalls = (await promptService(GENERATE_CONTENT_FNS, GENERATE_IMAGE_FNS, {
111
- prompt: lintErrorPrompt,
112
- options: { ...options, considerAllFiles: true },
113
- }));
114
- console.log('Received function calls for lint fixes:', lintFixFunctionCalls);
115
- console.log('Applying lint fixes');
116
- updateFiles(lintFixFunctionCalls.filter((call) => call.name !== 'explanation' && call.name !== 'getSourceCode'), options);
117
- if (abortSignal?.aborted) {
118
- throw new Error('Codegen iteration aborted after lint fixes');
119
- }
120
- // Run lint command again to verify fixes
116
+ await waitIfPaused();
117
+ // Check if lintCommand is specified in .genaicoderc
118
+ if (rcConfig.lintCommand && functionCalls.length > 0) {
121
119
  try {
122
- console.log(`Re-running lint command: ${rcConfig.lintCommand}`);
123
- await execPromise(rcConfig.lintCommand);
124
- console.log('Lint command executed successfully after fixes');
120
+ putSystemMessage(`Executing lint command: ${rcConfig.lintCommand}`);
121
+ await execPromise(rcConfig.lintCommand, { cwd: rcConfig.rootDir });
122
+ putSystemMessage('Lint command executed successfully');
125
123
  }
126
- catch (secondLintError) {
127
- const error = secondLintError;
128
- console.log('Lint command still failing after fixes. Manual intervention may be required.');
129
- console.log('Lint errors:', error.stdout, error.stderr);
124
+ catch (error) {
125
+ putSystemMessage('Lint command failed. Attempting to fix issues...');
126
+ // Prepare the lint error output for the second pass
127
+ const firstLintError = error;
128
+ const lintErrorPrompt = getLintFixPrompt(rcConfig.lintCommand, options, firstLintError.stdout, firstLintError.stderr);
129
+ putSystemMessage('Generating response for lint fixes');
130
+ const lintFixFunctionCalls = (await promptService(GENERATE_CONTENT_FNS, GENERATE_IMAGE_FNS, {
131
+ prompt: lintErrorPrompt,
132
+ options: { ...options, considerAllFiles: true },
133
+ }, waitIfPaused));
134
+ console.log('Received function calls for lint fixes:', lintFixFunctionCalls);
135
+ await waitIfPaused();
136
+ putSystemMessage('Applying lint fixes');
137
+ updateFiles(lintFixFunctionCalls.filter((call) => call.name !== 'explanation' && call.name !== 'getSourceCode'), options);
138
+ if (abortSignal?.aborted) {
139
+ throw new Error('Codegen iteration aborted after lint fixes');
140
+ }
141
+ // Run lint command again to verify fixes
142
+ try {
143
+ putSystemMessage(`Re-running lint command: ${rcConfig.lintCommand}`);
144
+ await execPromise(rcConfig.lintCommand);
145
+ putSystemMessage('Lint command executed successfully after fixes');
146
+ }
147
+ catch (secondLintError) {
148
+ const error = secondLintError;
149
+ putSystemMessage('Lint command still failing after fixes. Manual intervention may be required.');
150
+ console.log('Lint errors:', error.stdout, error.stderr);
151
+ }
130
152
  }
131
153
  }
154
+ console.log('Done!');
155
+ }
156
+ }
157
+ catch (error) {
158
+ if (error instanceof Error) {
159
+ if (error.name === 'AbortError' || error.message.includes('interrupted')) {
160
+ putSystemMessage('Codegen iteration was interrupted');
161
+ }
162
+ else if (error.message.includes('Rate limit exceeded')) {
163
+ putSystemMessage('Rate limit exceeded. Consider switching to a different AI service or waiting before retrying.');
164
+ }
165
+ else {
166
+ putSystemMessage(`An error occurred during codegen: ${error.message}`);
167
+ }
168
+ }
169
+ else {
170
+ putSystemMessage('An unknown error occurred during codegen');
132
171
  }
133
- console.log('Done!');
172
+ console.error('Error details:', error);
134
173
  }
135
174
  }
136
175
  // helper functions and consts
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/main/codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/main/codegen.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  import '../files/find-files.js';
2
+ import '../files/cache-file.js';
2
3
  import './config.js';
@@ -6,6 +6,7 @@ import * as anthropic from '../ai-service/anthropic.js';
6
6
  import * as vertexAiClaude from '../ai-service/vertex-ai-claude.js';
7
7
  import * as updateFiles from '../files/update-files.js';
8
8
  import '../files/find-files.js';
9
+ import '../files/cache-file.js';
9
10
  import * as cliParams from '../cli/cli-params.js';
10
11
  import * as cliOptions from '../cli/cli-options.js';
11
12
  import * as vertexAiImagen from '../ai-service/vertex-ai-imagen.js';
@@ -16,8 +17,10 @@ vi.mock('../ai-service/chat-gpt.js', () => ({ generateContent: vi.fn() }));
16
17
  vi.mock('../ai-service/anthropic.js', () => ({ generateContent: vi.fn() }));
17
18
  vi.mock('../ai-service/vertex-ai-claude.js', () => ({ generateContent: vi.fn() }));
18
19
  vi.mock('../files/update-files.js');
20
+ vi.mock('../files/cache-file.js');
19
21
  vi.mock('../cli/cli-params.js', () => ({
20
22
  interactive: false,
23
+ ui: false,
21
24
  requireExplanations: false,
22
25
  considerAllFiles: false,
23
26
  dependencyTree: false,
@@ -37,15 +40,19 @@ vi.mock('../cli/cli-params.js', () => ({
37
40
  taskFile: undefined,
38
41
  disableInitialLint: undefined,
39
42
  askQuestion: false,
40
- disableContextOptimization: undefined,
43
+ disableContextOptimization: true,
41
44
  geminiBlockNone: undefined,
42
45
  contentMask: undefined,
43
46
  ignorePatterns: [],
44
47
  disableCache: undefined,
48
+ disableAiServiceFallback: undefined,
49
+ disableHistory: true,
50
+ disableSelfReflection: true,
45
51
  }));
46
52
  vi.mock('../files/find-files.js', () => ({
47
53
  getSourceFiles: () => [],
48
54
  getImageAssetFiles: () => [],
55
+ refreshFiles: () => null,
49
56
  }));
50
57
  vi.mock('../cli/cli-options.js', () => ({
51
58
  printHelpMessage: vi.fn(),
@@ -55,7 +62,7 @@ vi.mock('../ai-service/dall-e.js', () => ({ generateImage: vi.fn() }));
55
62
  vi.mock('./config.js', () => ({
56
63
  rootDir: '/mocked/root/dir',
57
64
  rcConfig: {
58
- rootDir: '.',
65
+ rootDir: '/mocked/root/dir',
59
66
  extensions: ['.js', '.ts', '.tsx', '.jsx'],
60
67
  },
61
68
  importantContext: {},
@@ -173,7 +180,9 @@ describe('runCodegen', () => {
173
180
  {
174
181
  name: 'codegenSummary',
175
182
  args: {
176
- fileUpdates: [{ path: 'landscape.png', updateToolName: 'generateImage' }],
183
+ fileUpdates: [
184
+ { filePath: '/mocked/root/dir/landscape.png', updateToolName: 'generateImage', prompt: 'Generate image' },
185
+ ],
177
186
  contextPaths: [],
178
187
  explanation: 'Mock summary with image generation failure',
179
188
  },
@@ -182,7 +191,7 @@ describe('runCodegen', () => {
182
191
  const mockFunctionCalls = [
183
192
  {
184
193
  name: 'generateImage',
185
- args: { prompt: 'A beautiful landscape', filePath: 'landscape.png', width: 512, height: 512 },
194
+ args: { prompt: 'A beautiful landscape', filePath: '/mocked/root/dir/landscape.png', width: 512, height: 512 },
186
195
  },
187
196
  ];
188
197
  vi.mocked(vertexAi.generateContent).mockResolvedValueOnce(mockCodegenSummary);
@@ -203,14 +212,19 @@ describe('runCodegen', () => {
203
212
  {
204
213
  name: 'codegenSummary',
205
214
  args: {
206
- fileUpdates: [{ path: 'city.png', updateToolName: 'generateImage' }],
215
+ fileUpdates: [
216
+ { filePath: '/mocked/root/dir/city.png', updateToolName: 'generateImage', prompt: 'Generate image' },
217
+ ],
207
218
  contextPaths: [],
208
219
  explanation: 'Mock summary with image generation failure',
209
220
  },
210
221
  },
211
222
  ];
212
223
  const mockFunctionCalls = [
213
- { name: 'generateImage', args: { prompt: 'A futuristic city', filePath: 'city.png', width: 1024, height: 1024 } },
224
+ {
225
+ name: 'generateImage',
226
+ args: { prompt: 'A futuristic city', filePath: '/mocked/root/dir/city.png', width: 1024, height: 1024 },
227
+ },
214
228
  ];
215
229
  vi.mocked(chatGpt).generateContent.mockResolvedValueOnce(mockCodegenSummary);
216
230
  vi.mocked(chatGpt).generateContent.mockResolvedValueOnce(mockFunctionCalls);
@@ -243,7 +257,9 @@ describe('runCodegen', () => {
243
257
  {
244
258
  name: 'codegenSummary',
245
259
  args: {
246
- fileUpdates: [{ path: 'landscape.png', updateToolName: 'generateImage' }],
260
+ fileUpdates: [
261
+ { filePath: '/mocked/root/dir/landscape.png', updateToolName: 'generateImage', prompt: 'Generate image' },
262
+ ],
247
263
  contextPaths: [],
248
264
  explanation: 'Mock summary with cheap image generation',
249
265
  },
@@ -254,7 +270,7 @@ describe('runCodegen', () => {
254
270
  name: 'generateImage',
255
271
  args: {
256
272
  prompt: 'A simple landscape',
257
- filePath: 'landscape.png',
273
+ filePath: '/mocked/root/dir/landscape.png',
258
274
  width: 256,
259
275
  height: 256,
260
276
  cheap: true,
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.test.js","sourceRoot":"","sources":["../../src/main/codegen.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen.test.js","sourceRoot":"","sources":["../../src/main/codegen.test.ts"],"names":[],"mappings":"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"}