genaicode 0.14.2 → 1.0.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 -7
- package/dist/ai-service/ai-studio.d.ts +2 -18
- package/dist/ai-service/ai-studio.js +87 -31
- package/dist/ai-service/ai-studio.js.map +1 -1
- package/dist/ai-service/anthropic.js +87 -45
- package/dist/ai-service/anthropic.js.map +1 -1
- package/dist/ai-service/common-types.d.ts +36 -3
- package/dist/ai-service/common-types.js +0 -2
- package/dist/ai-service/common-types.js.map +1 -1
- package/dist/ai-service/common.js +0 -2
- package/dist/ai-service/common.js.map +1 -1
- package/dist/ai-service/files-api.d.ts +33 -0
- package/dist/ai-service/files-api.js +239 -0
- package/dist/ai-service/files-api.js.map +1 -0
- package/dist/ai-service/github-models.js +0 -2
- package/dist/ai-service/github-models.js.map +1 -1
- package/dist/ai-service/local-llm.js +0 -4
- package/dist/ai-service/local-llm.js.map +1 -1
- package/dist/ai-service/openai-responses.js +62 -16
- package/dist/ai-service/openai-responses.js.map +1 -1
- package/dist/ai-service/openai.js +157 -54
- package/dist/ai-service/openai.js.map +1 -1
- package/dist/ai-service/service-configurations-types.d.ts +0 -1
- package/dist/ai-service/service-configurations.js +19 -20
- package/dist/ai-service/service-configurations.js.map +1 -1
- package/dist/ai-service/vertex-ai.js +2 -1
- package/dist/ai-service/vertex-ai.js.map +1 -1
- package/dist/cli/cli-params.js +2 -2
- package/dist/cli/cli-params.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/main/codegen-types.d.ts +2 -2
- package/dist/main/codegen.d.ts +1 -3
- package/dist/main/codegen.js +2 -19
- package/dist/main/codegen.js.map +1 -1
- package/dist/main/common/content-bus-types.d.ts +14 -0
- package/dist/main/common/content-bus.d.ts +1 -1
- package/dist/main/common/content-bus.js +21 -3
- package/dist/main/common/content-bus.js.map +1 -1
- package/dist/main/common/user-actions.d.ts +1 -1
- package/dist/main/config-types.d.ts +0 -3
- package/dist/main/config-types.js.map +1 -1
- package/dist/main/config.js +1 -1
- package/dist/main/config.js.map +1 -1
- package/dist/main/generate-content-functions.d.ts +3 -0
- package/dist/main/generate-content-functions.js +19 -0
- package/dist/main/generate-content-functions.js.map +1 -0
- package/dist/main/plugin-loader.d.ts +1 -1
- package/dist/main/ui/backend/endpoints/config-endpoint.js +1 -1
- package/dist/main/ui/backend/endpoints/config-endpoint.js.map +1 -1
- package/dist/main/ui/backend/endpoints/edit-message-endpoint.js +9 -6
- package/dist/main/ui/backend/endpoints/edit-message-endpoint.js.map +1 -1
- package/dist/main/ui/backend/endpoints/generate-content-endpoint.js +2 -4
- package/dist/main/ui/backend/endpoints/generate-content-endpoint.js.map +1 -1
- package/dist/main/ui/backend/endpoints/interrupt-execution-endpoint.js +1 -1
- package/dist/main/ui/backend/endpoints/interrupt-execution-endpoint.js.map +1 -1
- package/dist/main/ui/backend/service.d.ts +5 -4
- package/dist/main/ui/backend/service.js +54 -28
- package/dist/main/ui/backend/service.js.map +1 -1
- package/dist/main/ui/common/api-types.d.ts +1 -2
- package/dist/main/ui/common/api-types.js.map +1 -1
- package/dist/main/ui/frontend/assets/index-C_k1AhO2.js +3445 -0
- package/dist/main/ui/frontend/index.html +1 -1
- package/dist/prompt/dynamic-function-generator.d.ts +2 -0
- package/dist/prompt/dynamic-function-generator.js +58 -0
- package/dist/prompt/dynamic-function-generator.js.map +1 -0
- package/dist/prompt/function-calling.js +4 -5
- package/dist/prompt/function-calling.js.map +1 -1
- package/dist/prompt/function-defs/code-execution.d.ts +7 -0
- package/dist/prompt/function-defs/code-execution.js +27 -0
- package/dist/prompt/function-defs/code-execution.js.map +1 -0
- package/dist/prompt/function-defs/conversation-graph.d.ts +1 -1
- package/dist/prompt/function-defs/conversation-graph.js +1 -1
- package/dist/prompt/function-defs/conversation-graph.js.map +1 -1
- package/dist/prompt/function-defs/iterate.d.ts +20 -0
- package/dist/prompt/function-defs/iterate.js +373 -0
- package/dist/prompt/function-defs/iterate.js.map +1 -0
- package/dist/prompt/prompt-service.js +6 -6
- package/dist/prompt/prompt-service.js.map +1 -1
- package/dist/prompt/steps/step-codegen-planning.js +6 -2
- package/dist/prompt/steps/step-codegen-planning.js.map +1 -1
- package/dist/prompt/steps/step-iterate/handlers/container-task/command-execution-loop.d.ts +7 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/command-execution-loop.js +301 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/command-execution-loop.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/complete-task.d.ts +4 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/complete-task.js +49 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/complete-task.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/copy-from-container.d.ts +4 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/copy-from-container.js +190 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/copy-from-container.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/copy-to-container.d.ts +4 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/copy-to-container.js +139 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/copy-to-container.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/edit-file.d.ts +10 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/edit-file.js +93 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/edit-file.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/fail-task.d.ts +4 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/fail-task.js +72 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/fail-task.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/gain-knowledge.d.ts +10 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/gain-knowledge.js +125 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/gain-knowledge.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/interrupt-controller.d.ts +19 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/interrupt-controller.js +33 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/interrupt-controller.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/query-knowledge.d.ts +8 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/query-knowledge.js +85 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/query-knowledge.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/request-secret.d.ts +6 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/request-secret.js +122 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/request-secret.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/run-command.d.ts +7 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/run-command.js +146 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/run-command.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/send-message.d.ts +4 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/send-message.js +56 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/send-message.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/set-execution-plan.d.ts +4 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/set-execution-plan.js +56 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/set-execution-plan.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/update-execution-plan.d.ts +4 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/update-execution-plan.js +39 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/update-execution-plan.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/view-file.d.ts +10 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/view-file.js +95 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/view-file.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/web-search.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/web-search.js +96 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/web-search.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/wrap-context.d.ts +4 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/wrap-context.js +123 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/commands/wrap-context.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/container-commands-registry.d.ts +11 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/container-commands-registry.js +50 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/container-commands-registry.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/container-commands-types.d.ts +28 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/container-commands-types.js +2 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/container-commands-types.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/container-task-orchestrator.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/container-task-orchestrator.js +202 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/container-task-orchestrator.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/utils/docker-check.d.ts +4 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/utils/docker-check.js +15 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/utils/docker-check.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/utils/docker-utils.d.ts +50 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/utils/docker-utils.js +358 -0
- package/dist/prompt/steps/step-iterate/handlers/container-task/utils/docker-utils.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/file-request-utils.d.ts +47 -0
- package/dist/prompt/steps/step-iterate/handlers/file-request-utils.js +114 -0
- package/dist/prompt/steps/step-iterate/handlers/file-request-utils.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-code-execution.d.ts +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-code-execution.js +133 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-code-execution.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-code-generation.d.ts +4 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-code-generation.js +177 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-code-generation.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-compound-action.d.ts +20 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-compound-action.js +305 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-compound-action.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-confirm-code-generation.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-confirm-code-generation.js +40 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-confirm-code-generation.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-context-compression.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-context-compression.js +35 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-context-compression.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-context-optimization.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-context-optimization.js +34 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-context-optimization.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-conversation-graph.d.ts +11 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-conversation-graph.js +503 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-conversation-graph.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-create-file.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-create-file.js +159 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-create-file.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-end-conversation.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-end-conversation.js +30 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-end-conversation.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-explore-external-directories.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-explore-external-directories.js +280 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-explore-external-directories.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-genaicode-help.d.ts +8 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-genaicode-help.js +105 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-genaicode-help.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-generate-image.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-generate-image.js +110 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-generate-image.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-perform-analysis.d.ts +6 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-perform-analysis.js +110 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-perform-analysis.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-project-command.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-project-command.js +280 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-project-command.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-pull-app-context.d.ts +9 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-pull-app-context.js +94 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-pull-app-context.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-pull-console-logs.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-pull-console-logs.js +174 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-pull-console-logs.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-push-app-context.d.ts +9 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-push-app-context.js +104 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-push-app-context.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-read-external-files.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-read-external-files.js +149 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-read-external-files.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-reasoning-inference.d.ts +7 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-reasoning-inference.js +119 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-reasoning-inference.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-remove-files-from-context.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-remove-files-from-context.js +100 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-remove-files-from-context.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-request-files-content.d.ts +8 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-request-files-content.js +146 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-request-files-content.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-request-files-fragments.d.ts +8 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-request-files-fragments.js +197 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-request-files-fragments.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-request-git-context.d.ts +3 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-request-git-context.js +251 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-request-git-context.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-request-permissions.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-request-permissions.js +83 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-request-permissions.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-run-bash-command.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-run-bash-command.js +185 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-run-bash-command.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-run-container-task.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-run-container-task.js +7 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-run-container-task.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-search-code.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-search-code.js +96 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-search-code.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-send-message.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-send-message.js +21 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-send-message.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-structured-question.d.ts +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-structured-question.js +72 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-structured-question.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-update-file.d.ts +2 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-update-file.js +161 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-update-file.js.map +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-web-search.d.ts +1 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-web-search.js +85 -0
- package/dist/prompt/steps/step-iterate/handlers/handle-web-search.js.map +1 -0
- package/dist/prompt/steps/step-iterate/iterate-handler.d.ts +4 -0
- package/dist/prompt/steps/step-iterate/iterate-handler.js +14 -0
- package/dist/prompt/steps/step-iterate/iterate-handler.js.map +1 -0
- package/dist/prompt/steps/step-iterate/step-iterate-handlers.d.ts +3 -0
- package/dist/prompt/steps/step-iterate/step-iterate-handlers.js +5 -0
- package/dist/prompt/steps/step-iterate/step-iterate-handlers.js.map +1 -0
- package/dist/prompt/steps/step-iterate/step-iterate-types.d.ts +255 -0
- package/dist/prompt/steps/step-iterate/step-iterate-types.js +2 -0
- package/dist/prompt/steps/step-iterate/step-iterate-types.js.map +1 -0
- package/dist/prompt/steps/step-iterate/step-iterate.d.ts +37 -0
- package/dist/prompt/steps/step-iterate/step-iterate.js +132 -0
- package/dist/prompt/steps/step-iterate/step-iterate.js.map +1 -0
- package/dist/prompt/systemprompt.js +6 -6
- package/dist/prompt/systemprompt.js.map +1 -1
- package/dist/vite-genaicode/code-transformer.d.ts +5 -0
- package/dist/vite-genaicode/code-transformer.js +83 -0
- package/dist/vite-genaicode/code-transformer.js.map +1 -0
- package/dist/vite-genaicode/console-interceptor.d.ts +19 -6
- package/dist/vite-genaicode/console-interceptor.js +45 -13
- package/dist/vite-genaicode/console-interceptor.js.map +1 -1
- package/dist/vite-genaicode/constants.d.ts +3 -0
- package/dist/vite-genaicode/constants.js +4 -0
- package/dist/vite-genaicode/constants.js.map +1 -0
- package/dist/vite-genaicode/dynamic-function-generator.d.ts +2 -0
- package/dist/vite-genaicode/dynamic-function-generator.js +47 -0
- package/dist/vite-genaicode/dynamic-function-generator.js.map +1 -0
- package/dist/vite-genaicode/html-injector.d.ts +6 -0
- package/dist/vite-genaicode/html-injector.js +14 -0
- package/dist/vite-genaicode/html-injector.js.map +1 -0
- package/dist/vite-genaicode/server-manager.d.ts +26 -0
- package/dist/vite-genaicode/server-manager.js +91 -0
- package/dist/vite-genaicode/server-manager.js.map +1 -0
- package/dist/vite-genaicode/vite-genaicode-frontend.js +1 -1
- package/dist/vite-genaicode/vite-genaicode-frontend.js.map +1 -1
- package/dist/vite-genaicode/vite-genaicode-plugin.d.ts +11 -2
- package/dist/vite-genaicode/vite-genaicode-plugin.js +60 -65
- package/dist/vite-genaicode/vite-genaicode-plugin.js.map +1 -1
- package/package.json +10 -9
- package/dist/main/ui/frontend/assets/index-We_MLSaC.js +0 -3405
|
@@ -2,7 +2,7 @@ import assert from 'node:assert';
|
|
|
2
2
|
import { getSystemPrompt } from './systemprompt.js';
|
|
3
3
|
import { getFunctionDefs } from './function-calling.js';
|
|
4
4
|
import { getSourceCode, getImageAssets } from '../files/read-files.js';
|
|
5
|
-
import {
|
|
5
|
+
import { executeStepIterate } from './steps/step-iterate/step-iterate.js';
|
|
6
6
|
import { executeStepContextOptimization } from './steps/step-context-optimization.js';
|
|
7
7
|
import { StepResult } from './steps/steps-types.js';
|
|
8
8
|
import { handleAiServiceFallback } from './ai-service-fallback.js';
|
|
@@ -102,15 +102,15 @@ async function executePromptService(generateContentFn, generateImageFn, codegenP
|
|
|
102
102
|
return { result: [], prompt };
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
-
// Execute the
|
|
105
|
+
// Execute the iterate step
|
|
106
106
|
if (codegenPrompt.options.askQuestion !== false && (codegenPrompt.options.interactive || codegenPrompt.options.ui)) {
|
|
107
|
-
const
|
|
108
|
-
// Summary based on the
|
|
107
|
+
const iterateResult = await executeStepIterate(generateContentFn, generateImageFn, prompt, getFunctionDefs(), waitIfPaused, codegenPrompt.options.temperature ?? 0.7, codegenPrompt.options);
|
|
108
|
+
// Summary based on the iterate conversation history (may be different from the initial summary)
|
|
109
109
|
await executeStepGenerateSummary(generateContentFn, prompt, codegenPrompt.options);
|
|
110
|
-
return { result:
|
|
110
|
+
return { result: iterateResult, prompt };
|
|
111
111
|
}
|
|
112
112
|
else if (codegenPrompt.options.askQuestion === false) {
|
|
113
|
-
console.log('
|
|
113
|
+
console.log('Iterate step is not enabled.');
|
|
114
114
|
// Also there is no need to generate conversation summary
|
|
115
115
|
const planningResult = await executeStepCodegenPlanning(generateContentFn, prompt, codegenPrompt.options);
|
|
116
116
|
if (planningResult === StepResult.BREAK) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-service.js","sourceRoot":"","sources":["../../src/prompt/prompt-service.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAOvE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"prompt-service.js","sourceRoot":"","sources":["../../src/prompt/prompt-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,9 +65,13 @@ export async function executeStepCodegenPlanning(generateContentFn, prompt, opti
|
|
|
65
65
|
putSystemMessage('Failed to ensure context completeness during planning phase');
|
|
66
66
|
return StepResult.BREAK;
|
|
67
67
|
}
|
|
68
|
-
|
|
68
|
+
const planningResponseItem = {
|
|
69
|
+
type: 'assistant',
|
|
70
|
+
functionCalls: planningResult,
|
|
71
|
+
};
|
|
72
|
+
putSystemMessage('Planning phase completed successfully', codegenPlanningRequest, undefined, undefined, planningResponseItem);
|
|
69
73
|
// Store the planning response in conversation history
|
|
70
|
-
prompt.push(
|
|
74
|
+
prompt.push(planningResponseItem);
|
|
71
75
|
prompt.push({
|
|
72
76
|
type: 'user',
|
|
73
77
|
functionResponses: planningResult.map((call) => ({ name: call.name, call_id: call.id })),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-codegen-planning.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-codegen-planning.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAE5G,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;qFAcsD,CAAC;AAEtF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,iBAA0C,EAC1C,MAAoB,EACpB,OAAuB;IAEvB,gBAAgB,CAAC,oCAAoC,CAAC,CAAC;IAEvD,8DAA8D;IAC9D,MAAM,sBAAsB,GAAG,MAAM,uBAAuB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAEvF,8CAA8C;IAC9C,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,GAAG,sBAAsB,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,eAAe,GAAwB;QAC3C,MAAM;QACN;YACE,YAAY,EAAE,eAAe,EAAE;YAC/B,oBAAoB,EAAE,iBAAiB;YACvC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;YACvC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO;YAC9D,oBAAoB,EAAE;gBACpB,IAAI,EAAE,KAAK;gBACX,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAE,KAAK;aACb;SACF;QACD,OAAO;KACR,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,CAAC,MAAM,iBAAiB,CAAC,GAAG,eAAe,CAAC,CAAC;aACjE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC;aAC9C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEpC,IAAI,sBAAsB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;QAE5F,IAAI,sBAAsB,EAAE,CAAC;YAC3B,+DAA+D;YAC/D,sBAAsB,GAAG,MAAM,wBAAwB,CACrD,sBAA2D,EAC3D,sBAAsB,EACtB,OAAO,CACR,CAAC;YAEF,gBAAgB,CAAC,4DAA4D,CAAC,CAAC;YAE/E,4CAA4C;YAC5C,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,MAAM,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;YAC9F,IAAI,aAAa,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;gBACvC,gBAAgB,CAAC,6DAA6D,CAAC,CAAC;gBAChF,OAAO,UAAU,CAAC,KAAK,CAAC;YAC1B,CAAC;YAED,
|
|
1
|
+
{"version":3,"file":"step-codegen-planning.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-codegen-planning.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import Docker from 'dockerode';
|
|
2
|
+
import { ActionHandlerProps } from '../../step-iterate-types.js';
|
|
3
|
+
import { RunContainerTaskArgs } from '../../../../function-defs/run-container-task.js';
|
|
4
|
+
export declare function commandExecutionLoop(args: RunContainerTaskArgs, container: Docker.Container, taskDescription: string, unsanitizedGenerateContentFn: ActionHandlerProps['generateContentFn'], options: ActionHandlerProps['options'], waitIfPaused: ActionHandlerProps['waitIfPaused']): Promise<{
|
|
5
|
+
success: boolean;
|
|
6
|
+
summary: string;
|
|
7
|
+
}>;
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import { ModelType, } from '../../../../../ai-service/common-types.js';
|
|
2
|
+
import { putAssistantMessage, putContainerLog, putSystemMessage, putUserMessage, } from '../../../../../main/common/content-bus.js';
|
|
3
|
+
import { abortController } from '../../../../../main/common/abort-controller.js';
|
|
4
|
+
import { getContainerCommandDefs, getContainerCommandHandler } from './container-commands-registry.js';
|
|
5
|
+
import { rcConfig } from '../../../../../main/config.js';
|
|
6
|
+
import { clearInterruption, isInterrupted } from './commands/interrupt-controller.js';
|
|
7
|
+
import { askUserForInput } from '../../../../../main/common/user-actions.js';
|
|
8
|
+
import { sanitizePrompt } from './commands/request-secret.js';
|
|
9
|
+
import { maybeQueryKnowledge } from './commands/query-knowledge.js';
|
|
10
|
+
import { maybeGainKnowledge } from './commands/gain-knowledge.js';
|
|
11
|
+
import { maybeWrapContext } from './commands/wrap-context.js';
|
|
12
|
+
const MAX_CONTEXT_ITEMS = 50;
|
|
13
|
+
const MAX_CONTEXT_SIZE = 2048;
|
|
14
|
+
const MAX_OUTPUT_LENGTH = 2048;
|
|
15
|
+
export async function commandExecutionLoop(args, container, taskDescription, unsanitizedGenerateContentFn, options, waitIfPaused) {
|
|
16
|
+
let success = false;
|
|
17
|
+
let summary = '';
|
|
18
|
+
const maxCommands = 200;
|
|
19
|
+
const taskExecutionPrompt = [];
|
|
20
|
+
const isAborted = () => abortController?.signal.aborted === true;
|
|
21
|
+
const generateContentFn = (prompt, ...args) => unsanitizedGenerateContentFn(sanitizePrompt(prompt), ...args);
|
|
22
|
+
const systemPrompt = {
|
|
23
|
+
type: 'systemPrompt',
|
|
24
|
+
systemPrompt: `You are Genaicode, an expert system operator inside a Docker container. Your task is to complete the objective by executing shell commands. You help the user achieve their goals given the superpower of running bash in secure Docker container environment, which allows you to do anything you want or what is needed. Starting from running basic commands, through creating new files and directories, to installing software and configuring the environment.
|
|
25
|
+
|
|
26
|
+
Best Practices:
|
|
27
|
+
- Be efficient: Plan your approach and minimize unnecessary commands. Write down your plan, keep it up to date.
|
|
28
|
+
- Be incremental: Check results after each command before proceeding
|
|
29
|
+
- Be concise: Keep command outputs focused on the task
|
|
30
|
+
- Be mindful: Avoid generating excessive output that could overflow context
|
|
31
|
+
- Be adaptive: Adjust your strategy based on command results, including failures.
|
|
32
|
+
- Be meticulous: Pay attention to detail and ensure accuracy in all commands and responses.
|
|
33
|
+
- Don't give up: If a command fails, analyze the output and try to find a solution.
|
|
34
|
+
- Use reasoning: Provide clear reasoning for each command you execute.
|
|
35
|
+
- FFS! Communicate! It means you should keep the user informed about what you are doing and why, and adjust your approach based on their feedback.
|
|
36
|
+
- Don't be passive aggressive, it doesn't help anyone. Help the user achieve their goals, even if you encounter obstacles.
|
|
37
|
+
- Let the user have a life, outside of this task, and avoid unnecessary interruptions, or bothering them with irrelevant details, especially if you can find a solution without involving them.
|
|
38
|
+
- SFTU! You have the possibility to search the web for solutions or information.
|
|
39
|
+
- Be careful about secrets and sensitive information, never expose them in your commands or outputs.
|
|
40
|
+
- Reuse existing knowledge and solutions from the knowledge base to avoid reinventing the wheel.
|
|
41
|
+
- Every corrected mistake, fixed problem, or learned lesson - no matter how small - may be worth documenting in the knowledge base.
|
|
42
|
+
|
|
43
|
+
You have access to the following functions:
|
|
44
|
+
- runCommand: Execute a shell command in the container, and wait for the result. Execute only non-interactive commands, otherwise you will wait indefinitely!
|
|
45
|
+
- completeTask: Mark the task as successfully completed with a summary
|
|
46
|
+
- failTask: Mark the task as failed with a reason
|
|
47
|
+
- setExecutionPlan: Record a brief plan to follow.
|
|
48
|
+
- updateExecutionPlan: Update plan progress and next steps.
|
|
49
|
+
- copyToContainer: Copy a file or directory from the host to the container. The hostPath must be absolute path container within project root.
|
|
50
|
+
- copyFromContainer: Copy a file or directory from the container to the host. The hostPath must be absolute path container within project root.
|
|
51
|
+
- sendMessage: Use it to communicate with the user, either to inform them about something, or ask them a question, or answer their question. Think if asking user about something is really necessary before doing it (maybe you can find the answer yourself?)
|
|
52
|
+
- webSearch: Perform a web search given an exhaustive prompt. Return a concise, grounded answer and a list of source URLs used. The answer is not displayed to the user. It should be used to inform following actions.
|
|
53
|
+
- requestSecret: Ask the user to provide a secret value (e.g. API key) and write it to a specified file path in the container. The file path must be absolute path within the container.
|
|
54
|
+
- gainKnowledge: Persist a new knowledge entry in the knowledge base capturing a prompt, its answer/insight, and optional metadata. Use this to record successful operations, solutions to problems, or any other valuable information that could help in future tasks. Avoid storing secrets.
|
|
55
|
+
- queryKnowledge: Query the knowledge base with a natural language prompt to find relevant information from past tasks. Use this to check for existing solutions before attempting a complex step.
|
|
56
|
+
|
|
57
|
+
You may also provide reasoning text before function calls to explain your approach or analyze the current situation.
|
|
58
|
+
|
|
59
|
+
The container starts fresh with a clean state and no prior context. You need to setup the container to perform the task described in the user prompt.
|
|
60
|
+
If the task requires current project source code(located in ${rcConfig.rootDir}) then you may need to copy it from host to the container.
|
|
61
|
+
Outcomes of your work can be provided in two ways back to the current project:
|
|
62
|
+
- Provide comprehensive description of the outcome in completeTask function call.
|
|
63
|
+
- Copy the relevant files or directories from the container to the host using copyFromContainer function call.
|
|
64
|
+
`,
|
|
65
|
+
};
|
|
66
|
+
const taskPrompt = {
|
|
67
|
+
type: 'user',
|
|
68
|
+
text: `Overall Task:
|
|
69
|
+
${taskDescription}
|
|
70
|
+
|
|
71
|
+
Environment:
|
|
72
|
+
- Docker CLI is not available in the environment.
|
|
73
|
+
- Docker image used in the contianer: ${args.image}
|
|
74
|
+
- Working directory: ${args.workingDir}
|
|
75
|
+
|
|
76
|
+
Begin by analyzing the task and formulating your approach. Then start executing commands to complete it.`,
|
|
77
|
+
};
|
|
78
|
+
await maybeQueryKnowledge({
|
|
79
|
+
actionResult: { name: 'queryKnowledge' }, // Placeholder, ignored by maybeQueryKnowledge
|
|
80
|
+
taskExecutionPrompt,
|
|
81
|
+
systemPrompt,
|
|
82
|
+
taskPrompt,
|
|
83
|
+
generateContentFn,
|
|
84
|
+
container,
|
|
85
|
+
options,
|
|
86
|
+
maxContextItems: MAX_CONTEXT_ITEMS,
|
|
87
|
+
maxContextSize: MAX_CONTEXT_SIZE,
|
|
88
|
+
maxOutputLength: MAX_OUTPUT_LENGTH,
|
|
89
|
+
});
|
|
90
|
+
let commandsExecuted = 0;
|
|
91
|
+
let periodicQueryPromise = null;
|
|
92
|
+
for (let i = 0; i < maxCommands; i++) {
|
|
93
|
+
try {
|
|
94
|
+
if (periodicQueryPromise) {
|
|
95
|
+
await periodicQueryPromise;
|
|
96
|
+
periodicQueryPromise = null;
|
|
97
|
+
}
|
|
98
|
+
if (isAborted()) {
|
|
99
|
+
putContainerLog('warn', 'Task cancelled by user. Exiting command loop.');
|
|
100
|
+
summary = 'Task cancelled by user';
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
await waitIfPaused();
|
|
104
|
+
if (isInterrupted()) {
|
|
105
|
+
clearInterruption();
|
|
106
|
+
putSystemMessage('Task interrupted, waiting for user input');
|
|
107
|
+
putAssistantMessage('What would you like to do?');
|
|
108
|
+
const response = await askUserForInput('Your answer', '', options);
|
|
109
|
+
const item = {
|
|
110
|
+
type: 'user',
|
|
111
|
+
text: response.answer,
|
|
112
|
+
images: response.images,
|
|
113
|
+
};
|
|
114
|
+
putUserMessage(response.answer ?? '', undefined, undefined, response.images, item);
|
|
115
|
+
taskExecutionPrompt.push(item);
|
|
116
|
+
}
|
|
117
|
+
if (i > 0 &&
|
|
118
|
+
i % 10 === 0 &&
|
|
119
|
+
!taskExecutionPrompt.find((item) => item.functionCalls?.some((fc) => fc.name === 'queryKnowledge'))) {
|
|
120
|
+
periodicQueryPromise = maybeQueryKnowledge({
|
|
121
|
+
actionResult: { name: 'queryKnowledge' }, // Placeholder
|
|
122
|
+
taskExecutionPrompt,
|
|
123
|
+
systemPrompt,
|
|
124
|
+
taskPrompt,
|
|
125
|
+
generateContentFn,
|
|
126
|
+
container,
|
|
127
|
+
options,
|
|
128
|
+
maxContextItems: MAX_CONTEXT_ITEMS,
|
|
129
|
+
maxContextSize: MAX_CONTEXT_SIZE,
|
|
130
|
+
maxOutputLength: MAX_OUTPUT_LENGTH,
|
|
131
|
+
}).catch((err) => {
|
|
132
|
+
putContainerLog('error', 'Periodic knowledge query failed in background', {
|
|
133
|
+
error: err instanceof Error ? err.message : String(err),
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
if (i === maxCommands - 10) {
|
|
138
|
+
taskExecutionPrompt.push({
|
|
139
|
+
type: 'user',
|
|
140
|
+
text: `[context] nearing command limit of ${maxCommands}! 10 commands remaining! Start finishing up.`,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
await maybeWrapContext(systemPrompt, taskPrompt, taskExecutionPrompt, generateContentFn, container, options);
|
|
144
|
+
if (isAborted()) {
|
|
145
|
+
putContainerLog('warn', 'Task cancelled by user before model call.');
|
|
146
|
+
summary = 'Task cancelled by user';
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
const modelResponse = await generateContentFn([systemPrompt, taskPrompt, ...taskExecutionPrompt], {
|
|
150
|
+
functionDefs: getContainerCommandDefs(),
|
|
151
|
+
temperature: 0.7,
|
|
152
|
+
modelType: taskExecutionPrompt.length <= 2
|
|
153
|
+
? ModelType.DEFAULT
|
|
154
|
+
: taskExecutionPrompt.length <= 5
|
|
155
|
+
? ModelType.CHEAP
|
|
156
|
+
: ModelType.LITE,
|
|
157
|
+
expectedResponseType: {
|
|
158
|
+
text: false,
|
|
159
|
+
functionCall: true,
|
|
160
|
+
media: false,
|
|
161
|
+
},
|
|
162
|
+
}, options);
|
|
163
|
+
if (isAborted()) {
|
|
164
|
+
putContainerLog('warn', 'Task cancelled by user after model call.');
|
|
165
|
+
summary = 'Task cancelled by user';
|
|
166
|
+
break;
|
|
167
|
+
}
|
|
168
|
+
const actionResults = modelResponse
|
|
169
|
+
.filter((item) => item.type === 'functionCall')
|
|
170
|
+
.map((item) => item.functionCall);
|
|
171
|
+
if (!actionResults || actionResults.length === 0) {
|
|
172
|
+
putContainerLog('error', 'Internal LLM failed to produce a valid function call.');
|
|
173
|
+
taskExecutionPrompt.push({
|
|
174
|
+
type: 'assistant',
|
|
175
|
+
text: 'I could not determine a valid action to take.',
|
|
176
|
+
}, {
|
|
177
|
+
type: 'user',
|
|
178
|
+
text: 'Please try again.',
|
|
179
|
+
});
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
let shouldBreakOuter = false;
|
|
183
|
+
for (const actionResult of actionResults) {
|
|
184
|
+
if (actionResult.name === 'runCommand' && commandsExecuted >= maxCommands) {
|
|
185
|
+
putContainerLog('warn', 'Reached maximum command limit.');
|
|
186
|
+
putSystemMessage('⚠️ Task incomplete: Reached maximum command limit');
|
|
187
|
+
summary = 'Task incomplete: Reached maximum command limit';
|
|
188
|
+
shouldBreakOuter = true;
|
|
189
|
+
break;
|
|
190
|
+
}
|
|
191
|
+
const handler = getContainerCommandHandler(actionResult.name);
|
|
192
|
+
if (!handler) {
|
|
193
|
+
putContainerLog('warn', `Unknown function call received: ${actionResult.name}`);
|
|
194
|
+
taskExecutionPrompt.push({
|
|
195
|
+
type: 'user',
|
|
196
|
+
functionResponses: [
|
|
197
|
+
{
|
|
198
|
+
name: actionResult.name,
|
|
199
|
+
call_id: actionResult.id || undefined,
|
|
200
|
+
content: `Unknown function call: ${actionResult.name}`,
|
|
201
|
+
},
|
|
202
|
+
],
|
|
203
|
+
});
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
206
|
+
const handlerProps = {
|
|
207
|
+
actionResult,
|
|
208
|
+
systemPrompt,
|
|
209
|
+
taskPrompt,
|
|
210
|
+
taskExecutionPrompt,
|
|
211
|
+
container,
|
|
212
|
+
options,
|
|
213
|
+
generateContentFn,
|
|
214
|
+
maxContextItems: MAX_CONTEXT_ITEMS,
|
|
215
|
+
maxContextSize: MAX_CONTEXT_SIZE,
|
|
216
|
+
maxOutputLength: MAX_OUTPUT_LENGTH,
|
|
217
|
+
};
|
|
218
|
+
const handlerResult = await handler(handlerProps);
|
|
219
|
+
if (handlerResult) {
|
|
220
|
+
if (handlerResult.success !== undefined)
|
|
221
|
+
success = handlerResult.success;
|
|
222
|
+
if (handlerResult.summary !== undefined)
|
|
223
|
+
summary = handlerResult.summary;
|
|
224
|
+
commandsExecuted += handlerResult.commandsExecutedIncrement ?? 0;
|
|
225
|
+
if (handlerResult.shouldBreakOuter) {
|
|
226
|
+
shouldBreakOuter = true;
|
|
227
|
+
break;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
if (shouldBreakOuter) {
|
|
232
|
+
break;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
237
|
+
putContainerLog('error', 'Error during command execution loop', { error: errorMessage });
|
|
238
|
+
putSystemMessage('❌ Error during command execution loop', { error: errorMessage });
|
|
239
|
+
summary = `Task failed: Error during execution - ${errorMessage}`;
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
maybeGainKnowledge({
|
|
244
|
+
actionResult: {
|
|
245
|
+
name: 'gainKnowledge', // Placeholder
|
|
246
|
+
},
|
|
247
|
+
systemPrompt,
|
|
248
|
+
taskPrompt,
|
|
249
|
+
taskExecutionPrompt,
|
|
250
|
+
generateContentFn,
|
|
251
|
+
container,
|
|
252
|
+
options,
|
|
253
|
+
maxContextItems: MAX_CONTEXT_ITEMS,
|
|
254
|
+
maxContextSize: MAX_CONTEXT_SIZE,
|
|
255
|
+
maxOutputLength: MAX_OUTPUT_LENGTH,
|
|
256
|
+
taskDescription,
|
|
257
|
+
summary,
|
|
258
|
+
}).catch((err) => {
|
|
259
|
+
putContainerLog('error', 'maybeGainKnowledge failed in background', {
|
|
260
|
+
error: err instanceof Error ? err.message : String(err),
|
|
261
|
+
});
|
|
262
|
+
});
|
|
263
|
+
try {
|
|
264
|
+
const modelResponse = await generateContentFn([
|
|
265
|
+
systemPrompt,
|
|
266
|
+
taskPrompt,
|
|
267
|
+
...taskExecutionPrompt,
|
|
268
|
+
{
|
|
269
|
+
type: 'user',
|
|
270
|
+
text: 'Please provide a concise summary of the outcomes of the task',
|
|
271
|
+
},
|
|
272
|
+
], {
|
|
273
|
+
functionDefs: getContainerCommandDefs(),
|
|
274
|
+
temperature: 0.7,
|
|
275
|
+
modelType: ModelType.LITE,
|
|
276
|
+
expectedResponseType: {
|
|
277
|
+
text: true,
|
|
278
|
+
functionCall: false,
|
|
279
|
+
media: false,
|
|
280
|
+
},
|
|
281
|
+
}, options);
|
|
282
|
+
for (const item of modelResponse) {
|
|
283
|
+
if (item.type === 'text' && item.text) {
|
|
284
|
+
const text = item.text.length > 1000 ? item.text.substring(0, 1000) + '...' : item.text;
|
|
285
|
+
putContainerLog('info', 'Final wrap-up summary from the model', { text });
|
|
286
|
+
summary = text;
|
|
287
|
+
break;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
catch (error) {
|
|
292
|
+
putContainerLog('error', 'Error during post-loop wrap-up', {
|
|
293
|
+
error: error instanceof Error ? error.message : String(error),
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
if (!summary) {
|
|
297
|
+
summary = success ? 'Task completed' : 'Task failed or incomplete';
|
|
298
|
+
}
|
|
299
|
+
return { success, summary };
|
|
300
|
+
}
|
|
301
|
+
//# sourceMappingURL=command-execution-loop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-execution-loop.js","sourceRoot":"","sources":["../../../../../../src/prompt/steps/step-iterate/handlers/container-task/command-execution-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { FunctionDef } from '../../../../../../ai-service/common-types.js';
|
|
2
|
+
import { CommandHandlerBaseProps, CommandHandlerResult } from '../container-commands-types.js';
|
|
3
|
+
export declare const completeTaskDef: FunctionDef;
|
|
4
|
+
export declare function handleCompleteTask(props: Pick<CommandHandlerBaseProps, 'actionResult' | 'taskExecutionPrompt' | 'options'>): Promise<CommandHandlerResult>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { putAssistantMessage, putSystemMessage, putUserMessage } from '../../../../../../main/common/content-bus.js';
|
|
2
|
+
import { askUserForConfirmationWithAnswer } from '../../../../../../main/common/user-actions.js';
|
|
3
|
+
export const completeTaskDef = {
|
|
4
|
+
name: 'completeTask',
|
|
5
|
+
description: 'Mark the container task as successfully completed.',
|
|
6
|
+
parameters: {
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {
|
|
9
|
+
summary: {
|
|
10
|
+
type: 'string',
|
|
11
|
+
description: 'A brief summary of what was accomplished.',
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
required: ['summary'],
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
export async function handleCompleteTask(props) {
|
|
18
|
+
const { actionResult, taskExecutionPrompt } = props;
|
|
19
|
+
const args = actionResult.args;
|
|
20
|
+
putSystemMessage('✅ Task marked as complete by internal operator.');
|
|
21
|
+
putAssistantMessage(args.summary);
|
|
22
|
+
const confirmation = await askUserForConfirmationWithAnswer('Are you sure you want to complete the task?', 'Complete task', 'Continue', true, props.options);
|
|
23
|
+
if (confirmation.answer) {
|
|
24
|
+
putUserMessage(confirmation.answer);
|
|
25
|
+
}
|
|
26
|
+
taskExecutionPrompt.push({
|
|
27
|
+
type: 'assistant',
|
|
28
|
+
text: 'Completing the task.',
|
|
29
|
+
functionCalls: [actionResult],
|
|
30
|
+
}, {
|
|
31
|
+
type: 'user',
|
|
32
|
+
functionResponses: [
|
|
33
|
+
{
|
|
34
|
+
name: actionResult.name,
|
|
35
|
+
call_id: actionResult.id || undefined,
|
|
36
|
+
content: confirmation.confirmed
|
|
37
|
+
? 'Task completed successfully.'
|
|
38
|
+
: 'Task is incomplete. Please continue.' + (confirmation.answer ? ` ${confirmation.answer}` : ''),
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
});
|
|
42
|
+
return {
|
|
43
|
+
shouldBreakOuter: confirmation.confirmed === true,
|
|
44
|
+
success: true,
|
|
45
|
+
summary: args.summary,
|
|
46
|
+
commandsExecutedIncrement: 0,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=complete-task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"complete-task.js","sourceRoot":"","sources":["../../../../../../../src/prompt/steps/step-iterate/handlers/container-task/commands/complete-task.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AACrH,OAAO,EAAE,gCAAgC,EAAE,MAAM,+CAA+C,CAAC;AAOjG,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,oDAAoD;IACjE,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2CAA2C;aACzD;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAwF;IAExF,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;IACpD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAwB,CAAC;IACnD,gBAAgB,CAAC,iDAAiD,CAAC,CAAC;IACpE,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,YAAY,GAAG,MAAM,gCAAgC,CACzD,6CAA6C,EAC7C,eAAe,EACf,UAAU,EACV,IAAI,EACJ,KAAK,CAAC,OAAO,CACd,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,mBAAmB,CAAC,IAAI,CACtB;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,sBAAsB;QAC5B,aAAa,EAAE,CAAC,YAAY,CAAC;KAC9B,EACD;QACE,IAAI,EAAE,MAAM;QACZ,iBAAiB,EAAE;YACjB;gBACE,IAAI,EAAE,YAAY,CAAC,IAAI;gBACvB,OAAO,EAAE,YAAY,CAAC,EAAE,IAAI,SAAS;gBACrC,OAAO,EAAE,YAAY,CAAC,SAAS;oBAC7B,CAAC,CAAC,8BAA8B;oBAChC,CAAC,CAAC,sCAAsC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpG;SACF;KACF,CACF,CAAC;IAEF,OAAO;QACL,gBAAgB,EAAE,YAAY,CAAC,SAAS,KAAK,IAAI;QACjD,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,yBAAyB,EAAE,CAAC;KAC7B,CAAC;AACJ,CAAC"}
|
package/dist/prompt/steps/step-iterate/handlers/container-task/commands/copy-from-container.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { FunctionDef } from '../../../../../../ai-service/common-types.js';
|
|
2
|
+
import { CommandHandlerBaseProps, CommandHandlerResult } from '../container-commands-types.js';
|
|
3
|
+
export declare const getCopyFromContainerDef: () => FunctionDef;
|
|
4
|
+
export declare function handleCopyFromContainer(props: Pick<CommandHandlerBaseProps, 'actionResult' | 'taskExecutionPrompt' | 'container' | 'options'>): Promise<CommandHandlerResult>;
|