genaicode 0.6.1 → 0.8.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/README.md +0 -2
- package/dist/ai-service/ai-studio.js +7 -1
- package/dist/ai-service/ai-studio.js.map +1 -1
- package/dist/ai-service/anthropic.js +49 -19
- package/dist/ai-service/anthropic.js.map +1 -1
- package/dist/ai-service/chat-gpt.js +28 -11
- package/dist/ai-service/chat-gpt.js.map +1 -1
- package/dist/ai-service/common.d.ts +5 -4
- package/dist/ai-service/common.js +3 -4
- package/dist/ai-service/common.js.map +1 -1
- package/dist/ai-service/common.test.js +1 -1
- package/dist/ai-service/vertex-ai-claude.js +1 -1
- package/dist/ai-service/vertex-ai-claude.js.map +1 -1
- package/dist/ai-service/vertex-ai.js +7 -1
- package/dist/ai-service/vertex-ai.js.map +1 -1
- package/dist/cli/cli-options.js +0 -12
- package/dist/cli/cli-options.js.map +1 -1
- package/dist/cli/cli-params.d.ts +1 -4
- package/dist/cli/cli-params.js +1 -10
- package/dist/cli/cli-params.js.map +1 -1
- package/dist/cli/validate-cli-params.js +1 -7
- package/dist/cli/validate-cli-params.js.map +1 -1
- package/dist/cli/validate-cli-params.test.js +1 -1
- package/dist/cli/validate-cli-params.test.js.map +1 -1
- package/dist/eval/codegen-summary.test.d.ts +1 -0
- package/dist/eval/codegen-summary.test.js +93 -0
- package/dist/eval/codegen-summary.test.js.map +1 -0
- package/dist/eval/current-prompt-plugin.d.ts +3 -0
- package/dist/eval/current-prompt-plugin.js +10 -0
- package/dist/eval/current-prompt-plugin.js.map +1 -0
- package/dist/eval/data/current-prompt.d.ts +34 -0
- package/dist/eval/data/current-prompt.js +59 -0
- package/dist/eval/data/current-prompt.js.map +1 -0
- package/dist/eval/data/prompt-assistant-image.d.ts +49 -0
- package/dist/eval/data/prompt-assistant-image.js +67 -0
- package/dist/eval/data/prompt-assistant-image.js.map +1 -0
- package/dist/eval/data/prompt3.d.ts +34 -0
- package/dist/eval/data/prompt3.js +71 -0
- package/dist/eval/data/prompt3.js.map +1 -0
- package/dist/eval/prompt-debug.test.d.ts +1 -0
- package/dist/eval/prompt-debug.test.js +76 -0
- package/dist/eval/prompt-debug.test.js.map +1 -0
- package/dist/eval/prompt2.d.ts +34 -0
- package/dist/eval/prompt2.js +125 -0
- package/dist/eval/prompt2.js.map +1 -0
- package/dist/files/read-files.d.ts +29 -6
- package/dist/files/read-files.js +31 -10
- package/dist/files/read-files.js.map +1 -1
- package/dist/files/read-files.test.js +15 -9
- package/dist/files/read-files.test.js.map +1 -1
- package/dist/files/source-code-tree.d.ts +17 -0
- package/dist/files/source-code-tree.js +70 -0
- package/dist/files/source-code-tree.js.map +1 -0
- package/dist/main/codegen-types.d.ts +8 -5
- package/dist/main/codegen.ai-services.test.d.ts +3 -0
- package/dist/main/codegen.ai-services.test.js +198 -0
- package/dist/main/codegen.ai-services.test.js.map +1 -0
- package/dist/main/codegen.cli-options.test.d.ts +3 -0
- package/dist/main/codegen.cli-options.test.js +171 -0
- package/dist/main/codegen.cli-options.test.js.map +1 -0
- package/dist/main/codegen.image-generation.test.d.ts +3 -0
- package/dist/main/codegen.image-generation.test.js +187 -0
- package/dist/main/codegen.image-generation.test.js.map +1 -0
- package/dist/main/codegen.js +2 -5
- package/dist/main/codegen.js.map +1 -1
- package/dist/main/codegen.test-utils.d.ts +81 -0
- package/dist/main/codegen.test-utils.js +88 -0
- package/dist/main/codegen.test-utils.js.map +1 -0
- package/dist/main/codegen.test.js +47 -28
- package/dist/main/codegen.test.js.map +1 -1
- package/dist/main/common/content-bus-types.d.ts +6 -0
- package/dist/main/common/content-bus.d.ts +2 -2
- package/dist/main/common/content-bus.js +3 -1
- package/dist/main/common/content-bus.js.map +1 -1
- package/dist/main/common/user-actions.d.ts +8 -2
- package/dist/main/common/user-actions.js.map +1 -1
- package/dist/main/config-lib.js +20 -2
- package/dist/main/config-lib.js.map +1 -1
- package/dist/main/config.js +4 -28
- package/dist/main/config.js.map +1 -1
- package/dist/main/interactive/codegen-interactive.js +0 -4
- package/dist/main/interactive/codegen-interactive.js.map +1 -1
- package/dist/main/interactive/codegen-interactive.test.js +1 -7
- package/dist/main/interactive/codegen-interactive.test.js.map +1 -1
- package/dist/main/interactive/common.d.ts +1 -1
- package/dist/main/interactive/common.js +0 -2
- package/dist/main/interactive/common.js.map +1 -1
- package/dist/main/interactive/configure.js +0 -2
- package/dist/main/interactive/configure.js.map +1 -1
- package/dist/main/interactive/help.js +0 -2
- package/dist/main/interactive/help.js.map +1 -1
- package/dist/main/interactive/task-file.js +1 -1
- package/dist/main/interactive/task-file.js.map +1 -1
- package/dist/main/interactive/text-prompt.js +1 -1
- package/dist/main/interactive/text-prompt.js.map +1 -1
- package/dist/main/interactive/user-action-handlers.js +4 -2
- package/dist/main/interactive/user-action-handlers.js.map +1 -1
- package/dist/main/plugin-loader.d.ts +7 -1
- package/dist/main/plugin-loader.js +61 -0
- package/dist/main/plugin-loader.js.map +1 -1
- package/dist/main/ui/backend/api.js +9 -3
- package/dist/main/ui/backend/api.js.map +1 -1
- package/dist/main/ui/backend/service.d.ts +2 -1
- package/dist/main/ui/backend/service.js +6 -3
- package/dist/main/ui/backend/service.js.map +1 -1
- package/dist/main/ui/frontend/assets/index-QOcNx5ac.js +812 -0
- package/dist/main/ui/frontend/index.html +1 -1
- package/dist/main/ui/user-action-handlers.js +1 -1
- package/dist/main/ui/user-action-handlers.js.map +1 -1
- package/dist/project-profiles/detection.d.ts +40 -0
- package/dist/project-profiles/detection.js +131 -0
- package/dist/project-profiles/detection.js.map +1 -0
- package/dist/project-profiles/index.d.ts +35 -0
- package/dist/project-profiles/index.js +72 -0
- package/dist/project-profiles/index.js.map +1 -0
- package/dist/project-profiles/profiles/golang.d.ts +65 -0
- package/dist/project-profiles/profiles/golang.js +208 -0
- package/dist/project-profiles/profiles/golang.js.map +1 -0
- package/dist/project-profiles/profiles/java-maven.d.ts +80 -0
- package/dist/project-profiles/profiles/java-maven.js +165 -0
- package/dist/project-profiles/profiles/java-maven.js.map +1 -0
- package/dist/project-profiles/profiles/javascript-npm.d.ts +40 -0
- package/dist/project-profiles/profiles/javascript-npm.js +118 -0
- package/dist/project-profiles/profiles/javascript-npm.js.map +1 -0
- package/dist/project-profiles/profiles/javascript-react.d.ts +46 -0
- package/dist/project-profiles/profiles/javascript-react.js +147 -0
- package/dist/project-profiles/profiles/javascript-react.js.map +1 -0
- package/dist/project-profiles/profiles/python-django.d.ts +58 -0
- package/dist/project-profiles/profiles/python-django.js +200 -0
- package/dist/project-profiles/profiles/python-django.js.map +1 -0
- package/dist/project-profiles/types.d.ts +122 -0
- package/dist/project-profiles/types.js +77 -0
- package/dist/project-profiles/types.js.map +1 -0
- package/dist/prompt/function-calling.js +8 -3
- package/dist/prompt/function-calling.js.map +1 -1
- package/dist/prompt/function-defs/ask-question.d.ts +5 -0
- package/dist/prompt/function-defs/ask-question.js +140 -60
- package/dist/prompt/function-defs/ask-question.js.map +1 -1
- package/dist/prompt/function-defs/codegen-planning.d.ts +8 -0
- package/dist/prompt/function-defs/codegen-planning.js +50 -0
- package/dist/prompt/function-defs/codegen-planning.js.map +1 -0
- package/dist/prompt/function-defs/codegen-summary.js +2 -2
- package/dist/prompt/function-defs/codegen-summary.js.map +1 -1
- package/dist/prompt/function-defs/get-source-code.js +32 -2
- package/dist/prompt/function-defs/get-source-code.js.map +1 -1
- package/dist/prompt/function-defs/optimize-context.js +35 -12
- package/dist/prompt/function-defs/optimize-context.js.map +1 -1
- package/dist/prompt/function-defs/set-summaries.js +20 -1
- package/dist/prompt/function-defs/set-summaries.js.map +1 -1
- package/dist/prompt/limits.js +2 -2
- package/dist/prompt/limits.js.map +1 -1
- package/dist/prompt/limits.test.js +3 -3
- package/dist/prompt/limits.test.js.map +1 -1
- package/dist/prompt/prompt-codegen.js +7 -79
- package/dist/prompt/prompt-codegen.js.map +1 -1
- package/dist/prompt/prompt-codegen.test.js +8 -14
- package/dist/prompt/prompt-codegen.test.js.map +1 -1
- package/dist/prompt/prompt-service-ask-question.test.js +27 -80
- package/dist/prompt/prompt-service-ask-question.test.js.map +1 -1
- package/dist/prompt/prompt-service.ai-services.test.d.ts +1 -0
- package/dist/prompt/prompt-service.ai-services.test.js +149 -0
- package/dist/prompt/prompt-service.ai-services.test.js.map +1 -0
- package/dist/prompt/prompt-service.context-optimization.test.d.ts +1 -0
- package/dist/prompt/prompt-service.context-optimization.test.js +212 -0
- package/dist/prompt/prompt-service.context-optimization.test.js.map +1 -0
- package/dist/prompt/prompt-service.image-handling.test.d.ts +1 -0
- package/dist/prompt/prompt-service.image-handling.test.js +212 -0
- package/dist/prompt/prompt-service.image-handling.test.js.map +1 -0
- package/dist/prompt/prompt-service.js +41 -127
- package/dist/prompt/prompt-service.js.map +1 -1
- package/dist/prompt/prompt-service.test-utils.d.ts +66 -0
- package/dist/prompt/prompt-service.test-utils.js +169 -0
- package/dist/prompt/prompt-service.test-utils.js.map +1 -0
- package/dist/prompt/prompt-service.test.js +96 -20
- package/dist/prompt/prompt-service.test.js.map +1 -1
- package/dist/prompt/prompt-service.validation-recovery.test.d.ts +1 -0
- package/dist/prompt/prompt-service.validation-recovery.test.js +263 -0
- package/dist/prompt/prompt-service.validation-recovery.test.js.map +1 -0
- package/dist/prompt/static-prompts.d.ts +16 -0
- package/dist/prompt/static-prompts.js +22 -0
- package/dist/prompt/static-prompts.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/cancel-code-generation.js +1 -3
- package/dist/prompt/steps/step-ask-question/handlers/cancel-code-generation.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/code-generation.d.ts +2 -0
- package/dist/prompt/steps/step-ask-question/handlers/code-generation.js +58 -0
- package/dist/prompt/steps/step-ask-question/handlers/code-generation.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/confirm-code-generation.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/confirm-code-generation.js +8 -7
- package/dist/prompt/steps/step-ask-question/handlers/confirm-code-generation.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/context-optimization.js +6 -6
- package/dist/prompt/steps/step-ask-question/handlers/context-optimization.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/default-action.js +1 -4
- package/dist/prompt/steps/step-ask-question/handlers/default-action.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-answer-with-image.d.ts +2 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-answer-with-image.js +86 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-answer-with-image.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message-with-image.d.ts +2 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message-with-image.js +97 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message-with-image.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.d.ts +2 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js +20 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handler-utils.d.ts +0 -0
- package/dist/prompt/steps/step-ask-question/handlers/handler-utils.js +2 -0
- package/dist/prompt/steps/step-ask-question/handlers/handler-utils.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js +57 -15
- package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/request-files-content.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js +109 -12
- package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/request-permissions.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/request-permissions.js +48 -26
- package/dist/prompt/steps/step-ask-question/handlers/request-permissions.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/start-code-generation.js +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/start-code-generation.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/step-ask-question-reflect.js +1 -0
- package/dist/prompt/steps/step-ask-question/step-ask-question-reflect.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/step-ask-question-types.d.ts +25 -21
- package/dist/prompt/steps/step-ask-question/step-ask-question.d.ts +2 -5
- package/dist/prompt/steps/step-ask-question/step-ask-question.js +36 -33
- package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
- package/dist/prompt/steps/step-codegen-planning.d.ts +10 -0
- package/dist/prompt/steps/step-codegen-planning.js +69 -0
- package/dist/prompt/steps/step-codegen-planning.js.map +1 -0
- package/dist/prompt/steps/step-codegen-summary.d.ts +7 -0
- package/dist/prompt/steps/step-codegen-summary.js +106 -0
- package/dist/prompt/steps/step-codegen-summary.js.map +1 -0
- package/dist/prompt/steps/step-codegen-summary.test.d.ts +1 -0
- package/dist/prompt/steps/step-codegen-summary.test.js +136 -0
- package/dist/prompt/steps/step-codegen-summary.test.js.map +1 -0
- package/dist/prompt/steps/step-context-optimization.js +243 -126
- package/dist/prompt/steps/step-context-optimization.js.map +1 -1
- package/dist/prompt/steps/step-context-optimization.test.d.ts +2 -0
- package/dist/prompt/steps/step-context-optimization.test.js +475 -0
- package/dist/prompt/steps/step-context-optimization.test.js.map +1 -0
- package/dist/prompt/steps/step-ensure-context.d.ts +15 -0
- package/dist/prompt/steps/step-ensure-context.js +102 -0
- package/dist/prompt/steps/step-ensure-context.js.map +1 -0
- package/dist/prompt/steps/step-ensure-context.test.d.ts +1 -0
- package/dist/prompt/steps/step-ensure-context.test.js +242 -0
- package/dist/prompt/steps/step-ensure-context.test.js.map +1 -0
- package/dist/prompt/steps/step-generate-image.d.ts +8 -1
- package/dist/prompt/steps/step-generate-image.js +1 -0
- package/dist/prompt/steps/step-generate-image.js.map +1 -1
- package/dist/prompt/steps/step-summarization.d.ts +2 -2
- package/dist/prompt/steps/step-summarization.js +45 -9
- package/dist/prompt/steps/step-summarization.js.map +1 -1
- package/dist/prompt/steps/step-validate-recover.js +24 -15
- package/dist/prompt/steps/step-validate-recover.js.map +1 -1
- package/dist/prompt/steps/steps-types.d.ts +2 -0
- package/dist/prompt/steps/steps-types.js.map +1 -1
- package/dist/prompt/systemprompt.d.ts +2 -2
- package/dist/prompt/systemprompt.js +74 -176
- package/dist/prompt/systemprompt.js.map +1 -1
- package/dist/prompt/systemprompt.test.js +4 -5
- package/dist/prompt/systemprompt.test.js.map +1 -1
- package/dist/vite-genaicode/vite-genaicode-plugin.js +0 -2
- package/dist/vite-genaicode/vite-genaicode-plugin.js.map +1 -1
- package/package.json +6 -2
- package/dist/main/ui/frontend/assets/index-Dk_qaEQg.js +0 -782
|
@@ -8,7 +8,6 @@ const allowedParameters = [
|
|
|
8
8
|
'--interactive',
|
|
9
9
|
'--ui',
|
|
10
10
|
'--ui-port=',
|
|
11
|
-
'--consider-all-files',
|
|
12
11
|
'--disallow-file-create',
|
|
13
12
|
'--disallow-file-delete',
|
|
14
13
|
'--disallow-directory-create',
|
|
@@ -16,7 +15,6 @@ const allowedParameters = [
|
|
|
16
15
|
'--ai-service=',
|
|
17
16
|
'--explicit-prompt=',
|
|
18
17
|
'--task-file=',
|
|
19
|
-
'--dependency-tree',
|
|
20
18
|
'--verbose-prompt',
|
|
21
19
|
'--disable-explanations',
|
|
22
20
|
'--disable-context-optimization',
|
|
@@ -35,7 +33,7 @@ const allowedParameters = [
|
|
|
35
33
|
'--disable-ai-service-fallback',
|
|
36
34
|
'--disable-history',
|
|
37
35
|
'--disable-vertex-unescape',
|
|
38
|
-
'--disable-self-
|
|
36
|
+
'--disable-self-',
|
|
39
37
|
'--disable-conversation-summary',
|
|
40
38
|
];
|
|
41
39
|
/**
|
|
@@ -120,10 +118,6 @@ export function validateCliParams() {
|
|
|
120
118
|
}
|
|
121
119
|
}
|
|
122
120
|
}
|
|
123
|
-
// Validate --disable-self-reflection
|
|
124
|
-
if (providedParameters.includes('--disable-self-reflection') && providedParameters.includes('--cheap')) {
|
|
125
|
-
console.warn('Warning: --disable-self-reflection is redundant when --cheap is used, as cheap mode already skips self-reflection.');
|
|
126
|
-
}
|
|
127
121
|
}
|
|
128
122
|
/**
|
|
129
123
|
* Get the value of a CLI parameter
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-cli-params.js","sourceRoot":"","sources":["../../src/cli/validate-cli-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,iCAAiC;AACjC,MAAM,iBAAiB,GAAa;IAClC,WAAW;IACX,eAAe;IACf,MAAM;IACN,YAAY;IACZ,
|
|
1
|
+
{"version":3,"file":"validate-cli-params.js","sourceRoot":"","sources":["../../src/cli/validate-cli-params.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ describe('validateCliParams', () => {
|
|
|
9
9
|
process.argv = originalArgv;
|
|
10
10
|
});
|
|
11
11
|
it('should not throw for valid parameters', () => {
|
|
12
|
-
process.argv.push('--dry-run'
|
|
12
|
+
process.argv.push('--dry-run');
|
|
13
13
|
expect(() => validateCliParams()).not.toThrow();
|
|
14
14
|
});
|
|
15
15
|
it('should throw for invalid parameters', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-cli-params.test.js","sourceRoot":"","sources":["../../src/cli/validate-cli-params.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5F,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAElC,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"validate-cli-params.test.js","sourceRoot":"","sources":["../../src/cli/validate-cli-params.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { describe, it, vi } from 'vitest';
|
|
2
|
+
import { generateContent as generateContentClaude } from '../ai-service/anthropic';
|
|
3
|
+
import { getFunctionDefs } from '../prompt/function-calling.js';
|
|
4
|
+
import { getSystemPrompt } from '../prompt/systemprompt.js';
|
|
5
|
+
import { INITIAL_GREETING, REQUEST_SOURCE_CODE, SOURCE_CODE_RESPONSE, READY_TO_ASSIST, } from '../prompt/static-prompts.js';
|
|
6
|
+
import { PLANNING_PROMPT } from '../prompt/steps/step-codegen-planning';
|
|
7
|
+
vi.setConfig({
|
|
8
|
+
testTimeout: 60000,
|
|
9
|
+
});
|
|
10
|
+
describe('codegen-summary', () => {
|
|
11
|
+
const temperature = 0.2;
|
|
12
|
+
describe('Claude Haikku - simple task', () => {
|
|
13
|
+
it('should generate a valid codegenSummary response', async () => {
|
|
14
|
+
// Build the prompt items that simulate the full conversation context
|
|
15
|
+
const prompt = [
|
|
16
|
+
// System prompt
|
|
17
|
+
{
|
|
18
|
+
type: 'systemPrompt',
|
|
19
|
+
systemPrompt: getSystemPrompt({ aiService: 'anthropic', askQuestion: false }),
|
|
20
|
+
},
|
|
21
|
+
// Initial greeting
|
|
22
|
+
{ type: 'user', text: INITIAL_GREETING },
|
|
23
|
+
// Assistant asks for context
|
|
24
|
+
{
|
|
25
|
+
type: 'assistant',
|
|
26
|
+
text: REQUEST_SOURCE_CODE,
|
|
27
|
+
functionCalls: [{ name: 'getSourceCode' }],
|
|
28
|
+
},
|
|
29
|
+
// User provides source code
|
|
30
|
+
{
|
|
31
|
+
type: 'user',
|
|
32
|
+
functionResponses: [
|
|
33
|
+
{
|
|
34
|
+
name: 'getSourceCode',
|
|
35
|
+
content: JSON.stringify({
|
|
36
|
+
'/path/to/file': {
|
|
37
|
+
'translator.ts': {
|
|
38
|
+
summary: 'This file contains a translator function, and should be used if there is a need to translate text.',
|
|
39
|
+
},
|
|
40
|
+
'example.ts': {
|
|
41
|
+
content: 'console.log("Hello");',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
}),
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
text: SOURCE_CODE_RESPONSE,
|
|
48
|
+
},
|
|
49
|
+
// Assistant acknowledges
|
|
50
|
+
{
|
|
51
|
+
type: 'assistant',
|
|
52
|
+
text: READY_TO_ASSIST,
|
|
53
|
+
},
|
|
54
|
+
// User provides the task
|
|
55
|
+
{
|
|
56
|
+
type: 'user',
|
|
57
|
+
text: 'example.ts should output "Hello" dynamically translated to Japanese',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
type: 'assistant',
|
|
61
|
+
text: 'I will generate a plan to achieve this task.',
|
|
62
|
+
},
|
|
63
|
+
{ type: 'user', text: PLANNING_PROMPT },
|
|
64
|
+
];
|
|
65
|
+
// Call Claude Haikku with codegenSummary
|
|
66
|
+
let claudeResponse = await generateContentClaude(prompt, getFunctionDefs(), 'codegenPlanning', temperature, true, {
|
|
67
|
+
aiService: 'anthropic',
|
|
68
|
+
disableCache: false,
|
|
69
|
+
askQuestion: false,
|
|
70
|
+
});
|
|
71
|
+
// Get the codegenPlanning from response
|
|
72
|
+
const codegenPlanning = claudeResponse.find((call) => call.name === 'codegenPlanning');
|
|
73
|
+
console.log('Claude Haikku codegenPlanning:', JSON.stringify(codegenPlanning?.args, null, 2));
|
|
74
|
+
prompt.push({ type: 'assistant', functionCalls: claudeResponse });
|
|
75
|
+
prompt.push({
|
|
76
|
+
type: 'user',
|
|
77
|
+
functionResponses: claudeResponse.map((call) => ({ name: call.name, call_id: call.id })),
|
|
78
|
+
text: 'Planning phase completed. Please proceed with code generation.',
|
|
79
|
+
cache: true,
|
|
80
|
+
});
|
|
81
|
+
// Call Claude Haikku with codegenSummary
|
|
82
|
+
claudeResponse = await generateContentClaude(prompt, getFunctionDefs(), 'codegenSummary', temperature, true, {
|
|
83
|
+
aiService: 'anthropic',
|
|
84
|
+
disableCache: false,
|
|
85
|
+
askQuestion: false,
|
|
86
|
+
});
|
|
87
|
+
// Get the codegenSummary from response
|
|
88
|
+
const codegenSummary = claudeResponse.find((call) => call.name === 'codegenSummary');
|
|
89
|
+
console.log('Claude Haikku codegenSummary:', JSON.stringify(codegenSummary?.args, null, 2));
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
//# sourceMappingURL=codegen-summary.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegen-summary.test.js","sourceRoot":"","sources":["../../src/eval/codegen-summary.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
const currentPromptPlugin = {
|
|
3
|
+
name: 'current-prompt-plugin',
|
|
4
|
+
// Example implementation of generateContent hooks
|
|
5
|
+
generateContentHook: async ([prompt]) => {
|
|
6
|
+
fs.writeFileSync('./src/eval/data/current-prompt.js', 'export const DEBUG_CURRENT_PROMPT = ' + JSON.stringify(prompt, null, 2) + ';');
|
|
7
|
+
},
|
|
8
|
+
};
|
|
9
|
+
export default currentPromptPlugin;
|
|
10
|
+
//# sourceMappingURL=current-prompt-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"current-prompt-plugin.js","sourceRoot":"","sources":["../../src/eval/current-prompt-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAGpB,MAAM,mBAAmB,GAAW;IAClC,IAAI,EAAE,uBAAuB;IAC7B,kDAAkD;IAClD,mBAAmB,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAiB,EAAE;QACrD,EAAE,CAAC,aAAa,CACd,mCAAmC,EACnC,sCAAsC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,CAC/E,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export const DEBUG_CURRENT_PROMPT: ({
|
|
2
|
+
type: string;
|
|
3
|
+
systemPrompt: string;
|
|
4
|
+
text?: undefined;
|
|
5
|
+
functionCalls?: undefined;
|
|
6
|
+
functionResponses?: undefined;
|
|
7
|
+
cache?: undefined;
|
|
8
|
+
} | {
|
|
9
|
+
type: string;
|
|
10
|
+
text: string;
|
|
11
|
+
systemPrompt?: undefined;
|
|
12
|
+
functionCalls?: undefined;
|
|
13
|
+
functionResponses?: undefined;
|
|
14
|
+
cache?: undefined;
|
|
15
|
+
} | {
|
|
16
|
+
type: string;
|
|
17
|
+
text: string;
|
|
18
|
+
functionCalls: {
|
|
19
|
+
name: string;
|
|
20
|
+
}[];
|
|
21
|
+
systemPrompt?: undefined;
|
|
22
|
+
functionResponses?: undefined;
|
|
23
|
+
cache?: undefined;
|
|
24
|
+
} | {
|
|
25
|
+
type: string;
|
|
26
|
+
functionResponses: {
|
|
27
|
+
name: string;
|
|
28
|
+
content: string;
|
|
29
|
+
}[];
|
|
30
|
+
text: string;
|
|
31
|
+
cache: boolean;
|
|
32
|
+
systemPrompt?: undefined;
|
|
33
|
+
functionCalls?: undefined;
|
|
34
|
+
})[];
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export const DEBUG_CURRENT_PROMPT = [
|
|
2
|
+
{
|
|
3
|
+
type: 'systemPrompt',
|
|
4
|
+
systemPrompt: '## Who are you?\n\nYou are GenAIcode, a code generation assistant tasked with helping me implement my ideas into my application\'s source code.\nYou should parse my application source code and then suggest changes using appropriate tools.\nPlease limit any changes to the root directory of my application, which is `/Users/gtanczyk/src/testproject`.\n\n## Important Guidelines\n\n- **Use Absolute Paths**: Always use absolute file paths exactly as provided.\n- **Return Working Code**: Aim to return fully functional code.\n- **Avoid Incomplete Code Snippets**: Do not include commented-out fragments like `// ... (keep other existing functions)`.\n- **Handle Large Files Appropriately**: For large files, prefer to use the `patchFile` function.\n- **Suggest File Splitting When Relevant**: Suggest splitting large files if it improves maintainability.\n- **Verify Permissions**: Ensure you have the necessary permissions before proceeding.\n- **Error Handling**: If instructions are unclear, consider failing the task with an explanation.\n- **Produce Necessary Code Only**: Do not generate unnecessary code.\n- **Request Context When Needed**: Ask for sufficient context paths in the code generation summary.\n- **Perform Dependency Analysis**: Always analyze the task thoroughly to identify all files that need to be updated, including dependencies and related modules.\n- **Comprehensive File Updates**: Ensure that all relevant files are included in the `fileUpdates` list when proposing changes.\n- **Perform Thorough Analysis**: Before generating code, always perform a comprehensive analysis of the task, identifying all affected files and dependencies.\n- **Communicate Planned Changes**: Summarize the planned changes and list all files to be updated. Seek user confirmation before proceeding.\n- **Consider Dependencies**: Include any dependent files that might require updates to ensure the codebase remains consistent.\n- **Avoid Unnecessary Permission Requests**: Do not request permissions that you already have.\n\n## Your permissions\n\n- You are allowed to modify files.\n- You are allowed to create new files.\n- You are allowed to delete files; in such cases, add an empty string as content.\n- You are allowed to create new directories.\n- You are allowed to move files.\n- You are allowed to analyze image assets.\n- You are allowed to generate images.\n## Asking Questions And Conversing\nYou have the ability to have a conversation with me to clarify requirements, seek permissions, or request additional context.\nUse this feature wisely to gather crucial information that would help you better understand the task or provide more accurate code generation.\n\nTo have conversation with me use the `askQuestion` function. This function allows you to:\n\n- **Express Your Thoughts**: Inform me about your considerations or concerns regarding the task.\n- **Share Analysis**: Provide insights or analysis based on the task requirements.\n- **Seek Clarification**: Ask questions or provide suggestions to ensure you fully understand the requirements.\n- **Request File Access**: If certain files are important but haven\'t been provided, request access to their content.\n- **Request Permissions**: If you need permissions for operations that were initially restricted, you may request them.\n- **Generate an image**: If you want to express your thoughts through an image, you can request image generation.\n\n### Efficient File Content Requests\n\nYou can request the content of legitimate files within the project without interrupting the user. This allows you to gather more context when needed.\n\n- **Judicious Use**: Only request files directly relevant to the task.\n- **Relevance**: Consider if the file content is truly necessary.\n- **Large Files**: Be cautious when requesting large files.\n- **Dependencies**: Trace through file dependencies when necessary.\n- **Privacy and Security**: Be mindful of sensitive information.\n- **Iterative Requests**: Anticipate your needs to minimize the number of requests.\n\n# Typical Conversation Flow \n\nIt is ** VERY IMPORTANT ** to follow the conversation flow to ensure a smooth and efficient code generation process. Here is a typical conversation flow:\n\n1. I provide you with source code and context.\n2. Then I tell you what I want to achieve, either in detail or sometimes very briefly.\n3. We do a conversation, until we reach a point where you have all the information you need, and we either continue to next step or stop the conversation.\n4. You propose to start code generation (actionType: confirmCodeGeneration)\n5. I confirm that you can proceed (or reject and we go back to step 3)\n6. You generate the code changes summary\n7. Then you generate code change for each file\n8. I apply code changes, and the conversation ends.\n\n## Conversation Flow Best Practices\n\n- If the user wants to stop the conversation, you should respect that and stop the conversation (actionType: cancelCodeGeneration).\n\n## Common pitfalls to avoid\n\nIt is **VERY IMPORTANT** to not make the following mistakes:\n\n- Assistant wants to start code generation while the conversation is still ongoing.\n- Assistant says that it starts analysis, but it does not provide any analysis.\n- Assistant says something like "please wait", instead of providing a meaningful response.\n- Assistant starts code generation without requesting missing permissions.\n## Important Context\n[object Object]',
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
type: 'user',
|
|
8
|
+
text: 'Hello, GenAIcode!',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
type: 'assistant',
|
|
12
|
+
text: 'Hello there! I guess you have a task for me today. Before we start, could you please provide me with: \n - the current source code of your application\n - the image assets (if available)\n - and conversational history (if available)\n \n Thanks',
|
|
13
|
+
functionCalls: [
|
|
14
|
+
{
|
|
15
|
+
name: 'getSourceCode',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'getImageAssets',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'readHistory',
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
type: 'user',
|
|
27
|
+
functionResponses: [
|
|
28
|
+
{
|
|
29
|
+
name: 'getSourceCode',
|
|
30
|
+
content: JSON.stringify({
|
|
31
|
+
'/Users/gtanczyk/src/testproject': {
|
|
32
|
+
'app.ts': {
|
|
33
|
+
content: "hello, I'm a simple app.ts file",
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
}),
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'getImageAssets',
|
|
40
|
+
content: '{}',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'readHistory',
|
|
44
|
+
content: '',
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
text: 'Sure, here is the application source code, image assets, and the history.',
|
|
48
|
+
cache: true,
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
type: 'assistant',
|
|
52
|
+
text: "Thank you, I'm ready to assist you with your request.",
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
type: 'user',
|
|
56
|
+
text: 'tell me what app.ts does',
|
|
57
|
+
},
|
|
58
|
+
];
|
|
59
|
+
//# sourceMappingURL=current-prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"current-prompt.js","sourceRoot":"","sources":["../../../src/eval/data/current-prompt.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC;QACE,IAAI,EAAE,cAAc;QACpB,YAAY,EACV,s1KAAs1K;KACz1K;IACD;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,mBAAmB;KAC1B;IACD;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,+QAA+Q;QACrR,aAAa,EAAE;YACb;gBACE,IAAI,EAAE,eAAe;aACtB;YACD;gBACE,IAAI,EAAE,gBAAgB;aACvB;YACD;gBACE,IAAI,EAAE,aAAa;aACpB;SACF;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,iBAAiB,EAAE;YACjB;gBACE,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;oBACtB,iCAAiC,EAAE;wBACjC,QAAQ,EAAE;4BACR,OAAO,EAAE,iCAAiC;yBAC3C;qBACF;iBACF,CAAC;aACH;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,IAAI;aACd;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,EAAE;aACZ;SACF;QACD,IAAI,EAAE,2EAA2E;QACjF,KAAK,EAAE,IAAI;KACZ;IACD;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,uDAAuD;KAC9D;IACD;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,0BAA0B;KACjC;CACF,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export const DEBUG_PROMPT_ASSISTANT_IMAGE: ({
|
|
2
|
+
type: string;
|
|
3
|
+
systemPrompt: string;
|
|
4
|
+
text?: undefined;
|
|
5
|
+
functionCalls?: undefined;
|
|
6
|
+
functionResponses?: undefined;
|
|
7
|
+
cache?: undefined;
|
|
8
|
+
images?: undefined;
|
|
9
|
+
} | {
|
|
10
|
+
type: string;
|
|
11
|
+
text: string;
|
|
12
|
+
systemPrompt?: undefined;
|
|
13
|
+
functionCalls?: undefined;
|
|
14
|
+
functionResponses?: undefined;
|
|
15
|
+
cache?: undefined;
|
|
16
|
+
images?: undefined;
|
|
17
|
+
} | {
|
|
18
|
+
type: string;
|
|
19
|
+
text: string;
|
|
20
|
+
functionCalls: {
|
|
21
|
+
name: string;
|
|
22
|
+
}[];
|
|
23
|
+
systemPrompt?: undefined;
|
|
24
|
+
functionResponses?: undefined;
|
|
25
|
+
cache?: undefined;
|
|
26
|
+
images?: undefined;
|
|
27
|
+
} | {
|
|
28
|
+
type: string;
|
|
29
|
+
functionResponses: {
|
|
30
|
+
name: string;
|
|
31
|
+
content: string;
|
|
32
|
+
}[];
|
|
33
|
+
text: string;
|
|
34
|
+
cache: boolean;
|
|
35
|
+
systemPrompt?: undefined;
|
|
36
|
+
functionCalls?: undefined;
|
|
37
|
+
images?: undefined;
|
|
38
|
+
} | {
|
|
39
|
+
type: string;
|
|
40
|
+
text: string;
|
|
41
|
+
images: {
|
|
42
|
+
base64url: string;
|
|
43
|
+
mediaType: string;
|
|
44
|
+
}[];
|
|
45
|
+
systemPrompt?: undefined;
|
|
46
|
+
functionCalls?: undefined;
|
|
47
|
+
functionResponses?: undefined;
|
|
48
|
+
cache?: undefined;
|
|
49
|
+
})[];
|