genaicode 0.9.0 → 0.9.2
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/ai-service/common-types.d.ts +1 -0
- package/dist/ai-service/openai.js +1 -1
- package/dist/ai-service/service-configurations.js +1 -1
- package/dist/cli/cli-params.js +21 -0
- package/dist/cli/cli-params.js.map +1 -1
- package/dist/cli/validate-cli-params.js +19 -11
- package/dist/cli/validate-cli-params.js.map +1 -1
- package/dist/files/read-files.js +8 -2
- package/dist/files/read-files.js.map +1 -1
- package/dist/files/source-code-tree.d.ts +2 -5
- package/dist/files/source-code-tree.js +3 -32
- package/dist/files/source-code-tree.js.map +1 -1
- package/dist/files/source-code-types.d.ts +7 -2
- package/dist/files/source-code-utils.d.ts +22 -0
- package/dist/files/source-code-utils.js +70 -0
- package/dist/files/source-code-utils.js.map +1 -0
- package/dist/files/summary-cache.d.ts +1 -1
- package/dist/files/summary-cache.js +1 -1
- package/dist/main/common/user-actions.d.ts +1 -1
- package/dist/main/common/user-actions.js +3 -3
- package/dist/main/common/user-actions.js.map +1 -1
- package/dist/main/ui/backend/endpoints/generate-content-endpoint.js +6 -5
- package/dist/main/ui/backend/endpoints/generate-content-endpoint.js.map +1 -1
- package/dist/main/ui/backend/service.js +10 -8
- package/dist/main/ui/backend/service.js.map +1 -1
- package/dist/main/ui/frontend/assets/{index-DfiFNFf2.js → index-B0R1bgBi.js} +69 -65
- package/dist/main/ui/frontend/index.html +1 -1
- package/dist/prompt/ai-service-fallback.js +1 -1
- package/dist/prompt/ai-service-fallback.js.map +1 -1
- package/dist/prompt/function-calling-validate.js +1 -0
- package/dist/prompt/function-calling-validate.js.map +1 -1
- package/dist/prompt/function-calling.js +2 -0
- package/dist/prompt/function-calling.js.map +1 -1
- package/dist/prompt/function-defs/ask-question.js +4 -0
- package/dist/prompt/function-defs/ask-question.js.map +1 -1
- package/dist/prompt/function-defs/context-compression.d.ts +27 -0
- package/dist/prompt/function-defs/context-compression.js +34 -0
- package/dist/prompt/function-defs/context-compression.js.map +1 -0
- package/dist/prompt/function-defs/get-source-code.js +8 -11
- package/dist/prompt/function-defs/get-source-code.js.map +1 -1
- package/dist/prompt/function-defs/set-summaries.d.ts +1 -1
- package/dist/prompt/function-defs/set-summaries.js +10 -6
- package/dist/prompt/function-defs/set-summaries.js.map +1 -1
- package/dist/prompt/prompt-service.js +3 -3
- package/dist/prompt/prompt-service.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/code-generation.js +26 -6
- package/dist/prompt/steps/step-ask-question/handlers/code-generation.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-context-compression.d.ts +2 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-context-compression.js +33 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-context-compression.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-end-conversation.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-end-conversation.js +17 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-end-conversation.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-pull-app-context.js +35 -45
- package/dist/prompt/steps/step-ask-question/handlers/handle-pull-app-context.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-push-app-context.js +35 -36
- package/dist/prompt/steps/step-ask-question/handlers/handle-push-app-context.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.js +24 -14
- package/dist/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js +15 -19
- 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 +36 -23
- package/dist/prompt/steps/step-ask-question/handlers/request-files-content.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 +2 -0
- package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
- package/dist/prompt/steps/step-context-compression.d.ts +8 -0
- package/dist/prompt/steps/step-context-compression.js +121 -0
- package/dist/prompt/steps/step-context-compression.js.map +1 -0
- package/dist/prompt/steps/step-context-optimization.js +8 -6
- package/dist/prompt/steps/step-context-optimization.js.map +1 -1
- package/dist/prompt/steps/step-ensure-context.js +4 -9
- package/dist/prompt/steps/step-ensure-context.js.map +1 -1
- package/dist/prompt/steps/step-generate-summary.js +1 -0
- package/dist/prompt/steps/step-generate-summary.js.map +1 -1
- package/dist/prompt/steps/step-process-file-updates.js +1 -0
- package/dist/prompt/steps/step-process-file-updates.js.map +1 -1
- package/dist/prompt/steps/step-summarization.d.ts +5 -0
- package/dist/prompt/steps/step-summarization.js +77 -42
- package/dist/prompt/steps/step-summarization.js.map +1 -1
- package/dist/prompt/systemprompt.js +1 -0
- package/dist/prompt/systemprompt.js.map +1 -1
- package/package.json +2 -2
|
@@ -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="/assets/favicon-DvroFOpS.png" type="image/png" />
|
|
10
|
-
<script type="module" crossorigin src="/assets/index-
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-B0R1bgBi.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__">
|
|
@@ -21,7 +21,7 @@ export async function handleAiServiceFallback(generateContentFns, options, ...ar
|
|
|
21
21
|
}
|
|
22
22
|
if (!options.disableAiServiceFallback && (options.interactive || options.ui)) {
|
|
23
23
|
putSystemMessage(`Content generation failed for ${options.aiService}`, { error });
|
|
24
|
-
const shouldRetry = await askUserForConfirmation(`Content generation failed, do you want to retry?`, true, options);
|
|
24
|
+
const shouldRetry = await askUserForConfirmation(`Content generation failed, do you want to retry?`, true, options, 'Retry', 'Exit');
|
|
25
25
|
if (shouldRetry.confirmed) {
|
|
26
26
|
continue;
|
|
27
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-service-fallback.js","sourceRoot":"","sources":["../../src/prompt/ai-service-fallback.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,kBAAkE,EAClE,OAAuB,EACvB,GAAG,IAAyC;IAE5C,iDAAiD;IACjD,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,gBAAgB,CAAC,6BAA6B,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACpE,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,+CAA+C;gBAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBACzE,gBAAgB,CAAC,6BAA6B,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;oBACnE,MAAM,KAAK,CAAC,CAAC,kCAAkC;gBACjD,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,wBAAwB,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC7E,gBAAgB,CAAC,iCAAiC,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;oBAClF,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAC9C,kDAAkD,EAClD,IAAI,EACJ,OAAO,
|
|
1
|
+
{"version":3,"file":"ai-service-fallback.js","sourceRoot":"","sources":["../../src/prompt/ai-service-fallback.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,kBAAkE,EAClE,OAAuB,EACvB,GAAG,IAAyC;IAE5C,iDAAiD;IACjD,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,gBAAgB,CAAC,6BAA6B,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACpE,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,+CAA+C;gBAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBACzE,gBAAgB,CAAC,6BAA6B,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;oBACnE,MAAM,KAAK,CAAC,CAAC,kCAAkC;gBACjD,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,wBAAwB,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC7E,gBAAgB,CAAC,iCAAiC,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;oBAClF,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAC9C,kDAAkD,EAClD,IAAI,EACJ,OAAO,EACP,OAAO,EACP,MAAM,CACP,CAAC;oBACF,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;wBAC1B,SAAS;oBACX,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,0CAA0C;gBAC1C,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -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;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,UAAU,oBAAoB,CAClC,IAA8B,EAC9B,oBAA4B,EAC5B,KAAqB,EACrB,OAAe;IAEf,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IAClC,MAAM,WAAW,GAA4B,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC;IAEtG,iCAAiC;IACjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC,aAAa,oBAAoB,mBAAmB,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,wCAAwC;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,SAAS,CACd,iCAAiC,KAAK,CAAC,MAAM,wBAAwB,oBAAoB,qBAAqB,EAC9G,KAAK,EACL,EAAE,CACH,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACvC,OAAO,SAAS,CACd,aAAa,IAAI,CAAC,IAAI,mDAAmD,oBAAoB,kBAAkB,EAC/G,IAAI,EACJ,EAAE,CACH,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC,aAAa,IAAI,CAAC,IAAI,mBAAmB,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,8BAA8B;IAC9B,MAAM,gBAAgB,GAAoB,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,UAA+B,CAAC,CAAC;IAErH,IAAI,gBAAgB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,8BAA8B;IAC9B,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjE,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAkB,EAAE,OAAe;IAC5D,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAElC,SAAS,UAAU,CAAC,GAAY,EAAE,YAAoB,EAAE;QACtD,MAAM,MAAM,GAAsB,EAAE,CAAC;QAErC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC1D,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,SAAS,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC/D,CAAC;qBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACrD,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,GAAG,SAAS,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACnD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrD,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;gBAClD,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;oBACjF,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,YAAY,CAAC,KAAa,EAAE,GAAW;QAC9C,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,KAAK,oBAAoB,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,CAAC;aAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,CACT,SAAS,CAAC,cAAc,KAAK,uCAAuC,OAAO,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CACtG,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAqB,CAAC;IACrD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO;QACL,UAAU;QACV,QAAQ;QACR,aAAa;QACb,eAAe;QACf,gBAAgB;QAChB,cAAc;QACd,WAAW;QACX,qBAAqB;
|
|
1
|
+
{"version":3,"file":"function-calling-validate.js","sourceRoot":"","sources":["../../src/prompt/function-calling-validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ import { performAnalysis } from './function-defs/perform-analysis.js';
|
|
|
15
15
|
import { analysisResult } from './function-defs/analysis-result.js';
|
|
16
16
|
import { genaicodeHelpDef } from './function-defs/genaicode-help.js';
|
|
17
17
|
import { reasoningInference, reasoningInferenceResponse } from './function-defs/reasoning-inference.js';
|
|
18
|
+
import { compressContext } from './function-defs/context-compression.js';
|
|
18
19
|
/**
|
|
19
20
|
* Function definitions for function calling feature
|
|
20
21
|
*/
|
|
@@ -43,6 +44,7 @@ export function getFunctionDefs() {
|
|
|
43
44
|
pushAppContext,
|
|
44
45
|
genaicodeHelpDef,
|
|
45
46
|
reasoningInference,
|
|
47
|
+
compressContext,
|
|
46
48
|
reasoningInferenceResponse,
|
|
47
49
|
...getOperationDefs(),
|
|
48
50
|
].map((fd) => {
|
|
@@ -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,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,UAAU,EACV,IAAI,EACJ,cAAc,EACd,cAAc,GACf,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;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;
|
|
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,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,UAAU,EACV,IAAI,EACJ,cAAc,EACd,cAAc,GACf,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;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACxG,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAEzE;;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,kBAAkB;QAClB,UAAU;QACV,IAAI;QACJ,mBAAmB;QACnB,sBAAsB;QACtB,mBAAmB;QACnB,eAAe;QACf,YAAY;QACZ,aAAa;QACb,WAAW;QACX,eAAe;QACf,cAAc;QACd,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,kBAAkB;QAClB,eAAe;QACf,0BAA0B;QAC1B,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"}
|
|
@@ -16,6 +16,7 @@ Detailed Explanation of actionTypes:
|
|
|
16
16
|
- 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.
|
|
17
17
|
- removeFilesFromContext: Use to remove unnecessary file contents from context, optimizing token usage.
|
|
18
18
|
- 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.
|
|
19
|
+
- contextCompression: Use to compress the context by removing unnecessary tokens and optimizing the context size while maintaining essential information.
|
|
19
20
|
- 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.
|
|
20
21
|
- confirmCodeGeneration: Use to confirm with the user before starting code generation tasks.
|
|
21
22
|
- endConversation: Use to stop the conversation.
|
|
@@ -40,6 +41,7 @@ const actionTypeOptions = [
|
|
|
40
41
|
'requestFilesContent',
|
|
41
42
|
'removeFilesFromContext',
|
|
42
43
|
'contextOptimization',
|
|
44
|
+
'contextCompression',
|
|
43
45
|
'searchCode',
|
|
44
46
|
'confirmCodeGeneration',
|
|
45
47
|
'endConversation',
|
|
@@ -126,6 +128,7 @@ export const requestFilesContent = {
|
|
|
126
128
|
items: {
|
|
127
129
|
type: 'string',
|
|
128
130
|
},
|
|
131
|
+
minLength: 1,
|
|
129
132
|
description: 'An array of absolute file paths for which you need the content.',
|
|
130
133
|
},
|
|
131
134
|
},
|
|
@@ -144,6 +147,7 @@ export const removeFilesFromContext = {
|
|
|
144
147
|
items: {
|
|
145
148
|
type: 'string',
|
|
146
149
|
},
|
|
150
|
+
minLength: 1,
|
|
147
151
|
description: 'An array of absolute file paths to remove from the context.',
|
|
148
152
|
},
|
|
149
153
|
},
|
|
@@ -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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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FunctionCall, FunctionDef } from '../../ai-service/common-types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Function definition for compressContext
|
|
4
|
+
*
|
|
5
|
+
* This function performs intelligent context compression by analyzing both conversation
|
|
6
|
+
* history and source code dependencies. It aims to reduce token usage while maintaining
|
|
7
|
+
* essential information required for high-quality code generation.
|
|
8
|
+
*/
|
|
9
|
+
export declare const compressContext: FunctionDef;
|
|
10
|
+
/**
|
|
11
|
+
* Type definition for context compression arguments.
|
|
12
|
+
* These arguments control how the conversation context and source code dependencies
|
|
13
|
+
* are compressed and managed.
|
|
14
|
+
*/
|
|
15
|
+
export type ContextCompressionArgs = {
|
|
16
|
+
/** A concise summary of the key points from the conversation history */
|
|
17
|
+
conversationSummary: string;
|
|
18
|
+
/** The identified primary intent or goal of the code generation task */
|
|
19
|
+
codegenIntent: string;
|
|
20
|
+
/**
|
|
21
|
+
* Optional list of file paths that are essential for the code generation task.
|
|
22
|
+
* These files will be retained in the context even after compression.
|
|
23
|
+
*/
|
|
24
|
+
filePaths?: string[];
|
|
25
|
+
};
|
|
26
|
+
/** Type for function calls with context compression arguments */
|
|
27
|
+
export type ContextCompressionCall = FunctionCall<ContextCompressionArgs>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Function definition for compressContext
|
|
3
|
+
*
|
|
4
|
+
* This function performs intelligent context compression by analyzing both conversation
|
|
5
|
+
* history and source code dependencies. It aims to reduce token usage while maintaining
|
|
6
|
+
* essential information required for high-quality code generation.
|
|
7
|
+
*/
|
|
8
|
+
export const compressContext = {
|
|
9
|
+
name: 'compressContext',
|
|
10
|
+
description: 'Use this function to compress the context by analyzing both conversation history and source code dependencies. ' +
|
|
11
|
+
'The function returns a compressed version of the conversation that maintains essential information while reducing tokens.',
|
|
12
|
+
parameters: {
|
|
13
|
+
type: 'object',
|
|
14
|
+
properties: {
|
|
15
|
+
conversationSummary: {
|
|
16
|
+
type: 'string',
|
|
17
|
+
description: 'A concise summary of the key points from the conversation history.',
|
|
18
|
+
},
|
|
19
|
+
codegenIntent: {
|
|
20
|
+
type: 'string',
|
|
21
|
+
description: 'The identified primary intent or goal of the code generation task.',
|
|
22
|
+
},
|
|
23
|
+
filePaths: {
|
|
24
|
+
type: 'array',
|
|
25
|
+
items: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
},
|
|
28
|
+
description: 'List of file paths that are essential for the code generation task.',
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
required: ['conversationSummary', 'codegenIntent', 'filePaths'],
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=context-compression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-compression.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/context-compression.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,iHAAiH;QACjH,2HAA2H;IAC7H,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,mBAAmB,EAAE;gBACnB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oEAAoE;aAClF;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oEAAoE;aAClF;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;gBACD,WAAW,EAAE,qEAAqE;aACnF;SACF;QACD,QAAQ,EAAE,CAAC,qBAAqB,EAAE,eAAe,EAAE,WAAW,CAAC;KAChE;CACF,CAAC"}
|
|
@@ -6,9 +6,11 @@ export const getSourceCode = {
|
|
|
6
6
|
description: `This function returns source code of the application in the following format:
|
|
7
7
|
\`\`\`
|
|
8
8
|
{
|
|
9
|
-
[
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
[filePath: string]: {
|
|
10
|
+
content?: string | null,
|
|
11
|
+
summary?: string,
|
|
12
|
+
fileId?: string;
|
|
13
|
+
}
|
|
12
14
|
}
|
|
13
15
|
\`\`\`
|
|
14
16
|
|
|
@@ -17,12 +19,8 @@ Some keys may not provide content. Some keys may provide a short summary of cont
|
|
|
17
19
|
Here is an example of the returned object:
|
|
18
20
|
\`\`\`
|
|
19
21
|
{
|
|
20
|
-
'/path/to/directory': {
|
|
21
|
-
|
|
22
|
-
},
|
|
23
|
-
'/path/to/directory/sub1/sub2': {
|
|
24
|
-
'file2.js': {summary: 'This file contains a simple log statement.'},
|
|
25
|
-
}
|
|
22
|
+
'/path/to/directory/file1.js': {content: 'console.log('Hello, World!');', fileId: 'axb123'},
|
|
23
|
+
'/path/to/directory/sub1/sub2/file2.js': {summary: 'This file contains a simple log statement.', fileId: 'cde456'},
|
|
26
24
|
}
|
|
27
25
|
\`\`\`
|
|
28
26
|
|
|
@@ -32,8 +30,7 @@ How to understand this object:
|
|
|
32
30
|
- the second file has no content, but a summary: 'This file contains a simple log statement.'
|
|
33
31
|
- path of first file: '/path/to/directory/file1.js'
|
|
34
32
|
- path of second file: '/path/to/directory/sub1/sub2/file2.js'
|
|
35
|
-
|
|
36
|
-
This function is used to provide context to the AI model.
|
|
33
|
+
- both files have unique identifiers
|
|
37
34
|
`,
|
|
38
35
|
parameters: {
|
|
39
36
|
type: 'object',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-source-code.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/get-source-code.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAgB;IACxC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"get-source-code.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/get-source-code.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAgB;IACxC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4BV;IACH,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,8EAA8E;gBAC3F,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;QACD,QAAQ,EAAE,EAAE;KACb;CACF,CAAC"}
|
|
@@ -27,17 +27,21 @@ export const setSummaries = {
|
|
|
27
27
|
items: {
|
|
28
28
|
type: 'object',
|
|
29
29
|
properties: {
|
|
30
|
-
path: {
|
|
31
|
-
type: 'string',
|
|
32
|
-
description: 'Path to the dependent file or package/library name for external dependencies.',
|
|
33
|
-
},
|
|
34
30
|
type: {
|
|
35
31
|
type: 'string',
|
|
36
32
|
enum: ['local', 'external'],
|
|
37
|
-
description: 'Type of dependency - local (
|
|
33
|
+
description: 'Type of dependency - local (belongs to the project) or external (not belongs to the project, package/library/module).',
|
|
34
|
+
},
|
|
35
|
+
fileId: {
|
|
36
|
+
type: 'string',
|
|
37
|
+
description: 'Unique identifier for the dependent file. For local dependencies, use the value for the fileId field in the getSourceCode function response. Use empty string for external dependencies.',
|
|
38
|
+
},
|
|
39
|
+
path: {
|
|
40
|
+
type: 'string',
|
|
41
|
+
description: 'Absolute path to the dependent file or package/library name for external dependencies.',
|
|
38
42
|
},
|
|
39
43
|
},
|
|
40
|
-
required: ['
|
|
44
|
+
required: ['type', 'fileId', 'path'],
|
|
41
45
|
},
|
|
42
46
|
},
|
|
43
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;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,
|
|
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,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;wCAC3B,WAAW,EACT,uHAAuH;qCAC1H;oCACD,MAAM,EAAE;wCACN,IAAI,EAAE,QAAQ;wCACd,WAAW,EACT,0LAA0L;qCAC7L;oCACD,IAAI,EAAE;wCACJ,IAAI,EAAE,QAAQ;wCACd,WAAW,EACT,wFAAwF;qCAC3F;iCACF;gCACD,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;6BACrC;yBACF;qBACF;oBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC;iBAClD;aACF;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;CACF,CAAC"}
|
|
@@ -9,7 +9,6 @@ import { handleAiServiceFallback } from './ai-service-fallback.js';
|
|
|
9
9
|
import { summarizeSourceCode } from './steps/step-summarization.js';
|
|
10
10
|
import { executeStepHistoryUpdate, getCurrentHistory } from './steps/step-history-update.js';
|
|
11
11
|
import { executeStepGenerateSummary } from './steps/step-generate-summary.js';
|
|
12
|
-
import { getSourceCodeTree } from '../files/source-code-tree.js';
|
|
13
12
|
import { INITIAL_GREETING, REQUEST_SOURCE_CODE, SOURCE_CODE_RESPONSE, READY_TO_ASSIST } from './static-prompts.js';
|
|
14
13
|
import { executeStepCodegenPlanning } from './steps/step-codegen-planning.js';
|
|
15
14
|
import { getRegisteredGenerateContentHooks } from '../main/plugin-loader.js';
|
|
@@ -76,6 +75,7 @@ async function executePromptService(generateContentFn, generateImageFn, codegenP
|
|
|
76
75
|
text: READY_TO_ASSIST,
|
|
77
76
|
});
|
|
78
77
|
const initialPromptItem = {
|
|
78
|
+
itemId: 'INITIAL_PROMPT', // this is used by context compression
|
|
79
79
|
type: 'user',
|
|
80
80
|
text: codegenPrompt.prompt,
|
|
81
81
|
};
|
|
@@ -136,8 +136,8 @@ async function executePromptService(generateContentFn, generateImageFn, codegenP
|
|
|
136
136
|
*/
|
|
137
137
|
function prepareMessages(codegen) {
|
|
138
138
|
return {
|
|
139
|
-
sourceCode: JSON.stringify(
|
|
140
|
-
contextSourceCode: (paths, pathsOnly = false) => JSON.stringify(
|
|
139
|
+
sourceCode: JSON.stringify(getSourceCode({ taskFile: codegen.options.taskFile }, codegen.options)),
|
|
140
|
+
contextSourceCode: (paths, pathsOnly = false) => JSON.stringify(Object.fromEntries(Object.entries(getSourceCode({ filterPaths: paths, taskFile: codegen.options.taskFile, forceAll: true }, codegen.options)).filter(([path]) => !pathsOnly || paths.includes(path)))),
|
|
141
141
|
imageAssets: JSON.stringify(getImageAssets()),
|
|
142
142
|
};
|
|
143
143
|
}
|
|
@@ -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;AAOvE,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,
|
|
1
|
+
{"version":3,"file":"prompt-service.js","sourceRoot":"","sources":["../../src/prompt/prompt-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { putAssistantMessage, putSystemMessage, putUserMessage } from '../../../../main/common/content-bus.js';
|
|
2
|
-
import { askUserForConfirmationWithAnswer } from '../../../../main/common/user-actions.js';
|
|
2
|
+
import { askUserForConfirmation, askUserForConfirmationWithAnswer } from '../../../../main/common/user-actions.js';
|
|
3
3
|
import { getFunctionDefs } from '../../../function-calling.js';
|
|
4
4
|
import { CODEGEN_SUMMARY_PROMPT } from '../../../static-prompts.js';
|
|
5
5
|
import { executeStepCodegenPlanning } from '../../step-codegen-planning.js';
|
|
@@ -7,6 +7,7 @@ import { generateCodegenSummary } from '../../step-generate-codegen-summary.js';
|
|
|
7
7
|
import { processFileUpdates } from '../../step-process-file-updates.js';
|
|
8
8
|
import { StepResult } from '../../steps-types.js';
|
|
9
9
|
import { updateFiles } from '../../../../files/update-files.js';
|
|
10
|
+
import { executeStepContextCompression } from '../../step-context-compression.js';
|
|
10
11
|
export const CODEGEN_SUMMARY_GENERATED_MESSAGE = 'Codegen summary is generated. Would you like to proceed with the code changes?';
|
|
11
12
|
export const CODEGEN_SUMMARY_APPROVED = 'Accept codegen summary and continue';
|
|
12
13
|
export async function handleCodeGeneration({ generateContentFn, generateImageFn, waitIfPaused, prompt, options, }) {
|
|
@@ -107,11 +108,30 @@ export async function handleCodeGeneration({ generateContentFn, generateImageFn,
|
|
|
107
108
|
putSystemMessage('Code changes applied successfully');
|
|
108
109
|
}
|
|
109
110
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
111
|
+
if (confirmed.confirmed &&
|
|
112
|
+
(await askUserForConfirmation('Code generation completed, do you want to continue conversation?', false, options, 'Continue conversation', 'End conversation')).confirmed) {
|
|
113
|
+
putSystemMessage('Continuing conversation...');
|
|
114
|
+
const compressionResult = await executeStepContextCompression(generateContentFn, prompt, options);
|
|
115
|
+
prompt.push({
|
|
116
|
+
type: 'assistant',
|
|
117
|
+
text: 'Code generation completed, changes applied successfully. Should we continue the conversation?',
|
|
118
|
+
}, {
|
|
119
|
+
type: 'user',
|
|
120
|
+
text: 'Thank you for doing the code generation, now lets continue the conversation.',
|
|
121
|
+
});
|
|
122
|
+
return {
|
|
123
|
+
breakLoop: compressionResult !== StepResult.CONTINUE,
|
|
124
|
+
stepResult: functionCalls,
|
|
125
|
+
items: [],
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
return {
|
|
130
|
+
breakLoop: true,
|
|
131
|
+
stepResult: functionCalls,
|
|
132
|
+
items: [],
|
|
133
|
+
};
|
|
134
|
+
}
|
|
115
135
|
}
|
|
116
136
|
catch (error) {
|
|
117
137
|
putSystemMessage(`Error during code generation: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
@@ -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;
|
|
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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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { executeStepContextCompression } from '../../step-context-compression.js';
|
|
2
|
+
import { putSystemMessage } from '../../../../main/common/content-bus.js';
|
|
3
|
+
import { StepResult } from '../../steps-types.js';
|
|
4
|
+
import { askUserForConfirmation } from '../../../../main/common/user-actions.js';
|
|
5
|
+
export async function handleContextCompression({ askQuestionCall, prompt, options, generateContentFn, }) {
|
|
6
|
+
putSystemMessage('Context compression requested.');
|
|
7
|
+
// First confirmation: Ask user if they want to proceed with content generation
|
|
8
|
+
const compressionConfirm = await askUserForConfirmation('The assistant suggests compressing the context. Do you want to proceed with context compression?', false, options, 'Compress context', 'Continue conversation');
|
|
9
|
+
if (!compressionConfirm.confirmed) {
|
|
10
|
+
putSystemMessage('Context compression rejected.');
|
|
11
|
+
prompt.push({
|
|
12
|
+
type: 'assistant',
|
|
13
|
+
text: askQuestionCall.args?.message ?? '',
|
|
14
|
+
}, {
|
|
15
|
+
type: 'user',
|
|
16
|
+
text: 'Rejecting context compression.',
|
|
17
|
+
});
|
|
18
|
+
return {
|
|
19
|
+
breakLoop: false,
|
|
20
|
+
items: [],
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
// Execute compression step
|
|
25
|
+
const result = await executeStepContextCompression(generateContentFn, prompt, options);
|
|
26
|
+
return { breakLoop: result === StepResult.BREAK, items: [] };
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
putSystemMessage('Error during context compression', { error });
|
|
30
|
+
return { breakLoop: true, items: [] };
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=handle-context-compression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handle-context-compression.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-context-compression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAC7C,eAAe,EACf,MAAM,EACN,OAAO,EACP,iBAAiB,GACE;IACnB,gBAAgB,CAAC,gCAAgC,CAAC,CAAC;IAEnD,+EAA+E;IAC/E,MAAM,kBAAkB,GAAG,MAAM,sBAAsB,CACrD,kGAAkG,EAClG,KAAK,EACL,OAAO,EACP,kBAAkB,EAClB,uBAAuB,CACxB,CAAC;IAEF,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC;QAClC,gBAAgB,CAAC,+BAA+B,CAAC,CAAC;QAElD,MAAM,CAAC,IAAI,CACT;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE;SAC1C,EACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,gCAAgC;SACvC,CACF,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,2BAA2B;QAC3B,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAEvF,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gBAAgB,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACxC,CAAC;AACH,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ActionHandlerProps, ActionResult } from '../step-ask-question-types.js';
|
|
2
|
-
export declare function handleEndConversation({ askQuestionCall }: ActionHandlerProps): Promise<ActionResult>;
|
|
2
|
+
export declare function handleEndConversation({ askQuestionCall, options }: ActionHandlerProps): Promise<ActionResult>;
|
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
import { putSystemMessage } from '../../../../main/common/content-bus.js';
|
|
2
|
-
|
|
2
|
+
import { askUserForConfirmationWithAnswer } from '../../../../main/common/user-actions.js';
|
|
3
|
+
export async function handleEndConversation({ askQuestionCall, options }) {
|
|
4
|
+
const userConfirmation = await askUserForConfirmationWithAnswer('Do you want to end the conversation?', 'End conversation', 'Continue conversation', true, options);
|
|
5
|
+
if (!userConfirmation.confirmed) {
|
|
6
|
+
return {
|
|
7
|
+
breakLoop: false,
|
|
8
|
+
items: [
|
|
9
|
+
{
|
|
10
|
+
assistant: { type: 'assistant', text: askQuestionCall.args?.message ?? '' },
|
|
11
|
+
user: {
|
|
12
|
+
type: 'user',
|
|
13
|
+
text: userConfirmation.answer || 'Declined. Please continue the conversation.',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
],
|
|
17
|
+
};
|
|
18
|
+
}
|
|
3
19
|
putSystemMessage('Assistant requested to stop code generation. Exiting...');
|
|
4
20
|
return {
|
|
5
21
|
breakLoop: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-end-conversation.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-end-conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"handle-end-conversation.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-end-conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAG3F,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAAE,eAAe,EAAE,OAAO,EAAsB;IAC1F,MAAM,gBAAgB,GAAG,MAAM,gCAAgC,CAC7D,sCAAsC,EACtC,kBAAkB,EAClB,uBAAuB,EACvB,IAAI,EACJ,OAAO,CACR,CAAC;IAEF,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE;gBACL;oBACE,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE;oBAC3E,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,gBAAgB,CAAC,MAAM,IAAI,6CAA6C;qBAC/E;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,yDAAyD,CAAC,CAAC;IAC5E,OAAO;QACL,SAAS,EAAE,IAAI;QACf,KAAK,EAAE;YACL;gBACE,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE;gBAC3E,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,EAAE;aAC3D;SACF;KACF,CAAC;AACJ,CAAC"}
|