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
@@ -7,7 +7,7 @@
7
7
  <meta name="keywords" content="GenAIcode, AI, code generation, programming" />
8
8
  <title>GenAIcode - AI-Powered Code Generation</title>
9
9
  <link rel="icon" href="/favicon.ico" type="image/x-icon" />
10
- <script type="module" crossorigin src="/assets/index-jwSqt8cG.js"></script>
10
+ <script type="module" crossorigin src="/assets/index-DY7-_JMu.js"></script>
11
11
  <link rel="stylesheet" crossorigin href="/assets/index-S_ocA1xG.css">
12
12
  </head>
13
13
  <body data-security-token="__SECURITY_TOKEN__">
@@ -4,7 +4,7 @@ import { abortController } from '../main/interactive/codegen-worker.js';
4
4
  const AI_SERVICES_MAP = [
5
5
  [() => process.env.ANTHROPIC_API_KEY, 'anthropic'],
6
6
  [() => process.env.GOOGLE_CLOUD_PROJECT && process.env.GOOGLE_CLOUD_REGION, 'vertex-ai-claude'],
7
- [() => process.env.OPENAI_API_KEY, 'chat-gpt'],
7
+ [() => process.env.OPENAI_API_KEY, 'openai'],
8
8
  [() => process.env.GOOGLE_CLOUD_PROJECT, 'vertex-ai'],
9
9
  [() => process.env.API_KEY, 'ai-studio'],
10
10
  ];
@@ -29,14 +29,21 @@ export async function handleAiServiceFallback(generateContentFns, currentService
29
29
  putSystemMessage(`Operation interrupted for ${permanentService}`);
30
30
  throw error; // Re-throw the interruption error
31
31
  }
32
+ if (!options.disableAiServiceFallback && (options.interactive || options.ui)) {
33
+ putSystemMessage(`Content generation failed for ${permanentService}`, { error });
34
+ const shouldRetry = await askUserForConfirmation(`Content generation failed, do you want to retry?`, true);
35
+ if (shouldRetry.confirmed) {
36
+ continue;
37
+ }
38
+ }
32
39
  if (error.message.includes('Rate limit exceeded')) {
33
40
  putSystemMessage(`Rate limit exceeded for ${permanentService}`);
34
- if (options.disableAiServiceFallback) {
41
+ if (!options.disableAiServiceFallback) {
35
42
  if (options.interactive || options.ui) {
36
43
  const nextService = getNextAiService(permanentService);
37
44
  if (nextService) {
38
45
  const shouldSwitch = await askUserForConfirmation(`Rate limit exceeded for ${permanentService}. Would you like to switch to ${nextService}?`, true);
39
- if (shouldSwitch) {
46
+ if (shouldSwitch.confirmed) {
40
47
  putSystemMessage(`Switching to ${nextService} due to rate limiting.`);
41
48
  permanentService = nextService;
42
49
  retryCount++;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-service-fallback.js","sourceRoot":"","sources":["../../src/prompt/ai-service-fallback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-service-fallback.js","sourceRoot":"","sources":["../../src/prompt/ai-service-fallback.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { ValidatorResult } from 'jsonschema';
2
2
  import { FunctionCall } from '../ai-service/common.js';
3
- export declare function validateFunctionCall(call: FunctionCall | undefined, requiredFunctionName: string): Omit<ValidatorResult, 'addError'> | undefined;
3
+ export declare function validateFunctionCall(call: FunctionCall | undefined, requiredFunctionName: string, calls: FunctionCall[]): Omit<ValidatorResult, 'addError'> | undefined;
@@ -2,18 +2,26 @@ import { Validator } from 'jsonschema';
2
2
  import path from 'path';
3
3
  import { getFunctionDefs } from './function-calling.js';
4
4
  import { rcConfig } from '../main/config.js';
5
- export function validateFunctionCall(call, requiredFunctionName) {
5
+ export function validateFunctionCall(call, requiredFunctionName, calls) {
6
6
  const validator = new Validator();
7
7
  const functionDef = getFunctionDefs().find((def) => def.name === call?.name);
8
- // Step 1: Check if the function name matches
9
- if (!call || call.name !== requiredFunctionName) {
8
+ // Check if a function was called
9
+ if (!call) {
10
10
  return makeError(`Function "${requiredFunctionName}" was not called.`, call, '');
11
11
  }
12
- // Step 2: Check if the function is defined
12
+ // Check if only one function was called
13
+ if (calls.length !== 1) {
14
+ return makeError(`You called too many functions(${calls.length})! Only one function(${requiredFunctionName}) should be called.`, calls, '');
15
+ }
16
+ // Check if the function name is correct
17
+ if (call.name !== requiredFunctionName) {
18
+ return makeError(`Function "${call.name}" was called, while the expectation was to get "${requiredFunctionName}" function call.`, call, '');
19
+ }
20
+ // Check if the function is defined
13
21
  if (!functionDef) {
14
22
  return makeError(`Function "${call.name}" is not defined.`, call, '');
15
23
  }
16
- // Step 3: Validate against the schema
24
+ // Validate against the schema
17
25
  const validationResult = validator.validate(call.args, functionDef.parameters);
18
26
  if (validationResult.errors.length > 0) {
19
27
  return validationResult;
@@ -1 +1 @@
1
- {"version":3,"file":"function-calling-validate.js","sourceRoot":"","sources":["../../src/prompt/function-calling-validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function-calling-validate.js","sourceRoot":"","sources":["../../src/prompt/function-calling-validate.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,53 @@ Detailed Explanation of actionTypes:
19
19
  ${rcConfig.lintCommand ? '- lint: Use to check the code for errors and provide feedback on the quality of the code.' : ''}
20
20
  ${pluginDescriptions}`;
21
21
  }
22
+ const actionTypeOptions = [
23
+ 'sendMessage',
24
+ 'sendMessageWithImage',
25
+ 'requestPermissions',
26
+ 'requestFilesContent',
27
+ 'removeFilesFromContext',
28
+ 'confirmCodeGeneration',
29
+ 'cancelCodeGeneration',
30
+ 'contextOptimization',
31
+ 'searchCode',
32
+ ...(rcConfig.lintCommand ? ['lint'] : []),
33
+ ...Array.from(getRegisteredActionHandlers().keys()),
34
+ ];
35
+ const getStepsDescription = () => `
36
+ - If "type" = "decisionMakingProcess":
37
+ A detailed reasoning framework describing how you chose the action.
38
+ It must include the following steps:
39
+
40
+ 1. **Contextual Analysis**:
41
+ Assess the current information, including available permissions,
42
+ the current context, and task requirements. Identify any missing elements
43
+ that are critical to task completion.
44
+
45
+ 2. **Options Evaluation**:
46
+ Evaluate each possible \`actionType\`(${actionTypeOptions.join(', ')}), considering the task requirements, for each action type think if this is the right action to take right now.
47
+
48
+ 3. **Decision Justification**:
49
+ State the reasoning for the proposed action, considering whether planning,
50
+ clarification, or a direct action is required. If there's any ambiguity,
51
+ prefer a confirmatory action (e.g., "confirmCodeGeneration").
52
+
53
+ 4. **Minimal Action Selection**:
54
+ Determine the minimal action that can make progress toward the task goal.
55
+ Avoid requesting unnecessary permissions or context that isn't strictly needed.
56
+
57
+ 5. **Evaluation of Action Choice**:
58
+ Double-check if the selected action aligns with the task requirements
59
+ and the user-provided constraints.
60
+
61
+ - If "type" = "actionType":
62
+ Must be one of [${actionTypeOptions.join(', ')}].
63
+ This represents the action chosen after the above decision-making process.
64
+ ${getActionTypeDescription()}
65
+
66
+ - If "type" = "message":
67
+ The message to display to the user, which must align with the chosen "actionType".
68
+ `;
22
69
  /**
23
70
  * Function definition for askQuestion
24
71
  *
@@ -33,11 +80,11 @@ export const getAskQuestionDef = () => ({
33
80
 
34
81
  The desired format of parameters is as follows:
35
82
  \`\`\`
36
- {
37
- "decisionMakingProcess": "...", // A detailed decision-making framework the assistant followed before selecting an action.",
38
- "actionType": "...", // The type of action to perform.
39
- "message": "..." // The message to display to the user.
40
- }
83
+ [
84
+ { type: "decisionMakingProcess", value: "..." }, // A detailed decision-making framework the assistant followed before selecting an action.",
85
+ { type: "actionType", value: "..." }, // The type of action to perform.
86
+ { type: "message", value: "..." } // The message to display to the user.
87
+ ]
41
88
  \`\`\`
42
89
 
43
90
  **IMPORTANT**: Mind the order of the parameters, as the decision-making process must be provided first to ensure clarity in decision-making.
@@ -45,43 +92,37 @@ export const getAskQuestionDef = () => ({
45
92
  parameters: {
46
93
  type: 'object',
47
94
  properties: {
48
- decisionMakingProcess: {
49
- type: 'string',
50
- description: `A detailed decision-making framework the assistant followed before selecting an action. You must think step about step about this, this process should include the following steps:
51
-
52
- 1. **Contextual Analysis**: Assess the current information, including available permissions, current context, and task requirements. Identify any missing elements that are critical to task completion.
53
-
54
- 2. **Decision Justification**: State the reasoning for the proposed action, considering whether planning, clarification, or action is required. If there's any ambiguity, prefer a confirmatory action (\`confirmCodeGeneration\`).
55
-
56
- 3. **Minimal Action Selection**: Determine the minimal action that can make progress toward the task goal. Avoid requesting unnecessary permissions or context that isn't strictly needed.
57
-
58
- 4. **Evaluation of Action Choice**: Double-check if the selected action aligns with task requirements and user-provided constraints.
95
+ steps: {
96
+ type: 'array',
97
+ description: `
98
+ An array of exactly 3 objects. Each object must have:
99
+ - "type": one of "decisionMakingProcess", "actionType", "message"
100
+ - "value": a string
59
101
 
60
- Output this in step-by-step format to ensure clarity in decision-making.`,
61
- },
62
- actionType: {
63
- type: 'string',
64
- enum: [
65
- 'sendMessage',
66
- 'sendMessageWithImage',
67
- 'requestPermissions',
68
- 'requestFilesContent',
69
- 'removeFilesFromContext',
70
- 'confirmCodeGeneration',
71
- 'cancelCodeGeneration',
72
- 'contextOptimization',
73
- 'searchCode',
74
- ...(rcConfig.lintCommand ? ['lint'] : []),
75
- ...Array.from(getRegisteredActionHandlers().keys()),
76
- ],
77
- description: getActionTypeDescription(),
78
- },
79
- message: {
80
- type: 'string',
81
- description: 'The message to display to the user.',
102
+ The order of these items MUST be:
103
+ 1) { "type": "decisionMakingProcess", "value": "..." }
104
+ 2) { "type": "actionType", "value": "..." }
105
+ 3) { "type": "message", "value": "..." }
106
+ `,
107
+ minItems: 3,
108
+ maxItems: 3,
109
+ items: {
110
+ type: 'object',
111
+ properties: {
112
+ type: {
113
+ type: 'string',
114
+ enum: ['decisionMakingProcess', 'actionType', 'message'],
115
+ },
116
+ value: {
117
+ type: 'string',
118
+ description: getStepsDescription(),
119
+ },
120
+ },
121
+ required: ['type', 'value'],
122
+ },
82
123
  },
83
124
  },
84
- required: ['decisionMakingProcess', 'actionType', 'message'],
125
+ required: ['steps'],
85
126
  },
86
127
  });
87
128
  // requestFilesContent
@@ -1 +1 @@
1
- {"version":3,"file":"ask-question.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/ask-question.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ask-question.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/ask-question.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import assert from 'node:assert';
2
2
  import { estimateTokenCount } from './token-estimator.js';
3
3
  const SYSTEM_PROMPT_LIMIT = 3500;
4
- const CODEGEN_PROMPT_LIMIT = 1000;
5
- const SOURCE_CODE_LIMIT = 100000;
4
+ const CODEGEN_PROMPT_LIMIT = 1600;
5
+ const SOURCE_CODE_LIMIT = 110000;
6
6
  function verifyPromptLimit(promptType, prompt, limit) {
7
7
  const tokenCount = estimateTokenCount(prompt);
8
8
  console.log(`${promptType} prompt estimated token count: ${tokenCount}`);
@@ -38,11 +38,12 @@ export async function promptService(generateContentFns, generateImageFns, codege
38
38
  return result;
39
39
  }
40
40
  async function executePromptService(generateContentFn, generateImageFn, codegenPrompt, waitIfPaused = () => Promise.resolve()) {
41
- const messages = prepareMessages(codegenPrompt);
42
41
  // First stage: summarize the source code
43
42
  if (!codegenPrompt.options.disableContextOptimization) {
44
43
  await summarizeSourceCode(generateContentFn, getSourceCode({ forceAll: true }, codegenPrompt.options), codegenPrompt.options);
45
44
  }
45
+ // Prepare messages for AI services
46
+ const messages = prepareMessages(codegenPrompt);
46
47
  // Second stage: generate code generation summary, which should not take a lot of output tokens
47
48
  const getSourceCodeRequest = { name: 'getSourceCode' };
48
49
  const prompt = [
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-service.js","sourceRoot":"","sources":["../../src/prompt/prompt-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-service.js","sourceRoot":"","sources":["../../src/prompt/prompt-service.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ export declare const testConfigs: {
53
53
  askQuestion: boolean;
54
54
  disableContextOptimization: boolean;
55
55
  explicitPrompt: string;
56
- aiService: "chat-gpt";
56
+ aiService: "openai";
57
57
  vision: boolean;
58
58
  };
59
59
  imagenConfig: {
@@ -154,7 +154,7 @@ export const testConfigs = {
154
154
  askQuestion: false,
155
155
  disableContextOptimization: true,
156
156
  explicitPrompt: 'testx',
157
- aiService: 'chat-gpt',
157
+ aiService: 'openai',
158
158
  vision: true,
159
159
  },
160
160
  // Configuration with imagen enabled
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-service.test-utils.js","sourceRoot":"","sources":["../../src/prompt/prompt-service.test-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-service.test-utils.js","sourceRoot":"","sources":["../../src/prompt/prompt-service.test-utils.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Static prompts used in the prompt-service module.
3
3
  * These prompts are used in the initial conversation with the AI service.
4
4
  */
5
+ import { FileUpdate } from '../main/codegen-types';
5
6
  /** Initial greeting from the user */
6
7
  export declare const INITIAL_GREETING = "Hello, GenAIcode!";
7
8
  /** Assistant's response asking for source code and other assets */
@@ -13,4 +14,4 @@ export declare const READY_TO_ASSIST = "Thank you, I'm ready to assist you with
13
14
  /** Assistant's response when generating code */
14
15
  export declare const CODEGEN_SUMMARY_PROMPT = "Planning phase completed. Would you like to proceed with the planned changes?";
15
16
  /** Template for partial prompt when requesting changes for a specific file */
16
- export declare const getPartialPromptTemplate: (path: string) => string;
17
+ export declare const getPartialPromptTemplate: (file: FileUpdate) => string;
@@ -18,5 +18,6 @@ export const READY_TO_ASSIST = "Thank you, I'm ready to assist you with your req
18
18
  /** Assistant's response when generating code */
19
19
  export const CODEGEN_SUMMARY_PROMPT = 'Planning phase completed. Would you like to proceed with the planned changes?';
20
20
  /** Template for partial prompt when requesting changes for a specific file */
21
- export const getPartialPromptTemplate = (path) => `Please now generate update for the \`${path}\` file using appropriate tools according to code generation summary.`;
21
+ export const getPartialPromptTemplate = (file) => `Please now generate update for the \`${file.filePath}\` file using \`${file.updateToolName}\`.` +
22
+ (file.prompt ? `\n\n${file.prompt}` : '');
22
23
  //# sourceMappingURL=static-prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"static-prompts.js","sourceRoot":"","sources":["../../src/prompt/static-prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qCAAqC;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAEpD,mEAAmE;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;aAKtB,CAAC;AAEd,4DAA4D;AAC5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,2EAA2E,CAAC;AAEhH,6DAA6D;AAC7D,MAAM,CAAC,MAAM,eAAe,GAAG,uDAAuD,CAAC;AAEvF,gDAAgD;AAChD,MAAM,CAAC,MAAM,sBAAsB,GAAG,+EAA+E,CAAC;AAEtH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,IAAY,EAAU,EAAE,CAC/D,wCAAwC,IAAI,uEAAuE,CAAC"}
1
+ {"version":3,"file":"static-prompts.js","sourceRoot":"","sources":["../../src/prompt/static-prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,qCAAqC;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAEpD,mEAAmE;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;aAKtB,CAAC;AAEd,4DAA4D;AAC5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,2EAA2E,CAAC;AAEhH,6DAA6D;AAC7D,MAAM,CAAC,MAAM,eAAe,GAAG,uDAAuD,CAAC;AAEvF,gDAAgD;AAChD,MAAM,CAAC,MAAM,sBAAsB,GAAG,+EAA+E,CAAC;AAEtH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,IAAgB,EAAU,EAAE,CACnE,wCAAwC,IAAI,CAAC,QAAQ,mBAAmB,IAAI,CAAC,cAAc,KAAK;IAChG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import { ActionHandlerProps, ActionResult } from '../step-ask-question-types.js';
2
- export declare function handleCancelCodeGeneration({ askQuestionCall }: ActionHandlerProps): Promise<ActionResult>;
2
+ export declare function handleCancelCodeGeneration({ askQuestionMessage }: ActionHandlerProps): Promise<ActionResult>;
@@ -1,11 +1,11 @@
1
1
  import { putSystemMessage } from '../../../../main/common/content-bus.js';
2
- export async function handleCancelCodeGeneration({ askQuestionCall }) {
2
+ export async function handleCancelCodeGeneration({ askQuestionMessage }) {
3
3
  putSystemMessage('Assistant requested to stop code generation. Exiting...');
4
4
  return {
5
5
  breakLoop: true,
6
6
  items: [
7
7
  {
8
- assistant: { type: 'assistant', text: askQuestionCall.args?.message ?? '' },
8
+ assistant: { type: 'assistant', text: askQuestionMessage ?? '' },
9
9
  user: { type: 'user', text: 'Code generation cancelled.' },
10
10
  },
11
11
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"cancel-code-generation.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/cancel-code-generation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAG1E,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAAE,eAAe,EAAsB;IACtF,gBAAgB,CAAC,yDAAyD,CAAC,CAAC;IAC5E,OAAO;QACL,SAAS,EAAE,IAAI;QACf,KAAK,EAAE;YACL;gBACE,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE;gBAC3E,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,EAAE;aAC3D;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"cancel-code-generation.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/cancel-code-generation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAG1E,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAAE,kBAAkB,EAAsB;IACzF,gBAAgB,CAAC,yDAAyD,CAAC,CAAC;IAC5E,OAAO;QACL,SAAS,EAAE,IAAI;QACf,KAAK,EAAE;YACL;gBACE,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,IAAI,EAAE,EAAE;gBAChE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,EAAE;aAC3D;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -16,7 +16,7 @@ export async function handleCodeGeneration({ generateContentFn, generateImageFn,
16
16
  };
17
17
  }
18
18
  // Ask user to confirm the planning result
19
- const planningConfirmation = await askUserForConfirmationWithAnswer('Planning phase completed. Would you like to proceed with the planned changes?', 'Accept planning and continue', 'Reject planning and return to conversation', true);
19
+ const planningConfirmation = await askUserForConfirmationWithAnswer(CODEGEN_SUMMARY_PROMPT, 'Accept planning and continue', 'Reject planning and return to conversation', true);
20
20
  if (!planningConfirmation.confirmed) {
21
21
  // User rejected the planning, return to conversation
22
22
  return {
@@ -72,6 +72,8 @@ export async function handleCodeGeneration({ generateContentFn, generateImageFn,
72
72
  ],
73
73
  };
74
74
  }
75
+ putAssistantMessage('Codegen summary is generated. Would you like to proceed with the code changes?');
76
+ putUserMessage(codegenSummaryConfirmation.answer || 'Accept codegen summary and continue');
75
77
  prompt.push({
76
78
  type: 'assistant',
77
79
  text: 'Codegen summary is generated. Would you like to proceed with the code changes?',
@@ -83,6 +85,15 @@ export async function handleCodeGeneration({ generateContentFn, generateImageFn,
83
85
  const updateResults = await processFileUpdates(generateContentFn, prompt, getFunctionDefs(), options, codegenSummaryRequest, waitIfPaused, generateImageFn);
84
86
  const functionCalls = [...baseResult, ...updateResults];
85
87
  const confirmed = await askUserForConfirmationWithAnswer('Code changes are generated, now what?', 'Apply code changes', 'Continue conversation', true);
88
+ putAssistantMessage('Code changes are generated, now what?');
89
+ putUserMessage(confirmed.answer || 'Apply code changes.');
90
+ prompt.push({
91
+ type: 'assistant',
92
+ text: 'Code changes are generated, now what?',
93
+ }, {
94
+ type: 'user',
95
+ text: confirmed.answer || 'Apply code changes.',
96
+ });
86
97
  if (confirmed.confirmed) {
87
98
  putSystemMessage('Applying code changes...');
88
99
  if (options.dryRun) {
@@ -90,31 +101,20 @@ export async function handleCodeGeneration({ generateContentFn, generateImageFn,
90
101
  }
91
102
  else {
92
103
  // Apply the code changes
93
- await updateFiles(functionCalls.filter((call) => call.name !== 'explanation' && call.name !== 'getSourceCode'), options);
104
+ await updateFiles(functionCalls.filter((call) => call.name !== 'explanation' && call.name !== 'getSourceCode' && call.name !== 'codegenSummary'), options);
94
105
  putSystemMessage('Code changes applied successfully');
95
106
  }
96
107
  }
97
108
  return {
98
109
  breakLoop: confirmed.confirmed ?? true,
99
110
  stepResult: functionCalls,
100
- items: [
101
- {
102
- assistant: {
103
- type: 'assistant',
104
- text: 'Code changes are generated, now what?',
105
- },
106
- user: {
107
- type: 'user',
108
- text: confirmed.answer || 'Apply code changes.',
109
- },
110
- },
111
- ],
111
+ items: [],
112
112
  };
113
113
  }
114
114
  catch (error) {
115
115
  putSystemMessage(`Error during code generation: ${error instanceof Error ? error.message : 'Unknown error'}`);
116
116
  return {
117
- breakLoop: false,
117
+ breakLoop: true,
118
118
  items: [
119
119
  {
120
120
  assistant: {
@@ -1 +1 @@
1
- {"version":3,"file":"code-generation.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/code-generation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-generation.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/code-generation.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import { ActionHandlerProps, ActionResult } from '../step-ask-question-types.js';
2
- export declare function handleConfirmCodeGeneration({ askQuestionCall, options, }: ActionHandlerProps): Promise<ActionResult>;
2
+ export declare function handleConfirmCodeGeneration({ askQuestionMessage, options, }: ActionHandlerProps): Promise<ActionResult>;
@@ -1,6 +1,6 @@
1
1
  import { putSystemMessage } from '../../../../main/common/content-bus.js';
2
2
  import { askUserForConfirmationWithAnswer } from '../../../../main/common/user-actions.js';
3
- export async function handleConfirmCodeGeneration({ askQuestionCall, options, }) {
3
+ export async function handleConfirmCodeGeneration({ askQuestionMessage, options, }) {
4
4
  const userConfirmation = await askUserForConfirmationWithAnswer('The assistant is ready to start code generation. Do you want to proceed?', 'Start code generation', 'Continue conversation', true);
5
5
  if (userConfirmation.options?.aiService) {
6
6
  options.aiService = userConfirmation.options.aiService;
@@ -13,7 +13,7 @@ export async function handleConfirmCodeGeneration({ askQuestionCall, options, })
13
13
  executeCodegen: true,
14
14
  items: [
15
15
  {
16
- assistant: { type: 'assistant', text: askQuestionCall.args?.message ?? '', functionCalls: [] },
16
+ assistant: { type: 'assistant', text: askQuestionMessage ?? '', functionCalls: [] },
17
17
  user: { type: 'user', text: userConfirmation.answer || 'Confirmed. Proceed with code generation.' },
18
18
  },
19
19
  ],
@@ -25,7 +25,7 @@ export async function handleConfirmCodeGeneration({ askQuestionCall, options, })
25
25
  breakLoop: false,
26
26
  items: [
27
27
  {
28
- assistant: { type: 'assistant', text: askQuestionCall.args?.message ?? '' },
28
+ assistant: { type: 'assistant', text: askQuestionMessage ?? '' },
29
29
  user: {
30
30
  type: 'user',
31
31
  text: userConfirmation.answer || 'Declined. Please continue the conversation.',
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-code-generation.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/confirm-code-generation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAG3F,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,EAChD,eAAe,EACf,OAAO,GACY;IACnB,MAAM,gBAAgB,GAAG,MAAM,gCAAgC,CAC7D,0EAA0E,EAC1E,uBAAuB,EACvB,uBAAuB,EACvB,IAAI,CACL,CAAC;IACF,IAAI,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;QACxC,OAAO,CAAC,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC;QACvD,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC;IACjD,CAAC;IACD,IAAI,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAC/B,gBAAgB,CAAC,kCAAkC,CAAC,CAAC;QACrD,OAAO;YACL,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI;YACpB,KAAK,EAAE;gBACL;oBACE,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;oBAC9F,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,IAAI,0CAA0C,EAAE;iBACpG;aACF;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,gBAAgB,CAAC,wCAAwC,CAAC,CAAC;QAC3D,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE;gBACL;oBACE,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE;oBAC3E,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,gBAAgB,CAAC,MAAM,IAAI,6CAA6C;qBAC/E;iBACF;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"confirm-code-generation.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/confirm-code-generation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAG3F,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,EAChD,kBAAkB,EAClB,OAAO,GACY;IACnB,MAAM,gBAAgB,GAAG,MAAM,gCAAgC,CAC7D,0EAA0E,EAC1E,uBAAuB,EACvB,uBAAuB,EACvB,IAAI,CACL,CAAC;IACF,IAAI,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;QACxC,OAAO,CAAC,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC;QACvD,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC;IACjD,CAAC;IACD,IAAI,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAC/B,gBAAgB,CAAC,kCAAkC,CAAC,CAAC;QACrD,OAAO;YACL,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI;YACpB,KAAK,EAAE;gBACL;oBACE,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,IAAI,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;oBACnF,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,IAAI,0CAA0C,EAAE;iBACpG;aACF;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,gBAAgB,CAAC,wCAAwC,CAAC,CAAC;QAC3D,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE;gBACL;oBACE,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,IAAI,EAAE,EAAE;oBAChE,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,gBAAgB,CAAC,MAAM,IAAI,6CAA6C;qBAC/E;iBACF;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import { ActionHandlerProps, ActionResult } from '../step-ask-question-types.js';
2
- export declare function handleContextOptimization({ askQuestionCall, prompt, options, generateContentFn, }: ActionHandlerProps): Promise<ActionResult>;
2
+ export declare function handleContextOptimization({ askQuestionMessage, prompt, options, generateContentFn, }: ActionHandlerProps): Promise<ActionResult>;
@@ -2,7 +2,7 @@ import { refreshFiles } from '../../../../files/find-files.js';
2
2
  import { putSystemMessage } from '../../../../main/common/content-bus.js';
3
3
  import { askUserForConfirmation } from '../../../../main/common/user-actions.js';
4
4
  import { executeStepContextOptimization } from '../../step-context-optimization.js';
5
- export async function handleContextOptimization({ askQuestionCall, prompt, options, generateContentFn, }) {
5
+ export async function handleContextOptimization({ askQuestionMessage, prompt, options, generateContentFn, }) {
6
6
  const userConfirmation = await askUserForConfirmation('The assistant suggests optimizing the context to reduce token usage, cost, and latency. Do you want to proceed?', false);
7
7
  if (userConfirmation.options?.aiService) {
8
8
  options.aiService = userConfirmation.options.aiService;
@@ -14,7 +14,7 @@ export async function handleContextOptimization({ askQuestionCall, prompt, optio
14
14
  };
15
15
  const assistant = {
16
16
  type: 'assistant',
17
- text: askQuestionCall.args?.message ?? '',
17
+ text: askQuestionMessage ?? '',
18
18
  };
19
19
  if (userConfirmation.confirmed) {
20
20
  // the request may be caused be an appearance of a new file, so lets refresh