@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.
Files changed (105) hide show
  1. package/README.md +92 -0
  2. package/dist/config.d.ts +1 -3
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +6 -5
  5. package/dist/config.js.map +1 -1
  6. package/dist/core/ThreeStagePromptManager.d.ts +7 -23
  7. package/dist/core/ThreeStagePromptManager.d.ts.map +1 -1
  8. package/dist/core/ThreeStagePromptManager.js +22 -80
  9. package/dist/core/ThreeStagePromptManager.js.map +1 -1
  10. package/dist/prompts/analyze/code-quality.d.ts.map +1 -1
  11. package/dist/prompts/analyze/code-quality.js +10 -6
  12. package/dist/prompts/analyze/code-quality.js.map +1 -1
  13. package/dist/prompts/analyze/compare-integration.d.ts.map +1 -1
  14. package/dist/prompts/analyze/compare-integration.js +10 -6
  15. package/dist/prompts/analyze/compare-integration.js.map +1 -1
  16. package/dist/prompts/analyze/count-files.d.ts.map +1 -1
  17. package/dist/prompts/analyze/count-files.js +10 -6
  18. package/dist/prompts/analyze/count-files.js.map +1 -1
  19. package/dist/prompts/analyze/database-queries.d.ts.map +1 -1
  20. package/dist/prompts/analyze/database-queries.js +10 -6
  21. package/dist/prompts/analyze/database-queries.js.map +1 -1
  22. package/dist/prompts/analyze/dependencies.d.ts.map +1 -1
  23. package/dist/prompts/analyze/dependencies.js +10 -6
  24. package/dist/prompts/analyze/dependencies.js.map +1 -1
  25. package/dist/prompts/analyze/diff-signatures.d.ts.map +1 -1
  26. package/dist/prompts/analyze/diff-signatures.js +15 -9
  27. package/dist/prompts/analyze/diff-signatures.js.map +1 -1
  28. package/dist/prompts/analyze/find-patterns.d.ts.map +1 -1
  29. package/dist/prompts/analyze/find-patterns.js +10 -6
  30. package/dist/prompts/analyze/find-patterns.js.map +1 -1
  31. package/dist/prompts/analyze/find-unused-css.d.ts.map +1 -1
  32. package/dist/prompts/analyze/find-unused-css.js +15 -9
  33. package/dist/prompts/analyze/find-unused-css.js.map +1 -1
  34. package/dist/prompts/analyze/n8n-workflow.d.ts.map +1 -1
  35. package/dist/prompts/analyze/n8n-workflow.js +10 -6
  36. package/dist/prompts/analyze/n8n-workflow.js.map +1 -1
  37. package/dist/prompts/analyze/project-structure.d.ts.map +1 -1
  38. package/dist/prompts/analyze/project-structure.js +10 -6
  39. package/dist/prompts/analyze/project-structure.js.map +1 -1
  40. package/dist/prompts/analyze/security-audit.d.ts.map +1 -1
  41. package/dist/prompts/analyze/security-audit.js +10 -6
  42. package/dist/prompts/analyze/security-audit.js.map +1 -1
  43. package/dist/prompts/analyze/single-file.d.ts.map +1 -1
  44. package/dist/prompts/analyze/single-file.js +10 -6
  45. package/dist/prompts/analyze/single-file.js.map +1 -1
  46. package/dist/prompts/analyze/trace-execution.d.ts.map +1 -1
  47. package/dist/prompts/analyze/trace-execution.js +10 -6
  48. package/dist/prompts/analyze/trace-execution.js.map +1 -1
  49. package/dist/prompts/analyze/wordpress-plugin-audit.d.ts.map +1 -1
  50. package/dist/prompts/analyze/wordpress-plugin-audit.js +5 -3
  51. package/dist/prompts/analyze/wordpress-plugin-audit.js.map +1 -1
  52. package/dist/prompts/analyze/wordpress-security.d.ts.map +1 -1
  53. package/dist/prompts/analyze/wordpress-security.js +10 -6
  54. package/dist/prompts/analyze/wordpress-security.js.map +1 -1
  55. package/dist/prompts/analyze/wordpress-theme-audit.d.ts.map +1 -1
  56. package/dist/prompts/analyze/wordpress-theme-audit.js +5 -3
  57. package/dist/prompts/analyze/wordpress-theme-audit.js.map +1 -1
  58. package/dist/prompts/custom/custom-prompt.d.ts.map +1 -1
  59. package/dist/prompts/custom/custom-prompt.js +9 -5
  60. package/dist/prompts/custom/custom-prompt.js.map +1 -1
  61. package/dist/prompts/fun/arcade-game.d.ts.map +1 -1
  62. package/dist/prompts/fun/arcade-game.js +10 -6
  63. package/dist/prompts/fun/arcade-game.js.map +1 -1
  64. package/dist/prompts/fun/create_text_adventure.d.ts.map +1 -1
  65. package/dist/prompts/fun/create_text_adventure.js +10 -6
  66. package/dist/prompts/fun/create_text_adventure.js.map +1 -1
  67. package/dist/prompts/fun/css-art-generator.d.ts.map +1 -1
  68. package/dist/prompts/fun/css-art-generator.js +10 -6
  69. package/dist/prompts/fun/css-art-generator.js.map +1 -1
  70. package/dist/prompts/generate/project-documentation.d.ts.map +1 -1
  71. package/dist/prompts/generate/project-documentation.js +10 -6
  72. package/dist/prompts/generate/project-documentation.js.map +1 -1
  73. package/dist/prompts/generate/refactoring.d.ts.map +1 -1
  74. package/dist/prompts/generate/refactoring.js +10 -6
  75. package/dist/prompts/generate/refactoring.js.map +1 -1
  76. package/dist/prompts/generate/responsive-component.d.ts.map +1 -1
  77. package/dist/prompts/generate/responsive-component.js +6 -4
  78. package/dist/prompts/generate/responsive-component.js.map +1 -1
  79. package/dist/prompts/generate/typescript-conversion.d.ts.map +1 -1
  80. package/dist/prompts/generate/typescript-conversion.js +10 -6
  81. package/dist/prompts/generate/typescript-conversion.js.map +1 -1
  82. package/dist/prompts/generate/unit-tests.d.ts.map +1 -1
  83. package/dist/prompts/generate/unit-tests.js +10 -6
  84. package/dist/prompts/generate/unit-tests.js.map +1 -1
  85. package/dist/prompts/generate/wordpress-plugin.d.ts.map +1 -1
  86. package/dist/prompts/generate/wordpress-plugin.js +10 -6
  87. package/dist/prompts/generate/wordpress-plugin.js.map +1 -1
  88. package/dist/prompts/generate/wordpress-theme-from-static.d.ts.map +1 -1
  89. package/dist/prompts/generate/wordpress-theme-from-static.js +10 -6
  90. package/dist/prompts/generate/wordpress-theme-from-static.js.map +1 -1
  91. package/dist/prompts/system/find-unused-files.d.ts.map +1 -1
  92. package/dist/prompts/system/find-unused-files.js +10 -6
  93. package/dist/prompts/system/find-unused-files.js.map +1 -1
  94. package/dist/templates/plugin-template.d.ts.map +1 -1
  95. package/dist/templates/plugin-template.js +10 -6
  96. package/dist/templates/plugin-template.js.map +1 -1
  97. package/dist/types/prompt-stages.d.ts +0 -12
  98. package/dist/types/prompt-stages.d.ts.map +1 -1
  99. package/dist/types.d.ts +0 -1
  100. package/dist/types.d.ts.map +1 -1
  101. package/dist/utils/plugin-utilities.d.ts +19 -0
  102. package/dist/utils/plugin-utilities.d.ts.map +1 -1
  103. package/dist/utils/plugin-utilities.js +49 -6
  104. package/dist/utils/plugin-utilities.js.map +1 -1
  105. 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
  };
@@ -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;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;CAgB3B,CAAC"}
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: 2000,
9
+ // maxTokens removed - now calculated dynamically by TokenCalculator
10
10
  topP: 0.95,
11
- timeout: 30000,
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
@@ -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,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,KAAK;IACd,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;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE;QACR,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,IAAI;KACX;IACD,UAAU,EAAE;QACV,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,GAAG;KACV;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,GAAG;KACV;CACF,CAAC"}
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, StageMetrics, ChunkedConversation } from '../types/prompt-stages.js';
5
+ import { PromptStages, ChunkedConversation } from '../types/prompt-stages.js';
6
6
  export declare class ThreeStagePromptManager {
7
- private contextLimit;
8
- private safetyMargin;
9
- constructor(contextLimit: number, safetyMargin?: number);
7
+ constructor();
10
8
  /**
11
- * Estimate token count (rough approximation: 4 chars ≈ 1 token)
9
+ * Split data payload into chunks of specified size
10
+ * Now receives chunk size from TokenCalculator
12
11
  */
13
- private estimateTokens;
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,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAE5F,qBAAa,uBAAuB;IAClC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAe;gBAEvB,YAAY,EAAE,MAAM,EAAE,YAAY,GAAE,MAAY;IAK5D;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY;IAkBzD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;IAK5C;;OAEG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE;IAuDxE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8BzB;;OAEG;IACH,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,mBAAmB;IAwCpE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG;CAcxC"}
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(contextLimit, safetyMargin = 0.8) {
7
- this.safetyMargin = 0.8;
8
- this.contextLimit = contextLimit;
9
- this.safetyMargin = safetyMargin;
6
+ constructor() {
7
+ // No context-related state needed - moved to TokenCalculator
10
8
  }
11
9
  /**
12
- * Estimate token count (rough approximation: 4 chars ≈ 1 token)
10
+ * Split data payload into chunks of specified size
11
+ * Now receives chunk size from TokenCalculator
13
12
  */
14
- estimateTokens(text) {
15
- return Math.ceil(text.length / 4);
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 (lines, sections)
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 combinedSize = this.estimateTokens(currentChunk + sectionWithSeparator);
62
- if (combinedSize <= availableTokens && currentChunk.length > 0) {
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 (this.estimateTokens(section) > availableTokens) {
72
- const subChunks = this.splitLargeSection(section, availableTokens);
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 += charsPerChunk) {
87
- chunks.push(dataPayload.slice(i, i + charsPerChunk));
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, availableTokens) {
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 <= targetChars) {
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, targetChars));
113
- currentChunk = line.slice(targetChars);
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 if needed)
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":"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"}
1
+ {"version":3,"file":"ThreeStagePromptManager.js","sourceRoot":"","sources":["../../src/core/ThreeStagePromptManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,OAAO,uBAAuB;IAClC;QACE,6DAA6D;IAC/D,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,WAAmB,EAAE,YAAoB;QACxD,uDAAuD;QACvD,MAAM,gBAAgB,GAAG,YAAY,GAAG,CAAC,CAAC;QAE1C,IAAI,WAAW,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;YAC3C,OAAO,CAAC,WAAW,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,gDAAgD;QAChD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACjE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,sCAAsC;YACtC,IAAI,YAAY,GAAG,EAAE,CAAC;YAEtB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,oBAAoB,GAAG,OAAO,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;gBACpE,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC;gBAEzE,IAAI,cAAc,IAAI,gBAAgB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClE,YAAY,IAAI,oBAAoB,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACN,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;wBACjC,YAAY,GAAG,EAAE,CAAC;oBACpB,CAAC;oBAED,2CAA2C;oBAC3C,IAAI,OAAO,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;wBACtC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;wBACpE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;oBAC5B,CAAC;yBAAM,CAAC;wBACN,YAAY,GAAG,oBAAoB,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,+CAA+C;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;gBAC9D,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,OAAe,EAAE,QAAgB;QACzD,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,8BAA8B;QAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACtD,YAAY,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC1B,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,uCAAuC;oBACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACrC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,yBAAyB,CAAC,MAAoB,EAAE,UAAoB;QAClE,2BAA2B;QAC3B,MAAM,aAAa,GAAG;YACpB,IAAI,EAAE,QAAiB;YACvB,OAAO,EAAE,MAAM,CAAC,gBAAgB;SACjC,CAAC;QAEF,wCAAwC;QACxC,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACrD,IAAI,EAAE,MAAe;YACrB,OAAO,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC;gBAC5B,CAAC,CAAC,cAAc,KAAK,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,QAAQ,KAAK,EAAE;gBAC7D,CAAC,CAAC,uBAAuB,KAAK,EAAE;SACnC,CAAC,CAAC,CAAC;QAEJ,6BAA6B;QAC7B,MAAM,eAAe,GAAG;YACtB,IAAI,EAAE,MAAe;YACrB,OAAO,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC;gBAC5B,CAAC,CAAC,GAAG,MAAM,CAAC,kBAAkB,mBAAmB,UAAU,CAAC,MAAM,8BAA8B;gBAChG,CAAC,CAAC,MAAM,CAAC,kBAAkB;SAC9B,CAAC;QAEF,OAAO;YACL,aAAa;YACb,YAAY;YACZ,eAAe;SAChB,CAAC;IACJ,CAAC;CAEF"}
@@ -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;AAgB5D,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;IA0CvC;;OAEG;YACW,wBAAwB;IA0CtC;;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"}
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(contextLength);
153
- const needsChunking = promptManager.needsChunking(promptStages);
152
+ const promptManager = new ThreeStagePromptManager();
153
+ const needsChunking = TokenCalculator.needsChunking(promptStages, contextLength);
154
154
  if (needsChunking) {
155
- const conversation = promptManager.createChunkedConversation(promptStages);
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(contextLength);
184
- const conversation = promptManager.createChunkedConversation(promptStages);
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":"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"}
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;AAY5D,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;IA0CvC;;OAEG;YACW,wBAAwB;IA0CtC;;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"}
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(contextLength);
160
- const needsChunking = promptManager.needsChunking(promptStages);
159
+ const promptManager = new ThreeStagePromptManager();
160
+ const needsChunking = TokenCalculator.needsChunking(promptStages, contextLength);
161
161
  if (needsChunking) {
162
- const conversation = promptManager.createChunkedConversation(promptStages);
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(contextLength);
191
- const conversation = promptManager.createChunkedConversation(promptStages);
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,