genaicode 0.9.6 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-service/ai-studio.d.ts +1 -1
- package/dist/ai-service/ai-studio.js +114 -31
- package/dist/ai-service/ai-studio.js.map +1 -1
- package/dist/ai-service/anthropic.js +64 -28
- package/dist/ai-service/anthropic.js.map +1 -1
- package/dist/ai-service/common-types.d.ts +28 -7
- package/dist/ai-service/local-llm.d.ts +6 -0
- package/dist/ai-service/local-llm.js +77 -0
- package/dist/ai-service/local-llm.js.map +1 -0
- package/dist/ai-service/openai.d.ts +3 -13
- package/dist/ai-service/openai.js +107 -51
- package/dist/ai-service/openai.js.map +1 -1
- package/dist/ai-service/service-configurations-types.d.ts +14 -4
- package/dist/ai-service/service-configurations-types.js +0 -4
- package/dist/ai-service/service-configurations-types.js.map +1 -1
- package/dist/ai-service/service-configurations.d.ts +9 -1
- package/dist/ai-service/service-configurations.js +108 -12
- package/dist/ai-service/service-configurations.js.map +1 -1
- package/dist/ai-service/vertex-ai-claude.d.ts +1 -1
- package/dist/ai-service/vertex-ai-claude.js +80 -39
- package/dist/ai-service/vertex-ai-claude.js.map +1 -1
- package/dist/ai-service/vertex-ai.d.ts +1 -1
- package/dist/ai-service/vertex-ai.js +261 -155
- package/dist/ai-service/vertex-ai.js.map +1 -1
- package/dist/cli/cli-options.js +1 -1
- package/dist/cli/cli-options.js.map +1 -1
- package/dist/cli/validate-cli-params.js +1 -1
- package/dist/cli/validate-cli-params.js.map +1 -1
- package/dist/main/codegen-utils.js +9 -1
- package/dist/main/codegen-utils.js.map +1 -1
- package/dist/main/codegen.js +2 -0
- package/dist/main/codegen.js.map +1 -1
- package/dist/main/common/user-actions.d.ts +2 -0
- package/dist/main/common/user-actions.js.map +1 -1
- package/dist/main/config-schema.js +16 -0
- package/dist/main/config-schema.js.map +1 -1
- package/dist/main/config-types.d.ts +15 -0
- package/dist/main/config.js +1 -0
- package/dist/main/config.js.map +1 -1
- package/dist/main/interactive/select-ai-service.js +1 -0
- package/dist/main/interactive/select-ai-service.js.map +1 -1
- package/dist/main/plugin-loader.d.ts +1 -2
- package/dist/main/plugin-loader.js.map +1 -1
- package/dist/main/ui/backend/endpoints/question-endpoint.js +34 -3
- package/dist/main/ui/backend/endpoints/question-endpoint.js.map +1 -1
- package/dist/main/ui/backend/service.d.ts +6 -5
- package/dist/main/ui/backend/service.js +54 -17
- package/dist/main/ui/backend/service.js.map +1 -1
- package/dist/main/ui/common/api-types.d.ts +1 -0
- package/dist/main/ui/frontend/assets/index-BlVGo0E6.js +1902 -0
- package/dist/main/ui/frontend/index.html +1 -1
- package/dist/project-profiles/types.d.ts +1 -1
- package/dist/project-profiles/types.js +1 -1
- package/dist/project-profiles/types.js.map +1 -1
- package/dist/prompt/function-calling.js +6 -0
- package/dist/prompt/function-calling.js.map +1 -1
- package/dist/prompt/function-defs/ask-question.js +8 -4
- package/dist/prompt/function-defs/ask-question.js.map +1 -1
- package/dist/prompt/function-defs/conversation-summary.d.ts +2 -0
- package/dist/prompt/function-defs/conversation-summary.js +15 -0
- package/dist/prompt/function-defs/conversation-summary.js.map +1 -0
- package/dist/prompt/function-defs/explore-external-directories.d.ts +16 -0
- package/dist/prompt/function-defs/explore-external-directories.js +48 -0
- package/dist/prompt/function-defs/explore-external-directories.js.map +1 -0
- package/dist/prompt/function-defs/read-external-files.d.ts +9 -0
- package/dist/prompt/function-defs/read-external-files.js +30 -0
- package/dist/prompt/function-defs/read-external-files.js.map +1 -0
- package/dist/prompt/limits.js +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-code-generation.js +23 -18
- package/dist/prompt/steps/step-ask-question/handlers/handle-code-generation.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-conversation-graph.js +60 -28
- package/dist/prompt/steps/step-ask-question/handlers/handle-conversation-graph.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-create-file.js +76 -73
- package/dist/prompt/steps/step-ask-question/handlers/handle-create-file.js.map +1 -1
- 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-explore-external-directories.d.ts +2 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-explore-external-directories.js +277 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-explore-external-directories.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-genaicode-help.js +13 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-genaicode-help.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-generate-image.js +13 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-generate-image.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-lint.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-lint.js +54 -61
- package/dist/prompt/steps/step-ask-question/handlers/handle-lint.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-perform-analysis.js +22 -10
- package/dist/prompt/steps/step-ask-question/handlers/handle-perform-analysis.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-pull-app-context.js +13 -1
- 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 +13 -1
- 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-read-external-files.d.ts +2 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-read-external-files.js +144 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-read-external-files.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.js +27 -6
- package/dist/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-remove-files-from-context.js +13 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-remove-files-from-context.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-files-content.js +14 -5
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-files-content.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-files-fragments.js +26 -2
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-files-fragments.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-permissions.js +13 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-permissions.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-search-code.js +14 -2
- package/dist/prompt/steps/step-ask-question/handlers/handle-search-code.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-update-file.js +59 -60
- package/dist/prompt/steps/step-ask-question/handlers/handle-update-file.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/step-ask-question-types.d.ts +5 -1
- package/dist/prompt/steps/step-ask-question/step-ask-question.d.ts +2 -0
- package/dist/prompt/steps/step-ask-question/step-ask-question.js +14 -7
- package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
- package/dist/prompt/steps/step-codegen-planning.js +14 -5
- package/dist/prompt/steps/step-codegen-planning.js.map +1 -1
- package/dist/prompt/steps/step-context-compression.js +14 -5
- package/dist/prompt/steps/step-context-compression.js.map +1 -1
- package/dist/prompt/steps/step-context-optimization.js +10 -5
- package/dist/prompt/steps/step-context-optimization.js.map +1 -1
- package/dist/prompt/steps/step-generate-codegen-summary.js +14 -5
- package/dist/prompt/steps/step-generate-codegen-summary.js.map +1 -1
- package/dist/prompt/steps/step-generate-summary.d.ts +6 -0
- package/dist/prompt/steps/step-generate-summary.js +36 -16
- package/dist/prompt/steps/step-generate-summary.js.map +1 -1
- package/dist/prompt/steps/step-history-update.js +14 -5
- package/dist/prompt/steps/step-history-update.js.map +1 -1
- package/dist/prompt/steps/step-process-file-updates.js +10 -5
- package/dist/prompt/steps/step-process-file-updates.js.map +1 -1
- package/dist/prompt/steps/step-summarization.js +14 -2
- package/dist/prompt/steps/step-summarization.js.map +1 -1
- package/dist/prompt/steps/step-validate-recover.d.ts +2 -4
- package/dist/prompt/steps/step-validate-recover.js +18 -9
- package/dist/prompt/steps/step-validate-recover.js.map +1 -1
- package/dist/prompt/steps/step-verify-patch.js +14 -5
- package/dist/prompt/steps/step-verify-patch.js.map +1 -1
- package/dist/prompt/systemprompt.js +5 -3
- package/dist/prompt/systemprompt.js.map +1 -1
- package/package.json +4 -4
- package/dist/main/ui/frontend/assets/index-DI1ngpa2.js +0 -1840
- package/dist/prompt/steps/step-ask-question/handlers/code-generation.d.ts +0 -4
- package/dist/prompt/steps/step-ask-question/handlers/code-generation.js +0 -167
- package/dist/prompt/steps/step-ask-question/handlers/code-generation.js.map +0 -1
- package/dist/prompt/steps/step-ask-question/handlers/confirm-code-generation.d.ts +0 -2
- package/dist/prompt/steps/step-ask-question/handlers/confirm-code-generation.js +0 -34
- package/dist/prompt/steps/step-ask-question/handlers/confirm-code-generation.js.map +0 -1
- package/dist/prompt/steps/step-ask-question/handlers/context-optimization.d.ts +0 -2
- package/dist/prompt/steps/step-ask-question/handlers/context-optimization.js +0 -32
- package/dist/prompt/steps/step-ask-question/handlers/context-optimization.js.map +0 -1
- package/dist/prompt/steps/step-ask-question/handlers/genaicode-help-document.d.ts +0 -1
- package/dist/prompt/steps/step-ask-question/handlers/genaicode-help-document.js +0 -251
- package/dist/prompt/steps/step-ask-question/handlers/genaicode-help-document.js.map +0 -1
- package/dist/prompt/steps/step-ask-question/handlers/lint.d.ts +0 -6
- package/dist/prompt/steps/step-ask-question/handlers/lint.js +0 -103
- package/dist/prompt/steps/step-ask-question/handlers/lint.js.map +0 -1
- package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.d.ts +0 -2
- package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js +0 -82
- package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js.map +0 -1
- package/dist/prompt/steps/step-ask-question/handlers/request-files-content.d.ts +0 -8
- package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js +0 -179
- package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js.map +0 -1
- package/dist/prompt/steps/step-ask-question/handlers/request-permissions.d.ts +0 -2
- package/dist/prompt/steps/step-ask-question/handlers/request-permissions.js +0 -69
- package/dist/prompt/steps/step-ask-question/handlers/request-permissions.js.map +0 -1
|
@@ -40,7 +40,19 @@ export async function handleCreateFile({ askQuestionCall, options, prompt, gener
|
|
|
40
40
|
text: 'Ok, please provide the file creation using `createFile` function. Please remember to use absolute file path.' +
|
|
41
41
|
(generateConfirmation.answer ? ` ${generateConfirmation.answer}` : ''),
|
|
42
42
|
},
|
|
43
|
-
],
|
|
43
|
+
], {
|
|
44
|
+
functionDefs: getFunctionDefs(),
|
|
45
|
+
requiredFunctionName: 'createFile',
|
|
46
|
+
temperature: options.temperature ?? 0.7,
|
|
47
|
+
modelType: ModelType.DEFAULT,
|
|
48
|
+
expectedResponseType: {
|
|
49
|
+
text: false,
|
|
50
|
+
functionCall: true,
|
|
51
|
+
media: false,
|
|
52
|
+
},
|
|
53
|
+
}, options))
|
|
54
|
+
.filter((item) => item.type === 'functionCall')
|
|
55
|
+
.map((item) => item.functionCall);
|
|
44
56
|
if (!createFileCall || !createFileCall.args) {
|
|
45
57
|
return {
|
|
46
58
|
breakLoop: true,
|
|
@@ -50,20 +62,17 @@ export async function handleCreateFile({ askQuestionCall, options, prompt, gener
|
|
|
50
62
|
const { filePath } = createFileCall.args;
|
|
51
63
|
const file = getSourceCode({ filterPaths: [filePath], forceAll: true }, options)[filePath];
|
|
52
64
|
if (file && 'content' in file && file.content) {
|
|
65
|
+
putSystemMessage('File not created. File already exists.', createFileCall);
|
|
66
|
+
prompt.push({
|
|
67
|
+
type: 'assistant',
|
|
68
|
+
text: askQuestionCall.args?.message ?? '',
|
|
69
|
+
}, {
|
|
70
|
+
type: 'user',
|
|
71
|
+
text: 'The file already exists. Please use updateFile function to modify existing files.',
|
|
72
|
+
});
|
|
53
73
|
return {
|
|
54
74
|
breakLoop: false,
|
|
55
|
-
items: [
|
|
56
|
-
{
|
|
57
|
-
assistant: {
|
|
58
|
-
type: 'assistant',
|
|
59
|
-
text: askQuestionCall.args.message,
|
|
60
|
-
},
|
|
61
|
-
user: {
|
|
62
|
-
type: 'user',
|
|
63
|
-
text: 'The file already exists. Please use updateFile function to modify existing files.',
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
],
|
|
75
|
+
items: [],
|
|
67
76
|
};
|
|
68
77
|
}
|
|
69
78
|
putSystemMessage(`The assistant has generated content for new file ${filePath}.`, {
|
|
@@ -72,84 +81,78 @@ export async function handleCreateFile({ askQuestionCall, options, prompt, gener
|
|
|
72
81
|
});
|
|
73
82
|
// Second confirmation: Ask user if they want to proceed with file creation
|
|
74
83
|
const applyConfirmation = await askUserForConfirmationWithAnswer('The assistant has generated the file content. Do you want to create the file?', 'Create file', 'Cancel file creation', false, options);
|
|
84
|
+
if (applyConfirmation.answer) {
|
|
85
|
+
putUserMessage(applyConfirmation.answer);
|
|
86
|
+
}
|
|
75
87
|
if (!applyConfirmation.confirmed) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
88
|
+
putSystemMessage('File creation rejected.');
|
|
89
|
+
prompt.push({
|
|
90
|
+
type: 'assistant',
|
|
91
|
+
text: askQuestionCall.args.message,
|
|
92
|
+
functionCalls: [createFileCall],
|
|
93
|
+
}, {
|
|
94
|
+
type: 'user',
|
|
95
|
+
text: 'Rejecting file creation.' + (applyConfirmation.answer ? ` ${applyConfirmation.answer}` : ''),
|
|
96
|
+
functionResponses: [
|
|
79
97
|
{
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
functionCalls: [createFileCall],
|
|
84
|
-
},
|
|
85
|
-
user: {
|
|
86
|
-
type: 'user',
|
|
87
|
-
text: 'Rejecting file creation.' + (applyConfirmation.answer ? ` ${applyConfirmation.answer}` : ''),
|
|
88
|
-
functionResponses: [
|
|
89
|
-
{
|
|
90
|
-
name: 'createFile',
|
|
91
|
-
call_id: createFileCall.id,
|
|
92
|
-
content: '',
|
|
93
|
-
},
|
|
94
|
-
],
|
|
95
|
-
},
|
|
98
|
+
name: 'createFile',
|
|
99
|
+
call_id: createFileCall.id,
|
|
100
|
+
content: '',
|
|
96
101
|
},
|
|
97
102
|
],
|
|
103
|
+
});
|
|
104
|
+
return {
|
|
105
|
+
breakLoop: false,
|
|
106
|
+
items: [],
|
|
98
107
|
};
|
|
99
108
|
}
|
|
100
109
|
try {
|
|
110
|
+
putSystemMessage('Applying file creation');
|
|
101
111
|
await executeCreateFile(createFileCall.args, options);
|
|
102
112
|
refreshFiles();
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
113
|
+
prompt.push({
|
|
114
|
+
type: 'assistant',
|
|
115
|
+
text: askQuestionCall.args.message,
|
|
116
|
+
functionCalls: [createFileCall],
|
|
117
|
+
}, {
|
|
118
|
+
type: 'user',
|
|
119
|
+
text: 'Accepting file creation.' + (applyConfirmation.answer ? ` ${applyConfirmation.answer}` : ''),
|
|
120
|
+
functionResponses: [
|
|
106
121
|
{
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
functionCalls: [createFileCall],
|
|
111
|
-
},
|
|
112
|
-
user: {
|
|
113
|
-
type: 'user',
|
|
114
|
-
text: 'Accepting file creation.' + (applyConfirmation.answer ? ` ${applyConfirmation.answer}` : ''),
|
|
115
|
-
functionResponses: [
|
|
116
|
-
{
|
|
117
|
-
name: 'createFile',
|
|
118
|
-
call_id: createFileCall.id,
|
|
119
|
-
content: '',
|
|
120
|
-
},
|
|
121
|
-
],
|
|
122
|
-
},
|
|
122
|
+
name: 'createFile',
|
|
123
|
+
call_id: createFileCall.id,
|
|
124
|
+
content: '',
|
|
123
125
|
},
|
|
124
126
|
],
|
|
127
|
+
});
|
|
128
|
+
return {
|
|
129
|
+
breakLoop: false,
|
|
130
|
+
items: [],
|
|
125
131
|
};
|
|
126
132
|
}
|
|
127
133
|
catch (error) {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
134
|
+
putSystemMessage('File creation failed.');
|
|
135
|
+
prompt.push({
|
|
136
|
+
type: 'assistant',
|
|
137
|
+
text: askQuestionCall.args.message,
|
|
138
|
+
functionCalls: [createFileCall],
|
|
139
|
+
}, {
|
|
140
|
+
type: 'user',
|
|
141
|
+
text: 'Accepting file creation.' +
|
|
142
|
+
(applyConfirmation.answer ? ` ${applyConfirmation.answer}` : '') +
|
|
143
|
+
' Unfortunately, the file creation failed: ' +
|
|
144
|
+
(error instanceof Error ? error.message : 'unknown error'),
|
|
145
|
+
functionResponses: [
|
|
131
146
|
{
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
functionCalls: [createFileCall],
|
|
136
|
-
},
|
|
137
|
-
user: {
|
|
138
|
-
type: 'user',
|
|
139
|
-
text: 'Accepting file creation.' +
|
|
140
|
-
(applyConfirmation.answer ? ` ${applyConfirmation.answer}` : '') +
|
|
141
|
-
' Unfortunately, the file creation failed: ' +
|
|
142
|
-
(error instanceof Error ? error.message : 'unknown error'),
|
|
143
|
-
functionResponses: [
|
|
144
|
-
{
|
|
145
|
-
name: 'createFile',
|
|
146
|
-
call_id: createFileCall.id,
|
|
147
|
-
content: '',
|
|
148
|
-
},
|
|
149
|
-
],
|
|
150
|
-
},
|
|
147
|
+
name: 'createFile',
|
|
148
|
+
call_id: createFileCall.id,
|
|
149
|
+
content: '',
|
|
151
150
|
},
|
|
152
151
|
],
|
|
152
|
+
});
|
|
153
|
+
return {
|
|
154
|
+
breakLoop: false,
|
|
155
|
+
items: [],
|
|
153
156
|
};
|
|
154
157
|
}
|
|
155
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-create-file.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-create-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAE3G,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,qBAAqB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,eAAe,EACf,OAAO,EACP,MAAM,EACN,iBAAiB,GACE;IACnB,gBAAgB,CAAC,0BAA0B,EAAE,eAAe,CAAC,CAAC;IAE9D,+EAA+E;IAC/E,MAAM,oBAAoB,GAAG,MAAM,gCAAgC,CACjE,2GAA2G,EAC3G,kBAAkB,EAClB,2BAA2B,EAC3B,KAAK,EACL,OAAO,CACR,CAAC;IAEF,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC;QAChC,cAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,CAAC;QACpC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC;QAEjD,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,0BAA0B,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1G,CACF,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,6BAA6B,CAAC,CAAC;IAEhD,MAAM,CAAC,cAAc,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"handle-create-file.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-create-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAE3G,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,qBAAqB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,eAAe,EACf,OAAO,EACP,MAAM,EACN,iBAAiB,GACE;IACnB,gBAAgB,CAAC,0BAA0B,EAAE,eAAe,CAAC,CAAC;IAE9D,+EAA+E;IAC/E,MAAM,oBAAoB,GAAG,MAAM,gCAAgC,CACjE,2GAA2G,EAC3G,kBAAkB,EAClB,2BAA2B,EAC3B,KAAK,EACL,OAAO,CACR,CAAC;IAEF,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC;QAChC,cAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,CAAC;QACpC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC;QAEjD,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,0BAA0B,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1G,CACF,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,6BAA6B,CAAC,CAAC;IAEhD,MAAM,CAAC,cAAc,CAAC,GAAG,CACvB,MAAM,iBAAiB,CACrB;QACE,GAAG,MAAM;QACT;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE;SAC1C;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EACF,8GAA8G;gBAC9G,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE;KACF,EACD;QACE,YAAY,EAAE,eAAe,EAAE;QAC/B,oBAAoB,EAAE,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;QACvC,SAAS,EAAE,SAAS,CAAC,OAAO;QAC5B,oBAAoB,EAAE;YACpB,IAAI,EAAE,KAAK;YACX,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,KAAK;SACb;KACF,EACD,OAAO,CACR,CACF;SACE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC;SAC9C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAA+C,CAAC;IAElF,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO;YACL,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC;IAEzC,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE3F,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9C,gBAAgB,CAAC,wCAAwC,EAAE,cAAc,CAAC,CAAC;QAC3E,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,mFAAmF;SAC1F,CACF,CAAC;QACF,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,oDAAoD,QAAQ,GAAG,EAAE;QAChF,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,IAAI,EAAE,cAAc,CAAC,IAAI;KAC1B,CAAC,CAAC;IAEH,2EAA2E;IAC3E,MAAM,iBAAiB,GAAG,MAAM,gCAAgC,CAC9D,+EAA+E,EAC/E,aAAa,EACb,sBAAsB,EACtB,KAAK,EACL,OAAO,CACR,CAAC;IAEF,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC7B,cAAc,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;QACjC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CACT;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,eAAe,CAAC,IAAK,CAAC,OAAO;YACnC,aAAa,EAAE,CAAC,cAAc,CAAC;SAChC,EACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,0BAA0B,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnG,iBAAiB,EAAE;gBACjB;oBACE,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,cAAc,CAAC,EAAE;oBAC1B,OAAO,EAAE,EAAE;iBACZ;aACF;SACF,CACF,CAAC;QACF,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QAC3C,MAAM,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtD,YAAY,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CACT;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,eAAe,CAAC,IAAK,CAAC,OAAO;YACnC,aAAa,EAAE,CAAC,cAAc,CAAC;SAChC,EACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,0BAA0B,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnG,iBAAiB,EAAE;gBACjB;oBACE,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,cAAc,CAAC,EAAE;oBAC1B,OAAO,EAAE,EAAE;iBACZ;aACF;SACF,CACF,CAAC;QACF,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CACT;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,eAAe,CAAC,IAAK,CAAC,OAAO;YACnC,aAAa,EAAE,CAAC,cAAc,CAAC;SAChC,EACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EACF,0BAA0B;gBAC1B,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,4CAA4C;gBAC5C,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC5D,iBAAiB,EAAE;gBACjB;oBACE,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,cAAc,CAAC,EAAE;oBAC1B,OAAO,EAAE,EAAE;iBACZ;aACF;SACF,CACF,CAAC;QACF,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -12,7 +12,7 @@ export async function handleEndConversation({ askQuestionCall, prompt, options,
|
|
|
12
12
|
text: askQuestionCall.args?.message ?? '',
|
|
13
13
|
}, {
|
|
14
14
|
type: 'user',
|
|
15
|
-
text: '
|
|
15
|
+
text: 'Lets continue the conversation.' + (userConfirmation.answer ? ` ${userConfirmation.answer}` : ''),
|
|
16
16
|
});
|
|
17
17
|
if (!userConfirmation.confirmed) {
|
|
18
18
|
putSystemMessage('User declined to end the conversation.');
|
|
@@ -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,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,qBAAqB,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAC1C,eAAe,EACf,MAAM,EACN,OAAO,GACY;IACnB,MAAM,gBAAgB,GAAG,MAAM,gCAAgC,CAC7D,sCAAsC,EACtC,kBAAkB,EAClB,uBAAuB,EACvB,IAAI,EACJ,OAAO,CACR,CAAC;IAEF,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC5B,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,IAAI,CACT;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE;KAC1C,EACD;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,
|
|
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,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,qBAAqB,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAC1C,eAAe,EACf,MAAM,EACN,OAAO,GACY;IACnB,MAAM,gBAAgB,GAAG,MAAM,gCAAgC,CAC7D,sCAAsC,EACtC,kBAAkB,EAClB,uBAAuB,EACvB,IAAI,EACJ,OAAO,CACR,CAAC;IAEF,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC5B,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,IAAI,CACT;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE;KAC1C,EACD;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,iCAAiC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzG,CACF,CAAC;IAEF,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAChC,gBAAgB,CAAC,wCAAwC,CAAC,CAAC;QAE3D,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,yDAAyD,CAAC,CAAC;IAC5E,OAAO;QACL,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,EAAE;KACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
import fs from 'fs/promises';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { isAncestorDirectory } from '../../../../files/file-utils.js';
|
|
4
|
+
import { askUserForConfirmation } from '../../../../main/common/user-actions.js';
|
|
5
|
+
import { putSystemMessage } from '../../../../main/common/content-bus.js';
|
|
6
|
+
import { rcConfig } from '../../../../main/config.js';
|
|
7
|
+
import { registerActionHandler } from '../step-ask-question-handlers.js';
|
|
8
|
+
import { exploreExternalDirectories as exploreExternalDirectoriesDef, } from '../../../function-defs/explore-external-directories.js';
|
|
9
|
+
import { ModelType } from '../../../../ai-service/common-types.js';
|
|
10
|
+
import { getFunctionDefs } from '../../../function-calling.js';
|
|
11
|
+
// Threshold for triggering synthesis instead of listing all files
|
|
12
|
+
const SYNTHESIS_FILE_COUNT_THRESHOLD = 10;
|
|
13
|
+
registerActionHandler('exploreExternalDirectories', handleExploreExternalDirectories);
|
|
14
|
+
export async function handleExploreExternalDirectories({ askQuestionCall, options, prompt, generateContentFn, }) {
|
|
15
|
+
// 1. Infer arguments using LLM
|
|
16
|
+
const inferencePrompt = [
|
|
17
|
+
...prompt,
|
|
18
|
+
{
|
|
19
|
+
type: 'assistant',
|
|
20
|
+
text: askQuestionCall.args?.message ?? '',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
type: 'user',
|
|
24
|
+
text: 'Given the conversation, identify the directories, reason, and any exploration parameters (recursive, depth, searchPhrases, maxResults) for exploring external directories.',
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
const inferenceResult = await generateContentFn(inferencePrompt, {
|
|
28
|
+
modelType: ModelType.CHEAP,
|
|
29
|
+
functionDefs: getFunctionDefs(),
|
|
30
|
+
requiredFunctionName: exploreExternalDirectoriesDef.name,
|
|
31
|
+
}, options);
|
|
32
|
+
const inferredCall = inferenceResult.find((part) => part.type === 'functionCall')?.functionCall;
|
|
33
|
+
if (!inferredCall || !inferredCall.args) {
|
|
34
|
+
putSystemMessage('Could not infer arguments for exploreExternalDirectories action from the assistant message and context.');
|
|
35
|
+
return { breakLoop: false, items: [] }; // Or respond with error
|
|
36
|
+
}
|
|
37
|
+
const inferredCallId = inferredCall.id;
|
|
38
|
+
// Ensure depth is handled correctly as it's now required
|
|
39
|
+
const { directories, reason: inferredReason, depth, ...restParams } = inferredCall.args;
|
|
40
|
+
const requestedDirectories = directories;
|
|
41
|
+
const reason = inferredReason;
|
|
42
|
+
const executorParams = { depth, ...restParams }; // Includes recursive, searchPhrases, maxResults if provided
|
|
43
|
+
if (!requestedDirectories || requestedDirectories.length === 0 || !reason || typeof depth !== 'number' || depth < 0) {
|
|
44
|
+
let errorMsg = 'Missing or invalid arguments after inferring for exploreExternalDirectories action.';
|
|
45
|
+
if (!requestedDirectories || requestedDirectories.length === 0)
|
|
46
|
+
errorMsg += ' Missing directories.';
|
|
47
|
+
if (!reason)
|
|
48
|
+
errorMsg += ' Missing reason.';
|
|
49
|
+
if (typeof depth !== 'number' || depth < 0)
|
|
50
|
+
errorMsg += ' Missing or invalid depth (must be >= 0).';
|
|
51
|
+
putSystemMessage(errorMsg);
|
|
52
|
+
// Respond with an error in the function response
|
|
53
|
+
prompt.push({
|
|
54
|
+
type: 'assistant',
|
|
55
|
+
text: askQuestionCall.args?.message ?? '',
|
|
56
|
+
functionCalls: inferredCall ? [inferredCall] : undefined, // Include the inferred call attempt
|
|
57
|
+
}, {
|
|
58
|
+
type: 'user',
|
|
59
|
+
functionResponses: [
|
|
60
|
+
{
|
|
61
|
+
name: exploreExternalDirectoriesDef.name,
|
|
62
|
+
call_id: inferredCallId,
|
|
63
|
+
content: JSON.stringify({
|
|
64
|
+
error: `Invalid arguments inferred: ${errorMsg}`,
|
|
65
|
+
}),
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
});
|
|
69
|
+
return { breakLoop: false, items: [] };
|
|
70
|
+
}
|
|
71
|
+
// 2. Validate directories are external
|
|
72
|
+
const externalDirsToExplore = [];
|
|
73
|
+
const internalDirsSkipped = [];
|
|
74
|
+
const invalidDirs = [];
|
|
75
|
+
for (const dir of requestedDirectories) {
|
|
76
|
+
try {
|
|
77
|
+
const absolutePath = path.resolve(dir);
|
|
78
|
+
// Basic check if it's inside the project root (and not ignored)
|
|
79
|
+
if (isAncestorDirectory(rcConfig.rootDir, absolutePath) &&
|
|
80
|
+
!rcConfig.ignorePaths?.some((ignorePath) => path.join(rcConfig.rootDir, ignorePath) === absolutePath ||
|
|
81
|
+
isAncestorDirectory(path.join(rcConfig.rootDir, ignorePath), absolutePath))) {
|
|
82
|
+
internalDirsSkipped.push(absolutePath);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
// Further validation (existence, directory type) could happen here or in exploreDirectories
|
|
86
|
+
externalDirsToExplore.push(absolutePath);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
// path.resolve might throw if the path format is invalid on some OS
|
|
91
|
+
invalidDirs.push(`${dir} (invalid path format)`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// Define userResponse structure
|
|
95
|
+
let userResponse = {};
|
|
96
|
+
// 3. Handle validation results and Ask for confirmation
|
|
97
|
+
if (invalidDirs.length > 0) {
|
|
98
|
+
userResponse = {
|
|
99
|
+
error: `Invalid or inaccessible directory paths provided: ${invalidDirs.join(', ')}`,
|
|
100
|
+
invalid: invalidDirs,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
else if (externalDirsToExplore.length === 0) {
|
|
104
|
+
userResponse.error = 'No valid external directories provided to explore.';
|
|
105
|
+
if (internalDirsSkipped.length > 0) {
|
|
106
|
+
userResponse.skipped = internalDirsSkipped;
|
|
107
|
+
userResponse.error += ` Skipped internal directories: ${internalDirsSkipped.join(', ')}`;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
// Ask for confirmation
|
|
112
|
+
const confirmationMessage = `The AI wants to explore the following external directorie(s):\n${externalDirsToExplore.join('\n')}\nDo you allow exploring these directories?`;
|
|
113
|
+
const confirmationResult = await askUserForConfirmation(confirmationMessage, false, options);
|
|
114
|
+
if (confirmationResult.confirmed) {
|
|
115
|
+
try {
|
|
116
|
+
const filePaths = await exploreDirectories({
|
|
117
|
+
directories: externalDirsToExplore,
|
|
118
|
+
// Pass validated executorParams
|
|
119
|
+
recursive: executorParams.recursive,
|
|
120
|
+
depth: executorParams.depth,
|
|
121
|
+
searchPhrases: executorParams.searchPhrases,
|
|
122
|
+
maxResults: executorParams.maxResults,
|
|
123
|
+
});
|
|
124
|
+
userResponse.confirmed = true;
|
|
125
|
+
if (internalDirsSkipped.length > 0) {
|
|
126
|
+
userResponse.skipped = internalDirsSkipped;
|
|
127
|
+
}
|
|
128
|
+
// ---- Synthesis Logic ----
|
|
129
|
+
if (filePaths.length > SYNTHESIS_FILE_COUNT_THRESHOLD) {
|
|
130
|
+
putSystemMessage(`Found ${filePaths.length} files. Synthesizing results...`);
|
|
131
|
+
userResponse.fileCount = filePaths.length;
|
|
132
|
+
const synthesisPrompt = [
|
|
133
|
+
{
|
|
134
|
+
type: 'user',
|
|
135
|
+
text: `You explored directories and found ${filePaths.length} files because: ${reason}.\nFiles:\n${filePaths.join('\\n')}\n\nBased on this reason, provide a concise and helpful output. Choose the most suitable format from summary, categorized list, or plain file list.`,
|
|
136
|
+
},
|
|
137
|
+
];
|
|
138
|
+
try {
|
|
139
|
+
const synthesisResult = await generateContentFn(synthesisPrompt, {
|
|
140
|
+
modelType: ModelType.CHEAP,
|
|
141
|
+
// Ensure we only expect text
|
|
142
|
+
expectedResponseType: { text: true, functionCall: false, media: false },
|
|
143
|
+
}, { ...options, askQuestion: false });
|
|
144
|
+
const synthesizedText = synthesisResult.find((part) => part.type === 'text')?.text;
|
|
145
|
+
if (synthesizedText) {
|
|
146
|
+
userResponse.synthesis = synthesizedText;
|
|
147
|
+
putSystemMessage(`Synthesis complete.`);
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
putSystemMessage('Synthesis failed: No text content returned from LLM.');
|
|
151
|
+
userResponse.error = 'Exploration succeeded, but synthesis failed to generate content.';
|
|
152
|
+
// Fallback? Maybe include filePaths if synthesis fails?
|
|
153
|
+
// userResponse.filePaths = filePaths; // Or just report error
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
catch (synthError) {
|
|
157
|
+
const synthErrorMessage = synthError instanceof Error ? synthError.message : 'Unknown synthesis error.';
|
|
158
|
+
putSystemMessage(`Synthesis failed: ${synthErrorMessage}`);
|
|
159
|
+
userResponse.error = `Exploration succeeded, but synthesis failed: ${synthErrorMessage}`;
|
|
160
|
+
// userResponse.filePaths = filePaths; // Optional fallback
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
// No synthesis needed, include the paths directly
|
|
165
|
+
userResponse.filePaths = filePaths;
|
|
166
|
+
}
|
|
167
|
+
// ---- End Synthesis Logic ----
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error during execution.';
|
|
171
|
+
putSystemMessage(`Error exploring external directories: ${errorMessage}`);
|
|
172
|
+
userResponse = { ...userResponse, confirmed: true, error: `Exploration failed: ${errorMessage}` }; // Keep skipped/invalid if already set
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
userResponse = {
|
|
177
|
+
...userResponse,
|
|
178
|
+
confirmed: false,
|
|
179
|
+
error: 'User denied permission to explore external directories.',
|
|
180
|
+
}; // Keep skipped/invalid
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
// 4. Update conversation history
|
|
184
|
+
prompt.push({
|
|
185
|
+
type: 'assistant',
|
|
186
|
+
text: askQuestionCall.args?.message ?? '',
|
|
187
|
+
functionCalls: inferredCall ? [inferredCall] : undefined, // Use the inferred call
|
|
188
|
+
}, {
|
|
189
|
+
type: 'user',
|
|
190
|
+
functionResponses: [
|
|
191
|
+
{
|
|
192
|
+
name: exploreExternalDirectoriesDef.name,
|
|
193
|
+
call_id: inferredCallId, // Use the ID from the inferred call
|
|
194
|
+
content: JSON.stringify({
|
|
195
|
+
// Include original request details for context, even if modified by synthesis
|
|
196
|
+
requestedDirectories,
|
|
197
|
+
reason,
|
|
198
|
+
...executorParams,
|
|
199
|
+
// Add the results (potentially synthesized)
|
|
200
|
+
...userResponse,
|
|
201
|
+
}),
|
|
202
|
+
},
|
|
203
|
+
],
|
|
204
|
+
});
|
|
205
|
+
return {
|
|
206
|
+
breakLoop: false,
|
|
207
|
+
items: [], // No immediate items to add, handled by history push
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
// Keep exploreDirectories function as is, ensuring it respects maxResults
|
|
211
|
+
async function exploreDirectories(args) {
|
|
212
|
+
const { directories, recursive = false, depth, searchPhrases, maxResults = 50 } = args;
|
|
213
|
+
const foundFiles = [];
|
|
214
|
+
// Depth is now required, maxDepth calculation is simpler
|
|
215
|
+
const maxDepth = depth;
|
|
216
|
+
const lowerCaseSearchPhrases = searchPhrases?.map((p) => p.toLowerCase());
|
|
217
|
+
async function traverse(dirPath, currentDepth) {
|
|
218
|
+
// Stop if max depth exceeded OR max results reached
|
|
219
|
+
if (currentDepth > maxDepth || foundFiles.length >= maxResults) {
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
let entries;
|
|
223
|
+
try {
|
|
224
|
+
// Check access first to provide better error for invalidDirs later?
|
|
225
|
+
await fs.access(dirPath, fs.constants.R_OK);
|
|
226
|
+
entries = await fs.readdir(dirPath, { withFileTypes: true });
|
|
227
|
+
}
|
|
228
|
+
catch (error) {
|
|
229
|
+
// Log or handle specific errors like permission denied
|
|
230
|
+
// console.warn(`Could not read directory ${dirPath}: ${error}`);
|
|
231
|
+
// Consider throwing if it's the initial directory?
|
|
232
|
+
return; // Silently ignore inaccessible subdirectories
|
|
233
|
+
}
|
|
234
|
+
for (const entry of entries) {
|
|
235
|
+
if (foundFiles.length >= maxResults) {
|
|
236
|
+
break; // Stop processing entries in this directory if max results hit
|
|
237
|
+
}
|
|
238
|
+
const fullPath = path.join(dirPath, entry.name);
|
|
239
|
+
if (entry.isDirectory()) {
|
|
240
|
+
foundFiles.push(fullPath);
|
|
241
|
+
// Only recurse if currentDepth < maxDepth
|
|
242
|
+
if (recursive && currentDepth < maxDepth) {
|
|
243
|
+
await traverse(fullPath, currentDepth + 1);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
else if (entry.isFile()) {
|
|
247
|
+
if (lowerCaseSearchPhrases && lowerCaseSearchPhrases.length > 0) {
|
|
248
|
+
try {
|
|
249
|
+
// Consider limiting file size read?
|
|
250
|
+
const content = await fs.readFile(fullPath, 'utf-8');
|
|
251
|
+
const lowerCaseContent = content.toLowerCase();
|
|
252
|
+
if (lowerCaseSearchPhrases.every((phrase) => lowerCaseContent.includes(phrase))) {
|
|
253
|
+
foundFiles.push(fullPath);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
catch (readError) {
|
|
257
|
+
// Ignore file read errors?
|
|
258
|
+
// console.warn(`Could not read file ${fullPath}: ${readError}`);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
// No search phrases, just add the file
|
|
263
|
+
foundFiles.push(fullPath);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
// Ignore other entry types (symlinks, etc.)
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
for (const startDir of directories) {
|
|
270
|
+
if (foundFiles.length < maxResults) {
|
|
271
|
+
// Start traversal at depth 0
|
|
272
|
+
await traverse(startDir, 0);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
return foundFiles;
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=handle-explore-external-directories.js.map
|
package/dist/prompt/steps/step-ask-question/handlers/handle-explore-external-directories.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handle-explore-external-directories.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-explore-external-directories.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,7 +87,19 @@ async function getGenaicodeHelpCall(generateContentFn, prompt) {
|
|
|
87
87
|
`,
|
|
88
88
|
},
|
|
89
89
|
...prompt,
|
|
90
|
-
],
|
|
90
|
+
], {
|
|
91
|
+
functionDefs: getFunctionDefs(),
|
|
92
|
+
requiredFunctionName: 'genaicodeHelp',
|
|
93
|
+
temperature: 0.7,
|
|
94
|
+
modelType: ModelType.CHEAP,
|
|
95
|
+
expectedResponseType: {
|
|
96
|
+
text: false,
|
|
97
|
+
functionCall: true,
|
|
98
|
+
media: false,
|
|
99
|
+
},
|
|
100
|
+
}, {}))
|
|
101
|
+
.filter((item) => item.type === 'functionCall')
|
|
102
|
+
.map((item) => item.functionCall);
|
|
91
103
|
return [genaicodeHelpCall];
|
|
92
104
|
}
|
|
93
105
|
//# sourceMappingURL=handle-genaicode-help.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-genaicode-help.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-genaicode-help.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,qBAAqB,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EACxC,iBAAiB,EACjB,eAAe,EACf,MAAM,EACN,OAAO,GACY;IACnB,IAAI,CAAC;QACH,mBAAmB;QACnB,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAElF,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;YAC7B,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE;oBACL;wBACE,SAAS,EAAE;4BACT,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,qBAAqB;yBAC7D;wBACD,IAAI,EAAE;4BACJ,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,2CAA2C;yBAClD;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,mBAAmB,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEnF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAEtG,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE;gBACL;oBACE,SAAS,EAAE;wBACT,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE;wBAC3C,aAAa,EAAE,CAAC,iBAAiB,CAAC;qBACnC;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ,CAAC,MAAM;wBACrB,iBAAiB,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;qBAC3F;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE;gBACL;oBACE,SAAS,EAAE;wBACT,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,qBAAqB;qBAC7D;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,oIAAoI;qBAC3I;iBACF;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,iBAA0D,EAAE,MAAoB;IAClH,MAAM,CAAC,iBAAiB,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"handle-genaicode-help.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-genaicode-help.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,19 @@ export async function handleGenerateImage({ askQuestionCall, options, generateCo
|
|
|
24
24
|
type: 'user',
|
|
25
25
|
text: 'Yes, you can generate an image.',
|
|
26
26
|
},
|
|
27
|
-
],
|
|
27
|
+
], {
|
|
28
|
+
functionDefs: getFunctionDefs(),
|
|
29
|
+
requiredFunctionName: 'generateImage',
|
|
30
|
+
temperature: 0.7,
|
|
31
|
+
modelType: ModelType.CHEAP,
|
|
32
|
+
expectedResponseType: {
|
|
33
|
+
text: false,
|
|
34
|
+
functionCall: true,
|
|
35
|
+
media: false,
|
|
36
|
+
},
|
|
37
|
+
}, options))
|
|
38
|
+
.filter((item) => item.type === 'functionCall')
|
|
39
|
+
.map((item) => item.functionCall);
|
|
28
40
|
if (!generateImageCall?.args) {
|
|
29
41
|
return {
|
|
30
42
|
breakLoop: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-generate-image.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-generate-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,qBAAqB,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EACxC,eAAe,EACf,OAAO,EACP,iBAAiB,EACjB,MAAM,EACN,eAAe,GACI;IACnB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,gBAAgB,CAAC,6EAA6E,CAAC,CAAC;QAChG,OAAO;YACL,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"handle-generate-image.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-generate-image.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,4 +3,4 @@ import { ActionHandlerProps, ActionResult } from '../step-ask-question-types.js'
|
|
|
3
3
|
* Handles the lint action by executing the lint command and processing its results.
|
|
4
4
|
* If the lint command fails, it will ask for user confirmation to continue with code generation.
|
|
5
5
|
*/
|
|
6
|
-
export declare function handleLint({ askQuestionCall }: ActionHandlerProps): Promise<ActionResult>;
|
|
6
|
+
export declare function handleLint({ askQuestionCall, prompt }: ActionHandlerProps): Promise<ActionResult>;
|