genaicode 0.7.0 → 0.8.0
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/dist/cli/cli-params.d.ts +1 -1
- package/dist/cli/cli-params.js +1 -1
- package/dist/cli/cli-params.js.map +1 -1
- package/dist/eval/codegen-summary.test.js +3 -1
- package/dist/eval/codegen-summary.test.js.map +1 -1
- package/dist/eval/data/current-prompt.d.ts +0 -39
- package/dist/eval/data/current-prompt.js +34 -79
- package/dist/eval/data/current-prompt.js.map +1 -1
- package/dist/eval/prompt-debug.test.js +6 -1
- package/dist/eval/prompt-debug.test.js.map +1 -1
- package/dist/files/read-files.d.ts +27 -4
- package/dist/files/read-files.js +20 -5
- package/dist/files/read-files.js.map +1 -1
- package/dist/files/read-files.test.js +4 -4
- package/dist/files/read-files.test.js.map +1 -1
- package/dist/files/source-code-tree.d.ts +11 -6
- package/dist/files/source-code-tree.js +45 -2
- package/dist/files/source-code-tree.js.map +1 -1
- package/dist/main/codegen-types.d.ts +1 -1
- package/dist/main/config-lib.js +20 -2
- package/dist/main/config-lib.js.map +1 -1
- package/dist/main/config.js +4 -28
- package/dist/main/config.js.map +1 -1
- package/dist/main/interactive/codegen-interactive.test.js +1 -1
- package/dist/main/interactive/codegen-interactive.test.js.map +1 -1
- package/dist/main/plugin-loader.d.ts +5 -0
- package/dist/main/plugin-loader.js +53 -0
- package/dist/main/plugin-loader.js.map +1 -1
- package/dist/main/ui/frontend/assets/index-QOcNx5ac.js +812 -0
- package/dist/main/ui/frontend/index.html +1 -1
- package/dist/project-profiles/detection.d.ts +40 -0
- package/dist/project-profiles/detection.js +131 -0
- package/dist/project-profiles/detection.js.map +1 -0
- package/dist/project-profiles/index.d.ts +35 -0
- package/dist/project-profiles/index.js +72 -0
- package/dist/project-profiles/index.js.map +1 -0
- package/dist/project-profiles/profiles/golang.d.ts +65 -0
- package/dist/project-profiles/profiles/golang.js +208 -0
- package/dist/project-profiles/profiles/golang.js.map +1 -0
- package/dist/project-profiles/profiles/java-maven.d.ts +80 -0
- package/dist/project-profiles/profiles/java-maven.js +165 -0
- package/dist/project-profiles/profiles/java-maven.js.map +1 -0
- package/dist/project-profiles/profiles/javascript-npm.d.ts +40 -0
- package/dist/project-profiles/profiles/javascript-npm.js +118 -0
- package/dist/project-profiles/profiles/javascript-npm.js.map +1 -0
- package/dist/project-profiles/profiles/javascript-react.d.ts +46 -0
- package/dist/project-profiles/profiles/javascript-react.js +147 -0
- package/dist/project-profiles/profiles/javascript-react.js.map +1 -0
- package/dist/project-profiles/profiles/python-django.d.ts +58 -0
- package/dist/project-profiles/profiles/python-django.js +200 -0
- package/dist/project-profiles/profiles/python-django.js.map +1 -0
- package/dist/project-profiles/types.d.ts +122 -0
- package/dist/project-profiles/types.js +77 -0
- package/dist/project-profiles/types.js.map +1 -0
- package/dist/prompt/function-defs/set-summaries.js +20 -1
- package/dist/prompt/function-defs/set-summaries.js.map +1 -1
- package/dist/prompt/prompt-codegen.test.js +5 -4
- package/dist/prompt/prompt-codegen.test.js.map +1 -1
- package/dist/prompt/prompt-service-ask-question.test.js +2 -0
- package/dist/prompt/prompt-service-ask-question.test.js.map +1 -1
- package/dist/prompt/prompt-service.js +13 -106
- package/dist/prompt/prompt-service.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/cancel-code-generation.js +0 -2
- package/dist/prompt/steps/step-ask-question/handlers/cancel-code-generation.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/code-generation.d.ts +2 -0
- package/dist/prompt/steps/step-ask-question/handlers/code-generation.js +58 -0
- package/dist/prompt/steps/step-ask-question/handlers/code-generation.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/confirm-code-generation.js +1 -3
- package/dist/prompt/steps/step-ask-question/handlers/confirm-code-generation.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/context-optimization.js +0 -2
- package/dist/prompt/steps/step-ask-question/handlers/context-optimization.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/default-action.js +0 -2
- package/dist/prompt/steps/step-ask-question/handlers/default-action.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message-with-image.js +0 -6
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message-with-image.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js +0 -2
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js +0 -3
- package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js +2 -5
- package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/request-permissions.js +0 -3
- package/dist/prompt/steps/step-ask-question/handlers/request-permissions.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/step-ask-question-types.d.ts +4 -3
- package/dist/prompt/steps/step-ask-question/step-ask-question.d.ts +2 -3
- package/dist/prompt/steps/step-ask-question/step-ask-question.js +20 -6
- package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
- package/dist/prompt/steps/step-codegen-planning.js +1 -1
- package/dist/prompt/steps/step-codegen-planning.js.map +1 -1
- package/dist/prompt/steps/step-codegen-summary.d.ts +7 -0
- package/dist/prompt/steps/step-codegen-summary.js +106 -0
- package/dist/prompt/steps/step-codegen-summary.js.map +1 -0
- package/dist/prompt/steps/step-codegen-summary.test.d.ts +1 -0
- package/dist/prompt/steps/step-codegen-summary.test.js +136 -0
- package/dist/prompt/steps/step-codegen-summary.test.js.map +1 -0
- package/dist/prompt/steps/step-context-optimization.js +153 -66
- package/dist/prompt/steps/step-context-optimization.js.map +1 -1
- package/dist/prompt/steps/step-context-optimization.test.js +24 -5
- package/dist/prompt/steps/step-context-optimization.test.js.map +1 -1
- package/dist/prompt/steps/step-ensure-context.d.ts +15 -0
- package/dist/prompt/steps/step-ensure-context.js +102 -0
- package/dist/prompt/steps/step-ensure-context.js.map +1 -0
- package/dist/prompt/steps/step-ensure-context.test.d.ts +1 -0
- package/dist/prompt/steps/step-ensure-context.test.js +242 -0
- package/dist/prompt/steps/step-ensure-context.test.js.map +1 -0
- package/dist/prompt/steps/step-summarization.d.ts +2 -1
- package/dist/prompt/steps/step-summarization.js +44 -11
- package/dist/prompt/steps/step-summarization.js.map +1 -1
- package/dist/prompt/steps/steps-types.d.ts +2 -0
- package/dist/prompt/steps/steps-types.js.map +1 -1
- package/dist/prompt/systemprompt.test.js +2 -2
- package/dist/prompt/systemprompt.test.js.map +1 -1
- package/package.json +6 -2
- package/dist/main/ui/frontend/assets/index-5e3ykhy6.js +0 -808
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Django Project Profile
|
|
3
|
+
*
|
|
4
|
+
* This profile handles Django web applications, supporting both
|
|
5
|
+
* traditional Django projects and Django REST framework applications.
|
|
6
|
+
* It includes detection for common Django patterns and tools.
|
|
7
|
+
*/
|
|
8
|
+
import path from 'path';
|
|
9
|
+
import fs from 'fs';
|
|
10
|
+
import { PROJECT_FILE_PATTERNS, DETECTION_WEIGHTS, DEFAULT_EXTENSIONS, DEFAULT_IGNORE_PATHS, } from '../types.js';
|
|
11
|
+
import { profileUtils } from '../detection.js';
|
|
12
|
+
/**
|
|
13
|
+
* Different types of Django projects we can detect
|
|
14
|
+
*/
|
|
15
|
+
const DJANGO_PROJECT_TYPES = {
|
|
16
|
+
STANDARD: 'standard',
|
|
17
|
+
DRF: 'rest-framework',
|
|
18
|
+
CHANNELS: 'channels',
|
|
19
|
+
WAGTAIL: 'wagtail',
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Parse requirements.txt or pyproject.toml to extract dependencies
|
|
23
|
+
*/
|
|
24
|
+
async function parsePythonDependencies(rootDir) {
|
|
25
|
+
const dependencies = [];
|
|
26
|
+
// Try reading requirements.txt
|
|
27
|
+
try {
|
|
28
|
+
const requirementsPath = path.join(rootDir, PROJECT_FILE_PATTERNS.PYTHON.REQUIREMENTS);
|
|
29
|
+
const content = await fs.promises.readFile(requirementsPath, 'utf-8');
|
|
30
|
+
dependencies.push(...content
|
|
31
|
+
.split('\n')
|
|
32
|
+
.map((line) => line.trim())
|
|
33
|
+
.filter((line) => line && !line.startsWith('#'))
|
|
34
|
+
.map((line) => line.split('==')[0].split('>=')[0].trim()));
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// Requirements.txt not found, try pyproject.toml
|
|
38
|
+
try {
|
|
39
|
+
const pyprojectPath = path.join(rootDir, PROJECT_FILE_PATTERNS.PYTHON.POETRY);
|
|
40
|
+
const content = await fs.promises.readFile(pyprojectPath, 'utf-8');
|
|
41
|
+
// Basic TOML parsing for dependencies
|
|
42
|
+
const dependencySection = content.split('[tool.poetry.dependencies]')[1]?.split('[')[0];
|
|
43
|
+
if (dependencySection) {
|
|
44
|
+
dependencies.push(...dependencySection
|
|
45
|
+
.split('\n')
|
|
46
|
+
.map((line) => line.trim())
|
|
47
|
+
.filter((line) => line && !line.startsWith('#'))
|
|
48
|
+
.map((line) => line.split('=')[0].trim()));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// Neither file found
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return dependencies;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Check if manage.py is a Django management script
|
|
59
|
+
*/
|
|
60
|
+
async function isDjangoManagePy(filePath) {
|
|
61
|
+
try {
|
|
62
|
+
const content = await fs.promises.readFile(filePath, 'utf-8');
|
|
63
|
+
return content.includes('django.core.management');
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Detect specific Django project type
|
|
71
|
+
*/
|
|
72
|
+
async function detectDjangoProjectType(rootDir) {
|
|
73
|
+
const dependencies = await parsePythonDependencies(rootDir);
|
|
74
|
+
// Check for DRF (Django REST framework)
|
|
75
|
+
if (dependencies.some((dep) => dep === 'djangorestframework')) {
|
|
76
|
+
return { type: DJANGO_PROJECT_TYPES.DRF, weight: DETECTION_WEIGHTS.FRAMEWORK.DJANGO + 1 };
|
|
77
|
+
}
|
|
78
|
+
// Check for Django Channels
|
|
79
|
+
if (dependencies.some((dep) => dep === 'channels')) {
|
|
80
|
+
return { type: DJANGO_PROJECT_TYPES.CHANNELS, weight: DETECTION_WEIGHTS.FRAMEWORK.DJANGO + 1 };
|
|
81
|
+
}
|
|
82
|
+
// Check for Wagtail CMS
|
|
83
|
+
if (dependencies.some((dep) => dep === 'wagtail')) {
|
|
84
|
+
return { type: DJANGO_PROJECT_TYPES.WAGTAIL, weight: DETECTION_WEIGHTS.FRAMEWORK.DJANGO + 1 };
|
|
85
|
+
}
|
|
86
|
+
return { type: DJANGO_PROJECT_TYPES.STANDARD, weight: DETECTION_WEIGHTS.FRAMEWORK.DJANGO };
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Detect virtual environment location
|
|
90
|
+
*/
|
|
91
|
+
async function detectVirtualEnv(rootDir) {
|
|
92
|
+
const commonVenvPaths = ['venv', '.venv', 'env', '.env'];
|
|
93
|
+
for (const venvPath of commonVenvPaths) {
|
|
94
|
+
const fullPath = path.join(rootDir, venvPath);
|
|
95
|
+
const activatePath = path.join(fullPath, 'bin', 'activate');
|
|
96
|
+
if ((await profileUtils.fileExists(rootDir, fullPath)) && (await profileUtils.fileExists(rootDir, activatePath))) {
|
|
97
|
+
return venvPath;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Get appropriate lint command based on project configuration
|
|
104
|
+
*/
|
|
105
|
+
async function detectLintCommand(rootDir) {
|
|
106
|
+
const dependencies = await parsePythonDependencies(rootDir);
|
|
107
|
+
const venvPath = await detectVirtualEnv(rootDir);
|
|
108
|
+
const venvPrefix = venvPath ? `source ${venvPath}/bin/activate && ` : '';
|
|
109
|
+
// Check for various linting tools in order of preference
|
|
110
|
+
if (dependencies.includes('ruff')) {
|
|
111
|
+
return `${venvPrefix}ruff check .`;
|
|
112
|
+
}
|
|
113
|
+
if (dependencies.includes('pylint-django')) {
|
|
114
|
+
return `${venvPrefix}pylint --load-plugins pylint_django **/*.py`;
|
|
115
|
+
}
|
|
116
|
+
if (dependencies.includes('pylint')) {
|
|
117
|
+
return `${venvPrefix}pylint **/*.py`;
|
|
118
|
+
}
|
|
119
|
+
if (dependencies.includes('flake8')) {
|
|
120
|
+
return `${venvPrefix}flake8 .`;
|
|
121
|
+
}
|
|
122
|
+
// Default to Django's built-in checks
|
|
123
|
+
return `${venvPrefix}python manage.py check --deploy`;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Get Django-specific ignore paths
|
|
127
|
+
*/
|
|
128
|
+
async function getDjangoIgnorePaths(rootDir, projectType) {
|
|
129
|
+
const baseIgnorePaths = [...DEFAULT_IGNORE_PATHS.PYTHON];
|
|
130
|
+
// Add Django-specific paths
|
|
131
|
+
baseIgnorePaths.push('static', 'media', 'staticfiles', '*.sqlite3', 'local_settings.py');
|
|
132
|
+
// Add virtual environment if detected
|
|
133
|
+
const venvPath = await detectVirtualEnv(rootDir);
|
|
134
|
+
if (venvPath) {
|
|
135
|
+
baseIgnorePaths.push(venvPath);
|
|
136
|
+
}
|
|
137
|
+
// Add project type specific paths
|
|
138
|
+
switch (projectType) {
|
|
139
|
+
case DJANGO_PROJECT_TYPES.WAGTAIL:
|
|
140
|
+
baseIgnorePaths.push('media/images', 'media/documents');
|
|
141
|
+
break;
|
|
142
|
+
case DJANGO_PROJECT_TYPES.CHANNELS:
|
|
143
|
+
baseIgnorePaths.push('dumps');
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
return baseIgnorePaths;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Django project profile
|
|
150
|
+
*/
|
|
151
|
+
export const djangoProfile = {
|
|
152
|
+
id: 'python-django',
|
|
153
|
+
name: 'Django',
|
|
154
|
+
extensions: [...DEFAULT_EXTENSIONS.PYTHON],
|
|
155
|
+
ignorePaths: [...DEFAULT_IGNORE_PATHS.PYTHON],
|
|
156
|
+
detectionWeight: DETECTION_WEIGHTS.FRAMEWORK.DJANGO,
|
|
157
|
+
/**
|
|
158
|
+
* Detect if this is a Django project
|
|
159
|
+
*/
|
|
160
|
+
async detect(rootDir) {
|
|
161
|
+
// Check for manage.py
|
|
162
|
+
const managePyPath = path.join(rootDir, PROJECT_FILE_PATTERNS.PYTHON.DJANGO);
|
|
163
|
+
const hasManagePy = await profileUtils.fileExists(rootDir, managePyPath);
|
|
164
|
+
if (!hasManagePy)
|
|
165
|
+
return false;
|
|
166
|
+
// Verify it's a Django manage.py
|
|
167
|
+
const isDjango = await isDjangoManagePy(managePyPath);
|
|
168
|
+
if (!isDjango)
|
|
169
|
+
return false;
|
|
170
|
+
// Check for Django in dependencies
|
|
171
|
+
const dependencies = await parsePythonDependencies(rootDir);
|
|
172
|
+
return dependencies.includes('django');
|
|
173
|
+
},
|
|
174
|
+
/**
|
|
175
|
+
* Initialize Django-specific configuration
|
|
176
|
+
*/
|
|
177
|
+
async initialize(rootDir) {
|
|
178
|
+
// Detect Django project type
|
|
179
|
+
const { type: projectType } = await detectDjangoProjectType(rootDir);
|
|
180
|
+
// Set Django-specific ignore paths
|
|
181
|
+
this.ignorePaths = await getDjangoIgnorePaths(rootDir, projectType);
|
|
182
|
+
// Set appropriate lint command
|
|
183
|
+
this.lintCommand = await detectLintCommand(rootDir);
|
|
184
|
+
// Add Python extensions
|
|
185
|
+
this.extensions = [...DEFAULT_EXTENSIONS.PYTHON];
|
|
186
|
+
// Add template extensions
|
|
187
|
+
this.extensions.push('.html', '.jinja', '.jinja2');
|
|
188
|
+
console.log(`Initialized Django profile (${projectType})`);
|
|
189
|
+
},
|
|
190
|
+
};
|
|
191
|
+
// Export utilities for other profiles that might extend Django
|
|
192
|
+
export const djangoUtils = {
|
|
193
|
+
parsePythonDependencies,
|
|
194
|
+
isDjangoManagePy,
|
|
195
|
+
detectDjangoProjectType,
|
|
196
|
+
detectVirtualEnv,
|
|
197
|
+
detectLintCommand,
|
|
198
|
+
getDjangoIgnorePaths,
|
|
199
|
+
};
|
|
200
|
+
//# sourceMappingURL=python-django.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python-django.js","sourceRoot":"","sources":["../../../src/project-profiles/profiles/python-django.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core types for the project profiles system.
|
|
3
|
+
* This module contains all the type definitions needed for project type detection,
|
|
4
|
+
* configuration, and plugin integration.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Represents a project profile with its configuration and detection logic.
|
|
8
|
+
*/
|
|
9
|
+
export interface ProjectProfile {
|
|
10
|
+
/** Unique identifier for the profile */
|
|
11
|
+
id: string;
|
|
12
|
+
/** Display name for the profile */
|
|
13
|
+
name: string;
|
|
14
|
+
/** File extensions this profile should consider */
|
|
15
|
+
extensions: string[];
|
|
16
|
+
/** Paths that should be ignored */
|
|
17
|
+
ignorePaths: string[];
|
|
18
|
+
/** Default lint command for this project type */
|
|
19
|
+
lintCommand?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Weight for detection priority. Higher weights indicate more specific profiles.
|
|
22
|
+
* Default profiles use weights 1-10.
|
|
23
|
+
* Plugin profiles should use weights > 10 to override defaults.
|
|
24
|
+
*/
|
|
25
|
+
detectionWeight: number;
|
|
26
|
+
/**
|
|
27
|
+
* Async function to detect if this profile matches the project.
|
|
28
|
+
* Should return true if the profile matches, false otherwise.
|
|
29
|
+
*/
|
|
30
|
+
detect: (rootDir: string) => Promise<boolean>;
|
|
31
|
+
/** Optional initialization function called when profile is selected */
|
|
32
|
+
initialize?: (rootDir: string) => Promise<void>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Result of project profile detection
|
|
36
|
+
*/
|
|
37
|
+
export interface ProfileDetectionResult {
|
|
38
|
+
/** The detected profile, if any */
|
|
39
|
+
profile: ProjectProfile | null;
|
|
40
|
+
/** Weight of the detection match */
|
|
41
|
+
weight: number;
|
|
42
|
+
/** Any additional metadata from detection */
|
|
43
|
+
metadata?: Record<string, unknown>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Plugin interface for project profiles
|
|
47
|
+
*/
|
|
48
|
+
export interface ProjectProfilePlugin {
|
|
49
|
+
/** Array of profiles provided by this plugin */
|
|
50
|
+
profiles: ProjectProfile[];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Common project file patterns used for detection
|
|
54
|
+
*/
|
|
55
|
+
export declare const PROJECT_FILE_PATTERNS: {
|
|
56
|
+
/** JavaScript/TypeScript patterns */
|
|
57
|
+
readonly JS: {
|
|
58
|
+
readonly NPM: "package.json";
|
|
59
|
+
readonly YARN: "yarn.lock";
|
|
60
|
+
readonly PNPM: "pnpm-lock.yaml";
|
|
61
|
+
readonly REACT: readonly ["src/App.tsx", "src/App.jsx", "src/app.tsx", "src/app.jsx"];
|
|
62
|
+
readonly NEXT: "next.config.js";
|
|
63
|
+
readonly VITE: "vite.config.ts";
|
|
64
|
+
};
|
|
65
|
+
/** Java patterns */
|
|
66
|
+
readonly JAVA: {
|
|
67
|
+
readonly MAVEN: "pom.xml";
|
|
68
|
+
readonly GRADLE: "build.gradle";
|
|
69
|
+
readonly SPRING: "application.properties";
|
|
70
|
+
};
|
|
71
|
+
/** Python patterns */
|
|
72
|
+
readonly PYTHON: {
|
|
73
|
+
readonly DJANGO: "manage.py";
|
|
74
|
+
readonly FLASK: readonly ["app.py", "wsgi.py"];
|
|
75
|
+
readonly REQUIREMENTS: "requirements.txt";
|
|
76
|
+
readonly POETRY: "pyproject.toml";
|
|
77
|
+
};
|
|
78
|
+
/** Go patterns */
|
|
79
|
+
readonly GO: {
|
|
80
|
+
readonly MOD: "go.mod";
|
|
81
|
+
readonly WORK: "go.work";
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Detection weights for different profile types
|
|
86
|
+
*/
|
|
87
|
+
export declare const DETECTION_WEIGHTS: {
|
|
88
|
+
/** Base framework weights */
|
|
89
|
+
readonly BASE: {
|
|
90
|
+
readonly JS_NPM: 1;
|
|
91
|
+
readonly JAVA_BASE: 1;
|
|
92
|
+
readonly PYTHON_BASE: 1;
|
|
93
|
+
readonly GO_BASE: 1;
|
|
94
|
+
};
|
|
95
|
+
/** Framework-specific weights */
|
|
96
|
+
readonly FRAMEWORK: {
|
|
97
|
+
readonly REACT: 2;
|
|
98
|
+
readonly NEXT: 3;
|
|
99
|
+
readonly SPRING: 2;
|
|
100
|
+
readonly DJANGO: 2;
|
|
101
|
+
};
|
|
102
|
+
/** Plugin weights should be > 10 */
|
|
103
|
+
readonly PLUGIN_MIN_WEIGHT: 10;
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Default extensions for common project types
|
|
107
|
+
*/
|
|
108
|
+
export declare const DEFAULT_EXTENSIONS: {
|
|
109
|
+
readonly JS: readonly [".js", ".ts", ".jsx", ".tsx", ".mjs", ".cjs", ".json", ".md"];
|
|
110
|
+
readonly JAVA: readonly [".java", ".xml", ".properties", ".md"];
|
|
111
|
+
readonly PYTHON: readonly [".py", ".pyi", ".pyw", ".md"];
|
|
112
|
+
readonly GO: readonly [".go", ".mod", ".sum", ".md"];
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Default ignore paths for common project types
|
|
116
|
+
*/
|
|
117
|
+
export declare const DEFAULT_IGNORE_PATHS: {
|
|
118
|
+
readonly JS: readonly ["node_modules", "build", "dist", "coverage", ".next", ".cache"];
|
|
119
|
+
readonly JAVA: readonly ["target", "build", "out", ".gradle", ".mvn", ".settings"];
|
|
120
|
+
readonly PYTHON: readonly ["__pycache__", "*.pyc", ".pytest_cache", "venv", ".venv", "dist"];
|
|
121
|
+
readonly GO: readonly ["vendor", "bin", "dist"];
|
|
122
|
+
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core types for the project profiles system.
|
|
3
|
+
* This module contains all the type definitions needed for project type detection,
|
|
4
|
+
* configuration, and plugin integration.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Common project file patterns used for detection
|
|
8
|
+
*/
|
|
9
|
+
export const PROJECT_FILE_PATTERNS = {
|
|
10
|
+
/** JavaScript/TypeScript patterns */
|
|
11
|
+
JS: {
|
|
12
|
+
NPM: 'package.json',
|
|
13
|
+
YARN: 'yarn.lock',
|
|
14
|
+
PNPM: 'pnpm-lock.yaml',
|
|
15
|
+
REACT: ['src/App.tsx', 'src/App.jsx', 'src/app.tsx', 'src/app.jsx'],
|
|
16
|
+
NEXT: 'next.config.js',
|
|
17
|
+
VITE: 'vite.config.ts',
|
|
18
|
+
},
|
|
19
|
+
/** Java patterns */
|
|
20
|
+
JAVA: {
|
|
21
|
+
MAVEN: 'pom.xml',
|
|
22
|
+
GRADLE: 'build.gradle',
|
|
23
|
+
SPRING: 'application.properties',
|
|
24
|
+
},
|
|
25
|
+
/** Python patterns */
|
|
26
|
+
PYTHON: {
|
|
27
|
+
DJANGO: 'manage.py',
|
|
28
|
+
FLASK: ['app.py', 'wsgi.py'],
|
|
29
|
+
REQUIREMENTS: 'requirements.txt',
|
|
30
|
+
POETRY: 'pyproject.toml',
|
|
31
|
+
},
|
|
32
|
+
/** Go patterns */
|
|
33
|
+
GO: {
|
|
34
|
+
MOD: 'go.mod',
|
|
35
|
+
WORK: 'go.work',
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Detection weights for different profile types
|
|
40
|
+
*/
|
|
41
|
+
export const DETECTION_WEIGHTS = {
|
|
42
|
+
/** Base framework weights */
|
|
43
|
+
BASE: {
|
|
44
|
+
JS_NPM: 1,
|
|
45
|
+
JAVA_BASE: 1,
|
|
46
|
+
PYTHON_BASE: 1,
|
|
47
|
+
GO_BASE: 1,
|
|
48
|
+
},
|
|
49
|
+
/** Framework-specific weights */
|
|
50
|
+
FRAMEWORK: {
|
|
51
|
+
REACT: 2,
|
|
52
|
+
NEXT: 3,
|
|
53
|
+
SPRING: 2,
|
|
54
|
+
DJANGO: 2,
|
|
55
|
+
},
|
|
56
|
+
/** Plugin weights should be > 10 */
|
|
57
|
+
PLUGIN_MIN_WEIGHT: 10,
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Default extensions for common project types
|
|
61
|
+
*/
|
|
62
|
+
export const DEFAULT_EXTENSIONS = {
|
|
63
|
+
JS: ['.js', '.ts', '.jsx', '.tsx', '.mjs', '.cjs', '.json', '.md'],
|
|
64
|
+
JAVA: ['.java', '.xml', '.properties', '.md'],
|
|
65
|
+
PYTHON: ['.py', '.pyi', '.pyw', '.md'],
|
|
66
|
+
GO: ['.go', '.mod', '.sum', '.md'],
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Default ignore paths for common project types
|
|
70
|
+
*/
|
|
71
|
+
export const DEFAULT_IGNORE_PATHS = {
|
|
72
|
+
JS: ['node_modules', 'build', 'dist', 'coverage', '.next', '.cache'],
|
|
73
|
+
JAVA: ['target', 'build', 'out', '.gradle', '.mvn', '.settings'],
|
|
74
|
+
PYTHON: ['__pycache__', '*.pyc', '.pytest_cache', 'venv', '.venv', 'dist'],
|
|
75
|
+
GO: ['vendor', 'bin', 'dist'],
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/project-profiles/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4DH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,qCAAqC;IACrC,EAAE,EAAE;QACF,GAAG,EAAE,cAAc;QACnB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;QACnE,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,gBAAgB;KACvB;IACD,oBAAoB;IACpB,IAAI,EAAE;QACJ,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,wBAAwB;KACjC;IACD,sBAAsB;IACtB,MAAM,EAAE;QACN,MAAM,EAAE,WAAW;QACnB,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;QAC5B,YAAY,EAAE,kBAAkB;QAChC,MAAM,EAAE,gBAAgB;KACzB;IACD,kBAAkB;IAClB,EAAE,EAAE;QACF,GAAG,EAAE,QAAQ;QACb,IAAI,EAAE,SAAS;KAChB;CACO,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,6BAA6B;IAC7B,IAAI,EAAE;QACJ,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;KACX;IACD,iCAAiC;IACjC,SAAS,EAAE;QACT,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,CAAC;KACV;IACD,oCAAoC;IACpC,iBAAiB,EAAE,EAAE;CACb,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;IAClE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC;IAC7C,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;IACtC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;CAC1B,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,EAAE,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC;IACpE,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC;IAChE,MAAM,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;IAC1E,EAAE,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC;CACrB,CAAC"}
|
|
@@ -21,8 +21,27 @@ export const setSummaries = {
|
|
|
21
21
|
type: 'string',
|
|
22
22
|
description: "A summary of the file's content, highlighting its main purpose, functionality, or details which may be useful for context optimization.",
|
|
23
23
|
},
|
|
24
|
+
dependencies: {
|
|
25
|
+
type: 'array',
|
|
26
|
+
description: 'Optional list of file dependencies detected in the source code.',
|
|
27
|
+
items: {
|
|
28
|
+
type: 'object',
|
|
29
|
+
properties: {
|
|
30
|
+
path: {
|
|
31
|
+
type: 'string',
|
|
32
|
+
description: 'Path to the dependent file or package/library name for external dependencies.',
|
|
33
|
+
},
|
|
34
|
+
type: {
|
|
35
|
+
type: 'string',
|
|
36
|
+
enum: ['local', 'external'],
|
|
37
|
+
description: 'Type of dependency - local (file in project) or external (package/library/module).',
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
required: ['path', 'type'],
|
|
41
|
+
},
|
|
42
|
+
},
|
|
24
43
|
},
|
|
25
|
-
required: ['filePath', 'summary'],
|
|
44
|
+
required: ['filePath', 'summary', 'dependencies'],
|
|
26
45
|
},
|
|
27
46
|
},
|
|
28
47
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-summaries.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/set-summaries.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,8CAA8C;IAC3D,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,OAAO;gBACb,WAAW,EACT,sHAAsH;gBACxH,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,8CAA8C;yBAC5D;wBACD,OAAO,EAAE;4BACP,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,yIAAyI;yBAC5I;qBACF;oBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"set-summaries.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/set-summaries.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,8CAA8C;IAC3D,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,OAAO;gBACb,WAAW,EACT,sHAAsH;gBACxH,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,8CAA8C;yBAC5D;wBACD,OAAO,EAAE;4BACP,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,yIAAyI;yBAC5I;wBACD,YAAY,EAAE;4BACZ,IAAI,EAAE,OAAO;4BACb,WAAW,EAAE,iEAAiE;4BAC9E,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,IAAI,EAAE;wCACJ,IAAI,EAAE,QAAQ;wCACd,WAAW,EAAE,+EAA+E;qCAC7F;oCACD,IAAI,EAAE;wCACJ,IAAI,EAAE,QAAQ;wCACd,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;wCAC3B,WAAW,EAAE,oFAAoF;qCAClG;iCACF;gCACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;6BAC3B;yBACF;qBACF;oBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC;iBAClD;aACF;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;CACF,CAAC"}
|
|
@@ -40,6 +40,7 @@ describe('getCodeGenPrompt', () => {
|
|
|
40
40
|
temperature: 0.7,
|
|
41
41
|
cheap: false,
|
|
42
42
|
explicitPrompt: 'testx',
|
|
43
|
+
askQuestion: false,
|
|
43
44
|
}).prompt;
|
|
44
45
|
expect(prompt).toContain('testx');
|
|
45
46
|
});
|
|
@@ -54,7 +55,7 @@ describe('getLintFixPrompt', () => {
|
|
|
54
55
|
const command = 'eslint --fix';
|
|
55
56
|
const stdout = 'Fixed 2 errors';
|
|
56
57
|
const stderr = '';
|
|
57
|
-
const prompt = getLintFixPrompt(command, { aiService: 'vertex-ai' }, stdout, stderr);
|
|
58
|
+
const prompt = getLintFixPrompt(command, { aiService: 'vertex-ai', askQuestion: false }, stdout, stderr);
|
|
58
59
|
expect(prompt).toContain('The following lint errors were encountered after the initial code generation:');
|
|
59
60
|
expect(prompt).toContain(`Lint command: ${command}`);
|
|
60
61
|
expect(prompt).toContain('Lint command stdout:');
|
|
@@ -66,7 +67,7 @@ describe('getLintFixPrompt', () => {
|
|
|
66
67
|
const command = 'eslint --fix';
|
|
67
68
|
const stdout = '';
|
|
68
69
|
const stderr = 'Error: Unable to resolve path';
|
|
69
|
-
const prompt = getLintFixPrompt(command, { aiService: 'vertex-ai' }, stdout, stderr);
|
|
70
|
+
const prompt = getLintFixPrompt(command, { aiService: 'vertex-ai', askQuestion: false }, stdout, stderr);
|
|
70
71
|
expect(prompt).toContain('Lint command stderr:');
|
|
71
72
|
expect(prompt).toContain(stderr);
|
|
72
73
|
});
|
|
@@ -74,7 +75,7 @@ describe('getLintFixPrompt', () => {
|
|
|
74
75
|
const command = 'eslint --fix';
|
|
75
76
|
const stdout = 'Fixed 1 error';
|
|
76
77
|
const stderr = '';
|
|
77
|
-
getLintFixPrompt(command, { aiService: 'vertex-ai' }, stdout, stderr);
|
|
78
|
+
getLintFixPrompt(command, { aiService: 'vertex-ai', askQuestion: false }, stdout, stderr);
|
|
78
79
|
expect(limits.verifyCodegenPromptLimit).toHaveBeenCalledWith(expect.any(String));
|
|
79
80
|
});
|
|
80
81
|
it('should log the prompt when verbosePrompt is true', () => {
|
|
@@ -82,7 +83,7 @@ describe('getLintFixPrompt', () => {
|
|
|
82
83
|
const command = 'eslint --fix';
|
|
83
84
|
const stdout = 'Fixed 1 error';
|
|
84
85
|
const stderr = '';
|
|
85
|
-
getLintFixPrompt(command, { aiService: 'vertex-ai', verbose: true }, stdout, stderr);
|
|
86
|
+
getLintFixPrompt(command, { aiService: 'vertex-ai', verbose: true, askQuestion: false }, stdout, stderr);
|
|
86
87
|
expect(consoleSpy).toHaveBeenCalledWith('Lint fix prompt:');
|
|
87
88
|
expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('The following lint errors were encountered'));
|
|
88
89
|
consoleSpy.mockRestore();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-codegen.test.js","sourceRoot":"","sources":["../../src/prompt/prompt-codegen.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,wBAAwB,CAAC;AAEhC,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,QAAQ,EAAE,EAAE;IACZ,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;CACxB,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;CAC1B,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;IACrC,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,KAAK;IACxB,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,KAAK;IACtB,oBAAoB,EAAE,KAAK;IAC3B,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;CACd,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAEvB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QAChF,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC;QAChD,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7C,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7C,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClD,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3C,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B;QAErG,MAAM,MAAM,GAAG,gBAAgB,CAAC;YAC9B,SAAS,EAAE,WAAW;YACtB,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,KAAK;YACZ,cAAc,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"prompt-codegen.test.js","sourceRoot":"","sources":["../../src/prompt/prompt-codegen.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,wBAAwB,CAAC;AAEhC,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,QAAQ,EAAE,EAAE;IACZ,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;CACxB,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;CAC1B,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;IACrC,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,KAAK;IACxB,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,KAAK;IACtB,oBAAoB,EAAE,KAAK;IAC3B,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;CACd,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAEvB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QAChF,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC;QAChD,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7C,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7C,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClD,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3C,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B;QAErG,MAAM,MAAM,GAAG,gBAAgB,CAAC;YAC9B,SAAS,EAAE,WAAW;YACtB,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,KAAK;YACZ,cAAc,EAAE,OAAO;YACvB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC,MAAM,CAAC;QAEV,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,qDAAqD;AACvD,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3C,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B;IACvG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;QACrF,MAAM,OAAO,GAAG,cAAc,CAAC;QAC/B,MAAM,MAAM,GAAG,gBAAgB,CAAC;QAChC,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAEzG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,+EAA+E,CAAC,CAAC;QAC1G,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,kDAAkD,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,OAAO,GAAG,cAAc,CAAC;QAC/B,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,+BAA+B,CAAC;QAE/C,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAEzG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,OAAO,GAAG,cAAc,CAAC;QAC/B,MAAM,MAAM,GAAG,eAAe,CAAC;QAC/B,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,gBAAgB,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAE1F,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG,cAAc,CAAC;QAC/B,MAAM,MAAM,GAAG,eAAe,CAAC;QAC/B,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,gBAAgB,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAEzG,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;QAC5D,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,4CAA4C,CAAC,CAAC,CAAC;QAE/G,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -127,6 +127,7 @@ describe('promptService with askQuestion', () => {
|
|
|
127
127
|
explicitPrompt: 'testx',
|
|
128
128
|
disableContextOptimization: true,
|
|
129
129
|
interactive: true,
|
|
130
|
+
askQuestion: true,
|
|
130
131
|
}));
|
|
131
132
|
expect(vertexAi.generateContent).toHaveBeenCalledTimes(1);
|
|
132
133
|
expect(result).toEqual([]);
|
|
@@ -152,6 +153,7 @@ describe('promptService with askQuestion', () => {
|
|
|
152
153
|
explicitPrompt: 'testx',
|
|
153
154
|
disableContextOptimization: true,
|
|
154
155
|
interactive: true,
|
|
156
|
+
askQuestion: true,
|
|
155
157
|
}));
|
|
156
158
|
expect(vertexAi.generateContent).toHaveBeenCalledTimes(3);
|
|
157
159
|
expect(prompts.input).not.toHaveBeenCalled();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-service-ask-question.test.js","sourceRoot":"","sources":["../../src/prompt/prompt-service-ask-question.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt-service-ask-question.test.js","sourceRoot":"","sources":["../../src/prompt/prompt-service-ask-question.test.ts"],"names":[],"mappings":"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"}
|