@houtini/lm 1.0.6 → 1.0.7
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.
- package/README.md +92 -0
- package/dist/config.d.ts +1 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +6 -5
- package/dist/config.js.map +1 -1
- package/dist/core/ThreeStagePromptManager.d.ts +7 -23
- package/dist/core/ThreeStagePromptManager.d.ts.map +1 -1
- package/dist/core/ThreeStagePromptManager.js +22 -80
- package/dist/core/ThreeStagePromptManager.js.map +1 -1
- package/dist/prompts/analyze/code-quality.d.ts.map +1 -1
- package/dist/prompts/analyze/code-quality.js +10 -6
- package/dist/prompts/analyze/code-quality.js.map +1 -1
- package/dist/prompts/analyze/compare-integration.d.ts.map +1 -1
- package/dist/prompts/analyze/compare-integration.js +10 -6
- package/dist/prompts/analyze/compare-integration.js.map +1 -1
- package/dist/prompts/analyze/count-files.d.ts.map +1 -1
- package/dist/prompts/analyze/count-files.js +10 -6
- package/dist/prompts/analyze/count-files.js.map +1 -1
- package/dist/prompts/analyze/database-queries.d.ts.map +1 -1
- package/dist/prompts/analyze/database-queries.js +10 -6
- package/dist/prompts/analyze/database-queries.js.map +1 -1
- package/dist/prompts/analyze/dependencies.d.ts.map +1 -1
- package/dist/prompts/analyze/dependencies.js +10 -6
- package/dist/prompts/analyze/dependencies.js.map +1 -1
- package/dist/prompts/analyze/diff-signatures.d.ts.map +1 -1
- package/dist/prompts/analyze/diff-signatures.js +15 -9
- package/dist/prompts/analyze/diff-signatures.js.map +1 -1
- package/dist/prompts/analyze/find-patterns.d.ts.map +1 -1
- package/dist/prompts/analyze/find-patterns.js +10 -6
- package/dist/prompts/analyze/find-patterns.js.map +1 -1
- package/dist/prompts/analyze/find-unused-css.d.ts.map +1 -1
- package/dist/prompts/analyze/find-unused-css.js +15 -9
- package/dist/prompts/analyze/find-unused-css.js.map +1 -1
- package/dist/prompts/analyze/n8n-workflow.d.ts.map +1 -1
- package/dist/prompts/analyze/n8n-workflow.js +10 -6
- package/dist/prompts/analyze/n8n-workflow.js.map +1 -1
- package/dist/prompts/analyze/project-structure.d.ts.map +1 -1
- package/dist/prompts/analyze/project-structure.js +10 -6
- package/dist/prompts/analyze/project-structure.js.map +1 -1
- package/dist/prompts/analyze/security-audit.d.ts.map +1 -1
- package/dist/prompts/analyze/security-audit.js +10 -6
- package/dist/prompts/analyze/security-audit.js.map +1 -1
- package/dist/prompts/analyze/single-file.d.ts.map +1 -1
- package/dist/prompts/analyze/single-file.js +10 -6
- package/dist/prompts/analyze/single-file.js.map +1 -1
- package/dist/prompts/analyze/trace-execution.d.ts.map +1 -1
- package/dist/prompts/analyze/trace-execution.js +10 -6
- package/dist/prompts/analyze/trace-execution.js.map +1 -1
- package/dist/prompts/analyze/wordpress-plugin-audit.d.ts.map +1 -1
- package/dist/prompts/analyze/wordpress-plugin-audit.js +5 -3
- package/dist/prompts/analyze/wordpress-plugin-audit.js.map +1 -1
- package/dist/prompts/analyze/wordpress-security.d.ts.map +1 -1
- package/dist/prompts/analyze/wordpress-security.js +10 -6
- package/dist/prompts/analyze/wordpress-security.js.map +1 -1
- package/dist/prompts/analyze/wordpress-theme-audit.d.ts.map +1 -1
- package/dist/prompts/analyze/wordpress-theme-audit.js +5 -3
- package/dist/prompts/analyze/wordpress-theme-audit.js.map +1 -1
- package/dist/prompts/custom/custom-prompt.d.ts.map +1 -1
- package/dist/prompts/custom/custom-prompt.js +9 -5
- package/dist/prompts/custom/custom-prompt.js.map +1 -1
- package/dist/prompts/fun/arcade-game.d.ts.map +1 -1
- package/dist/prompts/fun/arcade-game.js +10 -6
- package/dist/prompts/fun/arcade-game.js.map +1 -1
- package/dist/prompts/fun/create_text_adventure.d.ts.map +1 -1
- package/dist/prompts/fun/create_text_adventure.js +10 -6
- package/dist/prompts/fun/create_text_adventure.js.map +1 -1
- package/dist/prompts/fun/css-art-generator.d.ts.map +1 -1
- package/dist/prompts/fun/css-art-generator.js +10 -6
- package/dist/prompts/fun/css-art-generator.js.map +1 -1
- package/dist/prompts/generate/project-documentation.d.ts.map +1 -1
- package/dist/prompts/generate/project-documentation.js +10 -6
- package/dist/prompts/generate/project-documentation.js.map +1 -1
- package/dist/prompts/generate/refactoring.d.ts.map +1 -1
- package/dist/prompts/generate/refactoring.js +10 -6
- package/dist/prompts/generate/refactoring.js.map +1 -1
- package/dist/prompts/generate/responsive-component.d.ts.map +1 -1
- package/dist/prompts/generate/responsive-component.js +6 -4
- package/dist/prompts/generate/responsive-component.js.map +1 -1
- package/dist/prompts/generate/typescript-conversion.d.ts.map +1 -1
- package/dist/prompts/generate/typescript-conversion.js +10 -6
- package/dist/prompts/generate/typescript-conversion.js.map +1 -1
- package/dist/prompts/generate/unit-tests.d.ts.map +1 -1
- package/dist/prompts/generate/unit-tests.js +10 -6
- package/dist/prompts/generate/unit-tests.js.map +1 -1
- package/dist/prompts/generate/wordpress-plugin.d.ts.map +1 -1
- package/dist/prompts/generate/wordpress-plugin.js +10 -6
- package/dist/prompts/generate/wordpress-plugin.js.map +1 -1
- package/dist/prompts/generate/wordpress-theme-from-static.d.ts.map +1 -1
- package/dist/prompts/generate/wordpress-theme-from-static.js +10 -6
- package/dist/prompts/generate/wordpress-theme-from-static.js.map +1 -1
- package/dist/prompts/system/find-unused-files.d.ts.map +1 -1
- package/dist/prompts/system/find-unused-files.js +10 -6
- package/dist/prompts/system/find-unused-files.js.map +1 -1
- package/dist/templates/plugin-template.d.ts.map +1 -1
- package/dist/templates/plugin-template.js +10 -6
- package/dist/templates/plugin-template.js.map +1 -1
- package/dist/types/prompt-stages.d.ts +0 -12
- package/dist/types/prompt-stages.d.ts.map +1 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/plugin-utilities.d.ts +19 -0
- package/dist/utils/plugin-utilities.d.ts.map +1 -1
- package/dist/utils/plugin-utilities.js +49 -6
- package/dist/utils/plugin-utilities.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -143,6 +143,98 @@ Use houtini-lm health check to verify everything is working
|
|
|
143
143
|
- **`resolve_path`** - Path analysis and suggestions
|
|
144
144
|
- And 2 more system utilities...
|
|
145
145
|
|
|
146
|
+
## Context Window Management
|
|
147
|
+
|
|
148
|
+
Houtini LM implements intelligent context window management to maximize the efficiency of your local LM models while ensuring reliable processing of large files and complex analysis tasks.
|
|
149
|
+
|
|
150
|
+
### Dynamic Context Allocation
|
|
151
|
+
|
|
152
|
+
**Adaptive Context Utilization**: Unlike systems with hardcoded token limits, Houtini LM dynamically detects your model's context window and allocates **95% of available tokens** for optimal performance:
|
|
153
|
+
|
|
154
|
+
```typescript
|
|
155
|
+
// Context detection from your loaded model
|
|
156
|
+
const contextLength = await model.getContextLength(); // e.g., 16,384 tokens
|
|
157
|
+
|
|
158
|
+
// Dynamic allocation - 95% utilization
|
|
159
|
+
const responseTokens = Math.floor(contextLength * 0.95); // 15,565 tokens available
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Benefits:**
|
|
163
|
+
- ✅ **Maximum efficiency** - No wasted context space
|
|
164
|
+
- ✅ **Model-agnostic** - Works with any context size (4K, 16K, 32K+)
|
|
165
|
+
- ✅ **Future-proof** - Automatically adapts to larger models
|
|
166
|
+
|
|
167
|
+
### Three-Stage Prompt System
|
|
168
|
+
|
|
169
|
+
Houtini LM uses a sophisticated prompt architecture that separates concerns for optimal token management:
|
|
170
|
+
|
|
171
|
+
**Stage 1: System Context** - Expert persona and analysis methodology
|
|
172
|
+
**Stage 2: Data Payload** - Your code, files, or project content
|
|
173
|
+
**Stage 3: Output Instructions** - Structured response requirements
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
┌─────────────────────┐
|
|
177
|
+
│ System Context │ ← Expert role, methodologies
|
|
178
|
+
├─────────────────────┤
|
|
179
|
+
│ Data Payload │ ← Your files/code (chunked if needed)
|
|
180
|
+
├─────────────────────┤
|
|
181
|
+
│ Output Instructions │ ← Response format, requirements
|
|
182
|
+
└─────────────────────┘
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
**Intelligent Processing:**
|
|
186
|
+
- **Small files** → Single-stage execution for speed
|
|
187
|
+
- **Large files** → Automatic chunking with coherent aggregation
|
|
188
|
+
- **Multi-file projects** → Optimized batch processing
|
|
189
|
+
|
|
190
|
+
### Automatic Chunking Capability
|
|
191
|
+
|
|
192
|
+
When files exceed available context space, Houtini LM automatically chunks content while maintaining analysis quality:
|
|
193
|
+
|
|
194
|
+
**Smart Chunking Features:**
|
|
195
|
+
- 🔍 **Natural boundaries** - Splits at logical sections, not arbitrary points
|
|
196
|
+
- 🔄 **Context preservation** - Maintains analysis continuity across chunks
|
|
197
|
+
- 📊 **Intelligent aggregation** - Combines chunk results into coherent reports
|
|
198
|
+
- ⚡ **Performance optimization** - Parallel processing where possible
|
|
199
|
+
|
|
200
|
+
**Example Chunking Process:**
|
|
201
|
+
```
|
|
202
|
+
Large File (50KB) → Context Analysis → Exceeds Limit
|
|
203
|
+
↓
|
|
204
|
+
Split into 3 logical chunks → Process each chunk → Aggregate results
|
|
205
|
+
↓
|
|
206
|
+
Single comprehensive analysis report
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Timeout Configuration
|
|
210
|
+
|
|
211
|
+
Houtini LM uses **120-second timeouts** (2 minutes) to accommodate thorough analysis on lower-powered systems:
|
|
212
|
+
|
|
213
|
+
**Why Extended Timeouts:**
|
|
214
|
+
- 🔍 **Complex analysis** - Security audits, architecture analysis, and comprehensive code reviews take time
|
|
215
|
+
- 💻 **System compatibility** - Works reliably on older hardware and resource-constrained environments
|
|
216
|
+
- 🧠 **Model processing** - Larger local models (13B-33B parameters) require more inference time
|
|
217
|
+
- 📊 **Quality over speed** - Comprehensive reports are worth the wait
|
|
218
|
+
|
|
219
|
+
**Timeout Guidelines:**
|
|
220
|
+
- **Simple analysis** (100 lines): 15-30 seconds
|
|
221
|
+
- **Medium files** (500 lines): 30-60 seconds
|
|
222
|
+
- **Large files** (1000+ lines): 60-120 seconds
|
|
223
|
+
- **Multi-file projects**: 90-180 seconds
|
|
224
|
+
|
|
225
|
+
**Performance Tips:**
|
|
226
|
+
- Use faster models (13B vs 33B) for quicker responses
|
|
227
|
+
- Enable GPU acceleration in LM Studio for better performance
|
|
228
|
+
- Consider using `analysisDepth="basic"` for faster results when appropriate
|
|
229
|
+
|
|
230
|
+
### Memory Efficiency
|
|
231
|
+
|
|
232
|
+
**Intelligent Caching**: Results are cached to prevent redundant processing
|
|
233
|
+
**Resource Management**: Automatic cleanup of large contexts after processing
|
|
234
|
+
**Streaming Responses**: Progressive output delivery for better user experience
|
|
235
|
+
|
|
236
|
+
This architecture ensures Houtini LM can handle everything from small utility functions to entire enterprise codebases while maintaining consistent quality and performance across different hardware configurations.
|
|
237
|
+
|
|
146
238
|
## Documentation
|
|
147
239
|
|
|
148
240
|
**Complete guides available:**
|
package/dist/config.d.ts
CHANGED
|
@@ -22,21 +22,19 @@ export declare const fileProcessingLimits: {
|
|
|
22
22
|
};
|
|
23
23
|
/**
|
|
24
24
|
* Model parameters for different operation types
|
|
25
|
+
* maxTokens now calculated dynamically by TokenCalculator based on context window
|
|
25
26
|
*/
|
|
26
27
|
export declare const modelParameters: {
|
|
27
28
|
analysis: {
|
|
28
29
|
temperature: number;
|
|
29
|
-
maxTokens: number;
|
|
30
30
|
topP: number;
|
|
31
31
|
};
|
|
32
32
|
generation: {
|
|
33
33
|
temperature: number;
|
|
34
|
-
maxTokens: number;
|
|
35
34
|
topP: number;
|
|
36
35
|
};
|
|
37
36
|
creative: {
|
|
38
37
|
temperature: number;
|
|
39
|
-
maxTokens: number;
|
|
40
38
|
topP: number;
|
|
41
39
|
};
|
|
42
40
|
};
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,eAAO,MAAM,MAAM,EAAE,MA6BpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc;;;CAG1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;CAKhC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,eAAO,MAAM,MAAM,EAAE,MA6BpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc;;;CAG1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;CAKhC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;CAgB3B,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -6,9 +6,9 @@ export const config = {
|
|
|
6
6
|
lmStudioUrl: process.env.LM_STUDIO_URL || 'ws://localhost:1234',
|
|
7
7
|
modelName: process.env.LM_STUDIO_MODEL || 'auto',
|
|
8
8
|
temperature: 0.1,
|
|
9
|
-
maxTokens
|
|
9
|
+
// maxTokens removed - now calculated dynamically by TokenCalculator
|
|
10
10
|
topP: 0.95,
|
|
11
|
-
timeout:
|
|
11
|
+
timeout: 120000, // Increased from 30s to 2 minutes for complex analysis
|
|
12
12
|
maxFileSize: 200 * 1024 * 1024, // 200MB limit
|
|
13
13
|
supportedFileTypes: [
|
|
14
14
|
'.csv', '.json', '.txt', '.js', '.ts', '.py', '.md', '.log',
|
|
@@ -49,22 +49,23 @@ export const fileProcessingLimits = {
|
|
|
49
49
|
};
|
|
50
50
|
/**
|
|
51
51
|
* Model parameters for different operation types
|
|
52
|
+
* maxTokens now calculated dynamically by TokenCalculator based on context window
|
|
52
53
|
*/
|
|
53
54
|
export const modelParameters = {
|
|
54
55
|
analysis: {
|
|
55
56
|
temperature: 0.1,
|
|
56
|
-
maxTokens: 2000,
|
|
57
57
|
topP: 0.95
|
|
58
|
+
// maxTokens removed - calculated dynamically
|
|
58
59
|
},
|
|
59
60
|
generation: {
|
|
60
61
|
temperature: 0.3,
|
|
61
|
-
maxTokens: 4000,
|
|
62
62
|
topP: 0.9
|
|
63
|
+
// maxTokens removed - calculated dynamically
|
|
63
64
|
},
|
|
64
65
|
creative: {
|
|
65
66
|
temperature: 0.7,
|
|
66
|
-
maxTokens: 4000,
|
|
67
67
|
topP: 0.9
|
|
68
|
+
// maxTokens removed - calculated dynamically
|
|
68
69
|
}
|
|
69
70
|
};
|
|
70
71
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,CAAC,MAAM,MAAM,GAAW;IAC5B,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,qBAAqB;IAC/D,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM;IAChD,WAAW,EAAE,GAAG;IAChB,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,CAAC,MAAM,MAAM,GAAW;IAC5B,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,qBAAqB;IAC/D,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM;IAChD,WAAW,EAAE,GAAG;IAChB,oEAAoE;IACpE,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,MAAM,EAAE,uDAAuD;IACxE,WAAW,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,EAAG,cAAc;IAC/C,kBAAkB,EAAE;QAClB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;QAC3D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;QAC3D,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;QAC1D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;KACzD;IAED,yBAAyB;IACzB,QAAQ,EAAE;QACR,kBAAkB,EAAE,IAAI;QACxB,wBAAwB,EAAE,IAAI;QAC9B,oBAAoB,EAAE,KAAK,EAAE,uCAAuC;QACpE,kBAAkB,EAAE,GAAG,EAAE,sCAAsC;QAC/D,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;QAC1F,YAAY,EAAE;YACZ,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC,WAAW;IAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,WAAW,EAAE,MAAM,CAAC,WAAW;IAC/B,cAAc,EAAE,MAAM,CAAC,kBAAkB;IACzC,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,8BAA8B;IAC3D,2BAA2B,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,yCAAyC;CACxF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE;QACR,WAAW,EAAE,GAAG;QAChB,IAAI,EAAE,IAAI;QACV,6CAA6C;KAC9C;IACD,UAAU,EAAE;QACV,WAAW,EAAE,GAAG;QAChB,IAAI,EAAE,GAAG;QACT,6CAA6C;KAC9C;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,GAAG;QAChB,IAAI,EAAE,GAAG;QACT,6CAA6C;KAC9C;CACF,CAAC"}
|
|
@@ -2,38 +2,22 @@
|
|
|
2
2
|
* 3-Stage Prompt Manager
|
|
3
3
|
* Handles the breakdown of prompts into managed stages for optimal context usage
|
|
4
4
|
*/
|
|
5
|
-
import { PromptStages,
|
|
5
|
+
import { PromptStages, ChunkedConversation } from '../types/prompt-stages.js';
|
|
6
6
|
export declare class ThreeStagePromptManager {
|
|
7
|
-
|
|
8
|
-
private safetyMargin;
|
|
9
|
-
constructor(contextLimit: number, safetyMargin?: number);
|
|
7
|
+
constructor();
|
|
10
8
|
/**
|
|
11
|
-
*
|
|
9
|
+
* Split data payload into chunks of specified size
|
|
10
|
+
* Now receives chunk size from TokenCalculator
|
|
12
11
|
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Calculate stage metrics to determine available space for data
|
|
16
|
-
*/
|
|
17
|
-
calculateStageMetrics(stages: PromptStages): StageMetrics;
|
|
18
|
-
/**
|
|
19
|
-
* Check if data payload needs chunking
|
|
20
|
-
*/
|
|
21
|
-
needsChunking(stages: PromptStages): boolean;
|
|
22
|
-
/**
|
|
23
|
-
* Split data payload into appropriately sized chunks
|
|
24
|
-
*/
|
|
25
|
-
chunkDataPayload(dataPayload: string, availableTokens: number): string[];
|
|
12
|
+
chunkDataPayload(dataPayload: string, maxChunkSize: number): string[];
|
|
26
13
|
/**
|
|
27
14
|
* Split a large section that doesn't fit in one chunk
|
|
28
15
|
*/
|
|
29
16
|
private splitLargeSection;
|
|
30
17
|
/**
|
|
31
18
|
* Create a chunked conversation from prompt stages
|
|
19
|
+
* Now receives pre-calculated chunks from TokenCalculator
|
|
32
20
|
*/
|
|
33
|
-
createChunkedConversation(stages: PromptStages): ChunkedConversation;
|
|
34
|
-
/**
|
|
35
|
-
* Get metrics for debugging/logging
|
|
36
|
-
*/
|
|
37
|
-
getDebugInfo(stages: PromptStages): any;
|
|
21
|
+
createChunkedConversation(stages: PromptStages, dataChunks: string[]): ChunkedConversation;
|
|
38
22
|
}
|
|
39
23
|
//# sourceMappingURL=ThreeStagePromptManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreeStagePromptManager.d.ts","sourceRoot":"","sources":["../../src/core/ThreeStagePromptManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"ThreeStagePromptManager.d.ts","sourceRoot":"","sources":["../../src/core/ThreeStagePromptManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAE9E,qBAAa,uBAAuB;;IAKlC;;;OAGG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE;IAmDrE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;;OAGG;IACH,yBAAyB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,mBAAmB;CA8B3F"}
|
|
@@ -3,63 +3,29 @@
|
|
|
3
3
|
* Handles the breakdown of prompts into managed stages for optimal context usage
|
|
4
4
|
*/
|
|
5
5
|
export class ThreeStagePromptManager {
|
|
6
|
-
constructor(
|
|
7
|
-
|
|
8
|
-
this.contextLimit = contextLimit;
|
|
9
|
-
this.safetyMargin = safetyMargin;
|
|
6
|
+
constructor() {
|
|
7
|
+
// No context-related state needed - moved to TokenCalculator
|
|
10
8
|
}
|
|
11
9
|
/**
|
|
12
|
-
*
|
|
10
|
+
* Split data payload into chunks of specified size
|
|
11
|
+
* Now receives chunk size from TokenCalculator
|
|
13
12
|
*/
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
* Calculate stage metrics to determine available space for data
|
|
19
|
-
*/
|
|
20
|
-
calculateStageMetrics(stages) {
|
|
21
|
-
const systemTokens = this.estimateTokens(stages.systemAndContext);
|
|
22
|
-
const dataTokens = this.estimateTokens(stages.dataPayload);
|
|
23
|
-
const outputTokens = this.estimateTokens(stages.outputInstructions);
|
|
24
|
-
const fixedOverhead = systemTokens + outputTokens;
|
|
25
|
-
const effectiveLimit = this.contextLimit * this.safetyMargin;
|
|
26
|
-
const availableForData = Math.max(0, effectiveLimit - fixedOverhead);
|
|
27
|
-
return {
|
|
28
|
-
systemTokens,
|
|
29
|
-
dataTokens,
|
|
30
|
-
outputTokens,
|
|
31
|
-
fixedOverhead,
|
|
32
|
-
availableForData
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Check if data payload needs chunking
|
|
37
|
-
*/
|
|
38
|
-
needsChunking(stages) {
|
|
39
|
-
const metrics = this.calculateStageMetrics(stages);
|
|
40
|
-
return metrics.dataTokens > metrics.availableForData;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Split data payload into appropriately sized chunks
|
|
44
|
-
*/
|
|
45
|
-
chunkDataPayload(dataPayload, availableTokens) {
|
|
46
|
-
const dataTokens = this.estimateTokens(dataPayload);
|
|
47
|
-
if (dataTokens <= availableTokens) {
|
|
13
|
+
chunkDataPayload(dataPayload, maxChunkSize) {
|
|
14
|
+
// Convert tokens to chars for character-based chunking
|
|
15
|
+
const maxCharsPerChunk = maxChunkSize * 4;
|
|
16
|
+
if (dataPayload.length <= maxCharsPerChunk) {
|
|
48
17
|
return [dataPayload];
|
|
49
18
|
}
|
|
50
|
-
// Calculate number of chunks needed
|
|
51
|
-
const chunksNeeded = Math.ceil(dataTokens / availableTokens);
|
|
52
|
-
const charsPerChunk = Math.floor(dataPayload.length / chunksNeeded);
|
|
53
19
|
const chunks = [];
|
|
54
|
-
// Try to break at natural boundaries (
|
|
20
|
+
// Try to break at natural boundaries (sections)
|
|
55
21
|
const sections = dataPayload.split('\n' + '='.repeat(80) + '\n');
|
|
56
22
|
if (sections.length > 1) {
|
|
57
23
|
// Break by file sections if available
|
|
58
24
|
let currentChunk = '';
|
|
59
25
|
for (const section of sections) {
|
|
60
26
|
const sectionWithSeparator = section + '\n' + '='.repeat(80) + '\n';
|
|
61
|
-
const
|
|
62
|
-
if (
|
|
27
|
+
const combinedLength = currentChunk.length + sectionWithSeparator.length;
|
|
28
|
+
if (combinedLength <= maxCharsPerChunk && currentChunk.length > 0) {
|
|
63
29
|
currentChunk += sectionWithSeparator;
|
|
64
30
|
}
|
|
65
31
|
else {
|
|
@@ -68,8 +34,8 @@ export class ThreeStagePromptManager {
|
|
|
68
34
|
currentChunk = '';
|
|
69
35
|
}
|
|
70
36
|
// If single section is too large, split it
|
|
71
|
-
if (
|
|
72
|
-
const subChunks = this.splitLargeSection(section,
|
|
37
|
+
if (section.length > maxCharsPerChunk) {
|
|
38
|
+
const subChunks = this.splitLargeSection(section, maxCharsPerChunk);
|
|
73
39
|
chunks.push(...subChunks);
|
|
74
40
|
}
|
|
75
41
|
else {
|
|
@@ -83,8 +49,8 @@ export class ThreeStagePromptManager {
|
|
|
83
49
|
}
|
|
84
50
|
else {
|
|
85
51
|
// Simple character-based splitting as fallback
|
|
86
|
-
for (let i = 0; i < dataPayload.length; i +=
|
|
87
|
-
chunks.push(dataPayload.slice(i, i +
|
|
52
|
+
for (let i = 0; i < dataPayload.length; i += maxCharsPerChunk) {
|
|
53
|
+
chunks.push(dataPayload.slice(i, i + maxCharsPerChunk));
|
|
88
54
|
}
|
|
89
55
|
}
|
|
90
56
|
return chunks.filter(chunk => chunk.trim().length > 0);
|
|
@@ -92,14 +58,13 @@ export class ThreeStagePromptManager {
|
|
|
92
58
|
/**
|
|
93
59
|
* Split a large section that doesn't fit in one chunk
|
|
94
60
|
*/
|
|
95
|
-
splitLargeSection(section,
|
|
96
|
-
const targetChars = availableTokens * 4; // Rough char estimate
|
|
61
|
+
splitLargeSection(section, maxChars) {
|
|
97
62
|
const chunks = [];
|
|
98
63
|
// Try to split by lines first
|
|
99
64
|
const lines = section.split('\n');
|
|
100
65
|
let currentChunk = '';
|
|
101
66
|
for (const line of lines) {
|
|
102
|
-
if (currentChunk.length + line.length + 1 <=
|
|
67
|
+
if (currentChunk.length + line.length + 1 <= maxChars) {
|
|
103
68
|
currentChunk += (currentChunk ? '\n' : '') + line;
|
|
104
69
|
}
|
|
105
70
|
else {
|
|
@@ -109,8 +74,8 @@ export class ThreeStagePromptManager {
|
|
|
109
74
|
}
|
|
110
75
|
else {
|
|
111
76
|
// Line itself is too long, force split
|
|
112
|
-
chunks.push(line.slice(0,
|
|
113
|
-
currentChunk = line.slice(
|
|
77
|
+
chunks.push(line.slice(0, maxChars));
|
|
78
|
+
currentChunk = line.slice(maxChars);
|
|
114
79
|
}
|
|
115
80
|
}
|
|
116
81
|
}
|
|
@@ -121,22 +86,15 @@ export class ThreeStagePromptManager {
|
|
|
121
86
|
}
|
|
122
87
|
/**
|
|
123
88
|
* Create a chunked conversation from prompt stages
|
|
89
|
+
* Now receives pre-calculated chunks from TokenCalculator
|
|
124
90
|
*/
|
|
125
|
-
createChunkedConversation(stages) {
|
|
126
|
-
const metrics = this.calculateStageMetrics(stages);
|
|
91
|
+
createChunkedConversation(stages, dataChunks) {
|
|
127
92
|
// System message (Stage 1)
|
|
128
93
|
const systemMessage = {
|
|
129
94
|
role: 'system',
|
|
130
95
|
content: stages.systemAndContext
|
|
131
96
|
};
|
|
132
|
-
// Data messages (Stage 2 - chunked
|
|
133
|
-
let dataChunks;
|
|
134
|
-
if (this.needsChunking(stages)) {
|
|
135
|
-
dataChunks = this.chunkDataPayload(stages.dataPayload, metrics.availableForData);
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
dataChunks = [stages.dataPayload];
|
|
139
|
-
}
|
|
97
|
+
// Data messages (Stage 2 - pre-chunked)
|
|
140
98
|
const dataMessages = dataChunks.map((chunk, index) => ({
|
|
141
99
|
role: 'user',
|
|
142
100
|
content: dataChunks.length > 1
|
|
@@ -156,21 +114,5 @@ export class ThreeStagePromptManager {
|
|
|
156
114
|
analysisMessage
|
|
157
115
|
};
|
|
158
116
|
}
|
|
159
|
-
/**
|
|
160
|
-
* Get metrics for debugging/logging
|
|
161
|
-
*/
|
|
162
|
-
getDebugInfo(stages) {
|
|
163
|
-
const metrics = this.calculateStageMetrics(stages);
|
|
164
|
-
const needsChunking = this.needsChunking(stages);
|
|
165
|
-
return {
|
|
166
|
-
contextLimit: this.contextLimit,
|
|
167
|
-
effectiveLimit: this.contextLimit * this.safetyMargin,
|
|
168
|
-
metrics,
|
|
169
|
-
needsChunking,
|
|
170
|
-
chunksNeeded: needsChunking
|
|
171
|
-
? Math.ceil(metrics.dataTokens / metrics.availableForData)
|
|
172
|
-
: 1
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
117
|
}
|
|
176
118
|
//# sourceMappingURL=ThreeStagePromptManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreeStagePromptManager.js","sourceRoot":"","sources":["../../src/core/ThreeStagePromptManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,OAAO,uBAAuB;
|
|
1
|
+
{"version":3,"file":"ThreeStagePromptManager.js","sourceRoot":"","sources":["../../src/core/ThreeStagePromptManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-quality.d.ts","sourceRoot":"","sources":["../../../src/prompts/analyze/code-quality.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"code-quality.d.ts","sourceRoot":"","sources":["../../../src/prompts/analyze/code-quality.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAiB5D,qBAAa,mBAAoB,SAAQ,UAAW,YAAW,aAAa;IAC1E,IAAI,SAA0B;IAC9B,QAAQ,EAAG,SAAS,CAAU;IAC9B,WAAW,SAA8F;IAGzG,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAqDR;IAEF,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,iBAAiB,CAA2B;;IAO9C,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG;IAyBzC;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;YACW,yBAAyB;IA4CvC;;OAEG;YACW,wBAAwB;IA4CtC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA0DjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA2DhC;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,YAAY;YAW5B,qBAAqB;YASrB,wBAAwB;YA0CxB,qBAAqB;IAgBnC,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,0BAA0B;IAKlC,OAAO,CAAC,0BAA0B;IAalC,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,gBAAgB;CAKzB;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -10,7 +10,7 @@ import { BasePlugin } from '../../plugins/base-plugin.js';
|
|
|
10
10
|
import { ThreeStagePromptManager } from '../../core/ThreeStagePromptManager.js';
|
|
11
11
|
import { withSecurity } from '../../security/integration-helpers.js';
|
|
12
12
|
import { readFileContent } from '../shared/helpers.js';
|
|
13
|
-
import { ModelSetup, ResponseProcessor, ParameterValidator, ErrorHandler, MultiFileAnalysis } from '../../utils/plugin-utilities.js';
|
|
13
|
+
import { ModelSetup, ResponseProcessor, ParameterValidator, ErrorHandler, MultiFileAnalysis, TokenCalculator } from '../../utils/plugin-utilities.js';
|
|
14
14
|
import { getAnalysisCache } from '../../cache/index.js';
|
|
15
15
|
// Common Node.js modules - Use these instead of require()
|
|
16
16
|
import { basename, extname, relative } from 'path';
|
|
@@ -149,10 +149,12 @@ export class CodeQualityAnalyzer extends BasePlugin {
|
|
|
149
149
|
code: codeToAnalyze
|
|
150
150
|
});
|
|
151
151
|
// Execute with appropriate method
|
|
152
|
-
const promptManager = new ThreeStagePromptManager(
|
|
153
|
-
const needsChunking =
|
|
152
|
+
const promptManager = new ThreeStagePromptManager();
|
|
153
|
+
const needsChunking = TokenCalculator.needsChunking(promptStages, contextLength);
|
|
154
154
|
if (needsChunking) {
|
|
155
|
-
const
|
|
155
|
+
const chunkSize = TokenCalculator.calculateOptimalChunkSize(promptStages, contextLength);
|
|
156
|
+
const dataChunks = promptManager.chunkDataPayload(promptStages.dataPayload, chunkSize);
|
|
157
|
+
const conversation = promptManager.createChunkedConversation(promptStages, dataChunks);
|
|
156
158
|
const messages = [
|
|
157
159
|
conversation.systemMessage,
|
|
158
160
|
...conversation.dataMessages,
|
|
@@ -180,8 +182,10 @@ export class CodeQualityAnalyzer extends BasePlugin {
|
|
|
180
182
|
fileCount: filesToAnalyze.length
|
|
181
183
|
});
|
|
182
184
|
// Always use chunking for multi-file
|
|
183
|
-
const promptManager = new ThreeStagePromptManager(
|
|
184
|
-
const
|
|
185
|
+
const promptManager = new ThreeStagePromptManager();
|
|
186
|
+
const chunkSize = TokenCalculator.calculateOptimalChunkSize(promptStages, contextLength);
|
|
187
|
+
const dataChunks = promptManager.chunkDataPayload(promptStages.dataPayload, chunkSize);
|
|
188
|
+
const conversation = promptManager.createChunkedConversation(promptStages, dataChunks);
|
|
185
189
|
const messages = [
|
|
186
190
|
conversation.systemMessage,
|
|
187
191
|
...conversation.dataMessages,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-quality.js","sourceRoot":"","sources":["../../../src/prompts/analyze/code-quality.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,0DAA0D;AAC1D,OAAO,EAAE,QAAQ,EAAW,OAAO,EAAQ,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGlE,MAAM,OAAO,mBAAoB,SAAQ,UAAU;IAgEjD;QACE,KAAK,EAAE,CAAC;QAhEV,SAAI,GAAG,sBAAsB,CAAC;QAC9B,aAAQ,GAAG,SAAkB,CAAC;QAC9B,gBAAW,GAAG,0FAA0F,CAAC;QAEzG,0EAA0E;QAC1E,eAAU,GAAG;YACX,yBAAyB;YACzB,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,gDAAgD;gBAC7D,QAAQ,EAAE,KAAK;aAChB;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,gCAAgC;gBAC7C,QAAQ,EAAE,KAAK;aAChB;YAED,0BAA0B;YAC1B,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,gDAAgD;gBAC7D,QAAQ,EAAE,KAAK;aAChB;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,OAAgB;gBACtB,WAAW,EAAE,wDAAwD;gBACrE,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;aACnC;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,wDAAwD;gBACrE,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,CAAC;aACX;YAED,uBAAuB;YACvB,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,YAAY;aACtB;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,0BAA0B;gBACvC,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,CAAC;gBAC5C,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,KAAK;aAChB;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,6BAA6B;gBAC1C,IAAI,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,eAAe,CAAC;gBACxD,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,KAAK;aAChB;SACF,CAAC;QAEM,kBAAa,GAAG,gBAAgB,EAAE,CAAC;QACnC,sBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAIlD,qDAAqD;IACvD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAW,EAAE,SAAc;QACvC,OAAO,MAAM,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;YACxE,IAAI,CAAC;gBACH,mDAAmD;gBACnD,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBAE3D,gDAAgD;gBAChD,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBAEpD,iBAAiB;gBACjB,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAE3E,0CAA0C;gBAC1C,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;oBACnC,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;gBAClF,CAAC;qBAAM,CAAC;oBACN,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;gBACjF,CAAC;YAEH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO,YAAY,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACK,kBAAkB,CAAC,MAAW;QACpC,uCAAuC;QACvC,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnC,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,wBAAwB;QACxB,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACvC,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,sEAAsE;QACtE,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,MAAW,EAAE,IAAkC;QACxE,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,kBAAkB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAC/C,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,wBAAwB;QACxB,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC;QAC5G,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;IACnG,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB,CAAC,MAAW,EAAE,KAAU,EAAE,aAAqB;QACpF,4BAA4B;QAC5B,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;QAChC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,aAAa,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC;QAED,yCAAyC;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC;YAClD,GAAG,MAAM;YACT,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;QAEH,kCAAkC;QAClC,MAAM,aAAa,GAAG,IAAI,uBAAuB,CAAC,aAAa,CAAC,CAAC;QACjE,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAEhE,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,aAAa,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;YAC3E,MAAM,QAAQ,GAAG;gBACf,YAAY,CAAC,aAAa;gBAC1B,GAAG,YAAY,CAAC,YAAY;gBAC5B,YAAY,CAAC,eAAe;aAC7B,CAAC;YAEF,OAAO,MAAM,iBAAiB,CAAC,cAAc,CAC3C,QAAQ,EACR,KAAK,EACL,aAAa,EACb,sBAAsB,EACtB,QAAQ,CACT,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,iBAAiB,CAAC,aAAa,CAC1C,YAAY,EACZ,KAAK,EACL,aAAa,EACb,sBAAsB,CACvB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,wBAAwB,CAAC,MAAW,EAAE,KAAU,EAAE,aAAqB;QACnF,iBAAiB;QACjB,IAAI,cAAc,GAAa,MAAM,CAAC,KAAK;YACzC,MAAM,IAAI,CAAC,qBAAqB,CAC9B,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,YAAY,CACpB,CAAC;QAEJ,2CAA2C;QAC3C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,wBAAwB,CACxD,cAAc,EACd,MAAM,EACN,KAAK,EACL,aAAa,CACd,CAAC;QAEF,wCAAwC;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC;YACjD,GAAG,MAAM;YACT,cAAc;YACd,SAAS,EAAE,cAAc,CAAC,MAAM;SACjC,CAAC,CAAC;QAEH,qCAAqC;QACrC,MAAM,aAAa,GAAG,IAAI,uBAAuB,CAAC,aAAa,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,aAAa,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG;YACf,YAAY,CAAC,aAAa;YAC1B,GAAG,YAAY,CAAC,YAAY;YAC5B,YAAY,CAAC,eAAe;SAC7B,CAAC;QAEF,OAAO,MAAM,iBAAiB,CAAC,cAAc,CAC3C,QAAQ,EACR,KAAK,EACL,aAAa,EACb,sBAAsB,EACtB,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,MAAW;QAC3C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;QAE/D,MAAM,gBAAgB,GAAG,0DAA0D,aAAa,IAAI,YAAY;;;cAGtG,QAAQ;oBACF,aAAa;mBACd,YAAY;;;2JAG4H,CAAC;QAExJ,MAAM,WAAW,GAAG;;QAEhB,QAAQ;EACd,IAAI;OACC,CAAC;QAEJ,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kJAkCmH,CAAC;QAE/I,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAC/D,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,MAAW;QAC1C,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAE1E,MAAM,gBAAgB,GAAG,kEAAkE,aAAa,IAAI,YAAY;;;mBAGzG,YAAY;oBACX,aAAa;oBACb,SAAS;;;wJAG2H,CAAC;QAErJ,MAAM,WAAW,GAAG;;EAEtB,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAExC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qKAqCsI,CAAC;QAElK,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAAW;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,4BAA4B;IACpB,KAAK,CAAC,qBAAqB,CACjC,WAAmB,EACnB,QAAgB,EAChB,YAAoB;QAEpB,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACxD,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACvF,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,KAAe,EACf,MAAW,EACX,KAAU,EACV,aAAqB;QAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAC7C,sBAAsB,EACtB,MAAM,EACN,KAAK,CACN,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CACnE,KAAK,EACL,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EACjE,aAAa,CACd,CAAC;QAEF,yCAAyC;QACzC,MAAM,gBAAgB,GAAG;YACvB,OAAO,EAAE,4BAA4B,KAAK,CAAC,MAAM,QAAQ;YACzD,QAAQ,EAAE,mBAAmB;YAC7B,cAAc,EAAE;gBACd,UAAU,EAAE,KAAK,CAAC,MAAM;gBACxB,iBAAiB,EAAE,IAAI,CAAC,0BAA0B,CAAC,mBAAmB,CAAC;gBACvE,mBAAmB,EAAE,IAAI,CAAC,0BAA0B,CAAC,mBAAmB,CAAC;gBACzE,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC;aAC7D;SACF,CAAC;QAEF,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE;YACjE,SAAS,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;YACxC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;YACtC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;QAEH,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,IAAY,EAAE,MAAW,EAAE,KAAU;QACvE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACnF,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpE,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,8DAA8D;YACxF,IAAI,EAAE,OAAO,CAAC,MAAM;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;YACjC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,yBAAyB;YACnD,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,0BAA0B;YAClF,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YAC5C,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;SACjD,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,YAAoB;QAC5C,+CAA+C;QAC/C,MAAM,YAAY,GAA6B;YAC7C,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC;YACnE,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;YAChF,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;SAC7F,CAAC;QAEF,OAAO,YAAY,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,aAAa,CAAC;IAClE,CAAC;IAED,kCAAkC;IAC1B,kBAAkB,CAAC,OAAe;QACxC,MAAM,kBAAkB,GAAG;YACzB,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW;YAC/C,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS;SACrD,CAAC;QAEF,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACnC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,OAAO,EAAE,CAAC;gBACZ,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,oBAAoB,CAAC,OAAe;QAC1C,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC,2BAA2B;QAE3C,mCAAmC;QACnC,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC,CAAC,mBAAmB;QACpE,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAkB;QACzF,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAkB;QACtF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc;QAEjE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEO,0BAA0B,CAAC,OAAc;QAC/C,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3F,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAEO,0BAA0B,CAAC,OAAc;QAC/C,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QAEpD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;YACvC,IAAI,KAAK,IAAI,CAAC;gBAAE,YAAY,CAAC,IAAI,EAAE,CAAC;iBAC/B,IAAI,KAAK,IAAI,CAAC;gBAAE,YAAY,CAAC,MAAM,EAAE,CAAC;;gBACtC,YAAY,CAAC,GAAG,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,oBAAoB,CAAC,OAAc;QACzC,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;QACjF,IAAI,mBAAmB,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9E,IAAI,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,gBAAgB,CAAC,KAAe,EAAE,MAAW;QACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;CACF;AAED,eAAe,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"code-quality.js","sourceRoot":"","sources":["../../../src/prompts/analyze/code-quality.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compare-integration.d.ts","sourceRoot":"","sources":["../../../src/prompts/analyze/compare-integration.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"compare-integration.d.ts","sourceRoot":"","sources":["../../../src/prompts/analyze/compare-integration.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAa5D,qBAAa,qBAAsB,SAAQ,UAAW,YAAW,aAAa;IAC5E,IAAI,SAAyB;IAC7B,QAAQ,EAAG,SAAS,CAAU;IAC9B,WAAW,SAA+J;IAG1K,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4DR;IAEF,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,iBAAiB,CAA2B;;IAO9C,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG;IAyBzC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;YACW,yBAAyB;IA4CvC;;OAEG;YACW,wBAAwB;IA4CtC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAwDjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmGhC;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,YAAY;YAW5B,qBAAqB;YASrB,wBAAwB;YAsDxB,qBAAqB;IA2BnC,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,2BAA2B;IAenC,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,gBAAgB;CAKzB;AAED,eAAe,qBAAqB,CAAC"}
|
|
@@ -10,7 +10,7 @@ import { BasePlugin } from '../../plugins/base-plugin.js';
|
|
|
10
10
|
import { ThreeStagePromptManager } from '../../core/ThreeStagePromptManager.js';
|
|
11
11
|
import { withSecurity } from '../../security/integration-helpers.js';
|
|
12
12
|
import { readFileContent } from '../shared/helpers.js';
|
|
13
|
-
import { ModelSetup, ResponseProcessor, ParameterValidator, ErrorHandler, MultiFileAnalysis } from '../../utils/plugin-utilities.js';
|
|
13
|
+
import { ModelSetup, ResponseProcessor, ParameterValidator, ErrorHandler, MultiFileAnalysis, TokenCalculator } from '../../utils/plugin-utilities.js';
|
|
14
14
|
import { getAnalysisCache } from '../../cache/index.js';
|
|
15
15
|
export class IntegrationComparator extends BasePlugin {
|
|
16
16
|
constructor() {
|
|
@@ -156,10 +156,12 @@ export class IntegrationComparator extends BasePlugin {
|
|
|
156
156
|
code: codeToAnalyze
|
|
157
157
|
});
|
|
158
158
|
// Execute with appropriate method
|
|
159
|
-
const promptManager = new ThreeStagePromptManager(
|
|
160
|
-
const needsChunking =
|
|
159
|
+
const promptManager = new ThreeStagePromptManager();
|
|
160
|
+
const needsChunking = TokenCalculator.needsChunking(promptStages, contextLength);
|
|
161
161
|
if (needsChunking) {
|
|
162
|
-
const
|
|
162
|
+
const chunkSize = TokenCalculator.calculateOptimalChunkSize(promptStages, contextLength);
|
|
163
|
+
const dataChunks = promptManager.chunkDataPayload(promptStages.dataPayload, chunkSize);
|
|
164
|
+
const conversation = promptManager.createChunkedConversation(promptStages, dataChunks);
|
|
163
165
|
const messages = [
|
|
164
166
|
conversation.systemMessage,
|
|
165
167
|
...conversation.dataMessages,
|
|
@@ -187,8 +189,10 @@ export class IntegrationComparator extends BasePlugin {
|
|
|
187
189
|
fileCount: filesToAnalyze.length
|
|
188
190
|
});
|
|
189
191
|
// Always use chunking for multi-file
|
|
190
|
-
const promptManager = new ThreeStagePromptManager(
|
|
191
|
-
const
|
|
192
|
+
const promptManager = new ThreeStagePromptManager();
|
|
193
|
+
const chunkSize = TokenCalculator.calculateOptimalChunkSize(promptStages, contextLength);
|
|
194
|
+
const dataChunks = promptManager.chunkDataPayload(promptStages.dataPayload, chunkSize);
|
|
195
|
+
const conversation = promptManager.createChunkedConversation(promptStages, dataChunks);
|
|
192
196
|
const messages = [
|
|
193
197
|
conversation.systemMessage,
|
|
194
198
|
...conversation.dataMessages,
|