genaicode 0.9.3 → 0.9.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 (136) hide show
  1. package/dist/ai-service/anthropic.js +4 -1
  2. package/dist/ai-service/anthropic.js.map +1 -1
  3. package/dist/ai-service/common.js +1 -1
  4. package/dist/ai-service/common.js.map +1 -1
  5. package/dist/ai-service/openai.js +1 -1
  6. package/dist/ai-service/openai.js.map +1 -1
  7. package/dist/ai-service/service-configurations.js +1 -1
  8. package/dist/ai-service/service-configurations.js.map +1 -1
  9. package/dist/files/cache-file.d.ts +4 -1
  10. package/dist/files/cache-file.js.map +1 -1
  11. package/dist/files/file-id-utils.d.ts +7 -0
  12. package/dist/files/file-id-utils.js +25 -0
  13. package/dist/files/file-id-utils.js.map +1 -0
  14. package/dist/files/read-files.js +8 -8
  15. package/dist/files/read-files.js.map +1 -1
  16. package/dist/files/source-code-tree.js +3 -3
  17. package/dist/files/source-code-tree.js.map +1 -1
  18. package/dist/files/source-code-types.d.ts +21 -3
  19. package/dist/files/summary-cache.d.ts +3 -2
  20. package/dist/files/summary-cache.js +1 -1
  21. package/dist/files/summary-cache.js.map +1 -1
  22. package/dist/main/common/content-bus-types.d.ts +1 -1
  23. package/dist/main/common/content-bus.js +1 -1
  24. package/dist/main/common/content-bus.js.map +1 -1
  25. package/dist/main/config-schema.js +1 -1
  26. package/dist/main/config-schema.js.map +1 -1
  27. package/dist/main/ui/frontend/assets/{index-CSR1NiB_.js → index-Dizqxzws.js} +226 -187
  28. package/dist/main/ui/frontend/index.html +1 -1
  29. package/dist/prompt/ai-service-fallback.js +5 -1
  30. package/dist/prompt/ai-service-fallback.js.map +1 -1
  31. package/dist/prompt/function-calling.js +8 -1
  32. package/dist/prompt/function-calling.js.map +1 -1
  33. package/dist/prompt/function-defs/ask-question.d.ts +3 -0
  34. package/dist/prompt/function-defs/ask-question.js +43 -1
  35. package/dist/prompt/function-defs/ask-question.js.map +1 -1
  36. package/dist/prompt/function-defs/context-compression.d.ts +25 -5
  37. package/dist/prompt/function-defs/context-compression.js +23 -8
  38. package/dist/prompt/function-defs/context-compression.js.map +1 -1
  39. package/dist/prompt/function-defs/conversation-graph.d.ts +33 -0
  40. package/dist/prompt/function-defs/conversation-graph.js +110 -0
  41. package/dist/prompt/function-defs/conversation-graph.js.map +1 -0
  42. package/dist/prompt/function-defs/extract-file-fragments.d.ts +27 -0
  43. package/dist/prompt/function-defs/extract-file-fragments.js +36 -0
  44. package/dist/prompt/function-defs/extract-file-fragments.js.map +1 -0
  45. package/dist/prompt/steps/step-ask-question/ask-question-handler.d.ts +2 -0
  46. package/dist/prompt/steps/step-ask-question/ask-question-handler.js +12 -0
  47. package/dist/prompt/steps/step-ask-question/ask-question-handler.js.map +1 -0
  48. package/dist/prompt/steps/step-ask-question/handlers/code-generation.js +1 -0
  49. package/dist/prompt/steps/step-ask-question/handlers/code-generation.js.map +1 -1
  50. package/dist/prompt/steps/step-ask-question/handlers/file-request-utils.d.ts +47 -0
  51. package/dist/prompt/steps/step-ask-question/handlers/file-request-utils.js +114 -0
  52. package/dist/prompt/steps/step-ask-question/handlers/file-request-utils.js.map +1 -0
  53. package/dist/prompt/steps/step-ask-question/handlers/handle-code-generation.d.ts +4 -0
  54. package/dist/prompt/steps/step-ask-question/handlers/handle-code-generation.js +169 -0
  55. package/dist/prompt/steps/step-ask-question/handlers/handle-code-generation.js.map +1 -0
  56. package/dist/prompt/steps/step-ask-question/handlers/handle-confirm-code-generation.d.ts +2 -0
  57. package/dist/prompt/steps/step-ask-question/handlers/handle-confirm-code-generation.js +40 -0
  58. package/dist/prompt/steps/step-ask-question/handlers/handle-confirm-code-generation.js.map +1 -0
  59. package/dist/prompt/steps/step-ask-question/handlers/handle-context-compression.js +2 -0
  60. package/dist/prompt/steps/step-ask-question/handlers/handle-context-compression.js.map +1 -1
  61. package/dist/prompt/steps/step-ask-question/handlers/handle-context-optimization.d.ts +2 -0
  62. package/dist/prompt/steps/step-ask-question/handlers/handle-context-optimization.js +34 -0
  63. package/dist/prompt/steps/step-ask-question/handlers/handle-context-optimization.js.map +1 -0
  64. package/dist/prompt/steps/step-ask-question/handlers/handle-conversation-graph.d.ts +12 -0
  65. package/dist/prompt/steps/step-ask-question/handlers/handle-conversation-graph.js +243 -0
  66. package/dist/prompt/steps/step-ask-question/handlers/handle-conversation-graph.js.map +1 -0
  67. package/dist/prompt/steps/step-ask-question/handlers/handle-create-file.d.ts +2 -2
  68. package/dist/prompt/steps/step-ask-question/handlers/handle-create-file.js +5 -3
  69. package/dist/prompt/steps/step-ask-question/handlers/handle-create-file.js.map +1 -1
  70. package/dist/prompt/steps/step-ask-question/handlers/handle-end-conversation.js +2 -0
  71. package/dist/prompt/steps/step-ask-question/handlers/handle-end-conversation.js.map +1 -1
  72. package/dist/prompt/steps/step-ask-question/handlers/handle-genaicode-help.js +2 -0
  73. package/dist/prompt/steps/step-ask-question/handlers/handle-genaicode-help.js.map +1 -1
  74. package/dist/prompt/steps/step-ask-question/handlers/handle-generate-image.js +2 -0
  75. package/dist/prompt/steps/step-ask-question/handlers/handle-generate-image.js.map +1 -1
  76. package/dist/prompt/steps/step-ask-question/handlers/handle-lint.d.ts +6 -0
  77. package/dist/prompt/steps/step-ask-question/handlers/handle-lint.js +105 -0
  78. package/dist/prompt/steps/step-ask-question/handlers/handle-lint.js.map +1 -0
  79. package/dist/prompt/steps/step-ask-question/handlers/handle-perform-analysis.js +4 -5
  80. package/dist/prompt/steps/step-ask-question/handlers/handle-perform-analysis.js.map +1 -1
  81. package/dist/prompt/steps/step-ask-question/handlers/handle-pull-app-context.js +2 -0
  82. package/dist/prompt/steps/step-ask-question/handlers/handle-pull-app-context.js.map +1 -1
  83. package/dist/prompt/steps/step-ask-question/handlers/handle-push-app-context.js +2 -0
  84. package/dist/prompt/steps/step-ask-question/handlers/handle-push-app-context.js.map +1 -1
  85. package/dist/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.js +3 -3
  86. package/dist/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.js.map +1 -1
  87. package/dist/prompt/steps/step-ask-question/handlers/handle-remove-files-from-context.d.ts +2 -0
  88. package/dist/prompt/steps/step-ask-question/handlers/handle-remove-files-from-context.js +88 -0
  89. package/dist/prompt/steps/step-ask-question/handlers/handle-remove-files-from-context.js.map +1 -0
  90. package/dist/prompt/steps/step-ask-question/handlers/handle-request-files-content.d.ts +8 -0
  91. package/dist/prompt/steps/step-ask-question/handlers/handle-request-files-content.js +136 -0
  92. package/dist/prompt/steps/step-ask-question/handlers/handle-request-files-content.js.map +1 -0
  93. package/dist/prompt/steps/step-ask-question/handlers/handle-request-files-fragments.d.ts +8 -0
  94. package/dist/prompt/steps/step-ask-question/handlers/handle-request-files-fragments.js +173 -0
  95. package/dist/prompt/steps/step-ask-question/handlers/handle-request-files-fragments.js.map +1 -0
  96. package/dist/prompt/steps/step-ask-question/handlers/handle-request-permissions.d.ts +2 -0
  97. package/dist/prompt/steps/step-ask-question/handlers/handle-request-permissions.js +71 -0
  98. package/dist/prompt/steps/step-ask-question/handlers/handle-request-permissions.js.map +1 -0
  99. package/dist/prompt/steps/step-ask-question/handlers/handle-search-code.d.ts +0 -3
  100. package/dist/prompt/steps/step-ask-question/handlers/handle-search-code.js +2 -3
  101. package/dist/prompt/steps/step-ask-question/handlers/handle-search-code.js.map +1 -1
  102. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js +2 -0
  103. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js.map +1 -1
  104. package/dist/prompt/steps/step-ask-question/handlers/handle-update-file.d.ts +2 -2
  105. package/dist/prompt/steps/step-ask-question/handlers/handle-update-file.js +6 -4
  106. package/dist/prompt/steps/step-ask-question/handlers/handle-update-file.js.map +1 -1
  107. package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js +7 -3
  108. package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js.map +1 -1
  109. package/dist/prompt/steps/step-ask-question/step-ask-question-handlers.d.ts +3 -0
  110. package/dist/prompt/steps/step-ask-question/step-ask-question-handlers.js +5 -0
  111. package/dist/prompt/steps/step-ask-question/step-ask-question-handlers.js.map +1 -0
  112. package/dist/prompt/steps/step-ask-question/step-ask-question-types.d.ts +13 -2
  113. package/dist/prompt/steps/step-ask-question/step-ask-question.d.ts +21 -0
  114. package/dist/prompt/steps/step-ask-question/step-ask-question.js +30 -71
  115. package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
  116. package/dist/prompt/steps/step-codegen-planning.js +1 -3
  117. package/dist/prompt/steps/step-codegen-planning.js.map +1 -1
  118. package/dist/prompt/steps/step-context-compression.d.ts +1 -1
  119. package/dist/prompt/steps/step-context-compression.js +130 -34
  120. package/dist/prompt/steps/step-context-compression.js.map +1 -1
  121. package/dist/prompt/steps/step-context-optimization.js +7 -68
  122. package/dist/prompt/steps/step-context-optimization.js.map +1 -1
  123. package/dist/prompt/steps/step-generate-codegen-summary.js +1 -3
  124. package/dist/prompt/steps/step-generate-codegen-summary.js.map +1 -1
  125. package/dist/prompt/steps/step-history-update.js +1 -3
  126. package/dist/prompt/steps/step-history-update.js.map +1 -1
  127. package/dist/prompt/steps/step-process-file-updates.js +0 -3
  128. package/dist/prompt/steps/step-process-file-updates.js.map +1 -1
  129. package/dist/prompt/steps/step-summarization.d.ts +2 -1
  130. package/dist/prompt/steps/step-summarization.js +6 -5
  131. package/dist/prompt/steps/step-summarization.js.map +1 -1
  132. package/dist/prompt/steps/step-verify-patch.js +1 -3
  133. package/dist/prompt/steps/step-verify-patch.js.map +1 -1
  134. package/dist/prompt/systemprompt.js +5 -3
  135. package/dist/prompt/systemprompt.js.map +1 -1
  136. package/package.json +4 -4
@@ -2,49 +2,153 @@ import { ModelType } from '../../ai-service/common-types.js';
2
2
  import { putSystemMessage } from '../../main/common/content-bus.js';
3
3
  import { getFunctionDefs } from '../function-calling.js';
4
4
  import { StepResult } from './steps-types.js';
5
- import { validateAndRecoverSingleResult } from './step-validate-recover.js';
6
5
  import { executeStepEnsureContext } from './step-ensure-context.js';
7
6
  export const CONTEXT_COMPRESSION_PROMPT = `Analyze the conversation history and source code dependencies to create a comprehensive context summary that preserves essential information while maintaining reasonable token efficiency.
8
7
 
9
8
  Key Principles:
10
9
  1. Preserve Rich Context: Maintain detailed information about the conversation, especially for expensive operations like reasoning inference, code analysis, or complex decision-making.
11
- 2. Token Efficiency: Aim for a meaningful compression (e.g., 5k tokens for a 100k token conversation) without being overly aggressive.
10
+ 2. Token Efficiency: Target a 50-80% reduction in tokens while preserving critical information. For example:
11
+ - Long conversations (>50k tokens): Aim for 75-80% reduction
12
+ - Medium conversations (10k-50k tokens): Aim for 60-75% reduction
13
+ - Short conversations (<10k tokens): Aim for 50-60% reduction
12
14
  3. File Handling: Do not include file contents in the summary - use filePaths array for this purpose.
13
15
  4. Temporal Context: Preserve chronological progression of important decisions and changes.
14
16
 
15
17
  Required Information to Preserve:
18
+
16
19
  1. Conversation Flow:
17
- - Initial problem statement or task
18
- - Key questions asked and answers received
19
- - Important decisions made and their rationale
20
+ **High Priority:**
21
+ - Initial problem statement and core requirements
20
22
  - Results of expensive operations (reasoning inference, analysis)
21
- - Critical user preferences or constraints
22
- - Any errors or issues encountered
23
+ - Key architectural and design decisions with rationale
24
+ - Critical constraints or requirements
25
+ - Major changes in direction or approach
26
+
27
+ **Medium Priority:**
28
+ - Important clarifying questions and answers
29
+ - User preferences affecting implementation
30
+ - Significant technical discussions
31
+ - Error handling requirements
32
+
33
+ **Optional:**
34
+ - General feedback or observations
35
+ - Minor clarifications
36
+ - Non-critical issues encountered
37
+ - Routine confirmations
23
38
 
24
39
  2. Technical Details:
25
- - Code changes proposed or implemented
26
- - Architecture decisions
27
- - Performance considerations
28
- - Security implications
29
- - Dependencies identified
40
+ **High Priority:**
41
+ - Specific code changes proposed or implemented
42
+ - Critical architectural decisions
43
+ - Security considerations
44
+ - Performance requirements
45
+ - Core dependencies and their relationships
46
+
47
+ **Medium Priority:**
30
48
  - Testing requirements
49
+ - Code organization decisions
50
+ - Implementation patterns chosen
51
+ - File structure changes
52
+
53
+ **Optional:**
54
+ - Alternative approaches considered
55
+ - Code style preferences
56
+ - Non-critical optimizations
57
+ - Documentation suggestions
31
58
 
32
59
  3. Implementation Status:
33
- - Current stage of development
60
+ **High Priority:**
61
+ - Current development stage
62
+ - Blocking issues or challenges
63
+ - Critical validation results
64
+ - Required next steps
65
+
66
+ **Medium Priority:**
34
67
  - Completed steps
35
68
  - Pending tasks
36
- - Known issues or challenges
37
- - Validation results
69
+ - Test results
70
+
71
+ **Optional:**
72
+ - Nice-to-have features
73
+ - Non-blocking improvements
74
+ - Future considerations
75
+
76
+ Priority Conflict Resolution:
77
+ 1. When multiple items compete for inclusion:
78
+ - Always preserve items marked as "High Priority"
79
+ - Include "Medium Priority" items if they directly relate to "High Priority" items
80
+ - Include "Optional" items only if they provide crucial context for "High Priority" items
81
+ 2. When facing token limits:
82
+ - First, compress or remove "Optional" items
83
+ - Then, selectively compress "Medium Priority" items
84
+ - Finally, if necessary, compress (but never remove) "High Priority" items
85
+ 3. When items span multiple categories:
86
+ - Preserve items that appear in multiple "High Priority" sections
87
+ - Combine related items to reduce redundancy while maintaining context
88
+
89
+ Deduplication Guidance:
90
+ 1. Identify and remove redundant information:
91
+ Example - Before:
92
+ "User asked about error handling. Assistant explained error handling approach. User requested clarification about error handling. Assistant provided more details about error handling."
93
+ After:
94
+ "Discussion of error handling approach: Initial explanation followed by clarification of specific details."
95
+
96
+ 2. Merge related technical decisions:
97
+ Example - Before:
98
+ "Decided to use async/await. Later discussed error handling with try/catch. Then added discussion about Promise rejection handling."
99
+ After:
100
+ "Implemented asynchronous operations using async/await pattern, incorporating comprehensive error handling (try/catch and Promise rejections)."
101
+
102
+ 3. Combine similar requirements:
103
+ Example - Before:
104
+ "Need to handle network errors. Should retry failed requests. Must implement timeout for requests. Should handle offline mode."
105
+ After:
106
+ "Network handling requirements: Error recovery with retries, request timeouts, and offline mode support."
107
+
108
+ File Path Inclusion Criteria:
109
+ 1. Always Include:
110
+ - Files directly targeted for modification
111
+ - Files containing code being analyzed or referenced
112
+ - Critical dependencies of modified files
113
+ - Configuration files affecting the changes
114
+
115
+ 2. Include Based on Context:
116
+ - Files containing relevant examples or patterns
117
+ - Test files for affected components
118
+ - Related documentation files
119
+
120
+ 3. Do Not Include:
121
+ - Files only mentioned in passing
122
+ - Deprecated or unused files
123
+ - Files from rejected approaches
124
+ - Files outside the current task scope
125
+
126
+ Handling Complex Technical Discussions:
127
+ 1. For Code Analysis:
128
+ - Preserve detailed reasoning about algorithmic choices
129
+ - Keep performance considerations and trade-offs
130
+ - Maintain security-related discussions
131
+ - Retain architectural decisions and their rationale
132
+
133
+ 2. For Multi-File Dependencies:
134
+ - Document relationships between files
135
+ - Preserve dependency chain reasoning
136
+ - Keep critical implementation order requirements
137
+ - Maintain context about shared components
138
+
139
+ 3. For Technical Decisions:
140
+ - Preserve core decision points and rationale
141
+ - Keep relevant constraints and requirements
142
+ - Maintain important trade-off discussions
143
+ - Retain technical debt considerations
38
144
 
39
145
  Format your response as a structured JSON object with:
40
146
  - conversationSummary: Detailed summary preserving rich context of the conversation's progression and key decisions
41
- - codegenIntent: Comprehensive description of the primary goal, constraints, and special requirements
42
147
  - filePaths: Array of file paths that are critical for the task (no file contents, just paths)
43
148
 
44
149
  Example of good summary structure:
45
150
  {
46
151
  "conversationSummary": "Started: User requested CONTEXT_COMPRESSION_PROMPT improvement. Analysis: Current compression too aggressive (100k->100 tokens). Key Decision: Allow larger summaries (5k tokens ok). Reasoning inference revealed importance of preserving expensive operation results. Implementation: Updating compression logic in step-context-compression.ts. Requirements: 1) Less aggressive compression, 2) Rich conversation preservation, 3) No file contents in summary.",
47
- "codegenIntent": "Enhance context compression to preserve more information (up to 5k tokens) while maintaining efficiency. Focus on rich conversation details, especially expensive operations like reasoning inference. Exclude file contents from summary/intent, using filePaths instead. Goal: Better balance between compression and information preservation.",
48
152
  "filePaths": ["/path/to/relevant/files"]
49
153
  }
50
154
 
@@ -65,25 +169,18 @@ export async function executeStepContextCompression(generateContentFn, prompt, o
65
169
  }
66
170
  try {
67
171
  putSystemMessage('Context compression is starting...');
68
- const compressContextCall = await compressConversationHistory(generateContentFn, prompt, options);
172
+ const compressContextCall = await compressConversationHistory(generateContentFn, prompt.slice(initialPromptIndex, prompt.length), options);
69
173
  if (!compressContextCall) {
70
174
  putSystemMessage('Context compression did not return a result');
71
175
  return StepResult.BREAK;
72
176
  }
73
- // Remove all items after the initial prompt
74
- prompt.splice(initialPromptIndex + 1, prompt.length - initialPromptIndex - 1);
177
+ // Replace the initial prompt with the context compression call response
178
+ prompt.splice(initialPromptIndex, prompt.length - initialPromptIndex);
75
179
  // Add compression result to prompt
76
- prompt.push({ type: 'assistant', functionCalls: [compressContextCall] });
77
180
  prompt.push({
78
181
  type: 'user',
79
- functionResponses: [
80
- {
81
- call_id: compressContextCall.id,
82
- name: 'compressContext',
83
- content: '',
84
- },
85
- ],
86
- cache: true,
182
+ itemId: 'INITIAL_PROMPT',
183
+ text: 'This is summary of our conversation:\n\n' + compressContextCall.args.conversationSummary,
87
184
  });
88
185
  // Ensure context
89
186
  await executeStepEnsureContext(prompt, compressContextCall, options);
@@ -100,11 +197,11 @@ export async function executeStepContextCompression(generateContentFn, prompt, o
100
197
  */
101
198
  async function compressConversationHistory(generateContentFn, prompt, options) {
102
199
  const summaryPrompt = [
103
- ...prompt,
104
200
  {
105
- type: 'user',
106
- text: CONTEXT_COMPRESSION_PROMPT,
201
+ type: 'systemPrompt',
202
+ systemPrompt: CONTEXT_COMPRESSION_PROMPT,
107
203
  },
204
+ ...prompt,
108
205
  ];
109
206
  const request = [
110
207
  summaryPrompt,
@@ -114,8 +211,7 @@ async function compressConversationHistory(generateContentFn, prompt, options) {
114
211
  ModelType.CHEAP,
115
212
  options,
116
213
  ];
117
- let result = (await generateContentFn(...request));
118
- result = (await validateAndRecoverSingleResult(request, result, generateContentFn));
214
+ const result = (await generateContentFn(...request));
119
215
  return result[0];
120
216
  }
121
217
  //# sourceMappingURL=step-context-compression.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-context-compression.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-context-compression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-context-compression.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-context-compression.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4D,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAEvH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2DA0JiB,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,iBAA0C,EAC1C,MAAoB,EACpB,OAAuB;IAEvB,MAAM,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC;IACxF,IAAI,kBAAkB,KAAK,CAAC,CAAC,EAAE,CAAC;QAC9B,gBAAgB,CAAC,oDAAoD,CAAC,CAAC;QACvE,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC;QACH,gBAAgB,CAAC,oCAAoC,CAAC,CAAC;QACvD,MAAM,mBAAmB,GAAG,MAAM,2BAA2B,CAC3D,iBAAiB,EACjB,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,EAC/C,OAAO,CACR,CAAC;QAEF,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,gBAAgB,CAAC,6CAA6C,CAAC,CAAC;YAChE,OAAO,UAAU,CAAC,KAAK,CAAC;QAC1B,CAAC;QAED,wEAAwE;QACxE,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC;QAEtE,mCAAmC;QACnC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,0CAA0C,GAAG,mBAAmB,CAAC,IAAK,CAAC,mBAAmB;SACjG,CAAC,CAAC;QAEH,iBAAiB;QACjB,MAAM,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAErE,gBAAgB,CAAC,6CAA6C,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE1F,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gBAAgB,CAAC,yDAAyD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACvF,OAAO,UAAU,CAAC,KAAK,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,2BAA2B,CACxC,iBAA0C,EAC1C,MAAoB,EACpB,OAAuB;IAEvB,MAAM,aAAa,GAAiB;QAClC;YACE,IAAI,EAAE,cAAc;YACpB,YAAY,EAAE,0BAA0B;SACzC;QACD,GAAG,MAAM;KACV,CAAC;IAEF,MAAM,OAAO,GAAwB;QACnC,aAAa;QACb,eAAe,EAAE;QACjB,iBAAiB;QACjB,GAAG,EAAE,qDAAqD;QAC1D,SAAS,CAAC,KAAK;QACf,OAAO;KACR,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,MAAM,iBAAiB,CAAC,GAAG,OAAO,CAAC,CAA6B,CAAC;IACjF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC"}
@@ -4,11 +4,10 @@ import { getSourceCode } from '../../files/read-files.js';
4
4
  import { getFunctionDefs } from '../function-calling.js';
5
5
  import { StepResult } from './steps-types.js';
6
6
  import { estimateTokenCount } from '../token-estimator.js';
7
- import { validateAndRecoverSingleResult } from './step-validate-recover.js';
8
7
  import { getSourceCodeResponse } from './steps-utils.js';
9
8
  import { importantContext } from '../../main/config.js';
10
9
  import { getSummary } from '../../files/summary-cache.js';
11
- import { md5 } from '../../files/cache-file.js';
10
+ import { generateFileId } from '../../files/file-id-utils.js';
12
11
  export const OPTIMIZATION_PROMPT = `You need to analyze the provided source code files and determine their relevance to the user's prompt. You will then call the \`optimizeContext\` function with the results.
13
12
 
14
13
  **Crucially, only include files in the \`optimizedContext\` array of the \`optimizeContext\` function call if their calculated relevance score is 0.5 or greater.**
@@ -101,8 +100,7 @@ export async function executeStepContextOptimization(generateContentFn, prompt,
101
100
  ModelType.CHEAP,
102
101
  options,
103
102
  ];
104
- let result = await generateContentFn(...request);
105
- result = await validateAndRecoverSingleResult(request, result, generateContentFn);
103
+ const result = await generateContentFn(...request);
106
104
  const [optimizedContext, irrelevantFiles] = parseOptimizationResult(fullSourceCode, result);
107
105
  if (!optimizedContext) {
108
106
  putSystemMessage(`Warning: Context optimization failed. We need to abort.`);
@@ -196,21 +194,13 @@ function parseOptimizationResult(fullSourceCode, calls) {
196
194
  // Preserving important files
197
195
  continue;
198
196
  }
199
- // Calculate dependency weight (0-0.3) and add to base relevance
200
- const depWeight = calculateDependencyWeight(filePath, fullSourceCode, relevantFiles);
201
- const finalRelevance = Math.min(1, relevance + depWeight);
202
197
  const content = (fullSourceCode[filePath] && 'content' in fullSourceCode[filePath]
203
198
  ? fullSourceCode[filePath]?.content
204
199
  : undefined) ?? '';
205
- // Get all dependencies for token counting
206
- const allDeps = getAllDependencies(filePath, fullSourceCode);
207
- const depsContent = Array.from(allDeps)
208
- .map((dep) => (fullSourceCode[dep] && 'content' in fullSourceCode[dep] ? fullSourceCode[dep]?.content : undefined) ?? '')
209
- .join('');
210
- totalTokens += estimateTokenCount(content + depsContent);
211
- result.push([item.filePath, finalRelevance]);
200
+ totalTokens += estimateTokenCount(content);
201
+ result.push([item.filePath, relevance]);
212
202
  // Break if we exceed token limit and the file isn't highly relevant
213
- if (totalTokens > MAX_TOTAL_TOKENS && finalRelevance < 0.7) {
203
+ if (totalTokens > MAX_TOTAL_TOKENS && relevance < 0.7) {
214
204
  break;
215
205
  }
216
206
  }
@@ -224,9 +214,6 @@ function optimizeSourceCode(sourceCode, fullSourceCode, optimizedContext, irrele
224
214
  const requiredFiles = new Set();
225
215
  for (const [path] of optimizedContext) {
226
216
  requiredFiles.add(path);
227
- // Add all dependencies
228
- const deps = getAllDependencies(path, fullSourceCode);
229
- deps.forEach((dep) => requiredFiles.add(dep));
230
217
  }
231
218
  for (const [path] of Object.entries(fullSourceCode)) {
232
219
  const isRequired = requiredFiles.has(path);
@@ -239,7 +226,7 @@ function optimizeSourceCode(sourceCode, fullSourceCode, optimizedContext, irrele
239
226
  !(sourceCode[path] && 'content' in sourceCode[path] && sourceCode[path].content !== null)) {
240
227
  contentTokenCount += estimateTokenCount(content);
241
228
  optimizedSourceCode[path] = {
242
- fileId: md5(path),
229
+ fileId: generateFileId(path),
243
230
  content,
244
231
  ...(dependencies && !isIrrelevant && { dependencies }),
245
232
  };
@@ -247,7 +234,7 @@ function optimizeSourceCode(sourceCode, fullSourceCode, optimizedContext, irrele
247
234
  else if (summary && !isIrrelevant) {
248
235
  summaryTokenCount += estimateTokenCount(summary.summary);
249
236
  optimizedSourceCode[path] = {
250
- fileId: md5(path),
237
+ fileId: generateFileId(path),
251
238
  ...summary,
252
239
  ...(dependencies && { dependencies }),
253
240
  };
@@ -291,52 +278,4 @@ function clearPreviousSourceCodeResponses(prompt, irrelevantFiles) {
291
278
  }
292
279
  }
293
280
  }
294
- /**
295
- * Calculate dependency chain weight for a file
296
- * Returns a value between 0 and 0.3 based on dependency importance
297
- */
298
- function calculateDependencyWeight(filePath, sourceCode, relevantFiles, visited = new Set()) {
299
- if (visited.has(filePath)) {
300
- return 0; // Prevent circular dependency loops
301
- }
302
- visited.add(filePath);
303
- const fileData = sourceCode[filePath];
304
- if (!fileData || !('dependencies' in fileData) || !fileData.dependencies) {
305
- return 0;
306
- }
307
- let weight = 0;
308
- for (const dep of fileData.dependencies) {
309
- if (dep.type === 'local' && relevantFiles.has(dep.path)) {
310
- // Direct dependency of a relevant file gets higher weight
311
- weight = Math.max(weight, 0.2);
312
- // Recursively check dependencies with diminishing weight
313
- const depWeight = calculateDependencyWeight(dep.path, sourceCode, relevantFiles, visited) * 0.7;
314
- weight = Math.max(weight, depWeight);
315
- }
316
- }
317
- return weight;
318
- }
319
- /**
320
- * Get all dependencies for a file, including transitive ones
321
- */
322
- function getAllDependencies(filePath, sourceCode, visited = new Set()) {
323
- if (visited.has(filePath)) {
324
- return new Set(); // Prevent circular dependency loops
325
- }
326
- visited.add(filePath);
327
- const deps = new Set();
328
- const fileData = sourceCode[filePath];
329
- if (!fileData || !('dependencies' in fileData) || !fileData.dependencies) {
330
- return deps;
331
- }
332
- for (const dep of fileData.dependencies) {
333
- if (dep.type === 'local') {
334
- deps.add(dep.path);
335
- // Add transitive dependencies
336
- const transitiveDeps = getAllDependencies(dep.path, sourceCode, visited);
337
- transitiveDeps.forEach((d) => deps.add(d));
338
- }
339
- }
340
- return deps;
341
- }
342
281
  //# sourceMappingURL=step-context-optimization.js.map
@@ -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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"}
@@ -1,5 +1,4 @@
1
1
  import { ModelType } from '../../ai-service/common-types.js';
2
- import { validateAndRecoverSingleResult } from './step-validate-recover.js';
3
2
  import { putSystemMessage } from '../../main/common/content-bus.js';
4
3
  import { executeStepEnsureContext } from './step-ensure-context.js';
5
4
  import { StepResult } from './steps-types.js';
@@ -29,8 +28,7 @@ export async function generateCodegenSummary(generateContentFn, prompt, function
29
28
  options.cheap ? ModelType.CHEAP : ModelType.DEFAULT,
30
29
  options,
31
30
  ];
32
- let baseResult = await generateContentFn(...baseRequest);
33
- baseResult = await validateAndRecoverSingleResult(baseRequest, baseResult, generateContentFn);
31
+ const baseResult = await generateContentFn(...baseRequest);
34
32
  const codegenSummaryRequest = baseResult.find((call) => call.name === 'codegenSummary');
35
33
  if (!codegenSummaryRequest) {
36
34
  // This is unexpected, if happens probably means no code updates.
@@ -1 +1 @@
1
- {"version":3,"file":"step-generate-codegen-summary.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-generate-codegen-summary.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,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;AACjC,OAAO,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAErH;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,iBAA0C,EAC1C,MAAoB,EACpB,YAA2B,EAC3B,OAAuB;IAKvB,MAAM,WAAW,GAA6E;QAC5F;YACE,GAAG,MAAM;YACT;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,gCAAgC;aACvC;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,sBAAsB;aAC7B;SACF;QACD,YAAY;QACZ,gBAAgB;QAChB,OAAO,CAAC,WAAW,IAAI,GAAG;QAC1B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO;QACnD,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,CAEzE,CAAC;IAEd,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"}
1
+ {"version":3,"file":"step-generate-codegen-summary.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-generate-codegen-summary.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,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;AACjC,OAAO,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAErH;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,iBAA0C,EAC1C,MAAoB,EACpB,YAA2B,EAC3B,OAAuB;IAKvB,MAAM,WAAW,GAA6E;QAC5F;YACE,GAAG,MAAM;YACT;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,gCAAgC;aACvC;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,sBAAsB;aAC7B;SACF;QACD,YAAY;QACZ,gBAAgB;QAChB,OAAO,CAAC,WAAW,IAAI,GAAG;QAC1B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO;QACnD,OAAO;KACR,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,WAAW,CAAC,CAAC;IAC3D,MAAM,qBAAqB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAEzE,CAAC;IAEd,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"}
@@ -3,7 +3,6 @@ import { readCache, writeCache } from '../../files/cache-file.js';
3
3
  import { putSystemMessage } from '../../main/common/content-bus.js';
4
4
  import { getFunctionDefs } from '../function-calling.js';
5
5
  import { StepResult } from './steps-types.js';
6
- import { validateAndRecoverSingleResult } from './step-validate-recover.js';
7
6
  export async function executeStepHistoryUpdate(generateContentFn, prompt, options) {
8
7
  const currentHistory = getCurrentHistory();
9
8
  const optimizationPrompt = [
@@ -47,8 +46,7 @@ ${currentHistory}
47
46
  ModelType.CHEAP,
48
47
  options,
49
48
  ];
50
- let result = await generateContentFn(...request);
51
- result = await validateAndRecoverSingleResult(request, result, generateContentFn);
49
+ const result = await generateContentFn(...request);
52
50
  const { newHistoryContent, recentConversationSummary } = result.find((call) => call.name === 'updateHistory')?.args ?? {};
53
51
  if (newHistoryContent) {
54
52
  putSystemMessage('History updated', { newHistoryContent, recentConversationSummary });
@@ -1 +1 @@
1
- {"version":3,"file":"step-history-update.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-history-update.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAE5E,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,iBAA0C,EAC1C,MAAoB,EACpB,OAAuB;IAEvB,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,MAAM,kBAAkB,GAAiB;QACvC,GAAG,MAAM;QACT;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,qEAAqE;SAC5E;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE;;wBAEY,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;;;;;;;;;;;;;;;;EAkB9C,cAAc;;CAEf;SACI;KACF,CAAC;IAEF,MAAM,OAAO,GAAwB;QACnC,kBAAkB;QAClB,eAAe,EAAE;QACjB,eAAe;QACf,CAAC;QACD,SAAS,CAAC,KAAK;QACf,OAAO;KACR,CAAC;IACF,IAAI,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,OAAO,CAAC,CAAC;IACjD,MAAM,GAAG,MAAM,8BAA8B,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAClF,MAAM,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,GACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;IACnE,IAAI,iBAAiB,EAAE,CAAC;QACtB,gBAAgB,CAAC,iBAAiB,EAAE,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,CAAC,CAAC;QACtF,UAAU,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,UAAU,CAAC,QAAQ,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,SAAS,CAAC,SAAS,EAAE,0DAA0D,CAAC,CAAC;AAC1F,CAAC"}
1
+ {"version":3,"file":"step-history-update.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-history-update.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,iBAA0C,EAC1C,MAAoB,EACpB,OAAuB;IAEvB,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,MAAM,kBAAkB,GAAiB;QACvC,GAAG,MAAM;QACT;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,qEAAqE;SAC5E;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE;;wBAEY,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;;;;;;;;;;;;;;;;EAkB9C,cAAc;;CAEf;SACI;KACF,CAAC;IAEF,MAAM,OAAO,GAAwB;QACnC,kBAAkB;QAClB,eAAe,EAAE;QACjB,eAAe;QACf,CAAC;QACD,SAAS,CAAC,KAAK;QACf,OAAO;KACR,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,OAAO,CAAC,CAAC;IACnD,MAAM,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,GACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;IACnE,IAAI,iBAAiB,EAAE,CAAC;QACtB,gBAAgB,CAAC,iBAAiB,EAAE,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,CAAC,CAAC;QACtF,UAAU,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,UAAU,CAAC,QAAQ,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,SAAS,CAAC,SAAS,EAAE,0DAA0D,CAAC,CAAC;AAC1F,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import fs from 'fs';
2
2
  import mime from 'mime-types';
3
3
  import { ModelType } from '../../ai-service/common-types.js';
4
- import { validateAndRecoverSingleResult } from './step-validate-recover.js';
5
4
  import { putSystemMessage } from '../../main/common/content-bus.js';
6
5
  import { executeStepGenerateImage } from './step-generate-image.js';
7
6
  import { executeStepVerifyPatch } from './step-verify-patch.js';
@@ -73,8 +72,6 @@ async function processFileUpdate(file, generateContentFn, generateImageFn, promp
73
72
  options,
74
73
  ];
75
74
  let partialResult = await generateContentFn(...partialRequest);
76
- // Validate function call compliance
77
- partialResult = await validateAndRecoverSingleResult(partialRequest, partialResult, generateContentFn);
78
75
  // Verify patch file operations
79
76
  const patchFileCall = partialResult.find((call) => call.name === 'patchFile');
80
77
  if (patchFileCall) {
@@ -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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"}
@@ -1,9 +1,10 @@
1
1
  import { GenerateContentFunction } from '../../ai-service/common-types.js';
2
2
  import { PromptItem } from '../../ai-service/common-types.js';
3
3
  import { CodegenOptions } from '../../main/codegen-types.js';
4
- import { SourceCodeMap } from '../../files/source-code-types.js';
4
+ import { FileId, SourceCodeMap } from '../../files/source-code-types.js';
5
5
  export declare function getSummarizationPrefix(items: {
6
6
  path: string;
7
7
  content: string | null;
8
+ fileId: FileId;
8
9
  }[], allFilePaths: string[]): PromptItem[];
9
10
  export declare function summarizeSourceCode(generateContentFn: GenerateContentFunction, sourceCode: SourceCodeMap, options: CodegenOptions): Promise<void>;
@@ -3,9 +3,9 @@ import { getFunctionDefs } from '../function-calling.js';
3
3
  import { md5, writeCache } from '../../files/cache-file.js';
4
4
  import { putSystemMessage } from '../../main/common/content-bus.js';
5
5
  import { estimateTokenCount } from '../token-estimator.js';
6
- import { validateAndRecoverSingleResult } from './step-validate-recover.js';
7
6
  import { refreshFiles } from '../../files/find-files.js';
8
7
  import { summaryCache, CACHE_VERSION } from '../../files/summary-cache.js';
8
+ import { generateFileId } from '../../files/file-id-utils.js';
9
9
  const BATCH_SIZE = 50;
10
10
  const MAX_SUMMARY_TOKENS = 10;
11
11
  const SUMMARIZATION_PROMPT = `Your role is to summarize content of files in ${MAX_SUMMARY_TOKENS} tokens or fewer while also detecting dependencies.
@@ -26,6 +26,7 @@ For dependencies:
26
26
  - Classify dependencies as either 'local' or 'external'
27
27
  - Provide your response using the \`setSummaries\` function.
28
28
  - The file path must be absolute, exactly the same as you receive in the \`getSourceCode\` function responses.
29
+ - Deduplicate dependencies if they are repeated in the code
29
30
  `;
30
31
  export function getSummarizationPrefix(items, allFilePaths) {
31
32
  return [
@@ -46,7 +47,7 @@ export function getSummarizationPrefix(items, allFilePaths) {
46
47
  functionResponses: [
47
48
  {
48
49
  name: 'getSourceCode',
49
- content: JSON.stringify(Object.fromEntries(allFilePaths.map((path) => [path, { fileId: md5(path), content: null }]))),
50
+ content: JSON.stringify(Object.fromEntries(allFilePaths.map((path) => [path, { fileId: generateFileId(path), content: null }]))),
50
51
  },
51
52
  ],
52
53
  cache: true,
@@ -77,7 +78,7 @@ export function getSummarizationPrefix(items, allFilePaths) {
77
78
  functionResponses: [
78
79
  {
79
80
  name: 'getSourceCode',
80
- content: JSON.stringify(Object.fromEntries(items.map((item) => [item.path, { fileId: md5(item.path), content: item.content }]))),
81
+ content: JSON.stringify(Object.fromEntries(items.map((item) => [item.path, { fileId: generateFileId(item.path), content: item.content }]))),
81
82
  },
82
83
  ],
83
84
  },
@@ -88,6 +89,7 @@ export async function summarizeSourceCode(generateContentFn, sourceCode, options
88
89
  path,
89
90
  content: 'content' in file ? file.content : null,
90
91
  dependencies: 'dependencies' in file ? file.dependencies : undefined,
92
+ fileId: file.fileId,
91
93
  }));
92
94
  await summarizeBatch(generateContentFn, items, sourceCode, options);
93
95
  refreshFiles();
@@ -105,8 +107,7 @@ async function summarizeBatch(generateContentFn, items, allSourceCodeMap, option
105
107
  const batch = uncachedItems.slice(i, i + BATCH_SIZE);
106
108
  const prompt = getSummarizationPrefix(batch, Object.keys(allSourceCodeMap));
107
109
  const request = [prompt, getFunctionDefs(), 'setSummaries', 0.2, ModelType.CHEAP, options];
108
- let result = await generateContentFn(...request);
109
- result = await validateAndRecoverSingleResult(request, result, generateContentFn);
110
+ const result = await generateContentFn(...request);
110
111
  const batchSummaries = parseSummarizationResult(result);
111
112
  batchSummaries.forEach((file) => {
112
113
  const item = items.find((item) => item.path === file.filePath);
@@ -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,7 +1,6 @@
1
1
  import fs from 'fs';
2
2
  import * as diff from 'diff';
3
3
  import { ModelType } from '../../ai-service/common-types.js';
4
- import { validateAndRecoverSingleResult } from './step-validate-recover.js';
5
4
  export async function executeStepVerifyPatch({ filePath, patch, explanation }, generateContentFn, prompt, functionDefs, temperature, cheap, options) {
6
5
  console.log('Verification of patch for file:', filePath);
7
6
  let updatedContent = false;
@@ -23,8 +22,7 @@ export async function executeStepVerifyPatch({ filePath, patch, explanation }, g
23
22
  cheap ? ModelType.CHEAP : ModelType.DEFAULT,
24
23
  options,
25
24
  ];
26
- let partialResult = await generateContentFn(...partialRequest);
27
- partialResult = await validateAndRecoverSingleResult(partialRequest, partialResult, generateContentFn);
25
+ const partialResult = await generateContentFn(...partialRequest);
28
26
  const getSourceCodeCall = partialResult.find((call) => call.name === 'getSourceCode');
29
27
  if (getSourceCodeCall) {
30
28
  throw new Error('Unexpected getSourceCode: ' + JSON.stringify(getSourceCodeCall));