genaicode 0.9.1 → 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/files/source-code-utils.js +2 -1
- package/dist/files/source-code-utils.js.map +1 -1
- package/dist/main/ui/frontend/assets/{index-D8KFdZaU.js → index-B0R1bgBi.js} +1 -1
- package/dist/main/ui/frontend/index.html +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/prompt-service.js +1 -0
- 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.js +1 -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/request-files-content.js +26 -18
- 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-ensure-context.js +3 -7
- package/dist/prompt/steps/step-ensure-context.js.map +1 -1
- package/dist/prompt/steps/step-generate-codegen-summary.js +0 -3
- package/dist/prompt/steps/step-generate-codegen-summary.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/systemprompt.js +1 -0
- package/dist/prompt/systemprompt.js.map +1 -1
- package/package.json +1 -1
|
@@ -17,7 +17,7 @@ export const generateContent = async function generateContent(prompt, functionDe
|
|
|
17
17
|
case ModelType.CHEAP:
|
|
18
18
|
return serviceConfig.modelOverrides?.cheap ?? 'gpt-4o-mini';
|
|
19
19
|
case ModelType.REASONING:
|
|
20
|
-
return serviceConfig.modelOverrides?.reasoning ?? '
|
|
20
|
+
return serviceConfig.modelOverrides?.reasoning ?? 'o3-mini';
|
|
21
21
|
default:
|
|
22
22
|
return serviceConfig.modelOverrides?.default ?? 'gpt-4o-2024-11-20';
|
|
23
23
|
}
|
|
@@ -23,7 +23,7 @@ const configurations = {
|
|
|
23
23
|
modelOverrides: {
|
|
24
24
|
default: modelOverrides.openai?.default ?? 'gpt-4o-2024-11-20',
|
|
25
25
|
cheap: modelOverrides.openai?.cheap ?? 'gpt-4o-mini',
|
|
26
|
-
reasoning: modelOverrides.openai?.reasoning ?? '
|
|
26
|
+
reasoning: modelOverrides.openai?.reasoning ?? 'o3-mini',
|
|
27
27
|
},
|
|
28
28
|
},
|
|
29
29
|
'vertex-ai': {
|
|
@@ -64,6 +64,7 @@ export function getContextSourceCode(contextPaths, options) {
|
|
|
64
64
|
*/
|
|
65
65
|
export function getExpandedContextPaths(contextPaths, options) {
|
|
66
66
|
const sourceCodeMap = getContextSourceCode(contextPaths, options);
|
|
67
|
-
|
|
67
|
+
// need to make sure original contextPaths values are included in the result
|
|
68
|
+
return [...new Set([...contextPaths, ...Object.keys(sourceCodeMap)])];
|
|
68
69
|
}
|
|
69
70
|
//# sourceMappingURL=source-code-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-code-utils.js","sourceRoot":"","sources":["../../src/files/source-code-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,YAAsB,EAAE,OAAuB;IAClF,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,gBAAgB,GAAG,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAChG,MAAM,mBAAmB,GAAkB,EAAE,CAAC;IAC9C,MAAM,eAAe,GAAgB,IAAI,GAAG,EAAE,CAAC;IAC/C,MAAM,sBAAsB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAEtD,uDAAuD;IACvD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,mBAAmB,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACjE,MAAM,YAAY,GAAI,gBAAgB,CAAC,WAAW,CAA+B,EAAE,YAAY,CAAC;YAChG,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;QAC7C,IAAI,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC;YACrC,mBAAmB,CAAC,cAAc,CAAC,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrD,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAA8B,CAAC;QAC5E,MAAM,YAAY,GAAG,WAAW,EAAE,YAAY,CAAC;QAC/C,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACrC,MAAM,CAAC,2DAA2D;gBACpE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE,CAAC;QAC3D,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC5C,mBAAmB,CAAC,qBAAqB,CAAC,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAAsB,EAAE,OAAuB;IACrF,MAAM,aAAa,GAAG,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAClE,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"source-code-utils.js","sourceRoot":"","sources":["../../src/files/source-code-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,YAAsB,EAAE,OAAuB;IAClF,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,gBAAgB,GAAG,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAChG,MAAM,mBAAmB,GAAkB,EAAE,CAAC;IAC9C,MAAM,eAAe,GAAgB,IAAI,GAAG,EAAE,CAAC;IAC/C,MAAM,sBAAsB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAEtD,uDAAuD;IACvD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,mBAAmB,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACjE,MAAM,YAAY,GAAI,gBAAgB,CAAC,WAAW,CAA+B,EAAE,YAAY,CAAC;YAChG,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;QAC7C,IAAI,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC;YACrC,mBAAmB,CAAC,cAAc,CAAC,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrD,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAA8B,CAAC;QAC5E,MAAM,YAAY,GAAG,WAAW,EAAE,YAAY,CAAC;QAC/C,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACrC,MAAM,CAAC,2DAA2D;gBACpE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE,CAAC;QAC3D,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC5C,mBAAmB,CAAC,qBAAqB,CAAC,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAAsB,EAAE,OAAuB;IACrF,MAAM,aAAa,GAAG,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAClE,4EAA4E;IAC5E,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC"}
|
|
@@ -721,7 +721,7 @@ Error generating stack: `+i.message+`
|
|
|
721
721
|
`,ak=w.span`
|
|
722
722
|
font-size: 24px;
|
|
723
723
|
color: ${e=>e.theme.colors.primary};
|
|
724
|
-
`,uk="0.9.
|
|
724
|
+
`,uk="0.9.2",ck=({themeToggle:e,chatInterface:t,inputArea:n,usage:r,toggleTheme:o})=>{const[i,s]=S.useState(!1),l=[{content:u.jsx(LS,{}),ariaLabel:"Service Configuration",key:"service-config",onClick:Mm},{content:u.jsx(Xw,{}),ariaLabel:"Health Check",key:"health-check",onClick:Lm},{content:u.jsx(zw,{}),ariaLabel:"Content Generation",key:"content-gen",onClick:_m},{content:u.jsx(Bm,{}),ariaLabel:"Genaicode Config",key:"genaicode-config",onClick:Zu},{content:e,ariaLabel:"Theme Toggle",key:"theme-toggle",onClick:o},{content:u.jsx(sk,{}),ariaLabel:"Information",key:"info",onClick:Um}];return u.jsxs(dk,{children:[u.jsxs(fk,{children:[u.jsx(pk,{children:u.jsxs(hk,{children:[u.jsx(mk,{children:"GenAIcode"}),u.jsxs(yk,{children:["v",uk]})]})}),u.jsxs(gk,{children:[u.jsx(vk,{children:u.jsx(Gx,{usage:r})}),u.jsx(xk,{children:u.jsx(rk,{menuItems:l,isOpen:i,onToggle:()=>s(!i),buttonAriaLabel:"Toggle navigation menu",menuAriaLabel:"Navigation menu",position:{top:"100%",right:0}})})]})]}),u.jsxs(wk,{children:[u.jsx(Sk,{children:t}),u.jsx(kk,{children:n})]})]})},dk=w.div`
|
|
725
725
|
display: flex;
|
|
726
726
|
flex-direction: column;
|
|
727
727
|
height: 100vh;
|
|
@@ -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__">
|
|
@@ -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"}
|
|
@@ -75,6 +75,7 @@ async function executePromptService(generateContentFn, generateImageFn, codegenP
|
|
|
75
75
|
text: READY_TO_ASSIST,
|
|
76
76
|
});
|
|
77
77
|
const initialPromptItem = {
|
|
78
|
+
itemId: 'INITIAL_PROMPT', // this is used by context compression
|
|
78
79
|
type: 'user',
|
|
79
80
|
text: codegenPrompt.prompt,
|
|
80
81
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-service.js","sourceRoot":"","sources":["../../src/prompt/prompt-service.ts"],"names":[],"mappings":"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"}
|
|
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,7 +1,7 @@
|
|
|
1
1
|
import { putSystemMessage } from '../../../../main/common/content-bus.js';
|
|
2
2
|
import { askUserForConfirmationWithAnswer } from '../../../../main/common/user-actions.js';
|
|
3
3
|
export async function handleEndConversation({ askQuestionCall, options }) {
|
|
4
|
-
const userConfirmation = await askUserForConfirmationWithAnswer(
|
|
4
|
+
const userConfirmation = await askUserForConfirmationWithAnswer('Do you want to end the conversation?', 'End conversation', 'Continue conversation', true, options);
|
|
5
5
|
if (!userConfirmation.confirmed) {
|
|
6
6
|
return {
|
|
7
7
|
breakLoop: false,
|
|
@@ -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;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,
|
|
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"}
|
|
@@ -29,61 +29,51 @@ export async function handlePullAppContext({ generateContentFn, prompt, options,
|
|
|
29
29
|
? `Retrieved context value for key "${key}": ${JSON.stringify(contextValue, null, 2)}`
|
|
30
30
|
: `No context value found for key "${key}"`;
|
|
31
31
|
const reasonInfo = reason ? `\nReason for retrieval: ${reason}` : '';
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
putSystemMessage('Context retrieved successfully', {
|
|
33
|
+
contextKey: key,
|
|
34
|
+
contextValue: contextValue,
|
|
35
|
+
reason,
|
|
36
|
+
operation: 'get',
|
|
37
|
+
});
|
|
38
|
+
prompt.push({
|
|
39
|
+
type: 'assistant',
|
|
40
|
+
text: `${contextInfo}${reasonInfo}`,
|
|
41
|
+
functionCalls: [pullAppContextCall],
|
|
42
|
+
}, {
|
|
43
|
+
type: 'user',
|
|
44
|
+
functionResponses: [
|
|
36
45
|
{
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
functionCalls: [pullAppContextCall],
|
|
41
|
-
},
|
|
42
|
-
user: {
|
|
43
|
-
type: 'user',
|
|
44
|
-
text: 'Context retrieved successfully.',
|
|
45
|
-
functionResponses: [
|
|
46
|
-
{
|
|
47
|
-
name: 'pullAppContext',
|
|
48
|
-
call_id: pullAppContextCall.id,
|
|
49
|
-
content: JSON.stringify({ contextKey: key, contextValue, reason, operation: 'get' }),
|
|
50
|
-
},
|
|
51
|
-
],
|
|
52
|
-
data: {
|
|
53
|
-
contextKey: key,
|
|
54
|
-
contextValue: contextValue,
|
|
55
|
-
reason,
|
|
56
|
-
operation: 'get',
|
|
57
|
-
},
|
|
58
|
-
},
|
|
46
|
+
name: 'pullAppContext',
|
|
47
|
+
call_id: pullAppContextCall.id,
|
|
48
|
+
content: JSON.stringify({ contextKey: key, contextValue, reason, operation: 'get' }),
|
|
59
49
|
},
|
|
60
50
|
],
|
|
51
|
+
});
|
|
52
|
+
// Return the action result with context information
|
|
53
|
+
return {
|
|
54
|
+
breakLoop: false,
|
|
55
|
+
items: [],
|
|
61
56
|
};
|
|
62
57
|
}
|
|
63
58
|
catch (error) {
|
|
64
59
|
// Handle any errors that occur during context retrieval
|
|
65
60
|
const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
66
|
-
putSystemMessage(`Error retrieving context
|
|
61
|
+
putSystemMessage(`Error retrieving context`, {
|
|
62
|
+
contextKey: key,
|
|
63
|
+
error: errorMessage,
|
|
64
|
+
reason,
|
|
65
|
+
operation: 'get',
|
|
66
|
+
});
|
|
67
|
+
prompt.push({
|
|
68
|
+
type: 'assistant',
|
|
69
|
+
text: `Failed to retrieve context for key "${key}": ${errorMessage}`,
|
|
70
|
+
}, {
|
|
71
|
+
type: 'user',
|
|
72
|
+
text: 'Context retrieval failed.',
|
|
73
|
+
});
|
|
67
74
|
return {
|
|
68
75
|
breakLoop: false,
|
|
69
|
-
items: [
|
|
70
|
-
{
|
|
71
|
-
assistant: {
|
|
72
|
-
type: 'assistant',
|
|
73
|
-
text: `Failed to retrieve context for key "${key}": ${errorMessage}`,
|
|
74
|
-
},
|
|
75
|
-
user: {
|
|
76
|
-
type: 'user',
|
|
77
|
-
text: 'Context retrieval failed.',
|
|
78
|
-
data: {
|
|
79
|
-
contextKey: key,
|
|
80
|
-
error: errorMessage,
|
|
81
|
-
reason,
|
|
82
|
-
operation: 'get',
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
},
|
|
86
|
-
],
|
|
76
|
+
items: [],
|
|
87
77
|
};
|
|
88
78
|
}
|
|
89
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-pull-app-context.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-pull-app-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,iBAAiB,EACjB,MAAM,EACN,OAAO,GACY;IACnB,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;IAC1C,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,iBAAiB,CACnD,MAAM,EACN,eAAe,EAAE,EACjB,gBAAgB,EAChB,GAAG,EACH,SAAS,CAAC,KAAK,EACf,OAAO,CACR,CAAmD,CAAC;IAErD,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;QAC9B,gBAAgB,CAAC,4CAA4C,CAAC,CAAC;QAC/D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC;IAEhD,IAAI,CAAC;QACH,iBAAiB;QACjB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,qCAAqC;QACrC,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;QAEhD,uCAAuC;QACvC,MAAM,WAAW,GAAG,YAAY;YAC9B,CAAC,CAAC,oCAAoC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;YACtF,CAAC,CAAC,mCAAmC,GAAG,GAAG,CAAC;QAE9C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAErE,
|
|
1
|
+
{"version":3,"file":"handle-pull-app-context.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-pull-app-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,55 +36,54 @@ export async function handlePushAppContext({ generateContentFn, prompt, options,
|
|
|
36
36
|
// Note: setContextValue includes value validation internally
|
|
37
37
|
await setContextValue(key, value);
|
|
38
38
|
// Format success message
|
|
39
|
-
const updateInfo = `Successfully updated context key "${key}"
|
|
39
|
+
const updateInfo = `Successfully updated context key "${key}"`;
|
|
40
40
|
const reasonInfo = reason ? `\nReason for update: ${reason}` : '';
|
|
41
|
+
putSystemMessage('Context updated successfully.', {
|
|
42
|
+
contextKey: key,
|
|
43
|
+
contextValue: value,
|
|
44
|
+
reason,
|
|
45
|
+
operation: 'set',
|
|
46
|
+
});
|
|
47
|
+
prompt.push({
|
|
48
|
+
type: 'assistant',
|
|
49
|
+
text: `${updateInfo}${reasonInfo}`,
|
|
50
|
+
functionCalls: [pushAppContextCall],
|
|
51
|
+
}, {
|
|
52
|
+
type: 'user',
|
|
53
|
+
functionResponses: [{ name: 'pushAppContext', call_id: pushAppContextCall.id, content: '' }],
|
|
54
|
+
});
|
|
41
55
|
// Return the action result with update confirmation
|
|
42
56
|
return {
|
|
43
57
|
breakLoop: false,
|
|
44
|
-
items: [
|
|
45
|
-
{
|
|
46
|
-
assistant: {
|
|
47
|
-
type: 'assistant',
|
|
48
|
-
text: `${updateInfo}${reasonInfo}`,
|
|
49
|
-
},
|
|
50
|
-
user: {
|
|
51
|
-
type: 'user',
|
|
52
|
-
text: 'Context updated successfully.',
|
|
53
|
-
data: {
|
|
54
|
-
contextKey: key,
|
|
55
|
-
contextValue: value,
|
|
56
|
-
reason,
|
|
57
|
-
operation: 'set',
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
],
|
|
58
|
+
items: [],
|
|
62
59
|
};
|
|
63
60
|
}
|
|
64
61
|
catch (error) {
|
|
65
62
|
// Handle any errors that occur during context update
|
|
66
63
|
const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
67
64
|
putSystemMessage(`Error updating context: ${errorMessage}`);
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
65
|
+
prompt.push({
|
|
66
|
+
type: 'assistant',
|
|
67
|
+
functionCalls: [pushAppContextCall],
|
|
68
|
+
}, {
|
|
69
|
+
type: 'user',
|
|
70
|
+
text: 'Context update failed.',
|
|
71
|
+
functionResponses: [
|
|
71
72
|
{
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
contextKey: key,
|
|
81
|
-
error: errorMessage,
|
|
82
|
-
reason,
|
|
83
|
-
operation: 'set',
|
|
84
|
-
},
|
|
85
|
-
},
|
|
73
|
+
name: 'pushAppContext',
|
|
74
|
+
call_id: pushAppContextCall.id,
|
|
75
|
+
content: JSON.stringify({
|
|
76
|
+
contextKey: key,
|
|
77
|
+
error: errorMessage,
|
|
78
|
+
reason,
|
|
79
|
+
operation: 'set',
|
|
80
|
+
}),
|
|
86
81
|
},
|
|
87
82
|
],
|
|
83
|
+
});
|
|
84
|
+
return {
|
|
85
|
+
breakLoop: false,
|
|
86
|
+
items: [],
|
|
88
87
|
};
|
|
89
88
|
}
|
|
90
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-push-app-context.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-push-app-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,iBAAiB,EACjB,MAAM,EACN,OAAO,GACY;IACnB,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IAExC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,iBAAiB,CACnD,MAAM,EACN,eAAe,EAAE,EACjB,gBAAgB,EAChB,GAAG,EACH,SAAS,CAAC,KAAK,EACf,OAAO,CACR,CAAuC,CAAC;IAEzC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;QAC9B,gBAAgB,CAAC,4CAA4C,CAAC,CAAC;QAC/D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC;IAChD,IAAI,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC;IAExC,IAAI,CAAC;QACH,iBAAiB;QACjB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;QAED,sCAAsC;QACtC,6DAA6D;QAC7D,MAAM,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAElC,yBAAyB;QACzB,MAAM,UAAU,GAAG,qCAAqC,GAAG,
|
|
1
|
+
{"version":3,"file":"handle-push-app-context.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-push-app-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { getSourceCode } from '../../../../files/read-files.js';
|
|
|
4
4
|
import { getExpandedContextPaths } from '../../../../files/source-code-utils.js';
|
|
5
5
|
import { putSystemMessage } from '../../../../main/common/content-bus.js';
|
|
6
6
|
import { getFunctionDefs } from '../../../function-calling.js';
|
|
7
|
+
import { validateAndRecoverSingleResult } from '../../step-validate-recover.js';
|
|
7
8
|
export async function handleRequestFilesContent({ askQuestionCall, options, prompt, generateContentFn, }) {
|
|
8
9
|
let requestFilesContentCall = await generateRequestFilesContentCall(generateContentFn, prompt, askQuestionCall, options, ModelType.CHEAP);
|
|
9
10
|
if (!requestFilesContentCall) {
|
|
@@ -103,17 +104,26 @@ ${illegitimateFiles.map((path) => `- ${path}`).join('\n')}`
|
|
|
103
104
|
return { breakLoop: false, items: [] };
|
|
104
105
|
}
|
|
105
106
|
export async function generateRequestFilesContentCall(generateContentFn, prompt, askQuestionCall, options, modelType) {
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
107
|
+
const req = [
|
|
108
|
+
[
|
|
109
|
+
...prompt,
|
|
110
|
+
{
|
|
111
|
+
type: 'assistant',
|
|
112
|
+
text: askQuestionCall.args?.message ?? '',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
type: 'user',
|
|
116
|
+
text: 'Yes, you can request the files contents.',
|
|
117
|
+
},
|
|
118
|
+
],
|
|
119
|
+
getFunctionDefs(),
|
|
120
|
+
'requestFilesContent',
|
|
121
|
+
0.7,
|
|
122
|
+
modelType,
|
|
123
|
+
options,
|
|
124
|
+
];
|
|
125
|
+
const result = await generateContentFn(...req);
|
|
126
|
+
const [requestFilesContentCall] = (await validateAndRecoverSingleResult(req, result, generateContentFn));
|
|
117
127
|
return requestFilesContentCall;
|
|
118
128
|
}
|
|
119
129
|
/**
|
|
@@ -132,13 +142,11 @@ function isFileContentAlreadyProvided(filePath, prompt) {
|
|
|
132
142
|
return false;
|
|
133
143
|
}
|
|
134
144
|
try {
|
|
135
|
-
const
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
'content' in sourceCodeTree[dirPath][fileName] &&
|
|
141
|
-
sourceCodeTree[dirPath][fileName].content !== null);
|
|
145
|
+
const sourceCodeMap = JSON.parse(response.content);
|
|
146
|
+
return (sourceCodeMap[filePath] &&
|
|
147
|
+
sourceCodeMap[filePath] &&
|
|
148
|
+
'content' in sourceCodeMap[filePath] &&
|
|
149
|
+
sourceCodeMap[filePath].content !== null);
|
|
142
150
|
}
|
|
143
151
|
catch (error) {
|
|
144
152
|
console.warn('Error parsing getSourceCode response:', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-files-content.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/request-files-content.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"request-files-content.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/request-files-content.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { PromptItemImage } from '../../../ai-service/common-types.js';
|
|
|
5
5
|
import { FunctionCall } from '../../../ai-service/common-types.js';
|
|
6
6
|
import { CodegenOptions } from '../../../main/codegen-types.js';
|
|
7
7
|
import { PluginActionType } from '../../../ai-service/service-configurations-types.js';
|
|
8
|
-
export type ActionType = 'codeGeneration' | 'sendMessage' | 'generateImage' | 'requestPermissions' | 'requestFilesContent' | 'removeFilesFromContext' | 'confirmCodeGeneration' | 'endConversation' | 'contextOptimization' | 'searchCode' | 'lint' | 'updateFile' | 'performAnalysis' | 'createFile' | 'pullAppContext' | 'genaicodeHelp' | 'pushAppContext' | 'reasoningInference' | PluginActionType;
|
|
8
|
+
export type ActionType = 'codeGeneration' | 'sendMessage' | 'generateImage' | 'requestPermissions' | 'requestFilesContent' | 'removeFilesFromContext' | 'confirmCodeGeneration' | 'endConversation' | 'contextOptimization' | 'contextCompression' | 'searchCode' | 'lint' | 'updateFile' | 'performAnalysis' | 'createFile' | 'pullAppContext' | 'genaicodeHelp' | 'pushAppContext' | 'reasoningInference' | PluginActionType;
|
|
9
9
|
type AskQuestionArgs = {
|
|
10
10
|
actionType: ActionType;
|
|
11
11
|
message: string;
|
|
@@ -21,6 +21,7 @@ import { handlePullAppContext } from './handlers/handle-pull-app-context.js';
|
|
|
21
21
|
import { handlePushAppContext } from './handlers/handle-push-app-context.js';
|
|
22
22
|
import { handleReasoningInference } from './handlers/handle-reasoning-inference.js';
|
|
23
23
|
import { handleGenaicodeHelp } from './handlers/handle-genaicode-help.js';
|
|
24
|
+
import { handleContextCompression } from './handlers/handle-context-compression.js';
|
|
24
25
|
export async function executeStepAskQuestion(generateContentFn, generateImageFn, prompt, functionDefs, waitIfPaused, temperature, options) {
|
|
25
26
|
putSystemMessage('Allowing the assistant to ask a question...');
|
|
26
27
|
while (!abortController?.signal.aborted) {
|
|
@@ -120,6 +121,7 @@ function getActionHandler(actionType) {
|
|
|
120
121
|
genaicodeHelp: handleGenaicodeHelp,
|
|
121
122
|
reasoningInference: handleReasoningInference,
|
|
122
123
|
pushAppContext: handlePushAppContext,
|
|
124
|
+
contextCompression: handleContextCompression,
|
|
123
125
|
};
|
|
124
126
|
return handlers[actionType] || handleSendMessage;
|
|
125
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-ask-question.js","sourceRoot":"","sources":["../../../../src/prompt/steps/step-ask-question/step-ask-question.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC5G,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAE7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"step-ask-question.js","sourceRoot":"","sources":["../../../../src/prompt/steps/step-ask-question/step-ask-question.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC5G,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAE7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEpF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,iBAA0C,EAC1C,eAAsC,EACtC,MAAoB,EACpB,YAA2B,EAC3B,YAAiC,EACjC,WAAmB,EACnB,OAAuB;IAEvB,gBAAgB,CAAC,6CAA6C,CAAC,CAAC;IAEhE,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAEhH,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM;YACR,CAAC;YAED,IAAI,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;gBAClC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1E,CAAC;YAED,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;YACpD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBACnD,IAAI,MAAM,GAAG,MAAM,aAAa,CAAC;oBAC/B,eAAe;oBACf,MAAM;oBACN,OAAO;oBACP,iBAAiB;oBACjB,eAAe;oBACf,YAAY;iBACb,CAAC,CAAC;gBAEH,yFAAyF;gBACzF,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBACzB,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC9F,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAEpF,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC1B,MAAM,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;wBAChD,eAAe;wBACf,MAAM;wBACN,OAAO;wBACP,iBAAiB;wBACjB,eAAe;wBACf,YAAY;qBACb,CAAC,CAAC;oBAEH,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrC,IAAI,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;wBACzB,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACrF,CAAC;oBAED,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtF,CAAC;gBAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACrB,OAAO,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,8BAA8B,CAAC,CAAC;gBACjD,MAAM;YACR,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAgB,CAAC,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjG,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,sEAAsE,CAAC,CAAC;IACzF,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,iBAA0C,EAC1C,MAAoB,EACpB,YAA2B,EAC3B,WAAmB,EACnB,OAAuB;IAEvB,MAAM,kBAAkB,GAAwB;QAC9C,MAAM;QACN,YAAY;QACZ,aAAa;QACb,WAAW;QACX,SAAS,CAAC,KAAK;QACf,OAAO;KACR,CAAC;IACF,IAAI,iBAAiB,GAAG,MAAM,iBAAiB,CAAC,GAAG,kBAAkB,CAAC,CAAC;IACvE,iBAAiB,GAAG,MAAM,8BAA8B,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAEnH,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAgC,CAAC;AACtG,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAsB;IAC9C,yEAAyE;IACzE,MAAM,aAAa,GAAG,2BAA2B,EAAE,CAAC,GAAG,CAAC,UAAgC,CAAC,CAAC;IAC1F,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,2DAA2D;IAC3D,MAAM,QAAQ,GAAsC;QAClD,cAAc,EAAE,oBAAoB;QACpC,eAAe,EAAE,qBAAqB;QACtC,qBAAqB,EAAE,2BAA2B;QAClD,mBAAmB,EAAE,yBAAyB;QAC9C,kBAAkB,EAAE,wBAAwB;QAC5C,sBAAsB,EAAE,4BAA4B;QACpD,WAAW,EAAE,iBAAiB;QAC9B,aAAa,EAAE,mBAAmB;QAClC,UAAU,EAAE,gBAAgB;QAC5B,IAAI,EAAE,UAAU;QAChB,mBAAmB,EAAE,yBAAyB;QAC9C,UAAU,EAAE,gBAAgB;QAC5B,UAAU,EAAE,gBAAgB;QAC5B,eAAe,EAAE,qBAAqB;QACtC,cAAc,EAAE,oBAAoB;QACpC,aAAa,EAAE,mBAAmB;QAClC,kBAAkB,EAAE,wBAAwB;QAC5C,cAAc,EAAE,oBAAoB;QACpC,kBAAkB,EAAE,wBAAwB;KAC7C,CAAC;IAEF,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,iBAAiB,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { GenerateContentFunction, PromptItem } from '../../ai-service/common-types.js';
|
|
2
|
+
import { CodegenOptions } from '../../main/codegen-types.js';
|
|
3
|
+
import { StepResult } from './steps-types.js';
|
|
4
|
+
export declare const CONTEXT_COMPRESSION_PROMPT = "Analyze the conversation history and source code dependencies to create a comprehensive context summary that preserves essential information while maintaining reasonable token efficiency.\n\nKey Principles:\n1. Preserve Rich Context: Maintain detailed information about the conversation, especially for expensive operations like reasoning inference, code analysis, or complex decision-making.\n2. Token Efficiency: Aim for a meaningful compression (e.g., 5k tokens for a 100k token conversation) without being overly aggressive.\n3. File Handling: Do not include file contents in the summary - use filePaths array for this purpose.\n4. Temporal Context: Preserve chronological progression of important decisions and changes.\n\nRequired Information to Preserve:\n1. Conversation Flow:\n - Initial problem statement or task\n - Key questions asked and answers received\n - Important decisions made and their rationale\n - Results of expensive operations (reasoning inference, analysis)\n - Critical user preferences or constraints\n - Any errors or issues encountered\n\n2. Technical Details:\n - Code changes proposed or implemented\n - Architecture decisions\n - Performance considerations\n - Security implications\n - Dependencies identified\n - Testing requirements\n\n3. Implementation Status:\n - Current stage of development\n - Completed steps\n - Pending tasks\n - Known issues or challenges\n - Validation results\n\nFormat your response as a structured JSON object with:\n- conversationSummary: Detailed summary preserving rich context of the conversation's progression and key decisions\n- codegenIntent: Comprehensive description of the primary goal, constraints, and special requirements\n- filePaths: Array of file paths that are critical for the task (no file contents, just paths)\n\nExample of good summary structure:\n{\n \"conversationSummary\": \"Started: User requested CONTEXT_COMPRESSION_PROMPT improvement. Analysis: Current compression too aggressive (100k->100 tokens). Key Decision: Allow larger summaries (5k tokens ok). Reasoning inference revealed importance of preserving expensive operation results. Implementation: Updating compression logic in step-context-compression.ts. Requirements: 1) Less aggressive compression, 2) Rich conversation preservation, 3) No file contents in summary.\",\n \"codegenIntent\": \"Enhance context compression to preserve more information (up to 5k tokens) while maintaining efficiency. Focus on rich conversation details, especially expensive operations like reasoning inference. Exclude file contents from summary/intent, using filePaths instead. Goal: Better balance between compression and information preservation.\",\n \"filePaths\": [\"/path/to/relevant/files\"]\n}\n\nFocus on creating a summary that:\n1. Is comprehensive enough for the AI to understand the full context\n2. Preserves expensive computation results\n3. Maintains chronological flow of decisions\n4. Captures technical details and requirements\n5. Excludes file contents but includes critical file paths";
|
|
5
|
+
/**
|
|
6
|
+
* Executes the context compression step
|
|
7
|
+
*/
|
|
8
|
+
export declare function executeStepContextCompression(generateContentFn: GenerateContentFunction, prompt: PromptItem[], options: CodegenOptions): Promise<StepResult>;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { ModelType } from '../../ai-service/common-types.js';
|
|
2
|
+
import { putSystemMessage } from '../../main/common/content-bus.js';
|
|
3
|
+
import { getFunctionDefs } from '../function-calling.js';
|
|
4
|
+
import { StepResult } from './steps-types.js';
|
|
5
|
+
import { validateAndRecoverSingleResult } from './step-validate-recover.js';
|
|
6
|
+
import { executeStepEnsureContext } from './step-ensure-context.js';
|
|
7
|
+
export const CONTEXT_COMPRESSION_PROMPT = `Analyze the conversation history and source code dependencies to create a comprehensive context summary that preserves essential information while maintaining reasonable token efficiency.
|
|
8
|
+
|
|
9
|
+
Key Principles:
|
|
10
|
+
1. Preserve Rich Context: Maintain detailed information about the conversation, especially for expensive operations like reasoning inference, code analysis, or complex decision-making.
|
|
11
|
+
2. Token Efficiency: Aim for a meaningful compression (e.g., 5k tokens for a 100k token conversation) without being overly aggressive.
|
|
12
|
+
3. File Handling: Do not include file contents in the summary - use filePaths array for this purpose.
|
|
13
|
+
4. Temporal Context: Preserve chronological progression of important decisions and changes.
|
|
14
|
+
|
|
15
|
+
Required Information to Preserve:
|
|
16
|
+
1. Conversation Flow:
|
|
17
|
+
- Initial problem statement or task
|
|
18
|
+
- Key questions asked and answers received
|
|
19
|
+
- Important decisions made and their rationale
|
|
20
|
+
- Results of expensive operations (reasoning inference, analysis)
|
|
21
|
+
- Critical user preferences or constraints
|
|
22
|
+
- Any errors or issues encountered
|
|
23
|
+
|
|
24
|
+
2. Technical Details:
|
|
25
|
+
- Code changes proposed or implemented
|
|
26
|
+
- Architecture decisions
|
|
27
|
+
- Performance considerations
|
|
28
|
+
- Security implications
|
|
29
|
+
- Dependencies identified
|
|
30
|
+
- Testing requirements
|
|
31
|
+
|
|
32
|
+
3. Implementation Status:
|
|
33
|
+
- Current stage of development
|
|
34
|
+
- Completed steps
|
|
35
|
+
- Pending tasks
|
|
36
|
+
- Known issues or challenges
|
|
37
|
+
- Validation results
|
|
38
|
+
|
|
39
|
+
Format your response as a structured JSON object with:
|
|
40
|
+
- conversationSummary: Detailed summary preserving rich context of the conversation's progression and key decisions
|
|
41
|
+
- codegenIntent: Comprehensive description of the primary goal, constraints, and special requirements
|
|
42
|
+
- filePaths: Array of file paths that are critical for the task (no file contents, just paths)
|
|
43
|
+
|
|
44
|
+
Example of good summary structure:
|
|
45
|
+
{
|
|
46
|
+
"conversationSummary": "Started: User requested CONTEXT_COMPRESSION_PROMPT improvement. Analysis: Current compression too aggressive (100k->100 tokens). Key Decision: Allow larger summaries (5k tokens ok). Reasoning inference revealed importance of preserving expensive operation results. Implementation: Updating compression logic in step-context-compression.ts. Requirements: 1) Less aggressive compression, 2) Rich conversation preservation, 3) No file contents in summary.",
|
|
47
|
+
"codegenIntent": "Enhance context compression to preserve more information (up to 5k tokens) while maintaining efficiency. Focus on rich conversation details, especially expensive operations like reasoning inference. Exclude file contents from summary/intent, using filePaths instead. Goal: Better balance between compression and information preservation.",
|
|
48
|
+
"filePaths": ["/path/to/relevant/files"]
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
Focus on creating a summary that:
|
|
52
|
+
1. Is comprehensive enough for the AI to understand the full context
|
|
53
|
+
2. Preserves expensive computation results
|
|
54
|
+
3. Maintains chronological flow of decisions
|
|
55
|
+
4. Captures technical details and requirements
|
|
56
|
+
5. Excludes file contents but includes critical file paths`;
|
|
57
|
+
/**
|
|
58
|
+
* Executes the context compression step
|
|
59
|
+
*/
|
|
60
|
+
export async function executeStepContextCompression(generateContentFn, prompt, options) {
|
|
61
|
+
const initialPromptIndex = prompt.findIndex((item) => item.itemId === 'INITIAL_PROMPT');
|
|
62
|
+
if (initialPromptIndex === -1) {
|
|
63
|
+
putSystemMessage('Could not find initial prompt, something is wrong.');
|
|
64
|
+
return StepResult.CONTINUE;
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
putSystemMessage('Context compression is starting...');
|
|
68
|
+
const compressContextCall = await compressConversationHistory(generateContentFn, prompt, options);
|
|
69
|
+
if (!compressContextCall) {
|
|
70
|
+
putSystemMessage('Context compression did not return a result');
|
|
71
|
+
return StepResult.BREAK;
|
|
72
|
+
}
|
|
73
|
+
// Remove all items after the initial prompt
|
|
74
|
+
prompt.splice(initialPromptIndex + 1, prompt.length - initialPromptIndex - 1);
|
|
75
|
+
// Add compression result to prompt
|
|
76
|
+
prompt.push({ type: 'assistant', functionCalls: [compressContextCall] });
|
|
77
|
+
prompt.push({
|
|
78
|
+
type: 'user',
|
|
79
|
+
functionResponses: [
|
|
80
|
+
{
|
|
81
|
+
call_id: compressContextCall.id,
|
|
82
|
+
name: 'compressContext',
|
|
83
|
+
content: '',
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
cache: true,
|
|
87
|
+
});
|
|
88
|
+
// Ensure context
|
|
89
|
+
await executeStepEnsureContext(prompt, compressContextCall, options);
|
|
90
|
+
putSystemMessage('Context compression completed successfully.', compressContextCall.args);
|
|
91
|
+
return StepResult.CONTINUE;
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
putSystemMessage('An unexpected error occurred during context compression', { error });
|
|
95
|
+
return StepResult.BREAK;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Compresses the conversation history using the AI model
|
|
100
|
+
*/
|
|
101
|
+
async function compressConversationHistory(generateContentFn, prompt, options) {
|
|
102
|
+
const summaryPrompt = [
|
|
103
|
+
...prompt,
|
|
104
|
+
{
|
|
105
|
+
type: 'user',
|
|
106
|
+
text: CONTEXT_COMPRESSION_PROMPT,
|
|
107
|
+
},
|
|
108
|
+
];
|
|
109
|
+
const request = [
|
|
110
|
+
summaryPrompt,
|
|
111
|
+
getFunctionDefs(),
|
|
112
|
+
'compressContext',
|
|
113
|
+
0.3, // Use a lower temperature for more focused summaries
|
|
114
|
+
ModelType.CHEAP,
|
|
115
|
+
options,
|
|
116
|
+
];
|
|
117
|
+
let result = (await generateContentFn(...request));
|
|
118
|
+
result = (await validateAndRecoverSingleResult(request, result, generateContentFn));
|
|
119
|
+
return result[0];
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=step-context-compression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-context-compression.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-context-compression.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,6 @@ export async function executeStepEnsureContext(prompt, functionCall, options) {
|
|
|
45
45
|
},
|
|
46
46
|
],
|
|
47
47
|
});
|
|
48
|
-
putSystemMessage('Context completeness check completed successfully.');
|
|
49
48
|
return StepResult.CONTINUE;
|
|
50
49
|
}
|
|
51
50
|
catch (error) {
|
|
@@ -100,12 +99,9 @@ function getExistingContextPaths(prompt) {
|
|
|
100
99
|
continue;
|
|
101
100
|
try {
|
|
102
101
|
const sourceCode = JSON.parse(sourceCodeResponse.content);
|
|
103
|
-
for (const [
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
if (fileInfo && typeof fileInfo === 'object' && 'content' in fileInfo && fileInfo.content !== null) {
|
|
107
|
-
existingPaths.add(fullPath);
|
|
108
|
-
}
|
|
102
|
+
for (const [fullPath, fileInfo] of Object.entries(sourceCode)) {
|
|
103
|
+
if (fileInfo && typeof fileInfo === 'object' && 'content' in fileInfo && fileInfo.content !== null) {
|
|
104
|
+
existingPaths.add(fullPath);
|
|
109
105
|
}
|
|
110
106
|
}
|
|
111
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-ensure-context.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-ensure-context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAoH,EACpH,YAA0B,EAC1B,OAAuB;IAEvB,IAAI,CAAC;QACH,6BAA6B;QAC7B,MAAM,aAAa,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,gBAAgB,CAAC,gCAAgC,CAAC,CAAC;YACnD,OAAO,UAAU,CAAC,QAAQ,CAAC;QAC7B,CAAC;QAED,wCAAwC;QACxC,MAAM,aAAa,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAEtD,2CAA2C;QAC3C,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,gBAAgB,CAAC,4CAA4C,CAAC,CAAC;YAC/D,OAAO,UAAU,CAAC,QAAQ,CAAC;QAC7B,CAAC;QAED,oCAAoC;QACpC,gBAAgB,CAAC,yCAAyC,YAAY,CAAC,MAAM,iBAAiB,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAClH,MAAM,UAAU,GAAG,aAAa,CAC9B,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EACzE,OAAO,CACR,CAAC;QAEF,4DAA4D;QAC5D,MAAM,CAAC,IAAI,CACT;YACE,IAAI,EAAE,WAAW;YACjB,aAAa,EAAE;gBACb;oBACE,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE;wBACJ,SAAS,EAAE,YAAY;qBACxB;iBACF;aACF;SACF,EACD;YACE,IAAI,EAAE,MAAM;YACZ,iBAAiB,EAAE;gBACjB;oBACE,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;iBACpC;aACF;SACF,CACF,CAAC;
|
|
1
|
+
{"version":3,"file":"step-ensure-context.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-ensure-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ import { executeStepEnsureContext } from './step-ensure-context.js';
|
|
|
5
5
|
import { StepResult } from './steps-types.js';
|
|
6
6
|
import assert from 'node:assert';
|
|
7
7
|
import { PROMPT_CODEGEN_SUMMARY, PROMPT_CODEGEN_SUMMARY_ASSISTANT } from './step-generate-codegen-summary-prompt.js';
|
|
8
|
-
import { getExpandedContextPaths } from '../../files/source-code-utils.js';
|
|
9
8
|
/**
|
|
10
9
|
* Generates and validates the codegen summary.
|
|
11
10
|
* This is the first part of the original executeStepCodegenSummary function.
|
|
@@ -42,8 +41,6 @@ export async function generateCodegenSummary(generateContentFn, prompt, function
|
|
|
42
41
|
// Sometimes the result happens to be a string
|
|
43
42
|
assert(Array.isArray(codegenSummaryRequest?.args?.fileUpdates), 'fileUpdates is not an array');
|
|
44
43
|
assert(Array.isArray(codegenSummaryRequest?.args.contextPaths), 'contextPaths is not an array');
|
|
45
|
-
// Expand context paths
|
|
46
|
-
codegenSummaryRequest.args.contextPaths = getExpandedContextPaths(codegenSummaryRequest.args.contextPaths, options);
|
|
47
44
|
// Ensure all necessary files are in context
|
|
48
45
|
const contextResult = await executeStepEnsureContext(prompt, codegenSummaryRequest, options);
|
|
49
46
|
if (contextResult === StepResult.BREAK) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-generate-codegen-summary.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-generate-codegen-summary.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"step-generate-codegen-summary.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-generate-codegen-summary.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAErH;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,iBAA0C,EAC1C,MAAoB,EACpB,YAA2B,EAC3B,OAAuB;IAKvB,MAAM,WAAW,GAA6E;QAC5F;YACE,GAAG,MAAM;YACT;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,gCAAgC;aACvC;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,sBAAsB;aAC7B;SACF;QACD,YAAY;QACZ,gBAAgB;QAChB,OAAO,CAAC,WAAW,IAAI,GAAG;QAC1B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO;QACnD,OAAO;KACR,CAAC;IAEF,IAAI,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,WAAW,CAAC,CAAC;IACzD,UAAU,GAAG,MAAM,8BAA8B,CAAC,WAAW,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAC9F,MAAM,qBAAqB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAEzE,CAAC;IAEd,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,iEAAiE;QACjE,gBAAgB,CAAC,oDAAoD,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,gBAAgB,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAC;IAEpE,8CAA8C;IAC9C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAC/F,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,8BAA8B,CAAC,CAAC;IAEhG,4CAA4C;IAC5C,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAC7F,IAAI,aAAa,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,kEAAkE;IAClE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9D,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,MAAM;QACZ,iBAAiB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACpF,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,OAAO;QACL,qBAAqB;QACrB,UAAU;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -27,6 +27,7 @@ export async function executeStepGenerateSummary(generateContentFn, prompt, opti
|
|
|
27
27
|
const summaryExplanation = summaryResult.find((call) => call.name === 'explanation');
|
|
28
28
|
if (summaryExplanation && summaryExplanation.args && typeof summaryExplanation.args.text === 'string') {
|
|
29
29
|
const conversationSummary = summaryExplanation.args.text;
|
|
30
|
+
// TODO: this should be the final message in the UI
|
|
30
31
|
putSystemMessage('Generated conversation summary', conversationSummary, [ChatMessageFlags.CONVERSATION_SUMMARY]);
|
|
31
32
|
}
|
|
32
33
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-generate-summary.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-generate-summary.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,iBAA0C,EAC1C,MAAoB,EACpB,OAAuB;IAEvB,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC;QACxC,gBAAgB,CAAC,uEAAuE,CAAC,CAAC;QAC1F,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAwB;QAC1C;YACE,GAAG,MAAM;YACT,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,oCAAoC,EAAE;YACjE;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,kHAAkH;aACzH;SACF;QACD,eAAe,EAAE;QACjB,aAAa;QACb,GAAG,EAAE,qDAAqD;QAC1D,SAAS,CAAC,KAAK;QACf,OAAO;KACR,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,GAAG,cAAc,CAAC,CAAC;QACjE,MAAM,kBAAkB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAErF,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,IAAI,IAAI,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtG,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;YACzD,gBAAgB,CAAC,gCAAgC,EAAE,mBAAmB,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACnH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;QAC/D,gBAAgB,CAAC,0CAA0C,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"step-generate-summary.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-generate-summary.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,iBAA0C,EAC1C,MAAoB,EACpB,OAAuB;IAEvB,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC;QACxC,gBAAgB,CAAC,uEAAuE,CAAC,CAAC;QAC1F,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAwB;QAC1C;YACE,GAAG,MAAM;YACT,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,oCAAoC,EAAE;YACjE;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,kHAAkH;aACzH;SACF;QACD,eAAe,EAAE;QACjB,aAAa;QACb,GAAG,EAAE,qDAAqD;QAC1D,SAAS,CAAC,KAAK;QACf,OAAO;KACR,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,GAAG,cAAc,CAAC,CAAC;QACjE,MAAM,kBAAkB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAErF,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,IAAI,IAAI,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtG,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;YACzD,mDAAmD;YACnD,gBAAgB,CAAC,gCAAgC,EAAE,mBAAmB,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACnH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;QAC/D,gBAAgB,CAAC,0CAA0C,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;AACH,CAAC"}
|
|
@@ -56,6 +56,7 @@ To have conversation with me use the \`askQuestion\` function. This function all
|
|
|
56
56
|
- **Perform Code Generation**: Once you have all the necessary information, you can propose code changes.
|
|
57
57
|
- **Update Files**: If you need to make small changes to a file, you can request to update it.
|
|
58
58
|
- **Lint Code**: If you want to check the code for errors, you can request linting
|
|
59
|
+
- **Use Context Compression**: Autonomously initiate context compression when the conversation history becomes large or complex, or the topic of conversation changes. Always inform the user before compressing and explain the benefits.
|
|
59
60
|
|
|
60
61
|
Also additional actions can be added by plugins, and their names will be prefixed with \`plugin:\`.
|
|
61
62
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"systemprompt.js","sourceRoot":"","sources":["../../src/prompt/systemprompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAItD,+DAA+D;AAC/D,MAAM,UAAU,eAAe,CAC7B,EAAE,OAAO,EAAE,gBAAgB,EAAkD,EAC7E,OAA0C;IAE1C,MAAM,EACJ,OAAO,EACP,WAAW,EACX,WAAW,EACX,EAAE,EACF,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,MAAM,EACN,MAAM,GACP,GAAG,OAAO,CAAC;IAEZ,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAEtC,sEAAsE;IACtE,IAAI,YAAY,GAAG;;;;+EAI0D,OAAO;;;;;;;;;;;;;;;;;;;;;;;IAuBlF,eAAe,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,0BAA0B;IAErF,eAAe;QACb,CAAC,CAAC,iFAAiF;QACnF,CAAC,CAAC,sBACN;IACE,oBAAoB,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,gCAAgC;IACtG,aAAa,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,oBAAoB;IACvE,MAAM,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,8BAA8B;IACpF,MAAM,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,yCAAyC;CAC7F,CAAC;IAEA,IAAI,WAAW,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;QACvC,YAAY,IAAI
|
|
1
|
+
{"version":3,"file":"systemprompt.js","sourceRoot":"","sources":["../../src/prompt/systemprompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAItD,+DAA+D;AAC/D,MAAM,UAAU,eAAe,CAC7B,EAAE,OAAO,EAAE,gBAAgB,EAAkD,EAC7E,OAA0C;IAE1C,MAAM,EACJ,OAAO,EACP,WAAW,EACX,WAAW,EACX,EAAE,EACF,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,MAAM,EACN,MAAM,GACP,GAAG,OAAO,CAAC;IAEZ,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAEtC,sEAAsE;IACtE,IAAI,YAAY,GAAG;;;;+EAI0D,OAAO;;;;;;;;;;;;;;;;;;;;;;;IAuBlF,eAAe,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,0BAA0B;IAErF,eAAe;QACb,CAAC,CAAC,iFAAiF;QACnF,CAAC,CAAC,sBACN;IACE,oBAAoB,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,gCAAgC;IACtG,aAAa,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,oBAAoB;IACvE,MAAM,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,8BAA8B;IACpF,MAAM,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,yCAAyC;CAC7F,CAAC;IAEA,IAAI,WAAW,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;QACvC,YAAY,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4FnB,CAAC;IACA,CAAC;IAED,IAAI,gBAAgB,EAAE,YAAY,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/E,YAAY,IAAI,kCAAkC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC/F,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAEtC,OAAO,YAAY,CAAC;AACtB,CAAC"}
|