genaicode 0.8.3 → 0.8.5

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 (162) hide show
  1. package/dist/ai-service/anthropic.js +1 -1
  2. package/dist/ai-service/anthropic.js.map +1 -1
  3. package/dist/ai-service/common.d.ts +2 -1
  4. package/dist/ai-service/common.js +1 -2
  5. package/dist/ai-service/common.js.map +1 -1
  6. package/dist/ai-service/openai.d.ts +8 -0
  7. package/dist/ai-service/openai.js +182 -0
  8. package/dist/ai-service/openai.js.map +1 -0
  9. package/dist/ai-service/service-configurations.js +9 -3
  10. package/dist/ai-service/service-configurations.js.map +1 -1
  11. package/dist/cli/cli-options.js +1 -1
  12. package/dist/cli/cli-options.js.map +1 -1
  13. package/dist/cli/service-autodetect.js +1 -1
  14. package/dist/cli/service-autodetect.js.map +1 -1
  15. package/dist/cli/validate-cli-params.js +1 -1
  16. package/dist/cli/validate-cli-params.js.map +1 -1
  17. package/dist/files/find-files.js +5 -2
  18. package/dist/files/find-files.js.map +1 -1
  19. package/dist/files/read-files.d.ts +1 -0
  20. package/dist/files/read-files.js +13 -5
  21. package/dist/files/read-files.js.map +1 -1
  22. package/dist/index.d.ts +1 -0
  23. package/dist/index.js +4 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/main/codegen-types.d.ts +56 -4
  26. package/dist/main/codegen-utils.js +1 -1
  27. package/dist/main/codegen-utils.js.map +1 -1
  28. package/dist/main/codegen.js +5 -5
  29. package/dist/main/codegen.js.map +1 -1
  30. package/dist/main/common/content-bus-types.d.ts +1 -1
  31. package/dist/main/config-lib.d.ts +8 -5
  32. package/dist/main/config-lib.js +4 -1
  33. package/dist/main/config-lib.js.map +1 -1
  34. package/dist/main/config-schema.d.ts +14 -0
  35. package/dist/main/config-schema.js +145 -0
  36. package/dist/main/config-schema.js.map +1 -0
  37. package/dist/main/config.d.ts +1 -0
  38. package/dist/main/config.js +13 -5
  39. package/dist/main/config.js.map +1 -1
  40. package/dist/main/interactive/select-ai-service.js +1 -1
  41. package/dist/main/interactive/select-ai-service.js.map +1 -1
  42. package/dist/main/plugin-loader.d.ts +18 -3
  43. package/dist/main/plugin-loader.js +155 -48
  44. package/dist/main/plugin-loader.js.map +1 -1
  45. package/dist/main/ui/backend/api-handlers.d.ts +6 -0
  46. package/dist/main/ui/backend/api-handlers.js +5 -0
  47. package/dist/main/ui/backend/api-handlers.js.map +1 -0
  48. package/dist/main/ui/backend/api.d.ts +1 -0
  49. package/dist/main/ui/backend/api.js +6 -313
  50. package/dist/main/ui/backend/api.js.map +1 -1
  51. package/dist/main/ui/backend/endpoints/config-endpoint.d.ts +1 -0
  52. package/dist/main/ui/backend/endpoints/config-endpoint.js +39 -0
  53. package/dist/main/ui/backend/endpoints/config-endpoint.js.map +1 -0
  54. package/dist/main/ui/backend/endpoints/content-endpoint.d.ts +1 -0
  55. package/dist/main/ui/backend/endpoints/content-endpoint.js +14 -0
  56. package/dist/main/ui/backend/endpoints/content-endpoint.js.map +1 -0
  57. package/dist/main/ui/backend/endpoints/edit-message-endpoint.d.ts +1 -0
  58. package/dist/main/ui/backend/endpoints/edit-message-endpoint.js +34 -0
  59. package/dist/main/ui/backend/endpoints/edit-message-endpoint.js.map +1 -0
  60. package/dist/main/ui/backend/endpoints/execute-codegen-endpoint.d.ts +1 -0
  61. package/dist/main/ui/backend/endpoints/execute-codegen-endpoint.js +44 -0
  62. package/dist/main/ui/backend/endpoints/execute-codegen-endpoint.js.map +1 -0
  63. package/dist/main/ui/backend/endpoints/execution-status-endpoint.d.ts +1 -0
  64. package/dist/main/ui/backend/endpoints/execution-status-endpoint.js +37 -0
  65. package/dist/main/ui/backend/endpoints/execution-status-endpoint.js.map +1 -0
  66. package/dist/main/ui/backend/endpoints/generate-content-endpoint.d.ts +1 -0
  67. package/dist/main/ui/backend/endpoints/generate-content-endpoint.js +29 -0
  68. package/dist/main/ui/backend/endpoints/generate-content-endpoint.js.map +1 -0
  69. package/dist/main/ui/backend/endpoints/index.d.ts +11 -0
  70. package/dist/main/ui/backend/endpoints/index.js +12 -0
  71. package/dist/main/ui/backend/endpoints/index.js.map +1 -0
  72. package/dist/main/ui/backend/endpoints/interrupt-execution-endpoint.d.ts +1 -0
  73. package/dist/main/ui/backend/endpoints/interrupt-execution-endpoint.js +14 -0
  74. package/dist/main/ui/backend/endpoints/interrupt-execution-endpoint.js.map +1 -0
  75. package/dist/main/ui/backend/endpoints/iteration-endpoint.d.ts +1 -0
  76. package/dist/main/ui/backend/endpoints/iteration-endpoint.js +16 -0
  77. package/dist/main/ui/backend/endpoints/iteration-endpoint.js.map +1 -0
  78. package/dist/main/ui/backend/endpoints/question-endpoint.d.ts +1 -0
  79. package/dist/main/ui/backend/endpoints/question-endpoint.js +37 -0
  80. package/dist/main/ui/backend/endpoints/question-endpoint.js.map +1 -0
  81. package/dist/main/ui/backend/endpoints/service-configuration-endpoint.d.ts +1 -0
  82. package/dist/main/ui/backend/endpoints/service-configuration-endpoint.js +54 -0
  83. package/dist/main/ui/backend/endpoints/service-configuration-endpoint.js.map +1 -0
  84. package/dist/main/ui/backend/endpoints/usage-endpoint.d.ts +1 -0
  85. package/dist/main/ui/backend/endpoints/usage-endpoint.js +15 -0
  86. package/dist/main/ui/backend/endpoints/usage-endpoint.js.map +1 -0
  87. package/dist/main/ui/common/api-types.d.ts +5 -1
  88. package/dist/main/ui/frontend/assets/index-DY7-_JMu.js +1759 -0
  89. package/dist/main/ui/frontend/index.html +1 -1
  90. package/dist/prompt/ai-service-fallback.js +10 -3
  91. package/dist/prompt/ai-service-fallback.js.map +1 -1
  92. package/dist/prompt/function-calling-validate.d.ts +1 -1
  93. package/dist/prompt/function-calling-validate.js +13 -5
  94. package/dist/prompt/function-calling-validate.js.map +1 -1
  95. package/dist/prompt/function-defs/ask-question.js +80 -39
  96. package/dist/prompt/function-defs/ask-question.js.map +1 -1
  97. package/dist/prompt/limits.js +2 -2
  98. package/dist/prompt/prompt-service.js +2 -1
  99. package/dist/prompt/prompt-service.js.map +1 -1
  100. package/dist/prompt/prompt-service.test-utils.d.ts +1 -1
  101. package/dist/prompt/prompt-service.test-utils.js +1 -1
  102. package/dist/prompt/prompt-service.test-utils.js.map +1 -1
  103. package/dist/prompt/static-prompts.d.ts +2 -1
  104. package/dist/prompt/static-prompts.js +2 -1
  105. package/dist/prompt/static-prompts.js.map +1 -1
  106. package/dist/prompt/steps/step-ask-question/handlers/cancel-code-generation.d.ts +1 -1
  107. package/dist/prompt/steps/step-ask-question/handlers/cancel-code-generation.js +2 -2
  108. package/dist/prompt/steps/step-ask-question/handlers/cancel-code-generation.js.map +1 -1
  109. package/dist/prompt/steps/step-ask-question/handlers/code-generation.js +15 -15
  110. package/dist/prompt/steps/step-ask-question/handlers/code-generation.js.map +1 -1
  111. package/dist/prompt/steps/step-ask-question/handlers/confirm-code-generation.d.ts +1 -1
  112. package/dist/prompt/steps/step-ask-question/handlers/confirm-code-generation.js +3 -3
  113. package/dist/prompt/steps/step-ask-question/handlers/confirm-code-generation.js.map +1 -1
  114. package/dist/prompt/steps/step-ask-question/handlers/context-optimization.d.ts +1 -1
  115. package/dist/prompt/steps/step-ask-question/handlers/context-optimization.js +2 -2
  116. package/dist/prompt/steps/step-ask-question/handlers/context-optimization.js.map +1 -1
  117. package/dist/prompt/steps/step-ask-question/handlers/default-action.d.ts +1 -1
  118. package/dist/prompt/steps/step-ask-question/handlers/default-action.js +2 -2
  119. package/dist/prompt/steps/step-ask-question/handlers/default-action.js.map +1 -1
  120. package/dist/prompt/steps/step-ask-question/handlers/handle-search-code.d.ts +1 -1
  121. package/dist/prompt/steps/step-ask-question/handlers/handle-search-code.js +5 -5
  122. package/dist/prompt/steps/step-ask-question/handlers/handle-search-code.js.map +1 -1
  123. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message-with-image.d.ts +1 -1
  124. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message-with-image.js +4 -4
  125. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message-with-image.js.map +1 -1
  126. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.d.ts +1 -1
  127. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js +3 -3
  128. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js.map +1 -1
  129. package/dist/prompt/steps/step-ask-question/handlers/lint.d.ts +1 -1
  130. package/dist/prompt/steps/step-ask-question/handlers/lint.js +4 -4
  131. package/dist/prompt/steps/step-ask-question/handlers/lint.js.map +1 -1
  132. package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.d.ts +1 -1
  133. package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js +3 -3
  134. package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js.map +1 -1
  135. package/dist/prompt/steps/step-ask-question/handlers/request-files-content.d.ts +1 -1
  136. package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js +7 -7
  137. package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js.map +1 -1
  138. package/dist/prompt/steps/step-ask-question/handlers/request-permissions.d.ts +1 -1
  139. package/dist/prompt/steps/step-ask-question/handlers/request-permissions.js +4 -4
  140. package/dist/prompt/steps/step-ask-question/handlers/request-permissions.js.map +1 -1
  141. package/dist/prompt/steps/step-ask-question/step-ask-question-types.d.ts +15 -3
  142. package/dist/prompt/steps/step-ask-question/step-ask-question.js +12 -7
  143. package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
  144. package/dist/prompt/steps/step-codegen-planning.js +63 -3
  145. package/dist/prompt/steps/step-codegen-planning.js.map +1 -1
  146. package/dist/prompt/steps/step-context-optimization.js +11 -1
  147. package/dist/prompt/steps/step-context-optimization.js.map +1 -1
  148. package/dist/prompt/steps/step-generate-codegen-summary.js +3 -5
  149. package/dist/prompt/steps/step-generate-codegen-summary.js.map +1 -1
  150. package/dist/prompt/steps/step-process-file-updates.js +56 -10
  151. package/dist/prompt/steps/step-process-file-updates.js.map +1 -1
  152. package/dist/prompt/steps/step-summarization.js +2 -0
  153. package/dist/prompt/steps/step-summarization.js.map +1 -1
  154. package/dist/prompt/steps/step-validate-recover.js +5 -5
  155. package/dist/prompt/steps/step-validate-recover.js.map +1 -1
  156. package/dist/prompt/systemprompt.js +6 -3
  157. package/dist/prompt/systemprompt.js.map +1 -1
  158. package/dist/vite-genaicode/vite-genaicode-plugin.d.ts +4 -2
  159. package/dist/vite-genaicode/vite-genaicode-plugin.js +41 -24
  160. package/dist/vite-genaicode/vite-genaicode-plugin.js.map +1 -1
  161. package/package.json +7 -7
  162. package/dist/main/ui/frontend/assets/index-jwSqt8cG.js +0 -1337
@@ -3,6 +3,7 @@ import { putSystemMessage } from '../../main/common/content-bus.js';
3
3
  import { validateAndRecoverSingleResult } from './step-validate-recover.js';
4
4
  import { StepResult } from './steps-types.js';
5
5
  import { executeStepEnsureContext } from './step-ensure-context.js';
6
+ import { getRegisteredPlanningPreHooks, getRegisteredPlanningPostHooks } from '../../main/plugin-loader.js';
6
7
  export const PLANNING_PROMPT = `Please analyze the conversation so far and help plan the implementation:
7
8
 
8
9
  1. Review the conversation history and requirements
@@ -25,12 +26,14 @@ Output the plan using \`codegenPlanning\` function provding all the required fie
25
26
  */
26
27
  export async function executeStepCodegenPlanning(generateContentFn, prompt, options) {
27
28
  putSystemMessage('Starting codegen planning phase...');
29
+ // Execute pre-hooks to potentially modify the planning prompt
30
+ const modifiedPlanningPrompt = await executePlanningPreHooks(PLANNING_PROMPT, options);
28
31
  // Add the planning prompt to the conversation
29
32
  if (prompt.slice(-1)[0].type === 'user') {
30
- prompt.slice(-1)[0].text += '\n\\n' + PLANNING_PROMPT;
33
+ prompt.slice(-1)[0].text += '\\n\\n' + modifiedPlanningPrompt;
31
34
  }
32
35
  else {
33
- prompt.push({ type: 'user', text: PLANNING_PROMPT });
36
+ prompt.push({ type: 'user', text: modifiedPlanningPrompt });
34
37
  }
35
38
  const planningRequest = [
36
39
  prompt,
@@ -43,8 +46,10 @@ export async function executeStepCodegenPlanning(generateContentFn, prompt, opti
43
46
  try {
44
47
  let planningResult = await generateContentFn(...planningRequest);
45
48
  planningResult = await validateAndRecoverSingleResult(planningRequest, planningResult, generateContentFn);
46
- const codegenPlanningRequest = planningResult.find((call) => call.name === 'codegenPlanning');
49
+ let codegenPlanningRequest = planningResult.find((call) => call.name === 'codegenPlanning');
47
50
  if (codegenPlanningRequest) {
51
+ // Execute post-hooks to potentially modify the planning result
52
+ codegenPlanningRequest = await executePlanningPostHooks(codegenPlanningRequest, modifiedPlanningPrompt, options);
48
53
  putSystemMessage('Planning phase completed, ensuring context completeness...');
49
54
  // Ensure all necessary files are in context
50
55
  const contextResult = await executeStepEnsureContext(prompt, codegenPlanningRequest, options);
@@ -72,4 +77,59 @@ export async function executeStepCodegenPlanning(generateContentFn, prompt, opti
72
77
  return StepResult.BREAK;
73
78
  }
74
79
  }
80
+ /**
81
+ * Execute registered planning pre-hooks
82
+ * Returns modified prompt if any hook provides one, otherwise returns the original prompt
83
+ */
84
+ async function executePlanningPreHooks(originalPrompt, options) {
85
+ let modifiedPrompt = originalPrompt;
86
+ const preHooks = getRegisteredPlanningPreHooks();
87
+ if (preHooks.length > 0) {
88
+ putSystemMessage(`Executing ${preHooks.length} planning pre-hooks...`);
89
+ for (const hook of preHooks) {
90
+ try {
91
+ const result = await hook({
92
+ prompt: modifiedPrompt,
93
+ options,
94
+ });
95
+ if (result) {
96
+ modifiedPrompt = result;
97
+ }
98
+ }
99
+ catch (error) {
100
+ putSystemMessage(`Error in planning pre-hook: ${error.message}`);
101
+ console.error('Planning pre-hook error:', error);
102
+ }
103
+ }
104
+ }
105
+ return modifiedPrompt;
106
+ }
107
+ /**
108
+ * Execute registered planning post-hooks
109
+ * Returns modified result if any hook provides one, otherwise returns the original result
110
+ */
111
+ async function executePlanningPostHooks(originalResult, originalPrompt, options) {
112
+ let modifiedResult = originalResult;
113
+ const postHooks = getRegisteredPlanningPostHooks();
114
+ if (postHooks.length > 0) {
115
+ putSystemMessage(`Executing ${postHooks.length} planning post-hooks...`);
116
+ for (const hook of postHooks) {
117
+ try {
118
+ const result = await hook({
119
+ prompt: originalPrompt,
120
+ options,
121
+ result: modifiedResult,
122
+ });
123
+ if (result) {
124
+ modifiedResult = result;
125
+ }
126
+ }
127
+ catch (error) {
128
+ putSystemMessage(`Error in planning post-hook: ${error.message}`);
129
+ console.error('Planning post-hook error:', error);
130
+ }
131
+ }
132
+ }
133
+ return modifiedResult;
134
+ }
75
135
  //# sourceMappingURL=step-codegen-planning.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-codegen-planning.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-codegen-planning.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-codegen-planning.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-codegen-planning.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { getSummary } from './step-summarization.js';
7
7
  import { validateAndRecoverSingleResult } from './step-validate-recover.js';
8
8
  import { getSourceCodeResponse } from './steps-utils.js';
9
9
  import { getSourceCodeTree, parseSourceCodeTree } from '../../files/source-code-tree.js';
10
+ import { importantContext } from '../../main/config.js';
10
11
  const OPTIMIZATION_PROMPT = `You're correct, we need to optimize the context for code generation. Please perform the following tasks and respond by calling the \`optimizeContext\` function with the appropriate arguments:
11
12
 
12
13
  1. **Relevance and Dependency Analysis**:
@@ -181,6 +182,10 @@ function parseOptimizationResult(fullSourceCode, calls) {
181
182
  if (relevance < 0.5) {
182
183
  break;
183
184
  }
185
+ if (importantContext.files?.includes(filePath)) {
186
+ // Preserving important files
187
+ continue;
188
+ }
184
189
  // Calculate dependency weight (0-0.3) and add to base relevance
185
190
  const depWeight = calculateDependencyWeight(filePath, fullSourceCode, relevantFiles);
186
191
  const finalRelevance = Math.min(1, relevance + depWeight);
@@ -219,7 +224,9 @@ function optimizeSourceCode(sourceCode, fullSourceCode, optimizedContext, irrele
219
224
  const summary = getSummary(path);
220
225
  const content = (fullSourceCode[path] && 'content' in fullSourceCode[path] ? fullSourceCode[path]?.content : undefined) ?? null;
221
226
  const dependencies = fullSourceCode[path] && 'dependencies' in fullSourceCode[path] ? fullSourceCode[path]?.dependencies : undefined;
222
- if (isRequired && content && !(sourceCode[path] && 'content' in sourceCode[path])) {
227
+ if (isRequired &&
228
+ content &&
229
+ !(sourceCode[path] && 'content' in sourceCode[path] && sourceCode[path].content !== null)) {
223
230
  contentTokenCount += estimateTokenCount(content);
224
231
  optimizedSourceCode[path] = {
225
232
  content,
@@ -247,6 +254,9 @@ function clearPreviousSourceCodeResponses(prompt, irrelevantFiles) {
247
254
  // Zero out the contents but keep the structure
248
255
  const sourceCode = parseSourceCodeTree(JSON.parse(response.content));
249
256
  for (const path in sourceCode) {
257
+ if (importantContext.files?.includes(path)) {
258
+ continue; // Preserve important files
259
+ }
250
260
  if ('content' in sourceCode[path]) {
251
261
  sourceCode[path].content = null;
252
262
  }
@@ -1 +1 @@
1
- {"version":3,"file":"step-context-optimization.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-context-optimization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-context-optimization.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-context-optimization.ts"],"names":[],"mappings":"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"}
@@ -18,16 +18,14 @@ export async function generateCodegenSummary(generateContentFn, prompt, function
18
18
  options,
19
19
  ];
20
20
  let baseResult = await generateContentFn(...baseRequest);
21
- let codegenSummaryRequest = baseResult.find((call) => call.name === 'codegenSummary');
21
+ baseResult = await validateAndRecoverSingleResult(baseRequest, baseResult, generateContentFn);
22
+ const codegenSummaryRequest = baseResult.find((call) => call.name === 'codegenSummary');
22
23
  if (!codegenSummaryRequest) {
23
24
  // This is unexpected, if happens probably means no code updates.
24
25
  putSystemMessage('Did not receive codegen summary, returning result.');
25
26
  throw new Error('No codegen summary received');
26
27
  }
27
- // Second stage: validate the result
28
- baseResult = await validateAndRecoverSingleResult(baseRequest, baseResult, generateContentFn);
29
- codegenSummaryRequest = baseResult.find((call) => call.name === 'codegenSummary');
30
- putSystemMessage('Received codegen summary, will collect partial updates', codegenSummaryRequest);
28
+ putSystemMessage('Received codegen summary', codegenSummaryRequest);
31
29
  // Sometimes the result happens to be a string
32
30
  assert(Array.isArray(codegenSummaryRequest?.args?.fileUpdates), 'fileUpdates is not an array');
33
31
  assert(Array.isArray(codegenSummaryRequest?.args.contextPaths), 'contextPaths is not an array');
@@ -1 +1 @@
1
- {"version":3,"file":"step-generate-codegen-summary.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-generate-codegen-summary.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,iBAA0C,EAC1C,MAAoB,EACpB,YAA2B,EAC3B,OAAuB;IAKvB,MAAM,WAAW,GAA2E;QAC1F,MAAM;QACN,YAAY;QACZ,gBAAgB;QAChB,OAAO,CAAC,WAAW,IAAI,GAAG;QAC1B,OAAO,CAAC,KAAK,IAAI,KAAK;QACtB,OAAO;KACR,CAAC;IAEF,IAAI,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,WAAW,CAAC,CAAC;IACzD,IAAI,qBAAqB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;IAEtF,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,iEAAiE;QACjE,gBAAgB,CAAC,oDAAoD,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,oCAAoC;IACpC,UAAU,GAAG,MAAM,8BAA8B,CAAC,WAAW,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAC9F,qBAAqB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;IAElF,gBAAgB,CAAC,wDAAwD,EAAE,qBAAqB,CAAC,CAAC;IAElG,8CAA8C;IAC9C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAC/F,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,8BAA8B,CAAC,CAAC;IAEhG,4CAA4C;IAC5C,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAC7F,IAAI,aAAa,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,kEAAkE;IAClE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9D,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,MAAM;QACZ,iBAAiB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACpF,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,OAAO;QACL,qBAAqB;QACrB,UAAU;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"step-generate-codegen-summary.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-generate-codegen-summary.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,iBAA0C,EAC1C,MAAoB,EACpB,YAA2B,EAC3B,OAAuB;IAKvB,MAAM,WAAW,GAA2E;QAC1F,MAAM;QACN,YAAY;QACZ,gBAAgB;QAChB,OAAO,CAAC,WAAW,IAAI,GAAG;QAC1B,OAAO,CAAC,KAAK,IAAI,KAAK;QACtB,OAAO;KACR,CAAC;IAEF,IAAI,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,WAAW,CAAC,CAAC;IACzD,UAAU,GAAG,MAAM,8BAA8B,CAAC,WAAW,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAC9F,MAAM,qBAAqB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;IAExF,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,iEAAiE;QACjE,gBAAgB,CAAC,oDAAoD,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,gBAAgB,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAC;IAEpE,8CAA8C;IAC9C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAC/F,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,8BAA8B,CAAC,CAAC;IAEhG,4CAA4C;IAC5C,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAC7F,IAAI,aAAa,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,kEAAkE;IAClE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9D,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,MAAM;QACZ,iBAAiB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACpF,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,OAAO;QACL,qBAAqB;QACrB,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -5,6 +5,8 @@ import { putSystemMessage } from '../../main/common/content-bus.js';
5
5
  import { executeStepGenerateImage } from './step-generate-image.js';
6
6
  import { executeStepVerifyPatch } from './step-verify-patch.js';
7
7
  import { getPartialPromptTemplate } from '../static-prompts.js';
8
+ import { getSourceCode } from '../../files/read-files.js';
9
+ import { abortController } from '../../main/interactive/codegen-worker.js';
8
10
  /**
9
11
  * Processes file updates from the codegen summary.
10
12
  * This is the second part of the original executeStepCodegenSummary function.
@@ -13,26 +15,54 @@ import { getPartialPromptTemplate } from '../static-prompts.js';
13
15
  export async function processFileUpdates(generateContentFn, prompt, functionDefs, options, codegenSummaryRequest, waitIfPaused = () => Promise.resolve(), generateImageFn) {
14
16
  const result = [];
15
17
  if (!Array.isArray(codegenSummaryRequest.args?.fileUpdates)) {
18
+ putSystemMessage('No file updates found in codegen summary');
16
19
  return result;
17
20
  }
18
21
  for (const file of codegenSummaryRequest.args.fileUpdates) {
22
+ try {
23
+ const fileResult = await processFileUpdate(file, generateContentFn, generateImageFn, prompt, functionDefs, options, waitIfPaused);
24
+ if (fileResult.success) {
25
+ result.push(...fileResult.functionCalls);
26
+ }
27
+ else {
28
+ putSystemMessage(`Failed to process update for ${file.filePath}`, { error: fileResult.error });
29
+ }
30
+ if (abortController?.signal.aborted) {
31
+ putSystemMessage('Code generation aborted');
32
+ break;
33
+ }
34
+ }
35
+ catch (error) {
36
+ putSystemMessage(`Unexpected error processing update for ${file.filePath}`, { error });
37
+ }
38
+ }
39
+ return result;
40
+ }
41
+ /**
42
+ * Processes a single file update, handling image generation and patch verification.
43
+ * @returns Object containing success status and function calls or error
44
+ */
45
+ async function processFileUpdate(file, generateContentFn, generateImageFn, prompt, functionDefs, options, waitIfPaused) {
46
+ try {
19
47
  putSystemMessage('Collecting partial update for: ' + file.filePath + ' using tool: ' + file.updateToolName, file);
20
48
  // Check if execution is paused before proceeding
21
49
  await waitIfPaused();
22
- // this is needed, otherwise we will get an error
50
+ // Update prompt with file-specific information
23
51
  if (prompt.slice(-1)[0].type === 'user') {
24
- prompt.slice(-1)[0].text = file.prompt ?? getPartialPromptTemplate(file.filePath);
52
+ prompt.slice(-1)[0].text = getPartialPromptTemplate(file);
25
53
  }
26
54
  else {
27
- prompt.push({ type: 'user', text: file.prompt ?? getPartialPromptTemplate(file.filePath) });
55
+ prompt.push({ type: 'user', text: getPartialPromptTemplate(file) });
28
56
  }
57
+ // Handle image assets if vision is enabled
29
58
  if (options.vision && file.contextImageAssets) {
30
59
  prompt.slice(-1)[0].images = file.contextImageAssets.map((path) => ({
31
60
  path,
32
61
  base64url: fs.readFileSync(path, 'base64'),
33
- mediaType: mime.lookup(path) || '',
62
+ mediaType: (mime.lookup(path) || ''),
34
63
  }));
35
64
  }
65
+ // Prepare and execute content generation request
36
66
  const partialRequest = [
37
67
  prompt,
38
68
  functionDefs,
@@ -42,9 +72,16 @@ export async function processFileUpdates(generateContentFn, prompt, functionDefs
42
72
  options,
43
73
  ];
44
74
  let partialResult = await generateContentFn(...partialRequest);
45
- // Validate if function call is compliant with the schema
75
+ // Validate function call compliance
46
76
  partialResult = await validateAndRecoverSingleResult(partialRequest, partialResult, generateContentFn);
47
- putSystemMessage('Received partial update', partialResult);
77
+ const fileUpdateResult = partialResult[0];
78
+ if (fileUpdateResult.args) {
79
+ const fileSource = getSourceCode({ filterPaths: [file.filePath], forceAll: true }, options)[file.filePath];
80
+ if (fileSource && 'content' in fileSource) {
81
+ fileUpdateResult.args.oldContent = fileSource.content;
82
+ }
83
+ }
84
+ putSystemMessage('Received partial update', fileUpdateResult);
48
85
  // Handle image generation requests
49
86
  const generateImageCall = partialResult.find((call) => call.name === 'generateImage');
50
87
  if (generateImageCall && generateImageFn) {
@@ -53,19 +90,28 @@ export async function processFileUpdates(generateContentFn, prompt, functionDefs
53
90
  else if (generateImageCall) {
54
91
  console.warn('Image generation requested but generateImageFn not provided');
55
92
  }
56
- // Verify if patchFile is one of the functions called, and test if patch is valid and can be applied successfully
93
+ // Verify patch file operations
57
94
  const patchFileCall = partialResult.find((call) => call.name === 'patchFile');
58
95
  if (patchFileCall) {
59
96
  partialResult = await executeStepVerifyPatch(patchFileCall.args, generateContentFn, prompt, functionDefs, file.temperature ?? options.temperature, file.cheap === true, options);
60
97
  }
61
- // add the code gen result to the context, as the subsequent code gen may depend on the result
98
+ // Update prompt with results
62
99
  prompt.push({ type: 'assistant', functionCalls: partialResult }, {
63
100
  type: 'user',
64
101
  text: 'Update applied.',
65
102
  functionResponses: partialResult.map((call) => ({ name: call.name, call_id: call.id })),
66
103
  });
67
- result.push(...partialResult);
104
+ return {
105
+ success: true,
106
+ functionCalls: partialResult,
107
+ };
108
+ }
109
+ catch (error) {
110
+ return {
111
+ success: false,
112
+ functionCalls: [],
113
+ error: error instanceof Error ? error : new Error(String(error)),
114
+ };
68
115
  }
69
- return result;
70
116
  }
71
117
  //# sourceMappingURL=step-process-file-updates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-process-file-updates.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-process-file-updates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-process-file-updates.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-process-file-updates.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { md5, readCache, writeCache } from '../../files/cache-file.js';
3
3
  import { putSystemMessage } from '../../main/common/content-bus.js';
4
4
  import { estimateTokenCount } from '../token-estimator.js';
5
5
  import { validateAndRecoverSingleResult } from './step-validate-recover.js';
6
+ import { refreshFiles } from '../../files/find-files.js';
6
7
  const BATCH_SIZE = 50;
7
8
  const MAX_SUMMARY_TOKENS = 10;
8
9
  const CACHE_VERSION = 'v6'; // Incremented version for dependency support
@@ -48,6 +49,7 @@ export async function summarizeSourceCode(generateContentFn, sourceCode, options
48
49
  dependencies: 'dependencies' in file ? file.dependencies : undefined,
49
50
  }));
50
51
  await summarizeBatch(generateContentFn, items, options);
52
+ refreshFiles();
51
53
  }
52
54
  async function summarizeBatch(generateContentFn, items, options) {
53
55
  const uncachedItems = items.filter((item) => summaryCache._version !== CACHE_VERSION ||
@@ -1 +1 @@
1
- {"version":3,"file":"step-summarization.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-summarization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-summarization.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-summarization.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import assert from 'node:assert';
2
2
  import { validateFunctionCall } from '../function-calling-validate.js';
3
3
  export async function validateAndRecoverSingleResult([prompt, functionDefs, requiredFunctionName, temperature, cheap, options], result, generateContentFn) {
4
- if (result.length > 1 || !requiredFunctionName) {
4
+ if (!requiredFunctionName) {
5
5
  // quite unexpected
6
6
  return result;
7
7
  }
8
8
  let call = result[0];
9
- const validatorError = validateFunctionCall(call, requiredFunctionName);
9
+ const validatorError = validateFunctionCall(call, requiredFunctionName, result);
10
10
  if (validatorError) {
11
11
  console.log('Invalid function call', call, validatorError);
12
12
  if (!call) {
@@ -21,7 +21,7 @@ export async function validateAndRecoverSingleResult([prompt, functionDefs, requ
21
21
  { type: 'assistant', functionCalls: [call] },
22
22
  {
23
23
  type: 'user',
24
- text: 'Function call was invalid, please analyze the error and respond with corrected function call.',
24
+ text: 'Function call was invalid, you responded, please analyze the error and respond with corrected function call.',
25
25
  functionResponses: [
26
26
  {
27
27
  name: call.name,
@@ -39,11 +39,11 @@ export async function validateAndRecoverSingleResult([prompt, functionDefs, requ
39
39
  result = await generateContentFn(prompt, functionDefs, requiredFunctionName, temperature, true, options);
40
40
  console.log('Recover result:', result);
41
41
  if (result?.length === 1) {
42
- let recoveryError = validateFunctionCall(result[0], requiredFunctionName);
42
+ let recoveryError = validateFunctionCall(result[0], requiredFunctionName, result);
43
43
  if (recoveryError) {
44
44
  console.log("Use more expensive recovery method, because we couldn't recover.");
45
45
  result = await generateContentFn(prompt, functionDefs, requiredFunctionName, temperature, false, options);
46
- recoveryError = validateFunctionCall(result?.[0], requiredFunctionName);
46
+ recoveryError = validateFunctionCall(result?.[0], requiredFunctionName, result);
47
47
  assert(!recoveryError, 'Recovery failed');
48
48
  }
49
49
  console.log('Recovery was successful');
@@ -1 +1 @@
1
- {"version":3,"file":"step-validate-recover.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-validate-recover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-validate-recover.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-validate-recover.ts"],"names":[],"mappings":"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"}
@@ -91,11 +91,14 @@ It is **VERY IMPORTANT** to not make the following mistakes:
91
91
  - Assistant says that it starts analysis, but it does not provide any analysis.
92
92
  - Assistant says something like "please wait", instead of providing a meaningful response.
93
93
  - Assistant starts code generation without requesting missing permissions.
94
+
95
+ ## GenAIcode configuration
96
+
97
+ GenAIcode can be configured by using the \`.genaicoderc\` file in the root directory of the project. Available options are documented in the \`.genaicoderc.schema.json\` file.
94
98
  `;
95
99
  }
96
- if (importantContext.textPrompts && importantContext.textPrompts.length > 0) {
97
- systemPrompt += `## Important Context
98
- ${importantContext.textPrompts.join('\n')}`;
100
+ if (importantContext.systemPrompt && importantContext.systemPrompt.length > 0) {
101
+ systemPrompt += `\n# ADDITIONAL INSTRUCTIONS\n\n${importantContext.systemPrompt.join('\n')}`;
99
102
  }
100
103
  if (verbose) {
101
104
  console.log('System prompt:');
@@ -1 +1 @@
1
- {"version":3,"file":"systemprompt.js","sourceRoot":"","sources":["../../src/prompt/systemprompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG/D,+DAA+D;AAC/D,MAAM,UAAU,eAAe,CAAC,OAAuB;IACrD,MAAM,EACJ,OAAO,EACP,WAAW,EACX,WAAW,EACX,EAAE,EACF,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,MAAM,EACN,MAAM,GACP,GAAG,OAAO,CAAC;IAEZ,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAEtC,sEAAsE;IACtE,IAAI,YAAY,GAAG;;;;+EAI0D,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;IAuB3F,eAAe,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,0BAA0B;IAErF,eAAe;QACb,CAAC,CAAC,iFAAiF;QACnF,CAAC,CAAC,sBACN;IACE,oBAAoB,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,gCAAgC;IACtG,aAAa,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,oBAAoB;IACvE,MAAM,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,8BAA8B;IACpF,MAAM,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,yCAAyC;CAC7F,CAAC;IAEA,IAAI,WAAW,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;QACvC,YAAY,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDnB,CAAC;IACA,CAAC;IAED,IAAI,gBAAgB,CAAC,WAAW,IAAI,gBAAgB,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5E,YAAY,IAAI;EAClB,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAEtC,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"systemprompt.js","sourceRoot":"","sources":["../../src/prompt/systemprompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG/D,+DAA+D;AAC/D,MAAM,UAAU,eAAe,CAAC,OAAuB;IACrD,MAAM,EACJ,OAAO,EACP,WAAW,EACX,WAAW,EACX,EAAE,EACF,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,MAAM,EACN,MAAM,GACP,GAAG,OAAO,CAAC;IAEZ,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAEtC,sEAAsE;IACtE,IAAI,YAAY,GAAG;;;;+EAI0D,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;IAuB3F,eAAe,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,0BAA0B;IAErF,eAAe;QACb,CAAC,CAAC,iFAAiF;QACnF,CAAC,CAAC,sBACN;IACE,oBAAoB,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,gCAAgC;IACtG,aAAa,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,oBAAoB;IACvE,MAAM,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,8BAA8B;IACpF,MAAM,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,yCAAyC;CAC7F,CAAC;IAEA,IAAI,WAAW,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;QACvC,YAAY,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDnB,CAAC;IACA,CAAC;IAED,IAAI,gBAAgB,CAAC,YAAY,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9E,YAAY,IAAI,kCAAkC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC/F,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAEtC,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { ViteDevServer } from 'vite';
2
- import { CodegenOptions } from '../main/codegen-types.js';
3
- export default function viteGenaicode(options?: Partial<CodegenOptions>): {
2
+ import { CodegenOptions, Plugin } from '../main/codegen-types.js';
3
+ export default function viteGenaicode(options?: Partial<CodegenOptions>, config?: {
4
+ plugins: Plugin[];
5
+ }): {
4
6
  name: string;
5
7
  configureServer(server: ViteDevServer): void;
6
8
  transformIndexHtml(html: string): string;
@@ -2,42 +2,59 @@ import { fileURLToPath } from 'url';
2
2
  import { dirname } from 'path';
3
3
  import { serviceAutoDetect } from '../cli/service-autodetect.js';
4
4
  import { stringToAiServiceType } from '../main/codegen-utils.js';
5
+ import { registerPlugin } from '../main/plugin-loader.js';
5
6
  const __filename = fileURLToPath(import.meta.url);
6
7
  const __dirname = dirname(__filename);
7
8
  let started = false;
8
9
  const GENAICODE_PORT = 1338;
9
- export default function viteGenaicode(options) {
10
+ export default function viteGenaicode(options, config) {
10
11
  async function start(port) {
11
- if (started)
12
+ if (started) {
13
+ console.log('GenAIcode UI is already started');
12
14
  return;
13
- const { runCodegenUI } = await import('../main/ui/codegen-ui.js');
14
- started = true;
15
- console.log('Starting GenAIcode in UI mode...');
16
- runCodegenUI({
17
- ui: true,
18
- uiPort: GENAICODE_PORT,
19
- uiFrameAncestors: ['http://localhost:' + port],
20
- aiService: stringToAiServiceType(serviceAutoDetect()),
21
- isDev: false,
22
- allowFileCreate: true,
23
- allowFileDelete: true,
24
- allowDirectoryCreate: true,
25
- allowFileMove: true,
26
- vision: true,
27
- temperature: 0.7,
28
- requireExplanations: true,
29
- askQuestion: true,
30
- historyEnabled: true,
31
- conversationSummaryEnabled: true,
32
- ...options,
33
- });
15
+ }
16
+ try {
17
+ // Register inline plugins if provided
18
+ for (const plugin of config?.plugins ?? []) {
19
+ await registerPlugin(plugin, __filename);
20
+ }
21
+ const { runCodegenUI } = await import('../main/ui/codegen-ui.js');
22
+ started = true;
23
+ console.log('Starting GenAIcode in UI mode...');
24
+ await runCodegenUI({
25
+ ui: true,
26
+ uiPort: GENAICODE_PORT,
27
+ uiFrameAncestors: ['http://localhost:' + port],
28
+ aiService: stringToAiServiceType(serviceAutoDetect()),
29
+ isDev: false,
30
+ allowFileCreate: true,
31
+ allowFileDelete: true,
32
+ allowDirectoryCreate: true,
33
+ allowFileMove: true,
34
+ vision: true,
35
+ temperature: 0.7,
36
+ requireExplanations: true,
37
+ askQuestion: true,
38
+ historyEnabled: true,
39
+ conversationSummaryEnabled: true,
40
+ ...options,
41
+ });
42
+ }
43
+ catch (error) {
44
+ console.error('Failed to start GenAIcode UI:', error);
45
+ throw error;
46
+ }
34
47
  }
35
48
  const virtualModuleId = '/vite-genaicode.js';
36
49
  return {
37
50
  name: 'vite-genaicode',
38
51
  configureServer(server) {
39
52
  server.httpServer?.once('listening', () => {
40
- start(server.httpServer.address().port);
53
+ const address = server.httpServer.address();
54
+ start(address.port).catch((error) => {
55
+ console.error('Failed to start GenAIcode server:', error);
56
+ server.close();
57
+ });
41
58
  });
42
59
  },
43
60
  transformIndexHtml(html) {
@@ -1 +1 @@
1
- {"version":3,"file":"vite-genaicode-plugin.js","sourceRoot":"","sources":["../../src/vite-genaicode/vite-genaicode-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAI/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,IAAI,OAAO,GAAG,KAAK,CAAC;AAEpB,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,OAAiC;IACrE,KAAK,UAAU,KAAK,CAAC,IAAY;QAC/B,IAAI,OAAO;YAAE,OAAO;QAEpB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAElE,OAAO,GAAG,IAAI,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,YAAY,CAAC;YACX,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,cAAc;YACtB,gBAAgB,EAAE,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAC9C,SAAS,EAAE,qBAAqB,CAAC,iBAAiB,EAAE,CAAC;YACrD,KAAK,EAAE,KAAK;YAEZ,eAAe,EAAE,IAAI;YACrB,eAAe,EAAE,IAAI;YACrB,oBAAoB,EAAE,IAAI;YAC1B,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,IAAI;YAEZ,WAAW,EAAE,GAAG;YAChB,mBAAmB,EAAE,IAAI;YACzB,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,IAAI;YAEpB,0BAA0B,EAAE,IAAI;YAEhC,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED,MAAM,eAAe,GAAG,oBAAoB,CAAC;IAE7C,OAAO;QACL,IAAI,EAAE,gBAAgB;QAEtB,eAAe,CAAC,MAAqB;YACnC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;gBACxC,KAAK,CAAE,MAAM,CAAC,UAAW,CAAC,OAAO,EAAkB,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACL,CAAC;QAED,kBAAkB,CAAC,IAAY;YAC7B,OAAO,IAAI,CAAC,OAAO,CACjB,SAAS,EACT,uEAAuE,cAAc,aAAa,CACnG,CAAC;QACJ,CAAC;QAED,SAAS,CAAC,EAAU;YAClB,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,SAAS,GAAG,6BAA6B,CAAC;YACnD,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"vite-genaicode-plugin.js","sourceRoot":"","sources":["../../src/vite-genaicode/vite-genaicode-plugin.ts"],"names":[],"mappings":"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"}