genaicode 0.13.1 → 0.14.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/anthropic.js +1 -1
- package/dist/ai-service/service-configurations.js +2 -2
- package/dist/main/codegen-types.d.ts +10 -0
- package/dist/main/common/console-types.d.ts +23 -0
- package/dist/main/common/console-types.js +8 -0
- package/dist/main/common/console-types.js.map +1 -0
- package/dist/main/common/user-actions.d.ts +4 -1
- package/dist/main/common/user-actions.js +10 -0
- package/dist/main/common/user-actions.js.map +1 -1
- package/dist/main/ui/backend/endpoints/console-logs-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/console-logs-endpoint.js +19 -0
- package/dist/main/ui/backend/endpoints/console-logs-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/question-endpoint.js +4 -1
- package/dist/main/ui/backend/endpoints/question-endpoint.js.map +1 -1
- package/dist/main/ui/backend/service.d.ts +3 -2
- package/dist/main/ui/backend/service.js +19 -1
- package/dist/main/ui/backend/service.js.map +1 -1
- package/dist/main/ui/common/api-types.d.ts +2 -0
- package/dist/main/ui/common/api-types.js.map +1 -1
- package/dist/main/ui/frontend/assets/index-DZyMi0i2.js +2881 -0
- package/dist/main/ui/frontend/index.html +1 -1
- package/dist/main/ui/user-action-handlers.js +13 -1
- package/dist/main/ui/user-action-handlers.js.map +1 -1
- package/dist/prompt/function-calling.js +4 -0
- package/dist/prompt/function-calling.js.map +1 -1
- package/dist/prompt/function-defs/ask-question.js +2 -0
- package/dist/prompt/function-defs/ask-question.js.map +1 -1
- package/dist/prompt/function-defs/compound-action.js +1 -1
- package/dist/prompt/function-defs/compound-action.js.map +1 -1
- package/dist/prompt/function-defs/pull-console-logs.d.ts +2 -0
- package/dist/prompt/function-defs/pull-console-logs.js +29 -0
- package/dist/prompt/function-defs/pull-console-logs.js.map +1 -0
- package/dist/prompt/function-defs/run-project-command.js +3 -0
- package/dist/prompt/function-defs/run-project-command.js.map +1 -1
- package/dist/prompt/function-defs/structured-question.d.ts +2 -0
- package/dist/prompt/function-defs/structured-question.js +64 -0
- package/dist/prompt/function-defs/structured-question.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/ask-question-handler.d.ts +2 -1
- package/dist/prompt/steps/step-ask-question/ask-question-handler.js +1 -0
- package/dist/prompt/steps/step-ask-question/ask-question-handler.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-compound-action.js +1 -2
- package/dist/prompt/steps/step-ask-question/handlers/handle-compound-action.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-pull-console-logs.d.ts +2 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-pull-console-logs.js +174 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-pull-console-logs.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-structured-question.d.ts +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-structured-question.js +72 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-structured-question.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/step-ask-question-types.d.ts +44 -1
- package/dist/prompt/steps/step-ask-question/step-ask-question.d.ts +7 -5
- package/dist/prompt/steps/step-ask-question/step-ask-question.js +9 -6
- package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
- package/dist/prompt/systemprompt.js +28 -0
- package/dist/prompt/systemprompt.js.map +1 -1
- package/dist/vite-genaicode/console-interceptor.d.ts +40 -0
- package/dist/vite-genaicode/console-interceptor.js +85 -0
- package/dist/vite-genaicode/console-interceptor.js.map +1 -0
- package/dist/vite-genaicode/vite-genaicode-frontend.js +11 -0
- package/dist/vite-genaicode/vite-genaicode-frontend.js.map +1 -1
- package/dist/vite-genaicode/vite-genaicode-plugin.d.ts +1 -0
- package/dist/vite-genaicode/vite-genaicode-plugin.js +3 -1
- package/dist/vite-genaicode/vite-genaicode-plugin.js.map +1 -1
- package/dist/vite-genaicode/vite-genaicode-types.d.ts +2 -0
- package/dist/vite-genaicode/vite-genaicode-types.js.map +1 -1
- package/package.json +2 -2
- package/dist/main/ui/frontend/assets/index-DdJQyqWK.js +0 -2665
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { registerActionHandler } from '../step-ask-question-handlers.js';
|
|
2
|
+
import { askUserForStructuredQuestion } from '../../../../main/common/user-actions.js';
|
|
3
|
+
import { ModelType, } from '../../../../ai-service/common-types.js';
|
|
4
|
+
import { getFunctionDefs } from '../../../function-calling.js';
|
|
5
|
+
import { putSystemMessage } from '../../../../main/common/content-bus.js';
|
|
6
|
+
async function handleStructuredQuestion({ askQuestionCall, generateContentFn, prompt, options, }) {
|
|
7
|
+
const structuredQuestionCall = await generateStructuredQuestionCall(generateContentFn, prompt, askQuestionCall, options, ModelType.CHEAP);
|
|
8
|
+
putSystemMessage('Presenting structured question', { ...structuredQuestionCall?.args });
|
|
9
|
+
if (!structuredQuestionCall?.args) {
|
|
10
|
+
return {
|
|
11
|
+
breakLoop: false,
|
|
12
|
+
items: [],
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const userResponse = await askUserForStructuredQuestion(structuredQuestionCall.args.form, options);
|
|
16
|
+
putSystemMessage('Received structured question response', { ...userResponse });
|
|
17
|
+
return {
|
|
18
|
+
breakLoop: false,
|
|
19
|
+
items: [
|
|
20
|
+
{
|
|
21
|
+
assistant: {
|
|
22
|
+
type: 'assistant',
|
|
23
|
+
text: structuredQuestionCall.args?.message ?? 'Please complete the form.',
|
|
24
|
+
functionCalls: [structuredQuestionCall],
|
|
25
|
+
},
|
|
26
|
+
user: {
|
|
27
|
+
type: 'user',
|
|
28
|
+
functionResponses: [
|
|
29
|
+
{
|
|
30
|
+
name: 'structuredQuestion',
|
|
31
|
+
call_id: structuredQuestionCall.id,
|
|
32
|
+
content: JSON.stringify(userResponse),
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
async function generateStructuredQuestionCall(generateContentFn, prompt, askQuestionCall, options, modelType) {
|
|
41
|
+
const req = [
|
|
42
|
+
[
|
|
43
|
+
...prompt,
|
|
44
|
+
{
|
|
45
|
+
type: 'assistant',
|
|
46
|
+
text: askQuestionCall.args?.message ?? 'I need to ask a structured question.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'user',
|
|
50
|
+
text: 'Yes, you can ask the structured question.',
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
{
|
|
54
|
+
functionDefs: getFunctionDefs(),
|
|
55
|
+
requiredFunctionName: 'structuredQuestion',
|
|
56
|
+
temperature: 0.7,
|
|
57
|
+
modelType,
|
|
58
|
+
expectedResponseType: {
|
|
59
|
+
text: false,
|
|
60
|
+
functionCall: true,
|
|
61
|
+
media: false,
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
options,
|
|
65
|
+
];
|
|
66
|
+
const [structuredQuestionCall] = (await generateContentFn(...req))
|
|
67
|
+
.filter((item) => item.type === 'functionCall')
|
|
68
|
+
.map((item) => item.functionCall);
|
|
69
|
+
return structuredQuestionCall;
|
|
70
|
+
}
|
|
71
|
+
registerActionHandler('structuredQuestion', handleStructuredQuestion);
|
|
72
|
+
//# sourceMappingURL=handle-structured-question.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handle-structured-question.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-structured-question.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAIL,SAAS,GAEV,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,KAAK,UAAU,wBAAwB,CAAC,EACtC,eAAe,EACf,iBAAiB,EACjB,MAAM,EACN,OAAO,GACY;IACnB,MAAM,sBAAsB,GAAG,MAAM,8BAA8B,CACjE,iBAAiB,EACjB,MAAM,EACN,eAAe,EACf,OAAO,EACP,SAAS,CAAC,KAAK,CAChB,CAAC;IAEF,gBAAgB,CAAC,gCAAgC,EAAE,EAAE,GAAG,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC;IAExF,IAAI,CAAC,sBAAsB,EAAE,IAAI,EAAE,CAAC;QAClC,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,4BAA4B,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEnG,gBAAgB,CAAC,uCAAuC,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;IAE/E,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE;YACL;gBACE,SAAS,EAAE;oBACT,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,sBAAsB,CAAC,IAAI,EAAE,OAAO,IAAI,2BAA2B;oBACzE,aAAa,EAAE,CAAC,sBAAsB,CAAC;iBACxC;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM;oBACZ,iBAAiB,EAAE;wBACjB;4BACE,IAAI,EAAE,oBAAoB;4BAC1B,OAAO,EAAE,sBAAsB,CAAC,EAAE;4BAClC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;yBACtC;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,iBAA0C,EAC1C,MAAoB,EACpB,eAAgC,EAChC,OAAuB,EACvB,SAAoB;IAEpB,MAAM,GAAG,GAAwB;QAC/B;YACE,GAAG,MAAM;YACT;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,sCAAsC;aAC9E;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,2CAA2C;aAClD;SACF;QACD;YACE,YAAY,EAAE,eAAe,EAAE;YAC/B,oBAAoB,EAAE,oBAAoB;YAC1C,WAAW,EAAE,GAAG;YAChB,SAAS;YACT,oBAAoB,EAAE;gBACpB,IAAI,EAAE,KAAK;gBACX,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAE,KAAK;aACb;SACF;QACD,OAAO;KACR,CAAC;IACF,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC;SAC/D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC;SAC9C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAuD,CAAC;IAE1F,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,qBAAqB,CAAC,oBAAoB,EAAE,wBAAyC,CAAC,CAAC"}
|
|
@@ -5,7 +5,8 @@ import { PromptItemImage } from '../../../ai-service/common-types.js';
|
|
|
5
5
|
import { FunctionCall } from '../../../ai-service/common-types.js';
|
|
6
6
|
import { CodegenOptions } from '../../../main/codegen-types.js';
|
|
7
7
|
import { PluginActionType } from '../../../ai-service/service-configurations-types.js';
|
|
8
|
-
|
|
8
|
+
import { ConsoleLogLevel, ConsoleLogMode } from '../../../vite-genaicode/vite-genaicode-types.js';
|
|
9
|
+
export type ActionType = 'codeGeneration' | 'sendMessage' | 'generateImage' | 'requestPermissions' | 'readExternalFiles' | 'requestFilesContent' | 'removeFilesFromContext' | 'exploreExternalDirectories' | 'confirmCodeGeneration' | 'endConversation' | 'contextOptimization' | 'contextCompression' | 'searchCode' | 'updateFile' | 'performAnalysis' | 'createFile' | 'pullAppContext' | 'pullConsoleLogs' | 'genaicodeHelp' | 'pushAppContext' | 'reasoningInference' | 'requestFilesFragments' | 'requestGitContext' | 'conversationGraph' | 'runContainerTask' | 'compoundAction' | 'runProjectCommand' | 'runBashCommand' | 'webSearch' | 'structuredQuestion' | PluginActionType;
|
|
9
10
|
export type AskQuestionArgs = {
|
|
10
11
|
actionType?: ActionType;
|
|
11
12
|
message?: string;
|
|
@@ -40,6 +41,15 @@ export type PushAppContextArgs = {
|
|
|
40
41
|
key: string;
|
|
41
42
|
value: string;
|
|
42
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* Arguments for pullConsoleLogs action
|
|
46
|
+
*/
|
|
47
|
+
export type PullConsoleLogsArgs = {
|
|
48
|
+
mode: ConsoleLogMode;
|
|
49
|
+
prompt?: string;
|
|
50
|
+
lines?: number;
|
|
51
|
+
level?: ConsoleLogLevel;
|
|
52
|
+
};
|
|
43
53
|
export type GenerateImageArgs = {
|
|
44
54
|
prompt: string;
|
|
45
55
|
filePath: string;
|
|
@@ -214,3 +224,36 @@ export type ActionHandlerProps = {
|
|
|
214
224
|
waitIfPaused: () => Promise<void>;
|
|
215
225
|
};
|
|
216
226
|
export type ActionHandler = (props: ActionHandlerProps) => Promise<ActionResult>;
|
|
227
|
+
export type StructuredQuestionFieldType = 'text' | 'checkbox' | 'radio' | 'select' | 'textarea' | 'number' | 'email';
|
|
228
|
+
export interface StructuredQuestionField {
|
|
229
|
+
id: string;
|
|
230
|
+
label: string;
|
|
231
|
+
type: StructuredQuestionFieldType;
|
|
232
|
+
required?: boolean;
|
|
233
|
+
placeholder?: string;
|
|
234
|
+
options?: {
|
|
235
|
+
value: string;
|
|
236
|
+
label: string;
|
|
237
|
+
}[];
|
|
238
|
+
defaultValue?: string | string[];
|
|
239
|
+
validation?: {
|
|
240
|
+
pattern?: string;
|
|
241
|
+
minLength?: number;
|
|
242
|
+
maxLength?: number;
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
export interface StructuredQuestionForm {
|
|
246
|
+
title: string;
|
|
247
|
+
description?: string;
|
|
248
|
+
fields: StructuredQuestionField[];
|
|
249
|
+
submitLabel?: string;
|
|
250
|
+
cancelLabel?: string;
|
|
251
|
+
}
|
|
252
|
+
export type StructuredQuestionArgs = {
|
|
253
|
+
message: string;
|
|
254
|
+
form: StructuredQuestionForm;
|
|
255
|
+
};
|
|
256
|
+
export type StructuredQuestionResponse = {
|
|
257
|
+
submitted: boolean;
|
|
258
|
+
values: Record<string, string | string[] | boolean>;
|
|
259
|
+
};
|
|
@@ -11,25 +11,27 @@ import './handlers/handle-context-optimization.js';
|
|
|
11
11
|
import './handlers/handle-conversation-graph.js';
|
|
12
12
|
import './handlers/handle-create-file.js';
|
|
13
13
|
import './handlers/handle-end-conversation.js';
|
|
14
|
+
import './handlers/handle-explore-external-directories.js';
|
|
14
15
|
import './handlers/handle-genaicode-help.js';
|
|
15
16
|
import './handlers/handle-generate-image.js';
|
|
16
17
|
import './handlers/handle-perform-analysis.js';
|
|
18
|
+
import './handlers/handle-project-command.js';
|
|
17
19
|
import './handlers/handle-pull-app-context.js';
|
|
20
|
+
import './handlers/handle-pull-console-logs.js';
|
|
18
21
|
import './handlers/handle-push-app-context.js';
|
|
22
|
+
import './handlers/handle-read-external-files.js';
|
|
19
23
|
import './handlers/handle-reasoning-inference.js';
|
|
20
24
|
import './handlers/handle-remove-files-from-context.js';
|
|
21
25
|
import './handlers/handle-request-files-content.js';
|
|
22
26
|
import './handlers/handle-request-files-fragments.js';
|
|
27
|
+
import './handlers/handle-request-git-context.js';
|
|
23
28
|
import './handlers/handle-request-permissions.js';
|
|
29
|
+
import './handlers/handle-run-bash-command.js';
|
|
24
30
|
import './handlers/handle-run-container-task.js';
|
|
25
31
|
import './handlers/handle-search-code.js';
|
|
26
32
|
import './handlers/handle-send-message.js';
|
|
33
|
+
import './handlers/handle-structured-question.js';
|
|
27
34
|
import './handlers/handle-update-file.js';
|
|
28
|
-
import './handlers/handle-read-external-files.js';
|
|
29
|
-
import './handlers/handle-explore-external-directories.js';
|
|
30
|
-
import './handlers/handle-request-git-context.js';
|
|
31
35
|
import './handlers/handle-web-search.js';
|
|
32
36
|
import './handlers/handle-compound-action.js';
|
|
33
|
-
import './handlers/handle-project-command.js';
|
|
34
|
-
import './handlers/handle-run-bash-command.js';
|
|
35
37
|
export declare function executeStepAskQuestion(generateContentFn: GenerateContentFunction, generateImageFn: GenerateImageFunction, prompt: PromptItem[], functionDefs: FunctionDef[], waitIfPaused: () => Promise<void>, temperature: number, options: CodegenOptions): Promise<FunctionCall[]>;
|
|
@@ -11,27 +11,29 @@ import './handlers/handle-context-optimization.js';
|
|
|
11
11
|
import './handlers/handle-conversation-graph.js';
|
|
12
12
|
import './handlers/handle-create-file.js';
|
|
13
13
|
import './handlers/handle-end-conversation.js';
|
|
14
|
+
import './handlers/handle-explore-external-directories.js';
|
|
14
15
|
import './handlers/handle-genaicode-help.js';
|
|
15
16
|
import './handlers/handle-generate-image.js';
|
|
16
17
|
import './handlers/handle-perform-analysis.js';
|
|
18
|
+
import './handlers/handle-project-command.js';
|
|
17
19
|
import './handlers/handle-pull-app-context.js';
|
|
20
|
+
import './handlers/handle-pull-console-logs.js';
|
|
18
21
|
import './handlers/handle-push-app-context.js';
|
|
22
|
+
import './handlers/handle-read-external-files.js';
|
|
19
23
|
import './handlers/handle-reasoning-inference.js';
|
|
20
24
|
import './handlers/handle-remove-files-from-context.js';
|
|
21
25
|
import './handlers/handle-request-files-content.js';
|
|
22
26
|
import './handlers/handle-request-files-fragments.js';
|
|
27
|
+
import './handlers/handle-request-git-context.js';
|
|
23
28
|
import './handlers/handle-request-permissions.js';
|
|
29
|
+
import './handlers/handle-run-bash-command.js';
|
|
24
30
|
import './handlers/handle-run-container-task.js';
|
|
25
31
|
import './handlers/handle-search-code.js';
|
|
26
32
|
import './handlers/handle-send-message.js';
|
|
33
|
+
import './handlers/handle-structured-question.js';
|
|
27
34
|
import './handlers/handle-update-file.js';
|
|
28
|
-
import './handlers/handle-read-external-files.js';
|
|
29
|
-
import './handlers/handle-explore-external-directories.js';
|
|
30
|
-
import './handlers/handle-request-git-context.js';
|
|
31
35
|
import './handlers/handle-web-search.js';
|
|
32
36
|
import './handlers/handle-compound-action.js';
|
|
33
|
-
import './handlers/handle-project-command.js';
|
|
34
|
-
import './handlers/handle-run-bash-command.js';
|
|
35
37
|
export async function executeStepAskQuestion(generateContentFn, generateImageFn, prompt, functionDefs, waitIfPaused, temperature, options) {
|
|
36
38
|
putSystemMessage('Allowing the assistant to ask a question...');
|
|
37
39
|
let filesState = getFilesState();
|
|
@@ -53,6 +55,7 @@ export async function executeStepAskQuestion(generateContentFn, generateImageFn,
|
|
|
53
55
|
id: 'forced-action',
|
|
54
56
|
args: {
|
|
55
57
|
actionType: forcedActionType,
|
|
58
|
+
message: `I'm going to execute the action: ${forcedActionType}`,
|
|
56
59
|
},
|
|
57
60
|
}
|
|
58
61
|
: await getAskQuestionCall(generateContentFn, prompt, functionDefs, temperature, options);
|
|
@@ -60,7 +63,7 @@ export async function executeStepAskQuestion(generateContentFn, generateImageFn,
|
|
|
60
63
|
if (!askQuestionCall) {
|
|
61
64
|
break;
|
|
62
65
|
}
|
|
63
|
-
if (askQuestionCall.args?.message) {
|
|
66
|
+
if (askQuestionCall.args?.message && askQuestionCall.id !== 'forced-action') {
|
|
64
67
|
putAssistantMessage(askQuestionCall.args.message, { ...askQuestionCall.args, contextSize: totalTokens });
|
|
65
68
|
}
|
|
66
69
|
const actionType = askQuestionCall.args?.actionType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-ask-question.js","sourceRoot":"","sources":["../../../../src/prompt/steps/step-ask-question/step-ask-question.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC5G,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAE/F,OAAO,sCAAsC,CAAC;AAC9C,OAAO,8CAA8C,CAAC;AACtD,OAAO,0CAA0C,CAAC;AAClD,OAAO,2CAA2C,CAAC;AACnD,OAAO,yCAAyC,CAAC;AACjD,OAAO,kCAAkC,CAAC;AAC1C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,0CAA0C,CAAC;AAClD,OAAO,gDAAgD,CAAC;AACxD,OAAO,4CAA4C,CAAC;AACpD,OAAO,8CAA8C,CAAC;AACtD,OAAO,0CAA0C,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"step-ask-question.js","sourceRoot":"","sources":["../../../../src/prompt/steps/step-ask-question/step-ask-question.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export function getSystemPrompt({ rootDir, importantContext, featuresEnabled },
|
|
|
4
4
|
const { verbose, askQuestion, interactive, ui, allowFileCreate, allowFileDelete, allowDirectoryCreate, allowFileMove, vision, imagen, } = options;
|
|
5
5
|
const gitContextEnabled = featuresEnabled?.gitContext !== false;
|
|
6
6
|
const dockerTaskEnabled = featuresEnabled?.containerTask !== false;
|
|
7
|
+
const appContextEnabled = featuresEnabled?.appContext !== false;
|
|
7
8
|
console.log('Generate system prompt');
|
|
8
9
|
// IMPORTANT: Please avoid increasing the length of the system prompt.
|
|
9
10
|
let systemPrompt = `## Who are you?
|
|
@@ -41,6 +42,26 @@ Please limit any changes to the root directory of my application, which is \`${r
|
|
|
41
42
|
- ${allowFileMove ? 'You are allowed to move files.' : 'Do not move files.'}
|
|
42
43
|
- ${vision ? 'You are allowed to analyze image assets.' : 'Do not analyze image assets.'}
|
|
43
44
|
- ${imagen ? 'You are allowed to generate images.' : 'You are not allowed to generate images.'}
|
|
45
|
+
|
|
46
|
+
## Your allowed operations
|
|
47
|
+
|
|
48
|
+
You have access to the following file and image operations that can be used during code generation:
|
|
49
|
+
|
|
50
|
+
**File Operations:**
|
|
51
|
+
- \`createDirectory\`: Create a new directory at the specified path
|
|
52
|
+
- \`createFile\`: Create a new file with the provided content
|
|
53
|
+
- \`updateFile\`: Replace the entire content of an existing file
|
|
54
|
+
- \`patchFile\`: Apply targeted changes to specific parts of a file (preferred for large files)
|
|
55
|
+
- \`deleteFile\`: Delete a file at the specified path
|
|
56
|
+
- \`moveFile\`: Move or rename a file from one path to another
|
|
57
|
+
- \`downloadFile\`: Download a file from a URL to a specified path
|
|
58
|
+
|
|
59
|
+
**Image Operations:**
|
|
60
|
+
- \`splitImage\`: Split an image into multiple tiles or sections
|
|
61
|
+
- \`resizeImage\`: Resize an image to specified dimensions
|
|
62
|
+
- \`imglyRemoveBackground\`: Remove the background from an image
|
|
63
|
+
|
|
64
|
+
These operations are used within the code generation workflow and are executed after user confirmation. They should be specified in the \`fileUpdates\` array when generating code changes.
|
|
44
65
|
`;
|
|
45
66
|
if (askQuestion && (interactive || ui)) {
|
|
46
67
|
systemPrompt += `## Asking Questions And Conversing
|
|
@@ -86,9 +107,16 @@ Example use cases of action types:
|
|
|
86
107
|
- Simple visual analysis of an image, which is already present in the context -> **sendMessage**
|
|
87
108
|
- Need to reduce size of the context, and content of some files is not needed anymore -> **removeFilesFromContext**
|
|
88
109
|
- Need to reorganize the context of the conversation, or reduce its size -> **contextOptimization**
|
|
110
|
+
- Need to compress the conversation history while maintaining essential information -> **contextCompression**
|
|
89
111
|
- Generate an image -> **generateImage**
|
|
90
112
|
- Search for a keyword/phrase over the codebase of the project -> **searchCode**
|
|
91
113
|
- Run project commands (lint, test, build, or custom) with parameters -> **runProjectCommand**
|
|
114
|
+
- Run a bash command directly -> **runBashCommand**
|
|
115
|
+
- Search the web for information to ground your answer with URLs -> **webSearch**
|
|
116
|
+
- Need to request specific fragments or sections of files based on a prompt, rather than full file content -> **requestFilesFragments**
|
|
117
|
+
${appContextEnabled ? '- Retrieve application context values for use in the conversation -> **pullAppContext**' : ''}
|
|
118
|
+
${appContextEnabled ? '- Update application context values based on conversation outcomes -> **pushAppContext**' : ''}
|
|
119
|
+
${appContextEnabled ? '- Pull console logs from the application for debugging or analysis -> **pullConsoleLogs**' : ''}
|
|
92
120
|
- End the conversation -> **endConversation**
|
|
93
121
|
- The user needs help with GenAIcode itself, encountered a problem, or needs guidance -> **genaicodeHelp**
|
|
94
122
|
- Perform inference on a AI model with reasoning capabilities -> **reasoningInference**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"systemprompt.js","sourceRoot":"","sources":["../../src/prompt/systemprompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAItD,+DAA+D;AAC/D,MAAM,UAAU,eAAe,CAC7B,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAsE,EAClH,OAA0C;IAE1C,MAAM,EACJ,OAAO,EACP,WAAW,EACX,WAAW,EACX,EAAE,EACF,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,MAAM,EACN,MAAM,GACP,GAAG,OAAO,CAAC;IAEZ,MAAM,iBAAiB,GAAG,eAAe,EAAE,UAAU,KAAK,KAAK,CAAC;IAChE,MAAM,iBAAiB,GAAG,eAAe,EAAE,aAAa,KAAK,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"systemprompt.js","sourceRoot":"","sources":["../../src/prompt/systemprompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAItD,+DAA+D;AAC/D,MAAM,UAAU,eAAe,CAC7B,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAsE,EAClH,OAA0C;IAE1C,MAAM,EACJ,OAAO,EACP,WAAW,EACX,WAAW,EACX,EAAE,EACF,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,MAAM,EACN,MAAM,GACP,GAAG,OAAO,CAAC;IAEZ,MAAM,iBAAiB,GAAG,eAAe,EAAE,UAAU,KAAK,KAAK,CAAC;IAChE,MAAM,iBAAiB,GAAG,eAAe,EAAE,aAAa,KAAK,KAAK,CAAC;IACnE,MAAM,iBAAiB,GAAG,eAAe,EAAE,UAAU,KAAK,KAAK,CAAC;IAEhE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAEtC,sEAAsE;IACtE,IAAI,YAAY,GAAG;;;;+EAI0D,OAAO;;;;;;;;;;;;;;;;;;;;;;;IAuBlF,eAAe,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,0BAA0B;IAErF,eAAe;QACb,CAAC,CAAC,iFAAiF;QACnF,CAAC,CAAC,sBACN;IACE,oBAAoB,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,gCAAgC;IACtG,aAAa,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,oBAAoB;IACvE,MAAM,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,8BAA8B;IACpF,MAAM,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,yCAAyC;;;;;;;;;;;;;;;;;;;;;CAqB7F,CAAC;IAEA,IAAI,WAAW,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;QACvC,YAAY,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkDlB,iBAAiB,CAAC,CAAC,CAAC,yFAAyF,CAAC,CAAC,CAAC,EAAE;EAClH,iBAAiB,CAAC,CAAC,CAAC,0FAA0F,CAAC,CAAC,CAAC,EAAE;EACnH,iBAAiB,CAAC,CAAC,CAAC,2FAA2F,CAAC,CAAC,CAAC,EAAE;;;;;;EAMpH,iBAAiB,CAAC,CAAC,CAAC,0JAA0J,CAAC,CAAC,CAAC,EAAE;EACnL,iBAAiB,CAAC,CAAC,CAAC,wEAAwE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CjG,iBAAiB,CAAC,CAAC,CAAC,+gBAA+gB,CAAC,CAAC,CAAC,EAAE;;;;;CAKziB,CAAC;IACA,CAAC;IAED,IAAI,gBAAgB,EAAE,YAAY,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/E,YAAY,IAAI,kCAAkC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC/F,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAEtC,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ConsoleLogEntry } from '../main/common/console-types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Callback function type for handling console log updates
|
|
4
|
+
*/
|
|
5
|
+
export type ConsoleLogCallback = (logs: ConsoleLogEntry[]) => Promise<void>;
|
|
6
|
+
/**
|
|
7
|
+
* Intercepts console methods and maintains a buffer of console log entries.
|
|
8
|
+
* Calls a provided callback whenever new logs are added.
|
|
9
|
+
*/
|
|
10
|
+
export declare class ConsoleInterceptor {
|
|
11
|
+
private buffer;
|
|
12
|
+
private readonly maxBufferSize;
|
|
13
|
+
private readonly callback;
|
|
14
|
+
/**
|
|
15
|
+
* Creates a new ConsoleInterceptor instance
|
|
16
|
+
* @param maxBufferSize - Maximum number of log entries to keep in buffer (default: 1000)
|
|
17
|
+
* @param callback - Function to call with updated logs buffer
|
|
18
|
+
*/
|
|
19
|
+
constructor(maxBufferSize: number | undefined, callback: ConsoleLogCallback);
|
|
20
|
+
/**
|
|
21
|
+
* Wraps all console methods to intercept log calls
|
|
22
|
+
*/
|
|
23
|
+
private _wrapConsoleMethods;
|
|
24
|
+
/**
|
|
25
|
+
* Formats log arguments into a single message string
|
|
26
|
+
*/
|
|
27
|
+
private _formatMessage;
|
|
28
|
+
/**
|
|
29
|
+
* Adds a log entry to the buffer and calls the callback
|
|
30
|
+
*/
|
|
31
|
+
private _addToBuffer;
|
|
32
|
+
/**
|
|
33
|
+
* Gets the current buffer of log entries
|
|
34
|
+
*/
|
|
35
|
+
getBuffer(): ConsoleLogEntry[];
|
|
36
|
+
/**
|
|
37
|
+
* Clears the log buffer
|
|
38
|
+
*/
|
|
39
|
+
clearBuffer(): void;
|
|
40
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intercepts console methods and maintains a buffer of console log entries.
|
|
3
|
+
* Calls a provided callback whenever new logs are added.
|
|
4
|
+
*/
|
|
5
|
+
export class ConsoleInterceptor {
|
|
6
|
+
buffer = [];
|
|
7
|
+
maxBufferSize;
|
|
8
|
+
callback;
|
|
9
|
+
/**
|
|
10
|
+
* Creates a new ConsoleInterceptor instance
|
|
11
|
+
* @param maxBufferSize - Maximum number of log entries to keep in buffer (default: 1000)
|
|
12
|
+
* @param callback - Function to call with updated logs buffer
|
|
13
|
+
*/
|
|
14
|
+
constructor(maxBufferSize = 1000, callback) {
|
|
15
|
+
this.maxBufferSize = maxBufferSize;
|
|
16
|
+
this.callback = callback;
|
|
17
|
+
this._wrapConsoleMethods();
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Wraps all console methods to intercept log calls
|
|
21
|
+
*/
|
|
22
|
+
_wrapConsoleMethods() {
|
|
23
|
+
const methodsToWrap = ['log', 'info', 'warn', 'error', 'debug', 'trace', 'assert'];
|
|
24
|
+
methodsToWrap.forEach((level) => {
|
|
25
|
+
const originalMethod = console[level];
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
27
|
+
console[level] = (...args) => {
|
|
28
|
+
this._addToBuffer(level, args);
|
|
29
|
+
originalMethod.apply(console, args);
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Formats log arguments into a single message string
|
|
35
|
+
*/
|
|
36
|
+
_formatMessage(args) {
|
|
37
|
+
return args
|
|
38
|
+
.map((arg) => {
|
|
39
|
+
if (typeof arg === 'string')
|
|
40
|
+
return arg;
|
|
41
|
+
try {
|
|
42
|
+
return JSON.stringify(arg);
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return String(arg);
|
|
46
|
+
}
|
|
47
|
+
})
|
|
48
|
+
.join(' ');
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Adds a log entry to the buffer and calls the callback
|
|
52
|
+
*/
|
|
53
|
+
_addToBuffer(level, args) {
|
|
54
|
+
const entry = {
|
|
55
|
+
timestamp: Date.now(),
|
|
56
|
+
level,
|
|
57
|
+
message: this._formatMessage(args),
|
|
58
|
+
args,
|
|
59
|
+
};
|
|
60
|
+
this.buffer.push(entry);
|
|
61
|
+
// Maintain circular buffer
|
|
62
|
+
if (this.buffer.length > this.maxBufferSize) {
|
|
63
|
+
this.buffer.shift();
|
|
64
|
+
}
|
|
65
|
+
// Call the callback with updated buffer
|
|
66
|
+
this.callback(this.buffer).catch((error) => {
|
|
67
|
+
// Use original console.warn to avoid recursion
|
|
68
|
+
const originalWarn = console.warn;
|
|
69
|
+
originalWarn.call(console, 'ConsoleInterceptor: Failed to execute callback:', error);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Gets the current buffer of log entries
|
|
74
|
+
*/
|
|
75
|
+
getBuffer() {
|
|
76
|
+
return [...this.buffer];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Clears the log buffer
|
|
80
|
+
*/
|
|
81
|
+
clearBuffer() {
|
|
82
|
+
this.buffer = [];
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=console-interceptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-interceptor.js","sourceRoot":"","sources":["../../src/vite-genaicode/console-interceptor.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IACrB,MAAM,GAAsB,EAAE,CAAC;IACtB,aAAa,CAAS;IACtB,QAAQ,CAAqB;IAE9C;;;;OAIG;IACH,YAAY,aAAa,GAAG,IAAI,EAAE,QAA4B;QAC5D,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,mBAAmB;QACzB,MAAM,aAAa,GAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEtG,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,MAAM,cAAc,GAAG,OAAO,CAAC,KAAsB,CAAiC,CAAC;YAEvF,8DAA8D;YAC7D,OAAe,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;gBAC/C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC/B,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,IAAe;QACpC,OAAO,IAAI;aACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO,GAAG,CAAC;YACxC,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAAsB,EAAE,IAAe;QAC1D,MAAM,KAAK,GAAoB;YAC7B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK;YACL,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YAClC,IAAI;SACL,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,2BAA2B;QAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACzC,+CAA+C;YAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;YAClC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,iDAAiD,EAAE,KAAK,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,SAAS;QACd,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,WAAW;QAChB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import logo from '../../media/logo.png';
|
|
2
2
|
import { NotificationEventType } from './vite-genaicode-types.js';
|
|
3
|
+
import { contextManager } from './vite-genaicode-context.js';
|
|
4
|
+
import { ConsoleInterceptor } from './console-interceptor.js';
|
|
3
5
|
// Create a custom element for the GenAICode overlay
|
|
4
6
|
class GenAICodeOverlay extends HTMLElement {
|
|
5
7
|
state;
|
|
@@ -315,4 +317,13 @@ class GenAICodeOverlay extends HTMLElement {
|
|
|
315
317
|
customElements.define('genaicode-overlay', GenAICodeOverlay);
|
|
316
318
|
// Create and append the overlay to the document body
|
|
317
319
|
document.body.appendChild(document.createElement('genaicode-overlay'));
|
|
320
|
+
// Initialize console interception if app context is enabled
|
|
321
|
+
const scriptTag = document.querySelector('[data-genaicode-app-context-enabled]');
|
|
322
|
+
if (scriptTag?.dataset['genaicodeAppContextEnabled'] === 'true') {
|
|
323
|
+
const maxSize = parseInt(scriptTag.dataset['genaicodeLogBufferMaxSize'] || '1000', 10);
|
|
324
|
+
new ConsoleInterceptor(maxSize, async (logs) => {
|
|
325
|
+
await contextManager.setContext('__console_logs', logs);
|
|
326
|
+
});
|
|
327
|
+
console.log('GenAIcode: Console log interception enabled.');
|
|
328
|
+
}
|
|
318
329
|
//# sourceMappingURL=vite-genaicode-frontend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-genaicode-frontend.js","sourceRoot":"","sources":["../../src/vite-genaicode/vite-genaicode-frontend.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,sBAAsB,CAAC;AACxC,OAAO,EAAqB,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"vite-genaicode-frontend.js","sourceRoot":"","sources":["../../src/vite-genaicode/vite-genaicode-frontend.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { CodegenOptions, Plugin } from '../main/codegen-types.js';
|
|
|
3
3
|
export default function viteGenaicode(options?: Partial<CodegenOptions>, config?: {
|
|
4
4
|
plugins: Plugin[];
|
|
5
5
|
genaicodePort?: number;
|
|
6
|
+
logBufferMaxSize?: number;
|
|
6
7
|
}): {
|
|
7
8
|
name: string;
|
|
8
9
|
configureServer(server: ViteDevServer): void;
|
|
@@ -70,12 +70,14 @@ export default function viteGenaicode(options, config) {
|
|
|
70
70
|
});
|
|
71
71
|
},
|
|
72
72
|
transformIndexHtml(html) {
|
|
73
|
+
const logBufferMaxSize = config?.logBufferMaxSize ?? 1000;
|
|
73
74
|
return html.replace('</body>', `<script type="module"
|
|
74
75
|
src="/vite-genaicode.js"
|
|
75
76
|
data-genaicode-port="${genaicodePort}"
|
|
76
77
|
${appContextEnabled
|
|
77
78
|
? `data-genaicode-token="${codegenService.getToken()}"
|
|
78
|
-
data-genaicode-app-context-enabled="true"
|
|
79
|
+
data-genaicode-app-context-enabled="true"
|
|
80
|
+
data-genaicode-log-buffer-max-size="${logBufferMaxSize}"`
|
|
79
81
|
: ``}
|
|
80
82
|
>
|
|
81
83
|
</script>`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-genaicode-plugin.js","sourceRoot":"","sources":["../../src/vite-genaicode/vite-genaicode-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAI/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,OAAiC,EACjC,
|
|
1
|
+
{"version":3,"file":"vite-genaicode-plugin.js","sourceRoot":"","sources":["../../src/vite-genaicode/vite-genaicode-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ConsoleLogLevel, ConsoleLogEntry, ConsoleLogMode } from '../main/common/console-types.js';
|
|
1
2
|
/**
|
|
2
3
|
* Event types for cross-window notification communication
|
|
3
4
|
*/
|
|
@@ -24,3 +25,4 @@ export interface NotificationEvent {
|
|
|
24
25
|
source?: 'genaicode';
|
|
25
26
|
origin?: string;
|
|
26
27
|
}
|
|
28
|
+
export type { ConsoleLogLevel, ConsoleLogEntry, ConsoleLogMode };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-genaicode-types.js","sourceRoot":"","sources":["../../src/vite-genaicode/vite-genaicode-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vite-genaicode-types.js","sourceRoot":"","sources":["../../src/vite-genaicode/vite-genaicode-types.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,kDAAyB,CAAA;IACzB,gDAAuB,CAAA;IACvB,gEAAuC,CAAA;IACvC,8EAAqD,CAAA;AACvD,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "genaicode",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"author": "Grzegorz Tańczyk",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"styled-components": "^6.1.13",
|
|
91
91
|
"ts-node": "^10.9.2",
|
|
92
92
|
"typescript": "^5.0.0",
|
|
93
|
-
"vite": "^6.
|
|
93
|
+
"vite": "^6.4.1",
|
|
94
94
|
"vite-plugin-checker": "^0.8.0",
|
|
95
95
|
"vitest": "^3.0.7"
|
|
96
96
|
},
|