genaicode 0.9.6 → 0.10.1
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/help-docs/genaicode-help-document.d.ts +1 -1
- package/dist/help-docs/genaicode-help-document.js +1 -0
- package/dist/help-docs/genaicode-help-document.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 +16 -0
- package/dist/main/config.js +9 -1
- 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-C7n3IQsE.js +1896 -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 +8 -1
- package/dist/prompt/function-calling.js.map +1 -1
- package/dist/prompt/function-defs/ask-question.d.ts +1 -0
- package/dist/prompt/function-defs/ask-question.js +38 -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-git-context.d.ts +3 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-git-context.js +182 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-git-context.js.map +1 -0
- 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-handlers.js +4 -1
- package/dist/prompt/steps/step-ask-question/step-ask-question-handlers.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/step-ask-question-types.d.ts +11 -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.d.ts +1 -1
- package/dist/prompt/systemprompt.js +10 -5
- package/dist/prompt/systemprompt.js.map +1 -1
- package/package.json +5 -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
|
@@ -1,84 +1,106 @@
|
|
|
1
1
|
import assert from 'node:assert';
|
|
2
|
-
import { VertexAI, HarmCategory, HarmBlockThreshold, FunctionCallingMode, } from '@google-cloud/vertexai';
|
|
3
|
-
import { printTokenUsageAndCost
|
|
4
|
-
import { ModelType } from './common-types.js';
|
|
2
|
+
import { VertexAI, HarmCategory, HarmBlockThreshold, FunctionCallingMode, SchemaType, } from '@google-cloud/vertexai';
|
|
3
|
+
import { printTokenUsageAndCost } from './common.js';
|
|
4
|
+
import { ModelType, } from './common-types.js';
|
|
5
5
|
import { abortController } from '../main/common/abort-controller.js';
|
|
6
6
|
import { unescapeFunctionCall } from './unescape-function-call.js';
|
|
7
7
|
import { enableVertexUnescape } from '../cli/cli-params.js';
|
|
8
|
-
import { getServiceConfig } from './service-configurations.js';
|
|
8
|
+
import { getServiceConfig, getModelSettings } from './service-configurations.js';
|
|
9
9
|
/**
|
|
10
|
-
* This function generates content using the Gemini
|
|
10
|
+
* This function generates content using the Vertex AI Gemini models with the new interface.
|
|
11
11
|
*/
|
|
12
|
-
export const generateContent = async function generateContent(prompt,
|
|
12
|
+
export const generateContent = async function generateContent(prompt, config, options = {}) {
|
|
13
13
|
try {
|
|
14
14
|
// Limitation: https://github.com/googleapis/nodejs-vertexai/issues/143
|
|
15
15
|
abortController?.signal.throwIfAborted();
|
|
16
|
+
const modelType = config.modelType ?? ModelType.DEFAULT;
|
|
17
|
+
const temperature = config.temperature ?? 0.7;
|
|
18
|
+
const functionDefs = config.functionDefs ?? [];
|
|
19
|
+
const requiredFunctionName = config.requiredFunctionName ?? null;
|
|
20
|
+
const expectedResponseType = config.expectedResponseType ?? { text: false, functionCall: true, media: false };
|
|
16
21
|
const messages = prompt
|
|
17
22
|
.filter((item) => item.type === 'user' || item.type === 'assistant')
|
|
18
23
|
.map((item) => {
|
|
24
|
+
const parts = [];
|
|
19
25
|
if (item.type === 'user') {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
26
|
+
if (item.functionResponses) {
|
|
27
|
+
parts.push(...item.functionResponses.map((response) => ({
|
|
28
|
+
functionResponse: {
|
|
29
|
+
name: response.name,
|
|
30
|
+
response: { name: response.name, content: response.content },
|
|
31
|
+
},
|
|
32
|
+
})));
|
|
33
|
+
}
|
|
34
|
+
if (item.images) {
|
|
35
|
+
parts.push(...item.images.map((image) => ({
|
|
36
|
+
inlineData: {
|
|
37
|
+
mimeType: image.mediaType,
|
|
38
|
+
data: image.base64url,
|
|
39
|
+
},
|
|
40
|
+
})));
|
|
41
|
+
}
|
|
42
|
+
if (item.text) {
|
|
43
|
+
parts.push({ text: item.text });
|
|
44
|
+
}
|
|
45
|
+
return { role: 'user', parts };
|
|
39
46
|
}
|
|
40
47
|
else {
|
|
41
48
|
assert(item.type === 'assistant');
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
49
|
+
if (item.text) {
|
|
50
|
+
parts.push({ text: item.text });
|
|
51
|
+
}
|
|
52
|
+
if (item.functionCalls) {
|
|
53
|
+
parts.push(...item.functionCalls.map((call) => ({
|
|
54
|
+
functionCall: {
|
|
55
|
+
name: call.name,
|
|
56
|
+
args: call.args ?? {},
|
|
57
|
+
},
|
|
58
|
+
})));
|
|
59
|
+
}
|
|
60
|
+
// Note: Vertex AI SDK currently might not fully support model generating images in parts
|
|
61
|
+
if (item.images) {
|
|
62
|
+
parts.push(...item.images.map((image) => ({
|
|
63
|
+
inlineData: {
|
|
64
|
+
mimeType: image.mediaType,
|
|
65
|
+
data: image.base64url,
|
|
66
|
+
},
|
|
67
|
+
})));
|
|
68
|
+
}
|
|
69
|
+
return { role: 'model', parts };
|
|
61
70
|
}
|
|
62
71
|
});
|
|
63
72
|
const req = {
|
|
64
73
|
contents: messages,
|
|
65
74
|
};
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
outputTokens: usageMetadata.candidatesTokenCount,
|
|
73
|
-
totalTokens: usageMetadata.totalTokenCount,
|
|
74
|
-
};
|
|
75
|
-
printTokenUsageAndCost({
|
|
76
|
-
aiService: 'vertex-ai',
|
|
77
|
-
usage,
|
|
78
|
-
inputCostPerToken: 0.000125 / 1000,
|
|
79
|
-
outputCostPerToken: 0.000375 / 1000,
|
|
75
|
+
const modelInstance = await getGenModel({
|
|
76
|
+
systemPromptText: prompt.find((item) => item.type === 'systemPrompt')?.systemPrompt,
|
|
77
|
+
temperature,
|
|
78
|
+
functionDefs,
|
|
79
|
+
geminiBlockNone: options.geminiBlockNone,
|
|
80
|
+
requiredFunctionName,
|
|
80
81
|
modelType,
|
|
82
|
+
expectedResponseType,
|
|
81
83
|
});
|
|
84
|
+
const result = await modelInstance.generateContent(req);
|
|
85
|
+
// Print token usage
|
|
86
|
+
const usageMetadata = result.response.usageMetadata;
|
|
87
|
+
if (usageMetadata) {
|
|
88
|
+
const usage = {
|
|
89
|
+
inputTokens: usageMetadata.promptTokenCount,
|
|
90
|
+
outputTokens: usageMetadata.candidatesTokenCount,
|
|
91
|
+
totalTokens: usageMetadata.totalTokenCount,
|
|
92
|
+
};
|
|
93
|
+
printTokenUsageAndCost({
|
|
94
|
+
aiService: 'vertex-ai',
|
|
95
|
+
usage,
|
|
96
|
+
inputCostPerToken: 0.000125 / 1000, // Example cost, adjust as needed
|
|
97
|
+
outputCostPerToken: 0.000375 / 1000, // Example cost, adjust as needed
|
|
98
|
+
modelType,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
console.log('Usage metadata not available.');
|
|
103
|
+
}
|
|
82
104
|
if (result.response.promptFeedback) {
|
|
83
105
|
console.log('Prompt feedback:');
|
|
84
106
|
console.log(JSON.stringify(result.response.promptFeedback, null, 2));
|
|
@@ -88,29 +110,62 @@ export const generateContent = async function generateContent(prompt, functionDe
|
|
|
88
110
|
throw new Error('No candidates found');
|
|
89
111
|
}
|
|
90
112
|
const functionCalls = result.response.candidates
|
|
91
|
-
.
|
|
92
|
-
.
|
|
113
|
+
.flatMap((candidate) => candidate.content.parts?.filter((part) => part.functionCall))
|
|
114
|
+
.map((part) => part.functionCall)
|
|
93
115
|
.filter((functionCall) => !!functionCall)
|
|
94
116
|
.map((call) => ({ name: call.name, args: call.args }))
|
|
95
|
-
.map(enableVertexUnescape ? (call) => call
|
|
96
|
-
|
|
117
|
+
.map(enableVertexUnescape ? unescapeFunctionCall : (call) => call); // Apply unescaping based on flag
|
|
118
|
+
// Prepare the result parts array
|
|
119
|
+
const resultParts = [];
|
|
120
|
+
// Add function calls to result parts if they exist
|
|
121
|
+
if (functionCalls.length > 0) {
|
|
122
|
+
functionCalls.forEach((call) => {
|
|
123
|
+
resultParts.push({
|
|
124
|
+
type: 'functionCall',
|
|
125
|
+
functionCall: call,
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
// Handle text response if no function calls were returned or if text is expected
|
|
130
|
+
if (functionCalls.length === 0 || expectedResponseType.text) {
|
|
97
131
|
const textResponse = result.response.candidates
|
|
98
|
-
|
|
99
|
-
.
|
|
100
|
-
.filter((text) => !!text)
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
if (
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
132
|
+
?.flatMap((candidate) => candidate.content.parts?.filter((part) => part.text))
|
|
133
|
+
.map((part) => part.text)
|
|
134
|
+
.filter((text) => !!text)
|
|
135
|
+
.join('\n') ?? // Join multiple text parts if they exist
|
|
136
|
+
result.response.candidates?.map((candidate) =>
|
|
137
|
+
// @ts-expect-error: finishReason might not be typed correctly in SDK
|
|
138
|
+
candidate.finishReason === 'MALFORMED_FUNCTION_CALL' ? candidate.finishMessage : '')[0] ??
|
|
139
|
+
''; // Default to empty string
|
|
140
|
+
if (textResponse) {
|
|
141
|
+
if (expectedResponseType.text) {
|
|
142
|
+
resultParts.push({
|
|
143
|
+
type: 'text',
|
|
144
|
+
text: textResponse,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
// Try to recover function call from text if required function name is provided and no calls were found initially
|
|
148
|
+
const functionDef = functionDefs.find((def) => def.name === requiredFunctionName);
|
|
149
|
+
if (expectedResponseType.functionCall && functionDef && functionCalls.length === 0) {
|
|
150
|
+
try {
|
|
151
|
+
const recoveredCall = await recoverFunctionCall(textResponse, functionDef);
|
|
152
|
+
if (recoveredCall) {
|
|
153
|
+
console.log('Recovered function call.');
|
|
154
|
+
resultParts.push({
|
|
155
|
+
type: 'functionCall',
|
|
156
|
+
functionCall: recoveredCall,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
console.log('Failed to recover function call:', error);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
111
164
|
}
|
|
112
165
|
}
|
|
113
|
-
return
|
|
166
|
+
// Note: Vertex AI SDK might not return media parts directly in the same way as AI Studio.
|
|
167
|
+
// If media generation is needed, a separate API call (e.g., Imagen) might be required.
|
|
168
|
+
return resultParts;
|
|
114
169
|
}
|
|
115
170
|
catch (error) {
|
|
116
171
|
if (error instanceof Error && error.message.includes('Project ID not configured')) {
|
|
@@ -119,69 +174,93 @@ export const generateContent = async function generateContent(prompt, functionDe
|
|
|
119
174
|
throw error;
|
|
120
175
|
}
|
|
121
176
|
};
|
|
122
|
-
// A function to get the generative model
|
|
123
|
-
|
|
124
|
-
|
|
177
|
+
// A function to get the generative model instance
|
|
178
|
+
async function getGenModel(params) {
|
|
179
|
+
const { systemPromptText, temperature, functionDefs, geminiBlockNone, requiredFunctionName, modelType, expectedResponseType, } = params;
|
|
125
180
|
try {
|
|
126
|
-
console.log('Recovering function call');
|
|
127
181
|
const serviceConfig = getServiceConfig('vertex-ai');
|
|
182
|
+
assert(serviceConfig?.googleCloudProjectId, 'Google Cloud Project ID not configured.');
|
|
128
183
|
// Initialize Vertex with your Cloud project and location
|
|
129
|
-
const vertex_ai = new VertexAI({ project: serviceConfig
|
|
130
|
-
|
|
184
|
+
const vertex_ai = new VertexAI({ project: serviceConfig.googleCloudProjectId });
|
|
185
|
+
// Determine model name
|
|
186
|
+
const defaultModelName = modelType === ModelType.CHEAP ? 'gemini-2.0-flash' : 'gemini-1.5-pro-002';
|
|
131
187
|
const modelOverrides = serviceConfig?.modelOverrides;
|
|
132
|
-
const
|
|
133
|
-
?
|
|
134
|
-
:
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
188
|
+
const modelName = (modelType === ModelType.CHEAP
|
|
189
|
+
? modelOverrides?.cheap
|
|
190
|
+
: modelType === ModelType.REASONING
|
|
191
|
+
? modelOverrides?.reasoning // Use reasoning override if specified
|
|
192
|
+
: modelOverrides?.default) ?? defaultModelName;
|
|
193
|
+
console.log(`Using Vertex AI model: ${modelName}`);
|
|
194
|
+
// Get model-specific settings
|
|
195
|
+
const { systemInstruction: modelSystemInstruction, outputTokenLimit } = getModelSettings('vertex-ai', modelName);
|
|
196
|
+
// Combine base system prompt with model-specific instructions
|
|
197
|
+
let effectiveSystemPrompt = systemPromptText ?? '';
|
|
198
|
+
if (modelSystemInstruction?.length) {
|
|
199
|
+
effectiveSystemPrompt += `\n${modelSystemInstruction.join('\n')}`;
|
|
200
|
+
}
|
|
201
|
+
// Configure generation
|
|
202
|
+
const generationConfig = {
|
|
203
|
+
maxOutputTokens: outputTokenLimit, // Use the potentially model-specific limit
|
|
204
|
+
temperature: temperature,
|
|
205
|
+
topP: 0.95,
|
|
206
|
+
};
|
|
207
|
+
// Configure safety settings
|
|
208
|
+
const safetySettings = [
|
|
209
|
+
{
|
|
210
|
+
category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
|
|
211
|
+
threshold: geminiBlockNone ? HarmBlockThreshold.BLOCK_NONE : HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
|
|
143
212
|
},
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
213
|
+
{
|
|
214
|
+
category: HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
|
|
215
|
+
threshold: geminiBlockNone ? HarmBlockThreshold.BLOCK_NONE : HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
category: HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,
|
|
219
|
+
threshold: geminiBlockNone ? HarmBlockThreshold.BLOCK_NONE : HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
category: HarmCategory.HARM_CATEGORY_HARASSMENT,
|
|
223
|
+
threshold: geminiBlockNone ? HarmBlockThreshold.BLOCK_NONE : HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
|
|
224
|
+
},
|
|
225
|
+
];
|
|
226
|
+
// Configure tools and tool config
|
|
227
|
+
let tools = undefined;
|
|
228
|
+
let toolConfig = undefined;
|
|
229
|
+
if (functionDefs.length > 0 && expectedResponseType.functionCall) {
|
|
230
|
+
tools = [
|
|
149
231
|
{
|
|
150
|
-
|
|
151
|
-
threshold: geminiBlockNone ? HarmBlockThreshold.BLOCK_NONE : HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
|
|
232
|
+
functionDeclarations: functionDefs,
|
|
152
233
|
},
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
234
|
+
];
|
|
235
|
+
toolConfig = {
|
|
236
|
+
functionCallingConfig: {
|
|
237
|
+
mode: FunctionCallingMode.ANY,
|
|
238
|
+
...(requiredFunctionName ? { allowedFunctionNames: [requiredFunctionName] } : {}),
|
|
156
239
|
},
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
else if (!expectedResponseType.functionCall) {
|
|
243
|
+
toolConfig = {
|
|
244
|
+
functionCallingConfig: {
|
|
245
|
+
mode: FunctionCallingMode.NONE,
|
|
160
246
|
},
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
},
|
|
170
|
-
...((functionDefs?.length ?? 0) > 0
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
// Instantiate the model
|
|
250
|
+
return vertex_ai.preview.getGenerativeModel({
|
|
251
|
+
model: modelName,
|
|
252
|
+
generationConfig,
|
|
253
|
+
safetySettings,
|
|
254
|
+
...(effectiveSystemPrompt
|
|
171
255
|
? {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
},
|
|
176
|
-
],
|
|
177
|
-
toolConfig: {
|
|
178
|
-
functionCallingConfig: {
|
|
179
|
-
mode: FunctionCallingMode.ANY,
|
|
180
|
-
...(requiredFunctionName ? { allowedFunctionNames: [requiredFunctionName] } : {}),
|
|
181
|
-
},
|
|
256
|
+
systemInstruction: {
|
|
257
|
+
role: 'system', // Role should be 'system'
|
|
258
|
+
parts: [{ text: effectiveSystemPrompt }],
|
|
182
259
|
},
|
|
183
260
|
}
|
|
184
261
|
: {}),
|
|
262
|
+
...(tools ? { tools } : {}),
|
|
263
|
+
...(toolConfig ? { toolConfig } : {}),
|
|
185
264
|
});
|
|
186
265
|
}
|
|
187
266
|
catch (error) {
|
|
@@ -191,38 +270,65 @@ function getGenModel(systemPrompt, temperature, functionDefs, geminiBlockNone, r
|
|
|
191
270
|
throw error;
|
|
192
271
|
}
|
|
193
272
|
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
const result = await getGenModel('Your role is read the text below and if possible, return it in the desired format.', 0.2, undefined, undefined, null, ModelType.DEFAULT).generateContent({
|
|
198
|
-
contents: [
|
|
199
|
-
{
|
|
200
|
-
role: 'user',
|
|
201
|
-
parts: [
|
|
202
|
-
{
|
|
203
|
-
text: textResponse,
|
|
204
|
-
},
|
|
205
|
-
],
|
|
206
|
-
},
|
|
207
|
-
],
|
|
208
|
-
generationConfig: {
|
|
209
|
-
responseMimeType: 'application/json',
|
|
210
|
-
responseSchema: schema,
|
|
211
|
-
},
|
|
212
|
-
});
|
|
273
|
+
// Function to attempt recovery of a function call from text response using JSON mode
|
|
274
|
+
async function recoverFunctionCall(textResponse, functionDef) {
|
|
275
|
+
console.log('Attempting to recover function call:', functionDef.name);
|
|
213
276
|
try {
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
277
|
+
// @ts-expect-error: functionDef.parameters might not be typed correctly in SDK
|
|
278
|
+
const schema = { ...functionDef.parameters, type: SchemaType.OBJECT };
|
|
279
|
+
// Use a cheap model for recovery
|
|
280
|
+
const recoveryModel = await getGenModel({
|
|
281
|
+
systemPromptText: 'Your role is read the text below and extract the parameters for the function call based on the provided schema. Output ONLY the JSON object representing the arguments.',
|
|
282
|
+
temperature: 0.1, // Low temperature for deterministic extraction
|
|
283
|
+
functionDefs: [], // No function calling needed for recovery itself
|
|
284
|
+
geminiBlockNone: undefined,
|
|
285
|
+
requiredFunctionName: null,
|
|
286
|
+
modelType: ModelType.CHEAP, // Always use cheap model for recovery
|
|
287
|
+
expectedResponseType: { text: true, functionCall: false, media: false }, // Expect only text
|
|
288
|
+
});
|
|
289
|
+
// Get specific settings for the recovery model
|
|
290
|
+
const recoveryModelName = getServiceConfig('vertex-ai').modelOverrides?.cheap ?? 'gemini-2.0-flash';
|
|
291
|
+
const { outputTokenLimit: recoveryOutputLimit } = getModelSettings('vertex-ai', recoveryModelName);
|
|
292
|
+
const recoveryReq = {
|
|
293
|
+
contents: [
|
|
294
|
+
{
|
|
295
|
+
role: 'user',
|
|
296
|
+
parts: [
|
|
297
|
+
{ text: `Function Name: ${functionDef.name}` },
|
|
298
|
+
{ text: `Function Description: ${functionDef.description}` },
|
|
299
|
+
{ text: `Input Text:\n${textResponse}` },
|
|
300
|
+
],
|
|
301
|
+
},
|
|
302
|
+
],
|
|
303
|
+
// generationConfig modification for JSON output
|
|
304
|
+
generationConfig: {
|
|
305
|
+
responseMimeType: 'application/json',
|
|
306
|
+
responseSchema: schema,
|
|
307
|
+
temperature: 0.1,
|
|
308
|
+
maxOutputTokens: recoveryOutputLimit, // Use limit for the recovery model
|
|
309
|
+
},
|
|
310
|
+
};
|
|
311
|
+
const result = await recoveryModel.generateContent(recoveryReq);
|
|
312
|
+
const recoveredText = result.response.candidates?.[0]?.content?.parts?.[0]?.text;
|
|
313
|
+
if (!recoveredText) {
|
|
314
|
+
console.log('Recovery failed: No text content in response.');
|
|
315
|
+
return null;
|
|
316
|
+
}
|
|
317
|
+
try {
|
|
318
|
+
const parsedArgs = JSON.parse(recoveredText);
|
|
319
|
+
const recoveredCall = { name: functionDef.name, args: parsedArgs };
|
|
320
|
+
console.log('Recovery successful.');
|
|
321
|
+
// Apply unescaping if needed
|
|
322
|
+
return enableVertexUnescape ? unescapeFunctionCall(recoveredCall) : recoveredCall;
|
|
323
|
+
}
|
|
324
|
+
catch (parseError) {
|
|
325
|
+
console.log('Recovery failed: Could not parse JSON response.', parseError, 'Response text:', recoveredText);
|
|
326
|
+
return null;
|
|
217
327
|
}
|
|
218
|
-
const parsed = JSON.parse(text);
|
|
219
|
-
functionCalls.push(enableVertexUnescape
|
|
220
|
-
? unescapeFunctionCall({ name: functionDef.name, args: parsed })
|
|
221
|
-
: { name: functionDef.name, args: parsed });
|
|
222
|
-
return true;
|
|
223
328
|
}
|
|
224
|
-
catch {
|
|
225
|
-
|
|
329
|
+
catch (error) {
|
|
330
|
+
console.error('Error during function call recovery:', error);
|
|
331
|
+
return null;
|
|
226
332
|
}
|
|
227
333
|
}
|
|
228
334
|
//# sourceMappingURL=vertex-ai.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vertex-ai.js","sourceRoot":"","sources":["../../src/ai-service/vertex-ai.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vertex-ai.js","sourceRoot":"","sources":["../../src/ai-service/vertex-ai.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/cli-options.js
CHANGED
|
@@ -25,7 +25,7 @@ const cliOptions = [
|
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
name: '--ai-service=<service>',
|
|
28
|
-
description: 'Specify the AI service to use for code generation. Available options include vertex-ai, ai-studio, openai, anthropic, vertex-ai-claude, and any additional services loaded from plugins.',
|
|
28
|
+
description: 'Specify the AI service to use for code generation. Available options include vertex-ai, ai-studio, openai, anthropic, vertex-ai-claude, local-llm, and any additional services loaded from plugins.',
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
31
|
name: '--explicit-prompt=<prompt>',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../../src/cli/cli-options.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,GAAgB;IAC9B;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,4BAA4B;KAC1C;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,0DAA0D;KACxE;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,wFAAwF;KACtG;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,oFAAoF;KAClG;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,2FAA2F;KACzG;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,gFAAgF;KAC9F;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../../src/cli/cli-options.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,GAAgB;IAC9B;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,4BAA4B;KAC1C;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,0DAA0D;KACxE;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,wFAAwF;KACtG;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,oFAAoF;KAClG;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,2FAA2F;KACzG;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,gFAAgF;KAC9F;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,qMAAqM;KACxM;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,gDAAgD;KAC9D;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,+DAA+D;KAC7E;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,4CAA4C;KAC1D;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,yEAAyE;KACvF;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,sFAAsF;KACpG;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,oFAAoF;KAClG;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,gEAAgE;KAC9E;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EACT,8KAA8K;KACjL;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,wGAAwG;KAC3G;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,2EAA2E;KACzF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,oJAAoJ;KACvJ;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,+EAA+E;KAC7F;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,sCAAsC;KACpD;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,wIAAwI;KAC3I;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,sEAAsE;KACpF;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,yDAAyD;KACvE;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,uDAAuD;KACrE;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,sEAAsE;KACpF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAE1B,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,uGAAuG,CAAC,CAAC;AACvH,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -75,7 +75,7 @@ export function validateCliParams() {
|
|
|
75
75
|
const aiServiceParam = providedParameters.find((param) => param.startsWith('--ai-service='));
|
|
76
76
|
if (aiServiceParam) {
|
|
77
77
|
const aiServiceValue = aiServiceParam.split('=')[1];
|
|
78
|
-
if (!['vertex-ai', 'openai', 'anthropic', 'ai-studio', 'vertex-ai-claude'].includes(aiServiceValue) &&
|
|
78
|
+
if (!['vertex-ai', 'openai', 'anthropic', 'ai-studio', 'vertex-ai-claude', 'local-llm'].includes(aiServiceValue) &&
|
|
79
79
|
!aiServiceValue.startsWith('plugin:')) {
|
|
80
80
|
throw new Error(`Invalid --ai-service value "${aiServiceValue}"`);
|
|
81
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-cli-params.js","sourceRoot":"","sources":["../../src/cli/validate-cli-params.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"validate-cli-params.js","sourceRoot":"","sources":["../../src/cli/validate-cli-params.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const GENAICODE_HELP_DOCUMENT = "# GenAIcode Help Documentation\n\n## Overview\n\nGenAIcode is an AI-powered code generation and management tool designed to streamline software development. It leverages various AI services (Vertex AI, AI Studio, OpenAI, Anthropic) to generate, modify, and analyze code. The tool supports both interactive CLI and web UI modes, offering features like code generation, image processing, and context optimization.\n\n## Quick Start\n\n1. Installation:\n ```bash\n npm install -g genaicode\n ```\n\n2. Basic Usage:\n ```bash\n genaicode \"Your prompt here\"\n ```\n\n3. UI Mode:\n ```bash\n genaicode --ui\n ```\n\n## Core Features\n\n### AI Services Integration\n\n- **Supported Services**:\n - Vertex AI (with Gemini Pro)\n - OpenAI (GPT-4)\n - Anthropic (Claude)\n - AI Studio\n - Custom Plugin Services\n\n- **Service Auto-detection**: Automatically detects available AI services based on environment configuration\n- **Fallback Mechanism**: Handles service failures with automatic fallback options\n- **Model Configuration**: Supports per-service model configuration via .genaicoderc\n\n### Interaction Modes\n\n1. **UI Mode**:\n - Web-based interface\n - Real-time updates\n - Visual diff viewing\n - Progress tracking\n - File operation preview\n\n2. **Interactive CLI**:\n - Command-line interface\n - Step-by-step guidance\n - Task file support\n - Operation control\n\n### File Operations\n\n- Create/Update/Delete files\n- Move files\n- Create directories\n- Patch files\n- Context-aware operations\n- Safety checks and validation\n\n### Image Processing\n\n- **Generation**: Create images using AI services\n- **Analysis**: Vision model support for image context\n- **Manipulation**:\n - Background removal\n - Image splitting\n - Resizing\n - Format conversion\n\n### Context Management\n\n- Smart context optimization\n- History tracking and summarization\n- Token usage optimization\n- Conversation continuation\n- Cache management\n\n## Configuration\n\n### .genaicoderc Options\n\n```json\n{\n \"rootDir\": \".\",\n \"ignorePaths\": [\"node_modules\", \"dist\"],\n \"lintCommand\": \"npm run lint\",\n \"importantContext\": {\n \"systemPrompt\": [],\n \"files\": []\n },\n \"plugins\": [],\n \"modelOverrides\": {\n \"aiStudio\": {\n \"default\": \"gemini-pro\",\n \"cheap\": \"gemini-pro-vision\"\n }\n }\n}\n```\n\n### CLI Options\n\n- `--verbose-prompt`: Enable detailed prompt logging\n- `--dry-run`: Simulate operations without making changes\n- `--temperature`: Control AI response randomness\n- `--vision`: Enable image analysis\n- `--imagen`: Enable image generation\n- `--cheap`: Use cost-optimized models\n- `--ui`: Launch web interface\n- `--ui-port`: Specify UI port\n- `--content-mask`: Filter context\n- `--disable-cache`: Disable caching\n- `--disable-history`: Disable history tracking\n\n## Plugin System\n\n### Types of Plugins\n\n1. **AI Service Plugins**:\n - Custom AI service integration\n - Model configuration\n - Response handling\n\n2. **Action Handlers**:\n - Custom operations\n - User interaction\n - File processing\n\n3. **Operation Extensions**:\n - File operations\n - Image processing\n - Analysis tools\n\n### Creating Plugins\n\nBasic plugin structure:\n```typescript\nexport default {\n name: \"my-plugin\",\n aiServices?: {\n [key: string]: {\n generateContent: GenerateContentFunction;\n serviceConfig: ServiceConfig;\n }\n },\n operations?: {\n [key: string]: Operation;\n },\n actionHandlers?: {\n [key: string]: {\n handler: ActionHandler;\n description: string;\n }\n }\n}\n```\n\n## Best Practices\n\n1. **Code Generation**:\n - Provide clear, specific prompts\n - Review generated code before applying\n - Use appropriate temperature settings\n - Leverage context optimization\n\n2. **File Management**:\n - Use absolute paths\n - Verify file operations\n - Handle dependencies properly\n - Maintain consistent structure\n\n3. **Context Optimization**:\n - Keep relevant files in context\n - Remove unnecessary content\n - Use content masking when needed\n - Monitor token usage\n\n4. **Error Handling**:\n - Check operation results\n - Handle service failures\n - Validate generated code\n - Use appropriate fallback options\n\n## Troubleshooting\n\n### Common Issues\n\n1. **AI Service Connection**:\n - Verify API keys\n - Check service availability\n - Confirm network connection\n - Review rate limits\n\n2. **File Operations**:\n - Check file permissions\n - Verify paths\n - Review operation logs\n - Confirm file existence\n\n3. **Context Problems**:\n - Monitor token usage\n - Review context optimization\n - Check file inclusion\n - Verify content masks\n\n4. **Plugin Issues**:\n - Validate plugin structure\n - Check compatibility\n - Review error logs\n - Update dependencies\n\n### Getting Help\n\n- Use the `--help` command\n- Check documentation\n- Review error messages\n- Contact support\n\n## Advanced Topics\n\n### Custom Actions\n\nCreating custom actions:\n```typescript\nexport const myCustomAction: ActionHandler = async (props) => {\n // Implementation\n};\n```\n\n### Hook System\n\nAvailable hooks:\n- Pre/post operation\n- Generate content\n- Planning\n- Context optimization\n\n### Project Profiles\n\nSupported frameworks:\n- JavaScript/TypeScript\n- Python\n- Java\n- Go\n- React\n\n## Security Considerations\n\n1. **API Keys**:\n - Secure storage\n - Regular rotation\n - Access control\n - Environment variables\n\n2. **File Operations**:\n - Permission checks\n - Path validation\n - Content verification\n - Operation logging\n\n3. **Plugin Security**:\n - Source verification\n - Dependency scanning\n - Permission management\n - Code review\n\n## Updates and Maintenance\n\n- Regular updates\n- Security patches\n- Feature additions\n- Bug fixes\n- Documentation updates\n\n## Support\n\nFor additional help:\n- GitHub Issues\n- Documentation\n- Community Forums\n- Support Channels\n";
|
|
1
|
+
export declare const GENAICODE_HELP_DOCUMENT = "# GenAIcode Help Documentation\n\n## Overview\n\nGenAIcode is an AI-powered code generation and management tool designed to streamline software development. It leverages various AI services (Vertex AI, AI Studio, OpenAI, Anthropic) to generate, modify, and analyze code. The tool supports both interactive CLI and web UI modes, offering features like code generation, image processing, and context optimization.\n\n## Quick Start\n\n1. Installation:\n ```bash\n npm install -g genaicode\n ```\n\n2. Basic Usage:\n ```bash\n genaicode \"Your prompt here\"\n ```\n\n3. UI Mode:\n ```bash\n genaicode --ui\n ```\n\n## Core Features\n\n### AI Services Integration\n\n- **Supported Services**:\n - Vertex AI (with Gemini Pro)\n - OpenAI (GPT-4)\n - Anthropic (Claude)\n - AI Studio\n - Custom Plugin Services\n\n- **Service Auto-detection**: Automatically detects available AI services based on environment configuration\n- **Fallback Mechanism**: Handles service failures with automatic fallback options\n- **Model Configuration**: Supports per-service model configuration via .genaicoderc\n\n### Interaction Modes\n\n1. **UI Mode**:\n - Web-based interface\n - Real-time updates\n - Visual diff viewing\n - Progress tracking\n - File operation preview\n\n2. **Interactive CLI**:\n - Command-line interface\n - Step-by-step guidance\n - Task file support\n - Operation control\n\n### File Operations\n\n- Create/Update/Delete files\n- Move files\n- Create directories\n- Patch files\n- Context-aware operations\n- Safety checks and validation\n\n### Image Processing\n\n- **Generation**: Create images using AI services\n- **Analysis**: Vision model support for image context\n- **Manipulation**:\n - Background removal\n - Image splitting\n - Resizing\n - Format conversion\n\n### Context Management\n\n- Smart context optimization\n- History tracking and summarization\n- Token usage optimization\n- Conversation continuation\n- Cache management\n\n## Configuration\n\n### .genaicoderc Options\n\n```json\n{\n \"rootDir\": \".\",\n \"ignorePaths\": [\"node_modules\", \"dist\"],\n \"lintCommand\": \"npm run lint\",\n \"importantContext\": {\n \"systemPrompt\": [],\n \"files\": []\n },\n \"plugins\": [],\n \"modelOverrides\": {\n \"aiStudio\": {\n \"default\": \"gemini-pro\",\n \"cheap\": \"gemini-pro-vision\"\n }\n }\n}\n```\n\n### CLI Options\n\n- `--verbose-prompt`: Enable detailed prompt logging\n- `--dry-run`: Simulate operations without making changes\n- `--temperature`: Control AI response randomness\n- `--vision`: Enable image analysis\n- `--imagen`: Enable image generation\n- `--cheap`: Use cost-optimized models\n- `--ui`: Launch web interface\n- `--ui-port`: Specify UI port\n- `--content-mask`: Filter context\n- `--disable-cache`: Disable caching\n- `--disable-history`: Disable history tracking\n\n## Plugin System\n\n### Types of Plugins\n\n1. **AI Service Plugins**:\n - Custom AI service integration\n - Model configuration\n - Response handling\n\n2. **Action Handlers**:\n - Custom operations\n - User interaction\n - File processing\n - Git context retrieval (`requestGitContext` for commits, file changes, blame)\n\n3. **Operation Extensions**:\n - File operations\n - Image processing\n - Analysis tools\n\n### Creating Plugins\n\nBasic plugin structure:\n```typescript\nexport default {\n name: \"my-plugin\",\n aiServices?: {\n [key: string]: {\n generateContent: GenerateContentFunction;\n serviceConfig: ServiceConfig;\n }\n },\n operations?: {\n [key: string]: Operation;\n },\n actionHandlers?: {\n [key: string]: {\n handler: ActionHandler;\n description: string;\n }\n }\n}\n```\n\n## Best Practices\n\n1. **Code Generation**:\n - Provide clear, specific prompts\n - Review generated code before applying\n - Use appropriate temperature settings\n - Leverage context optimization\n\n2. **File Management**:\n - Use absolute paths\n - Verify file operations\n - Handle dependencies properly\n - Maintain consistent structure\n\n3. **Context Optimization**:\n - Keep relevant files in context\n - Remove unnecessary content\n - Use content masking when needed\n - Monitor token usage\n\n4. **Error Handling**:\n - Check operation results\n - Handle service failures\n - Validate generated code\n - Use appropriate fallback options\n\n## Troubleshooting\n\n### Common Issues\n\n1. **AI Service Connection**:\n - Verify API keys\n - Check service availability\n - Confirm network connection\n - Review rate limits\n\n2. **File Operations**:\n - Check file permissions\n - Verify paths\n - Review operation logs\n - Confirm file existence\n\n3. **Context Problems**:\n - Monitor token usage\n - Review context optimization\n - Check file inclusion\n - Verify content masks\n\n4. **Plugin Issues**:\n - Validate plugin structure\n - Check compatibility\n - Review error logs\n - Update dependencies\n\n### Getting Help\n\n- Use the `--help` command\n- Check documentation\n- Review error messages\n- Contact support\n\n## Advanced Topics\n\n### Custom Actions\n\nCreating custom actions:\n```typescript\nexport const myCustomAction: ActionHandler = async (props) => {\n // Implementation\n};\n```\n\n### Hook System\n\nAvailable hooks:\n- Pre/post operation\n- Generate content\n- Planning\n- Context optimization\n\n### Project Profiles\n\nSupported frameworks:\n- JavaScript/TypeScript\n- Python\n- Java\n- Go\n- React\n\n## Security Considerations\n\n1. **API Keys**:\n - Secure storage\n - Regular rotation\n - Access control\n - Environment variables\n\n2. **File Operations**:\n - Permission checks\n - Path validation\n - Content verification\n - Operation logging\n\n3. **Plugin Security**:\n - Source verification\n - Dependency scanning\n - Permission management\n - Code review\n\n## Updates and Maintenance\n\n- Regular updates\n- Security patches\n- Feature additions\n- Bug fixes\n- Documentation updates\n\n## Support\n\nFor additional help:\n- GitHub Issues\n- Documentation\n- Community Forums\n- Support Channels\n";
|
|
@@ -128,6 +128,7 @@ GenAIcode is an AI-powered code generation and management tool designed to strea
|
|
|
128
128
|
- Custom operations
|
|
129
129
|
- User interaction
|
|
130
130
|
- File processing
|
|
131
|
+
- Git context retrieval (\`requestGitContext\` for commits, file changes, blame)
|
|
131
132
|
|
|
132
133
|
3. **Operation Extensions**:
|
|
133
134
|
- File operations
|