genaicode 0.8.4 → 0.8.6
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 +18 -1
- package/dist/ai-service/anthropic.js +1 -1
- package/dist/ai-service/anthropic.js.map +1 -1
- package/dist/ai-service/common.d.ts +2 -1
- package/dist/ai-service/common.js +4 -4
- package/dist/ai-service/common.js.map +1 -1
- package/dist/ai-service/openai.d.ts +8 -0
- package/dist/ai-service/openai.js +182 -0
- package/dist/ai-service/openai.js.map +1 -0
- package/dist/ai-service/service-configurations.js +9 -3
- package/dist/ai-service/service-configurations.js.map +1 -1
- package/dist/cli/cli-options.js +1 -1
- package/dist/cli/cli-options.js.map +1 -1
- package/dist/cli/service-autodetect.js +1 -1
- package/dist/cli/service-autodetect.js.map +1 -1
- package/dist/cli/validate-cli-params.js +1 -1
- package/dist/cli/validate-cli-params.js.map +1 -1
- package/dist/files/find-files.js +5 -2
- package/dist/files/find-files.js.map +1 -1
- package/dist/files/read-files.d.ts +1 -0
- package/dist/files/read-files.js +13 -5
- package/dist/files/read-files.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/main/codegen-types.d.ts +56 -4
- package/dist/main/codegen-utils.js +1 -1
- package/dist/main/codegen-utils.js.map +1 -1
- package/dist/main/codegen.js +5 -5
- package/dist/main/codegen.js.map +1 -1
- package/dist/main/common/content-bus-types.d.ts +1 -1
- package/dist/main/config-lib.d.ts +2 -31
- package/dist/main/config-lib.js +4 -1
- package/dist/main/config-lib.js.map +1 -1
- package/dist/main/config-schema.d.ts +14 -0
- package/dist/main/config-schema.js +145 -0
- package/dist/main/config-schema.js.map +1 -0
- package/dist/main/config-types.d.ts +36 -0
- package/dist/main/config-types.js +2 -0
- package/dist/main/config-types.js.map +1 -0
- package/dist/main/config.d.ts +2 -1
- package/dist/main/config.js +11 -3
- package/dist/main/config.js.map +1 -1
- package/dist/main/interactive/select-ai-service.js +1 -1
- package/dist/main/interactive/select-ai-service.js.map +1 -1
- package/dist/main/plugin-loader.d.ts +19 -4
- package/dist/main/plugin-loader.js +155 -48
- package/dist/main/plugin-loader.js.map +1 -1
- package/dist/main/ui/backend/api-handlers.d.ts +6 -0
- package/dist/main/ui/backend/api-handlers.js +5 -0
- package/dist/main/ui/backend/api-handlers.js.map +1 -0
- package/dist/main/ui/backend/api.d.ts +1 -0
- package/dist/main/ui/backend/api.js +6 -313
- package/dist/main/ui/backend/api.js.map +1 -1
- package/dist/main/ui/backend/endpoints/config-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/config-endpoint.js +39 -0
- package/dist/main/ui/backend/endpoints/config-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/content-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/content-endpoint.js +14 -0
- package/dist/main/ui/backend/endpoints/content-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/edit-message-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/edit-message-endpoint.js +34 -0
- package/dist/main/ui/backend/endpoints/edit-message-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/execute-codegen-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/execute-codegen-endpoint.js +44 -0
- package/dist/main/ui/backend/endpoints/execute-codegen-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/execution-status-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/execution-status-endpoint.js +37 -0
- package/dist/main/ui/backend/endpoints/execution-status-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/generate-content-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/generate-content-endpoint.js +29 -0
- package/dist/main/ui/backend/endpoints/generate-content-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/index.d.ts +11 -0
- package/dist/main/ui/backend/endpoints/index.js +12 -0
- package/dist/main/ui/backend/endpoints/index.js.map +1 -0
- package/dist/main/ui/backend/endpoints/interrupt-execution-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/interrupt-execution-endpoint.js +14 -0
- package/dist/main/ui/backend/endpoints/interrupt-execution-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/iteration-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/iteration-endpoint.js +16 -0
- package/dist/main/ui/backend/endpoints/iteration-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/question-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/question-endpoint.js +37 -0
- package/dist/main/ui/backend/endpoints/question-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/service-configuration-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/service-configuration-endpoint.js +54 -0
- package/dist/main/ui/backend/endpoints/service-configuration-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/usage-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/usage-endpoint.js +15 -0
- package/dist/main/ui/backend/endpoints/usage-endpoint.js.map +1 -0
- package/dist/main/ui/backend/service.d.ts +1 -1
- package/dist/main/ui/common/api-types.d.ts +5 -1
- package/dist/main/ui/frontend/assets/index-BAAQr5b1.js +1747 -0
- package/dist/main/ui/frontend/index.html +1 -1
- package/dist/prompt/ai-service-fallback.js +10 -3
- package/dist/prompt/ai-service-fallback.js.map +1 -1
- package/dist/prompt/function-calling-validate.d.ts +1 -1
- package/dist/prompt/function-calling-validate.js +13 -5
- package/dist/prompt/function-calling-validate.js.map +1 -1
- package/dist/prompt/function-calling.js +2 -1
- package/dist/prompt/function-calling.js.map +1 -1
- package/dist/prompt/function-defs/ask-question.d.ts +1 -0
- package/dist/prompt/function-defs/ask-question.js +66 -9
- package/dist/prompt/function-defs/ask-question.js.map +1 -1
- package/dist/prompt/function-defs/optimize-context.js +2 -2
- package/dist/prompt/function-defs/optimize-context.js.map +1 -1
- package/dist/prompt/limits.js +2 -2
- package/dist/prompt/prompt-service.js +4 -2
- package/dist/prompt/prompt-service.js.map +1 -1
- package/dist/prompt/prompt-service.test-utils.d.ts +1 -1
- package/dist/prompt/prompt-service.test-utils.js +1 -1
- package/dist/prompt/prompt-service.test-utils.js.map +1 -1
- package/dist/prompt/static-prompts.d.ts +2 -1
- package/dist/prompt/static-prompts.js +2 -1
- package/dist/prompt/static-prompts.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/code-generation.js +15 -15
- package/dist/prompt/steps/step-ask-question/handlers/code-generation.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/default-action.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/default-action.js +2 -2
- package/dist/prompt/steps/step-ask-question/handlers/default-action.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-update-file.d.ts +2 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-update-file.js +136 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-update-file.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/lint.js +23 -3
- package/dist/prompt/steps/step-ask-question/handlers/lint.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/request-permissions.js +1 -1
- 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 +1 -1
- package/dist/prompt/steps/step-ask-question/step-ask-question.js +9 -5
- package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
- package/dist/prompt/steps/step-codegen-planning.js +63 -3
- package/dist/prompt/steps/step-codegen-planning.js.map +1 -1
- package/dist/prompt/steps/step-context-optimization.d.ts +3 -0
- package/dist/prompt/steps/step-context-optimization.js +63 -49
- package/dist/prompt/steps/step-context-optimization.js.map +1 -1
- package/dist/prompt/steps/step-generate-codegen-summary.js +3 -5
- package/dist/prompt/steps/step-generate-codegen-summary.js.map +1 -1
- package/dist/prompt/steps/step-process-file-updates.js +56 -10
- package/dist/prompt/steps/step-process-file-updates.js.map +1 -1
- package/dist/prompt/steps/step-summarization.js +2 -0
- package/dist/prompt/steps/step-summarization.js.map +1 -1
- package/dist/prompt/steps/step-validate-recover.js +5 -5
- package/dist/prompt/steps/step-validate-recover.js.map +1 -1
- package/dist/prompt/systemprompt.d.ts +2 -1
- package/dist/prompt/systemprompt.js +16 -4
- package/dist/prompt/systemprompt.js.map +1 -1
- package/dist/vite-genaicode/vite-genaicode-plugin.d.ts +4 -2
- package/dist/vite-genaicode/vite-genaicode-plugin.js +41 -24
- package/dist/vite-genaicode/vite-genaicode-plugin.js.map +1 -1
- package/package.json +7 -7
- package/dist/main/ui/frontend/assets/index-jwSqt8cG.js +0 -1337
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<meta name="keywords" content="GenAIcode, AI, code generation, programming" />
|
|
8
8
|
<title>GenAIcode - AI-Powered Code Generation</title>
|
|
9
9
|
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
|
|
10
|
-
<script type="module" crossorigin src="/assets/index-
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-BAAQr5b1.js"></script>
|
|
11
11
|
<link rel="stylesheet" crossorigin href="/assets/index-S_ocA1xG.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body data-security-token="__SECURITY_TOKEN__">
|
|
@@ -4,7 +4,7 @@ import { abortController } from '../main/interactive/codegen-worker.js';
|
|
|
4
4
|
const AI_SERVICES_MAP = [
|
|
5
5
|
[() => process.env.ANTHROPIC_API_KEY, 'anthropic'],
|
|
6
6
|
[() => process.env.GOOGLE_CLOUD_PROJECT && process.env.GOOGLE_CLOUD_REGION, 'vertex-ai-claude'],
|
|
7
|
-
[() => process.env.OPENAI_API_KEY, '
|
|
7
|
+
[() => process.env.OPENAI_API_KEY, 'openai'],
|
|
8
8
|
[() => process.env.GOOGLE_CLOUD_PROJECT, 'vertex-ai'],
|
|
9
9
|
[() => process.env.API_KEY, 'ai-studio'],
|
|
10
10
|
];
|
|
@@ -29,14 +29,21 @@ export async function handleAiServiceFallback(generateContentFns, currentService
|
|
|
29
29
|
putSystemMessage(`Operation interrupted for ${permanentService}`);
|
|
30
30
|
throw error; // Re-throw the interruption error
|
|
31
31
|
}
|
|
32
|
+
if (!options.disableAiServiceFallback && (options.interactive || options.ui)) {
|
|
33
|
+
putSystemMessage(`Content generation failed for ${permanentService}`, { error });
|
|
34
|
+
const shouldRetry = await askUserForConfirmation(`Content generation failed, do you want to retry?`, true);
|
|
35
|
+
if (shouldRetry.confirmed) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
32
39
|
if (error.message.includes('Rate limit exceeded')) {
|
|
33
40
|
putSystemMessage(`Rate limit exceeded for ${permanentService}`);
|
|
34
|
-
if (options.disableAiServiceFallback) {
|
|
41
|
+
if (!options.disableAiServiceFallback) {
|
|
35
42
|
if (options.interactive || options.ui) {
|
|
36
43
|
const nextService = getNextAiService(permanentService);
|
|
37
44
|
if (nextService) {
|
|
38
45
|
const shouldSwitch = await askUserForConfirmation(`Rate limit exceeded for ${permanentService}. Would you like to switch to ${nextService}?`, true);
|
|
39
|
-
if (shouldSwitch) {
|
|
46
|
+
if (shouldSwitch.confirmed) {
|
|
40
47
|
putSystemMessage(`Switching to ${nextService} due to rate limiting.`);
|
|
41
48
|
permanentService = nextService;
|
|
42
49
|
retryCount++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-service-fallback.js","sourceRoot":"","sources":["../../src/prompt/ai-service-fallback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,MAAM,eAAe,GAAG;IACtB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,WAAW,CAAC;IAClD,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;IAC/F,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"ai-service-fallback.js","sourceRoot":"","sources":["../../src/prompt/ai-service-fallback.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ValidatorResult } from 'jsonschema';
|
|
2
2
|
import { FunctionCall } from '../ai-service/common.js';
|
|
3
|
-
export declare function validateFunctionCall(call: FunctionCall | undefined, requiredFunctionName: string): Omit<ValidatorResult, 'addError'> | undefined;
|
|
3
|
+
export declare function validateFunctionCall(call: FunctionCall | undefined, requiredFunctionName: string, calls: FunctionCall[]): Omit<ValidatorResult, 'addError'> | undefined;
|
|
@@ -2,18 +2,26 @@ import { Validator } from 'jsonschema';
|
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { getFunctionDefs } from './function-calling.js';
|
|
4
4
|
import { rcConfig } from '../main/config.js';
|
|
5
|
-
export function validateFunctionCall(call, requiredFunctionName) {
|
|
5
|
+
export function validateFunctionCall(call, requiredFunctionName, calls) {
|
|
6
6
|
const validator = new Validator();
|
|
7
7
|
const functionDef = getFunctionDefs().find((def) => def.name === call?.name);
|
|
8
|
-
//
|
|
9
|
-
if (!call
|
|
8
|
+
// Check if a function was called
|
|
9
|
+
if (!call) {
|
|
10
10
|
return makeError(`Function "${requiredFunctionName}" was not called.`, call, '');
|
|
11
11
|
}
|
|
12
|
-
//
|
|
12
|
+
// Check if only one function was called
|
|
13
|
+
if (calls.length !== 1) {
|
|
14
|
+
return makeError(`You called too many functions(${calls.length})! Only one function(${requiredFunctionName}) should be called.`, calls, '');
|
|
15
|
+
}
|
|
16
|
+
// Check if the function name is correct
|
|
17
|
+
if (call.name !== requiredFunctionName) {
|
|
18
|
+
return makeError(`Function "${call.name}" was called, while the expectation was to get "${requiredFunctionName}" function call.`, call, '');
|
|
19
|
+
}
|
|
20
|
+
// Check if the function is defined
|
|
13
21
|
if (!functionDef) {
|
|
14
22
|
return makeError(`Function "${call.name}" is not defined.`, call, '');
|
|
15
23
|
}
|
|
16
|
-
//
|
|
24
|
+
// Validate against the schema
|
|
17
25
|
const validationResult = validator.validate(call.args, functionDef.parameters);
|
|
18
26
|
if (validationResult.errors.length > 0) {
|
|
19
27
|
return validationResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-calling-validate.js","sourceRoot":"","sources":["../../src/prompt/function-calling-validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA4C,MAAM,YAAY,CAAC;AACjF,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,UAAU,oBAAoB,CAClC,IAA8B,EAC9B,oBAA4B;
|
|
1
|
+
{"version":3,"file":"function-calling-validate.js","sourceRoot":"","sources":["../../src/prompt/function-calling-validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { getImageAssets } from './function-defs/get-image-assets.js';
|
|
|
4
4
|
import { getCodegenSummaryDef } from './function-defs/codegen-summary.js';
|
|
5
5
|
import { explanation } from './function-defs/explanation.js';
|
|
6
6
|
import { generateImage } from './function-defs/generate-image.js';
|
|
7
|
-
import { getAskQuestionDef, sendMessageWithImage, requestPermissions, requestFilesContent, removeFilesFromContext, contextOptimization, searchCode, } from './function-defs/ask-question.js';
|
|
7
|
+
import { getAskQuestionDef, sendMessageWithImage, requestPermissions, requestFilesContent, removeFilesFromContext, contextOptimization, searchCode, lint, } from './function-defs/ask-question.js';
|
|
8
8
|
import { optimizeContext } from './function-defs/optimize-context.js';
|
|
9
9
|
import { setSummaries } from './function-defs/set-summaries.js';
|
|
10
10
|
import { updateHistory } from './function-defs/update-history.js';
|
|
@@ -26,6 +26,7 @@ export function getFunctionDefs() {
|
|
|
26
26
|
sendMessageWithImage,
|
|
27
27
|
requestPermissions,
|
|
28
28
|
searchCode,
|
|
29
|
+
lint,
|
|
29
30
|
requestFilesContent,
|
|
30
31
|
removeFilesFromContext,
|
|
31
32
|
contextOptimization,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-calling.js","sourceRoot":"","sources":["../../src/prompt/function-calling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,UAAU,
|
|
1
|
+
{"version":3,"file":"function-calling.js","sourceRoot":"","sources":["../../src/prompt/function-calling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,UAAU,EACV,IAAI,GACL,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,aAAa;QACb,cAAc;QACd,oBAAoB,EAAE;QACtB,qBAAqB,EAAE;QACvB,WAAW;QACX,aAAa;QACb,iBAAiB,EAAE;QACnB,oBAAoB;QACpB,kBAAkB;QAClB,UAAU;QACV,IAAI;QACJ,mBAAmB;QACnB,sBAAsB;QACtB,mBAAmB;QACnB,eAAe;QACf,YAAY;QACZ,aAAa;QACb,WAAW;QACX,GAAG,gBAAgB,EAAE;KACtB,CAAC,GAAG,CAAC,CAAC,EAAe,EAAE,EAAE;QACxB,IACE,CAAC,mBAAmB;YACpB,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW;YACpC,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAC/C,CAAC;YACD,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,mBAAmB,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;QAC9C,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -9,16 +9,33 @@ function getActionTypeDescription() {
|
|
|
9
9
|
Detailed Explanation of actionTypes:
|
|
10
10
|
- sendMessage: Use for general information, clarifications, or when no specific code is needed.
|
|
11
11
|
- sendMessageWithImage: Use when an image is needed to provide context or additional information.
|
|
12
|
+
- updateFile: Use to update a single file with new content. The user will be able to see the diff and approve or reject the change. Then you will be able to continue the conversation.
|
|
12
13
|
- requestPermissions: Use **only when you lack necessary permissions** for actions like creating, deleting, or moving files, and need to request them from the user.
|
|
13
14
|
- requestFilesContent: Use specifically when needing to access or review the contents of files, and it was not provided yet in any of preceeding \`getSourceCode\` function responses.
|
|
14
15
|
- removeFilesFromContext: Use to remove unnecessary file contents from context, optimizing token usage.
|
|
15
|
-
- confirmCodeGeneration: Use to confirm with the user before starting code generation tasks.
|
|
16
|
-
- cancelCodeGeneration: Use to stop the session, and the conversation.
|
|
17
16
|
- contextOptimization: Use to manage and optimize context during code generation tasks, allowing the LLM to provide guidance on what parts of the context are most relevant to keep.
|
|
18
17
|
- searchCode: Use to search through source code files with flexible filtering. Supports searching in file contents and names, with pattern matching and case sensitivity options. Useful for finding specific code patterns or references across the codebase.
|
|
18
|
+
- confirmCodeGeneration: Use to confirm with the user before starting code generation tasks.
|
|
19
|
+
- cancelCodeGeneration: Use to stop the session, and the conversation.
|
|
19
20
|
${rcConfig.lintCommand ? '- lint: Use to check the code for errors and provide feedback on the quality of the code.' : ''}
|
|
20
|
-
${pluginDescriptions}
|
|
21
|
+
${pluginDescriptions}
|
|
22
|
+
|
|
23
|
+
This value must be derived from the decision-making process, and must be one of the above values.`;
|
|
21
24
|
}
|
|
25
|
+
const actionTypeOptions = [
|
|
26
|
+
'sendMessage',
|
|
27
|
+
'sendMessageWithImage',
|
|
28
|
+
'updateFile',
|
|
29
|
+
'requestPermissions',
|
|
30
|
+
'requestFilesContent',
|
|
31
|
+
'removeFilesFromContext',
|
|
32
|
+
'contextOptimization',
|
|
33
|
+
'searchCode',
|
|
34
|
+
'confirmCodeGeneration',
|
|
35
|
+
'cancelCodeGeneration',
|
|
36
|
+
...(rcConfig.lintCommand ? ['lint'] : []),
|
|
37
|
+
...Array.from(getRegisteredActionHandlers().keys()),
|
|
38
|
+
];
|
|
22
39
|
/**
|
|
23
40
|
* Function definition for askQuestion
|
|
24
41
|
*
|
|
@@ -47,17 +64,40 @@ export const getAskQuestionDef = () => ({
|
|
|
47
64
|
properties: {
|
|
48
65
|
decisionMakingProcess: {
|
|
49
66
|
type: 'string',
|
|
50
|
-
description: `A detailed
|
|
67
|
+
description: `A detailed reasoning framework describing how you chose the action.
|
|
68
|
+
The decisionMakingProcess value must be provided in the following format:
|
|
51
69
|
|
|
52
|
-
|
|
70
|
+
\`\`\`
|
|
71
|
+
1. **Contextual Analysis**:
|
|
72
|
+
Assess the current information, including available permissions,
|
|
73
|
+
the current context, and task requirements. Identify any missing elements
|
|
74
|
+
that are critical to task completion.
|
|
75
|
+
|
|
76
|
+
2. **Options Evaluation**:
|
|
77
|
+
For every action type think how this action can help in the current context. Provide reasoning for each action type in such format:
|
|
78
|
+
\`\`\`
|
|
79
|
+
${actionTypeOptions
|
|
80
|
+
.map((actionType) => ` - ${actionType}: <reasoning>`)
|
|
81
|
+
.join('\
|
|
82
|
+
')}
|
|
83
|
+
\`\`\`
|
|
53
84
|
|
|
54
|
-
|
|
85
|
+
3. **Decision Justification**:
|
|
86
|
+
State the reasoning for the proposed action, considering whether planning,
|
|
87
|
+
clarification, or a direct action is required. If there's any ambiguity,
|
|
88
|
+
prefer a confirmatory action (e.g., "confirmCodeGeneration").
|
|
55
89
|
|
|
56
|
-
|
|
90
|
+
4. **Minimal Action Selection**:
|
|
91
|
+
Determine the minimal action that can make progress toward the task goal.
|
|
92
|
+
Avoid requesting unnecessary permissions or context that isn't strictly needed.
|
|
57
93
|
|
|
58
|
-
|
|
94
|
+
5. **Evaluation of Action Choice**:
|
|
95
|
+
Double-check if the selected action aligns with the task requirements
|
|
96
|
+
and the user-provided constraints.
|
|
59
97
|
|
|
60
|
-
|
|
98
|
+
6. **Action type**:
|
|
99
|
+
Final selection of the action type value based on the above steps.
|
|
100
|
+
\`\`\``,
|
|
61
101
|
},
|
|
62
102
|
actionType: {
|
|
63
103
|
type: 'string',
|
|
@@ -71,6 +111,7 @@ Output this in step-by-step format to ensure clarity in decision-making.`,
|
|
|
71
111
|
'cancelCodeGeneration',
|
|
72
112
|
'contextOptimization',
|
|
73
113
|
'searchCode',
|
|
114
|
+
'updateFile',
|
|
74
115
|
...(rcConfig.lintCommand ? ['lint'] : []),
|
|
75
116
|
...Array.from(getRegisteredActionHandlers().keys()),
|
|
76
117
|
],
|
|
@@ -241,4 +282,20 @@ export const searchCode = {
|
|
|
241
282
|
required: ['query'],
|
|
242
283
|
},
|
|
243
284
|
};
|
|
285
|
+
// lint
|
|
286
|
+
export const lint = {
|
|
287
|
+
name: 'lint',
|
|
288
|
+
description: 'Use this function to run lint command, and get output.',
|
|
289
|
+
parameters: {
|
|
290
|
+
type: 'object',
|
|
291
|
+
properties: {
|
|
292
|
+
filePaths: {
|
|
293
|
+
type: 'array',
|
|
294
|
+
items: { type: 'string' },
|
|
295
|
+
description: 'An array of absolute file paths to lint. If not provided, all files will be linted.',
|
|
296
|
+
},
|
|
297
|
+
},
|
|
298
|
+
required: [],
|
|
299
|
+
},
|
|
300
|
+
};
|
|
244
301
|
//# sourceMappingURL=ask-question.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-question.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/ask-question.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,sCAAsC,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAElH,SAAS,wBAAwB;IAC/B,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,sCAAsC,EAAE,CAAC,OAAO,EAAE,CAAC;SACtF,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,UAAU,KAAK,WAAW,EAAE,CAAC;SACtE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO
|
|
1
|
+
{"version":3,"file":"ask-question.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/ask-question.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,7 @@ This means that the file \`something.js\` file is not relevant to the user promp
|
|
|
41
41
|
},
|
|
42
42
|
reasoning: {
|
|
43
43
|
type: 'string',
|
|
44
|
-
description: '
|
|
44
|
+
description: 'Step-by-step analysis of what is needed for the user prompt and which files are needed to fullfil the prompt.',
|
|
45
45
|
},
|
|
46
46
|
optimizedContext: {
|
|
47
47
|
type: 'array',
|
|
@@ -51,7 +51,7 @@ This means that the file \`something.js\` file is not relevant to the user promp
|
|
|
51
51
|
properties: {
|
|
52
52
|
reasoning: {
|
|
53
53
|
type: 'string',
|
|
54
|
-
description: '
|
|
54
|
+
description: 'Step-by-steo analysis for why the file is relevant to the user prompt.',
|
|
55
55
|
},
|
|
56
56
|
filePath: {
|
|
57
57
|
type: 'string',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optimize-context.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/optimize-context.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;yKA4B0J;IACvK,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6BAA6B;aAC3C;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,
|
|
1
|
+
{"version":3,"file":"optimize-context.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/optimize-context.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;yKA4B0J;IACvK,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6BAA6B;aAC3C;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,+GAA+G;aAClH;YACD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,0EAA0E;gBACvF,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,SAAS,EAAE;4BACT,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,wEAAwE;yBACtF;wBACD,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,4CAA4C;yBAC1D;wBACD,SAAS,EAAE;4BACT,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,gFAAgF;4BAC7F,OAAO,EAAE,GAAG;4BACZ,OAAO,EAAE,CAAC;yBACX;qBACF;oBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC;iBACjD;aACF;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,kBAAkB,CAAC;KAC1D;CACF,CAAC"}
|
package/dist/prompt/limits.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import assert from 'node:assert';
|
|
2
2
|
import { estimateTokenCount } from './token-estimator.js';
|
|
3
3
|
const SYSTEM_PROMPT_LIMIT = 3500;
|
|
4
|
-
const CODEGEN_PROMPT_LIMIT =
|
|
5
|
-
const SOURCE_CODE_LIMIT =
|
|
4
|
+
const CODEGEN_PROMPT_LIMIT = 1600;
|
|
5
|
+
const SOURCE_CODE_LIMIT = 110000;
|
|
6
6
|
function verifyPromptLimit(promptType, prompt, limit) {
|
|
7
7
|
const tokenCount = estimateTokenCount(prompt);
|
|
8
8
|
console.log(`${promptType} prompt estimated token count: ${tokenCount}`);
|
|
@@ -16,6 +16,7 @@ import { getRegisteredGenerateContentHooks } from '../main/plugin-loader.js';
|
|
|
16
16
|
import { generateCodegenSummary } from './steps/step-generate-codegen-summary.js';
|
|
17
17
|
import { processFileUpdates } from './steps/step-process-file-updates.js';
|
|
18
18
|
import { putSystemMessage, putUserMessage } from '../main/common/content-bus.js';
|
|
19
|
+
import { rcConfig } from '../main/config.js';
|
|
19
20
|
/** A function that communicates with model using */
|
|
20
21
|
export async function promptService(generateContentFns, generateImageFns, codegenPrompt, waitIfPaused = () => Promise.resolve()) {
|
|
21
22
|
const generateContentFn = async (...args) => {
|
|
@@ -38,15 +39,16 @@ export async function promptService(generateContentFns, generateImageFns, codege
|
|
|
38
39
|
return result;
|
|
39
40
|
}
|
|
40
41
|
async function executePromptService(generateContentFn, generateImageFn, codegenPrompt, waitIfPaused = () => Promise.resolve()) {
|
|
41
|
-
const messages = prepareMessages(codegenPrompt);
|
|
42
42
|
// First stage: summarize the source code
|
|
43
43
|
if (!codegenPrompt.options.disableContextOptimization) {
|
|
44
44
|
await summarizeSourceCode(generateContentFn, getSourceCode({ forceAll: true }, codegenPrompt.options), codegenPrompt.options);
|
|
45
45
|
}
|
|
46
|
+
// Prepare messages for AI services
|
|
47
|
+
const messages = prepareMessages(codegenPrompt);
|
|
46
48
|
// Second stage: generate code generation summary, which should not take a lot of output tokens
|
|
47
49
|
const getSourceCodeRequest = { name: 'getSourceCode' };
|
|
48
50
|
const prompt = [
|
|
49
|
-
{ type: 'systemPrompt', systemPrompt: getSystemPrompt(codegenPrompt.options) },
|
|
51
|
+
{ type: 'systemPrompt', systemPrompt: getSystemPrompt(rcConfig, codegenPrompt.options) },
|
|
50
52
|
{ type: 'user', text: INITIAL_GREETING },
|
|
51
53
|
{
|
|
52
54
|
type: 'assistant',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-service.js","sourceRoot":"","sources":["../../src/prompt/prompt-service.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"prompt-service.js","sourceRoot":"","sources":["../../src/prompt/prompt-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-service.test-utils.js","sourceRoot":"","sources":["../../src/prompt/prompt-service.test-utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prompt-service.test-utils.js","sourceRoot":"","sources":["../../src/prompt/prompt-service.test-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Static prompts used in the prompt-service module.
|
|
3
3
|
* These prompts are used in the initial conversation with the AI service.
|
|
4
4
|
*/
|
|
5
|
+
import { FileUpdate } from '../main/codegen-types';
|
|
5
6
|
/** Initial greeting from the user */
|
|
6
7
|
export declare const INITIAL_GREETING = "Hello, GenAIcode!";
|
|
7
8
|
/** Assistant's response asking for source code and other assets */
|
|
@@ -13,4 +14,4 @@ export declare const READY_TO_ASSIST = "Thank you, I'm ready to assist you with
|
|
|
13
14
|
/** Assistant's response when generating code */
|
|
14
15
|
export declare const CODEGEN_SUMMARY_PROMPT = "Planning phase completed. Would you like to proceed with the planned changes?";
|
|
15
16
|
/** Template for partial prompt when requesting changes for a specific file */
|
|
16
|
-
export declare const getPartialPromptTemplate: (
|
|
17
|
+
export declare const getPartialPromptTemplate: (file: FileUpdate) => string;
|
|
@@ -18,5 +18,6 @@ export const READY_TO_ASSIST = "Thank you, I'm ready to assist you with your req
|
|
|
18
18
|
/** Assistant's response when generating code */
|
|
19
19
|
export const CODEGEN_SUMMARY_PROMPT = 'Planning phase completed. Would you like to proceed with the planned changes?';
|
|
20
20
|
/** Template for partial prompt when requesting changes for a specific file */
|
|
21
|
-
export const getPartialPromptTemplate = (
|
|
21
|
+
export const getPartialPromptTemplate = (file) => `Please now generate update for the \`${file.filePath}\` file using \`${file.updateToolName}\`.` +
|
|
22
|
+
(file.prompt ? `\n\n${file.prompt}` : '');
|
|
22
23
|
//# sourceMappingURL=static-prompts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-prompts.js","sourceRoot":"","sources":["../../src/prompt/static-prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"static-prompts.js","sourceRoot":"","sources":["../../src/prompt/static-prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,qCAAqC;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAEpD,mEAAmE;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;aAKtB,CAAC;AAEd,4DAA4D;AAC5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,2EAA2E,CAAC;AAEhH,6DAA6D;AAC7D,MAAM,CAAC,MAAM,eAAe,GAAG,uDAAuD,CAAC;AAEvF,gDAAgD;AAChD,MAAM,CAAC,MAAM,sBAAsB,GAAG,+EAA+E,CAAC;AAEtH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,IAAgB,EAAU,EAAE,CACnE,wCAAwC,IAAI,CAAC,QAAQ,mBAAmB,IAAI,CAAC,cAAc,KAAK;IAChG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -16,7 +16,7 @@ export async function handleCodeGeneration({ generateContentFn, generateImageFn,
|
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
18
|
// Ask user to confirm the planning result
|
|
19
|
-
const planningConfirmation = await askUserForConfirmationWithAnswer(
|
|
19
|
+
const planningConfirmation = await askUserForConfirmationWithAnswer(CODEGEN_SUMMARY_PROMPT, 'Accept planning and continue', 'Reject planning and return to conversation', true);
|
|
20
20
|
if (!planningConfirmation.confirmed) {
|
|
21
21
|
// User rejected the planning, return to conversation
|
|
22
22
|
return {
|
|
@@ -72,6 +72,8 @@ export async function handleCodeGeneration({ generateContentFn, generateImageFn,
|
|
|
72
72
|
],
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
|
+
putAssistantMessage('Codegen summary is generated. Would you like to proceed with the code changes?');
|
|
76
|
+
putUserMessage(codegenSummaryConfirmation.answer || 'Accept codegen summary and continue');
|
|
75
77
|
prompt.push({
|
|
76
78
|
type: 'assistant',
|
|
77
79
|
text: 'Codegen summary is generated. Would you like to proceed with the code changes?',
|
|
@@ -83,6 +85,15 @@ export async function handleCodeGeneration({ generateContentFn, generateImageFn,
|
|
|
83
85
|
const updateResults = await processFileUpdates(generateContentFn, prompt, getFunctionDefs(), options, codegenSummaryRequest, waitIfPaused, generateImageFn);
|
|
84
86
|
const functionCalls = [...baseResult, ...updateResults];
|
|
85
87
|
const confirmed = await askUserForConfirmationWithAnswer('Code changes are generated, now what?', 'Apply code changes', 'Continue conversation', true);
|
|
88
|
+
putAssistantMessage('Code changes are generated, now what?');
|
|
89
|
+
putUserMessage(confirmed.answer || 'Apply code changes.');
|
|
90
|
+
prompt.push({
|
|
91
|
+
type: 'assistant',
|
|
92
|
+
text: 'Code changes are generated, now what?',
|
|
93
|
+
}, {
|
|
94
|
+
type: 'user',
|
|
95
|
+
text: confirmed.answer || 'Apply code changes.',
|
|
96
|
+
});
|
|
86
97
|
if (confirmed.confirmed) {
|
|
87
98
|
putSystemMessage('Applying code changes...');
|
|
88
99
|
if (options.dryRun) {
|
|
@@ -90,31 +101,20 @@ export async function handleCodeGeneration({ generateContentFn, generateImageFn,
|
|
|
90
101
|
}
|
|
91
102
|
else {
|
|
92
103
|
// Apply the code changes
|
|
93
|
-
await updateFiles(functionCalls.filter((call) => call.name !== 'explanation' && call.name !== 'getSourceCode'), options);
|
|
104
|
+
await updateFiles(functionCalls.filter((call) => call.name !== 'explanation' && call.name !== 'getSourceCode' && call.name !== 'codegenSummary'), options);
|
|
94
105
|
putSystemMessage('Code changes applied successfully');
|
|
95
106
|
}
|
|
96
107
|
}
|
|
97
108
|
return {
|
|
98
109
|
breakLoop: confirmed.confirmed ?? true,
|
|
99
110
|
stepResult: functionCalls,
|
|
100
|
-
items: [
|
|
101
|
-
{
|
|
102
|
-
assistant: {
|
|
103
|
-
type: 'assistant',
|
|
104
|
-
text: 'Code changes are generated, now what?',
|
|
105
|
-
},
|
|
106
|
-
user: {
|
|
107
|
-
type: 'user',
|
|
108
|
-
text: confirmed.answer || 'Apply code changes.',
|
|
109
|
-
},
|
|
110
|
-
},
|
|
111
|
-
],
|
|
111
|
+
items: [],
|
|
112
112
|
};
|
|
113
113
|
}
|
|
114
114
|
catch (error) {
|
|
115
115
|
putSystemMessage(`Error during code generation: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
116
116
|
return {
|
|
117
|
-
breakLoop:
|
|
117
|
+
breakLoop: true,
|
|
118
118
|
items: [
|
|
119
119
|
{
|
|
120
120
|
assistant: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-generation.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/code-generation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC/G,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,MAAM,EACN,OAAO,GACY;IACnB,MAAM,cAAc,GAAG,MAAM,0BAA0B,CAAC,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5F,IAAI,cAAc,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;QACxC,OAAO;YACL,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,MAAM,oBAAoB,GAAG,MAAM,gCAAgC,CACjE
|
|
1
|
+
{"version":3,"file":"code-generation.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/code-generation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ActionHandlerProps, ActionResult } from '../step-ask-question-types.js';
|
|
2
|
-
export declare function handleDefaultAction({
|
|
2
|
+
export declare function handleDefaultAction({ askQuestionMessage }: ActionHandlerProps): Promise<ActionResult>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export async function handleDefaultAction({
|
|
1
|
+
export async function handleDefaultAction({ askQuestionMessage }) {
|
|
2
2
|
return {
|
|
3
3
|
breakLoop: false,
|
|
4
4
|
items: [
|
|
5
5
|
{
|
|
6
|
-
assistant: { type: 'assistant', text:
|
|
6
|
+
assistant: { type: 'assistant', text: askQuestionMessage ?? '' },
|
|
7
7
|
user: {
|
|
8
8
|
type: 'user',
|
|
9
9
|
text: "I don't want to start the code generation yet, let's talk a bit more.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-action.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/default-action.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"default-action.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/default-action.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EAAE,kBAAkB,EAAsB;IAClF,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE;YACL;gBACE,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,IAAI,EAAE,EAAE;gBAChE,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,uEAAuE;iBAC9E;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|