genaicode 0.14.2 → 0.15.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.
Files changed (253) hide show
  1. package/dist/ai-service/ai-studio.d.ts +2 -18
  2. package/dist/ai-service/ai-studio.js +87 -31
  3. package/dist/ai-service/ai-studio.js.map +1 -1
  4. package/dist/ai-service/anthropic.js +87 -45
  5. package/dist/ai-service/anthropic.js.map +1 -1
  6. package/dist/ai-service/common-types.d.ts +36 -3
  7. package/dist/ai-service/common-types.js +0 -2
  8. package/dist/ai-service/common-types.js.map +1 -1
  9. package/dist/ai-service/common.js +0 -2
  10. package/dist/ai-service/common.js.map +1 -1
  11. package/dist/ai-service/files-api.d.ts +33 -0
  12. package/dist/ai-service/files-api.js +239 -0
  13. package/dist/ai-service/files-api.js.map +1 -0
  14. package/dist/ai-service/github-models.js +0 -2
  15. package/dist/ai-service/github-models.js.map +1 -1
  16. package/dist/ai-service/local-llm.js +0 -4
  17. package/dist/ai-service/local-llm.js.map +1 -1
  18. package/dist/ai-service/openai-responses.js +62 -16
  19. package/dist/ai-service/openai-responses.js.map +1 -1
  20. package/dist/ai-service/openai.js +157 -54
  21. package/dist/ai-service/openai.js.map +1 -1
  22. package/dist/ai-service/service-configurations-types.d.ts +0 -1
  23. package/dist/ai-service/service-configurations.js +19 -20
  24. package/dist/ai-service/service-configurations.js.map +1 -1
  25. package/dist/ai-service/vertex-ai.js +2 -1
  26. package/dist/ai-service/vertex-ai.js.map +1 -1
  27. package/dist/cli/cli-params.js +2 -2
  28. package/dist/cli/cli-params.js.map +1 -1
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/main/codegen-types.d.ts +2 -2
  33. package/dist/main/common/content-bus-types.d.ts +14 -0
  34. package/dist/main/common/content-bus.d.ts +1 -1
  35. package/dist/main/common/content-bus.js +21 -3
  36. package/dist/main/common/content-bus.js.map +1 -1
  37. package/dist/main/common/user-actions.d.ts +1 -1
  38. package/dist/main/config-types.d.ts +0 -3
  39. package/dist/main/config-types.js.map +1 -1
  40. package/dist/main/config.js +1 -1
  41. package/dist/main/config.js.map +1 -1
  42. package/dist/main/plugin-loader.d.ts +1 -1
  43. package/dist/main/ui/backend/endpoints/config-endpoint.js +1 -1
  44. package/dist/main/ui/backend/endpoints/config-endpoint.js.map +1 -1
  45. package/dist/main/ui/backend/endpoints/edit-message-endpoint.js +9 -6
  46. package/dist/main/ui/backend/endpoints/edit-message-endpoint.js.map +1 -1
  47. package/dist/main/ui/backend/endpoints/interrupt-execution-endpoint.js +1 -1
  48. package/dist/main/ui/backend/endpoints/interrupt-execution-endpoint.js.map +1 -1
  49. package/dist/main/ui/backend/service.d.ts +4 -4
  50. package/dist/main/ui/backend/service.js +49 -27
  51. package/dist/main/ui/backend/service.js.map +1 -1
  52. package/dist/main/ui/common/api-types.d.ts +1 -2
  53. package/dist/main/ui/common/api-types.js.map +1 -1
  54. package/dist/main/ui/frontend/assets/index-DAM_kJhM.js +3445 -0
  55. package/dist/main/ui/frontend/index.html +1 -1
  56. package/dist/prompt/function-calling.js +4 -5
  57. package/dist/prompt/function-calling.js.map +1 -1
  58. package/dist/prompt/function-defs/code-execution.d.ts +7 -0
  59. package/dist/prompt/function-defs/code-execution.js +27 -0
  60. package/dist/prompt/function-defs/code-execution.js.map +1 -0
  61. package/dist/prompt/function-defs/conversation-graph.d.ts +1 -1
  62. package/dist/prompt/function-defs/conversation-graph.js +1 -1
  63. package/dist/prompt/function-defs/conversation-graph.js.map +1 -1
  64. package/dist/prompt/function-defs/iterate.d.ts +20 -0
  65. package/dist/prompt/function-defs/iterate.js +373 -0
  66. package/dist/prompt/function-defs/iterate.js.map +1 -0
  67. package/dist/prompt/prompt-service.js +6 -6
  68. package/dist/prompt/prompt-service.js.map +1 -1
  69. package/dist/prompt/steps/step-codegen-planning.js +6 -2
  70. package/dist/prompt/steps/step-codegen-planning.js.map +1 -1
  71. package/dist/prompt/steps/step-iterate/handlers/container-task/command-execution-loop.d.ts +7 -0
  72. package/dist/prompt/steps/step-iterate/handlers/container-task/command-execution-loop.js +301 -0
  73. package/dist/prompt/steps/step-iterate/handlers/container-task/command-execution-loop.js.map +1 -0
  74. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/complete-task.d.ts +4 -0
  75. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/complete-task.js +49 -0
  76. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/complete-task.js.map +1 -0
  77. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/copy-from-container.d.ts +4 -0
  78. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/copy-from-container.js +190 -0
  79. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/copy-from-container.js.map +1 -0
  80. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/copy-to-container.d.ts +4 -0
  81. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/copy-to-container.js +139 -0
  82. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/copy-to-container.js.map +1 -0
  83. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/edit-file.d.ts +10 -0
  84. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/edit-file.js +93 -0
  85. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/edit-file.js.map +1 -0
  86. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/fail-task.d.ts +4 -0
  87. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/fail-task.js +72 -0
  88. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/fail-task.js.map +1 -0
  89. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/gain-knowledge.d.ts +10 -0
  90. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/gain-knowledge.js +125 -0
  91. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/gain-knowledge.js.map +1 -0
  92. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/interrupt-controller.d.ts +19 -0
  93. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/interrupt-controller.js +33 -0
  94. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/interrupt-controller.js.map +1 -0
  95. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/query-knowledge.d.ts +8 -0
  96. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/query-knowledge.js +85 -0
  97. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/query-knowledge.js.map +1 -0
  98. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/request-secret.d.ts +6 -0
  99. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/request-secret.js +122 -0
  100. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/request-secret.js.map +1 -0
  101. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/run-command.d.ts +7 -0
  102. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/run-command.js +146 -0
  103. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/run-command.js.map +1 -0
  104. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/send-message.d.ts +4 -0
  105. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/send-message.js +56 -0
  106. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/send-message.js.map +1 -0
  107. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/set-execution-plan.d.ts +4 -0
  108. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/set-execution-plan.js +56 -0
  109. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/set-execution-plan.js.map +1 -0
  110. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/update-execution-plan.d.ts +4 -0
  111. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/update-execution-plan.js +39 -0
  112. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/update-execution-plan.js.map +1 -0
  113. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/view-file.d.ts +10 -0
  114. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/view-file.js +95 -0
  115. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/view-file.js.map +1 -0
  116. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/web-search.d.ts +2 -0
  117. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/web-search.js +96 -0
  118. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/web-search.js.map +1 -0
  119. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/wrap-context.d.ts +4 -0
  120. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/wrap-context.js +123 -0
  121. package/dist/prompt/steps/step-iterate/handlers/container-task/commands/wrap-context.js.map +1 -0
  122. package/dist/prompt/steps/step-iterate/handlers/container-task/container-commands-registry.d.ts +11 -0
  123. package/dist/prompt/steps/step-iterate/handlers/container-task/container-commands-registry.js +50 -0
  124. package/dist/prompt/steps/step-iterate/handlers/container-task/container-commands-registry.js.map +1 -0
  125. package/dist/prompt/steps/step-iterate/handlers/container-task/container-commands-types.d.ts +28 -0
  126. package/dist/prompt/steps/step-iterate/handlers/container-task/container-commands-types.js +2 -0
  127. package/dist/prompt/steps/step-iterate/handlers/container-task/container-commands-types.js.map +1 -0
  128. package/dist/prompt/steps/step-iterate/handlers/container-task/container-task-orchestrator.d.ts +2 -0
  129. package/dist/prompt/steps/step-iterate/handlers/container-task/container-task-orchestrator.js +202 -0
  130. package/dist/prompt/steps/step-iterate/handlers/container-task/container-task-orchestrator.js.map +1 -0
  131. package/dist/prompt/steps/step-iterate/handlers/container-task/utils/docker-check.d.ts +4 -0
  132. package/dist/prompt/steps/step-iterate/handlers/container-task/utils/docker-check.js +15 -0
  133. package/dist/prompt/steps/step-iterate/handlers/container-task/utils/docker-check.js.map +1 -0
  134. package/dist/prompt/steps/step-iterate/handlers/container-task/utils/docker-utils.d.ts +50 -0
  135. package/dist/prompt/steps/step-iterate/handlers/container-task/utils/docker-utils.js +358 -0
  136. package/dist/prompt/steps/step-iterate/handlers/container-task/utils/docker-utils.js.map +1 -0
  137. package/dist/prompt/steps/step-iterate/handlers/file-request-utils.d.ts +47 -0
  138. package/dist/prompt/steps/step-iterate/handlers/file-request-utils.js +114 -0
  139. package/dist/prompt/steps/step-iterate/handlers/file-request-utils.js.map +1 -0
  140. package/dist/prompt/steps/step-iterate/handlers/handle-code-execution.d.ts +1 -0
  141. package/dist/prompt/steps/step-iterate/handlers/handle-code-execution.js +133 -0
  142. package/dist/prompt/steps/step-iterate/handlers/handle-code-execution.js.map +1 -0
  143. package/dist/prompt/steps/step-iterate/handlers/handle-code-generation.d.ts +4 -0
  144. package/dist/prompt/steps/step-iterate/handlers/handle-code-generation.js +177 -0
  145. package/dist/prompt/steps/step-iterate/handlers/handle-code-generation.js.map +1 -0
  146. package/dist/prompt/steps/step-iterate/handlers/handle-compound-action.d.ts +20 -0
  147. package/dist/prompt/steps/step-iterate/handlers/handle-compound-action.js +305 -0
  148. package/dist/prompt/steps/step-iterate/handlers/handle-compound-action.js.map +1 -0
  149. package/dist/prompt/steps/step-iterate/handlers/handle-confirm-code-generation.d.ts +2 -0
  150. package/dist/prompt/steps/step-iterate/handlers/handle-confirm-code-generation.js +40 -0
  151. package/dist/prompt/steps/step-iterate/handlers/handle-confirm-code-generation.js.map +1 -0
  152. package/dist/prompt/steps/step-iterate/handlers/handle-context-compression.d.ts +2 -0
  153. package/dist/prompt/steps/step-iterate/handlers/handle-context-compression.js +35 -0
  154. package/dist/prompt/steps/step-iterate/handlers/handle-context-compression.js.map +1 -0
  155. package/dist/prompt/steps/step-iterate/handlers/handle-context-optimization.d.ts +2 -0
  156. package/dist/prompt/steps/step-iterate/handlers/handle-context-optimization.js +34 -0
  157. package/dist/prompt/steps/step-iterate/handlers/handle-context-optimization.js.map +1 -0
  158. package/dist/prompt/steps/step-iterate/handlers/handle-conversation-graph.d.ts +11 -0
  159. package/dist/prompt/steps/step-iterate/handlers/handle-conversation-graph.js +503 -0
  160. package/dist/prompt/steps/step-iterate/handlers/handle-conversation-graph.js.map +1 -0
  161. package/dist/prompt/steps/step-iterate/handlers/handle-create-file.d.ts +2 -0
  162. package/dist/prompt/steps/step-iterate/handlers/handle-create-file.js +159 -0
  163. package/dist/prompt/steps/step-iterate/handlers/handle-create-file.js.map +1 -0
  164. package/dist/prompt/steps/step-iterate/handlers/handle-end-conversation.d.ts +2 -0
  165. package/dist/prompt/steps/step-iterate/handlers/handle-end-conversation.js +30 -0
  166. package/dist/prompt/steps/step-iterate/handlers/handle-end-conversation.js.map +1 -0
  167. package/dist/prompt/steps/step-iterate/handlers/handle-explore-external-directories.d.ts +2 -0
  168. package/dist/prompt/steps/step-iterate/handlers/handle-explore-external-directories.js +280 -0
  169. package/dist/prompt/steps/step-iterate/handlers/handle-explore-external-directories.js.map +1 -0
  170. package/dist/prompt/steps/step-iterate/handlers/handle-genaicode-help.d.ts +8 -0
  171. package/dist/prompt/steps/step-iterate/handlers/handle-genaicode-help.js +105 -0
  172. package/dist/prompt/steps/step-iterate/handlers/handle-genaicode-help.js.map +1 -0
  173. package/dist/prompt/steps/step-iterate/handlers/handle-generate-image.d.ts +2 -0
  174. package/dist/prompt/steps/step-iterate/handlers/handle-generate-image.js +110 -0
  175. package/dist/prompt/steps/step-iterate/handlers/handle-generate-image.js.map +1 -0
  176. package/dist/prompt/steps/step-iterate/handlers/handle-perform-analysis.d.ts +6 -0
  177. package/dist/prompt/steps/step-iterate/handlers/handle-perform-analysis.js +110 -0
  178. package/dist/prompt/steps/step-iterate/handlers/handle-perform-analysis.js.map +1 -0
  179. package/dist/prompt/steps/step-iterate/handlers/handle-project-command.d.ts +2 -0
  180. package/dist/prompt/steps/step-iterate/handlers/handle-project-command.js +280 -0
  181. package/dist/prompt/steps/step-iterate/handlers/handle-project-command.js.map +1 -0
  182. package/dist/prompt/steps/step-iterate/handlers/handle-pull-app-context.d.ts +9 -0
  183. package/dist/prompt/steps/step-iterate/handlers/handle-pull-app-context.js +94 -0
  184. package/dist/prompt/steps/step-iterate/handlers/handle-pull-app-context.js.map +1 -0
  185. package/dist/prompt/steps/step-iterate/handlers/handle-pull-console-logs.d.ts +2 -0
  186. package/dist/prompt/steps/step-iterate/handlers/handle-pull-console-logs.js +174 -0
  187. package/dist/prompt/steps/step-iterate/handlers/handle-pull-console-logs.js.map +1 -0
  188. package/dist/prompt/steps/step-iterate/handlers/handle-push-app-context.d.ts +9 -0
  189. package/dist/prompt/steps/step-iterate/handlers/handle-push-app-context.js +104 -0
  190. package/dist/prompt/steps/step-iterate/handlers/handle-push-app-context.js.map +1 -0
  191. package/dist/prompt/steps/step-iterate/handlers/handle-read-external-files.d.ts +2 -0
  192. package/dist/prompt/steps/step-iterate/handlers/handle-read-external-files.js +149 -0
  193. package/dist/prompt/steps/step-iterate/handlers/handle-read-external-files.js.map +1 -0
  194. package/dist/prompt/steps/step-iterate/handlers/handle-reasoning-inference.d.ts +7 -0
  195. package/dist/prompt/steps/step-iterate/handlers/handle-reasoning-inference.js +119 -0
  196. package/dist/prompt/steps/step-iterate/handlers/handle-reasoning-inference.js.map +1 -0
  197. package/dist/prompt/steps/step-iterate/handlers/handle-remove-files-from-context.d.ts +2 -0
  198. package/dist/prompt/steps/step-iterate/handlers/handle-remove-files-from-context.js +100 -0
  199. package/dist/prompt/steps/step-iterate/handlers/handle-remove-files-from-context.js.map +1 -0
  200. package/dist/prompt/steps/step-iterate/handlers/handle-request-files-content.d.ts +8 -0
  201. package/dist/prompt/steps/step-iterate/handlers/handle-request-files-content.js +146 -0
  202. package/dist/prompt/steps/step-iterate/handlers/handle-request-files-content.js.map +1 -0
  203. package/dist/prompt/steps/step-iterate/handlers/handle-request-files-fragments.d.ts +8 -0
  204. package/dist/prompt/steps/step-iterate/handlers/handle-request-files-fragments.js +197 -0
  205. package/dist/prompt/steps/step-iterate/handlers/handle-request-files-fragments.js.map +1 -0
  206. package/dist/prompt/steps/step-iterate/handlers/handle-request-git-context.d.ts +3 -0
  207. package/dist/prompt/steps/step-iterate/handlers/handle-request-git-context.js +251 -0
  208. package/dist/prompt/steps/step-iterate/handlers/handle-request-git-context.js.map +1 -0
  209. package/dist/prompt/steps/step-iterate/handlers/handle-request-permissions.d.ts +2 -0
  210. package/dist/prompt/steps/step-iterate/handlers/handle-request-permissions.js +83 -0
  211. package/dist/prompt/steps/step-iterate/handlers/handle-request-permissions.js.map +1 -0
  212. package/dist/prompt/steps/step-iterate/handlers/handle-run-bash-command.d.ts +2 -0
  213. package/dist/prompt/steps/step-iterate/handlers/handle-run-bash-command.js +185 -0
  214. package/dist/prompt/steps/step-iterate/handlers/handle-run-bash-command.js.map +1 -0
  215. package/dist/prompt/steps/step-iterate/handlers/handle-run-container-task.d.ts +2 -0
  216. package/dist/prompt/steps/step-iterate/handlers/handle-run-container-task.js +7 -0
  217. package/dist/prompt/steps/step-iterate/handlers/handle-run-container-task.js.map +1 -0
  218. package/dist/prompt/steps/step-iterate/handlers/handle-search-code.d.ts +2 -0
  219. package/dist/prompt/steps/step-iterate/handlers/handle-search-code.js +96 -0
  220. package/dist/prompt/steps/step-iterate/handlers/handle-search-code.js.map +1 -0
  221. package/dist/prompt/steps/step-iterate/handlers/handle-send-message.d.ts +2 -0
  222. package/dist/prompt/steps/step-iterate/handlers/handle-send-message.js +21 -0
  223. package/dist/prompt/steps/step-iterate/handlers/handle-send-message.js.map +1 -0
  224. package/dist/prompt/steps/step-iterate/handlers/handle-structured-question.d.ts +1 -0
  225. package/dist/prompt/steps/step-iterate/handlers/handle-structured-question.js +72 -0
  226. package/dist/prompt/steps/step-iterate/handlers/handle-structured-question.js.map +1 -0
  227. package/dist/prompt/steps/step-iterate/handlers/handle-update-file.d.ts +2 -0
  228. package/dist/prompt/steps/step-iterate/handlers/handle-update-file.js +161 -0
  229. package/dist/prompt/steps/step-iterate/handlers/handle-update-file.js.map +1 -0
  230. package/dist/prompt/steps/step-iterate/handlers/handle-web-search.d.ts +1 -0
  231. package/dist/prompt/steps/step-iterate/handlers/handle-web-search.js +85 -0
  232. package/dist/prompt/steps/step-iterate/handlers/handle-web-search.js.map +1 -0
  233. package/dist/prompt/steps/step-iterate/iterate-handler.d.ts +4 -0
  234. package/dist/prompt/steps/step-iterate/iterate-handler.js +14 -0
  235. package/dist/prompt/steps/step-iterate/iterate-handler.js.map +1 -0
  236. package/dist/prompt/steps/step-iterate/step-iterate-handlers.d.ts +3 -0
  237. package/dist/prompt/steps/step-iterate/step-iterate-handlers.js +5 -0
  238. package/dist/prompt/steps/step-iterate/step-iterate-handlers.js.map +1 -0
  239. package/dist/prompt/steps/step-iterate/step-iterate-types.d.ts +255 -0
  240. package/dist/prompt/steps/step-iterate/step-iterate-types.js +2 -0
  241. package/dist/prompt/steps/step-iterate/step-iterate-types.js.map +1 -0
  242. package/dist/prompt/steps/step-iterate/step-iterate.d.ts +37 -0
  243. package/dist/prompt/steps/step-iterate/step-iterate.js +132 -0
  244. package/dist/prompt/steps/step-iterate/step-iterate.js.map +1 -0
  245. package/dist/prompt/systemprompt.js +6 -6
  246. package/dist/prompt/systemprompt.js.map +1 -1
  247. package/dist/vite-genaicode/console-interceptor.d.ts +19 -6
  248. package/dist/vite-genaicode/console-interceptor.js +45 -13
  249. package/dist/vite-genaicode/console-interceptor.js.map +1 -1
  250. package/dist/vite-genaicode/vite-genaicode-frontend.js +1 -1
  251. package/dist/vite-genaicode/vite-genaicode-frontend.js.map +1 -1
  252. package/package.json +7 -6
  253. package/dist/main/ui/frontend/assets/index-We_MLSaC.js +0 -3405
@@ -0,0 +1,133 @@
1
+ import { ModelType } from '../../../../ai-service/common-types.js';
2
+ import { putSystemMessage } from '../../../../main/common/content-bus.js';
3
+ import { getFunctionDefs } from '../../../function-calling.js';
4
+ import { getFilesApiProvider } from '../../../../ai-service/files-api.js';
5
+ import { registerActionHandler } from '../step-iterate-handlers.js';
6
+ const handleCodeExecution = async ({ prompt, options, generateContentFn, iterateCall, }) => {
7
+ // Step 1: Infer codeExecution parameters from context
8
+ const inferRequest = [
9
+ [
10
+ ...prompt,
11
+ {
12
+ type: 'assistant',
13
+ text: iterateCall.args.message,
14
+ },
15
+ {
16
+ type: 'user',
17
+ text: 'Please infer the files needed, objective, and desired result for code execution',
18
+ },
19
+ ],
20
+ {
21
+ functionDefs: getFunctionDefs(),
22
+ requiredFunctionName: 'codeExecution',
23
+ temperature: 0.7,
24
+ modelType: ModelType.CHEAP,
25
+ expectedResponseType: {
26
+ text: false,
27
+ functionCall: true,
28
+ media: false,
29
+ },
30
+ },
31
+ options,
32
+ ];
33
+ putSystemMessage('Inferring code execution parameters...');
34
+ const inferResponse = await generateContentFn(...inferRequest);
35
+ const codeExecutionCall = inferResponse
36
+ .filter((item) => item.type === 'functionCall')
37
+ .map((item) => item.functionCall).find((call) => call.name === 'codeExecution');
38
+ if (!codeExecutionCall) {
39
+ putSystemMessage('No code execution call received, skipping code execution.');
40
+ prompt.push({
41
+ type: 'assistant',
42
+ text: iterateCall.args.message,
43
+ }, {
44
+ type: 'user',
45
+ text: 'Code execution failed: No parameters could be inferred',
46
+ });
47
+ return {
48
+ items: [],
49
+ breakLoop: false,
50
+ };
51
+ }
52
+ const { filePaths, objective, desiredResult } = codeExecutionCall.args;
53
+ putSystemMessage(`Inferred code execution parameters`, { filePaths, objective, desiredResult });
54
+ // Step 2: Upload files
55
+ const uploadedFiles = [];
56
+ if (filePaths.length > 0) {
57
+ try {
58
+ const filesApi = getFilesApiProvider(options.aiService);
59
+ for (const filePath of filePaths) {
60
+ try {
61
+ putSystemMessage(`Uploading file: ${filePath}...`);
62
+ const result = await filesApi.uploadFile(filePath);
63
+ uploadedFiles.push(result);
64
+ putSystemMessage(`Uploaded file: ${result.filename} → ${result.fileId}`);
65
+ }
66
+ catch (error) {
67
+ putSystemMessage(`Failed to upload ${filePath}: ${error.message}`);
68
+ }
69
+ }
70
+ }
71
+ catch (error) {
72
+ putSystemMessage(`Files API not supported or failed for service ${options.aiService}: ${error.message}`);
73
+ }
74
+ }
75
+ // Step 3: Execute code with inferred parameters
76
+ const executionResponse = await generateContentFn([
77
+ ...prompt,
78
+ {
79
+ type: 'assistant',
80
+ text: iterateCall.args.message,
81
+ },
82
+ {
83
+ type: 'user',
84
+ text: `Objective: ${objective}\n\nDesired result: ${desiredResult}`,
85
+ },
86
+ ], {
87
+ modelType: ModelType.CHEAP,
88
+ expectedResponseType: {
89
+ text: true,
90
+ codeExecution: true,
91
+ functionCall: false,
92
+ },
93
+ fileIds: uploadedFiles.map((f) => f.fileId),
94
+ }, options);
95
+ // Step 4: Build result summary
96
+ const textParts = executionResponse
97
+ .filter((p) => p.type === 'text')
98
+ .map((p) => p.text)
99
+ .join('\n');
100
+ const codeExecutionResultPart = executionResponse.find((p) => p.type === 'codeExecutionResult');
101
+ const executionResult = codeExecutionResultPart && codeExecutionResultPart.type === 'codeExecutionResult'
102
+ ? {
103
+ outcome: codeExecutionResultPart.outcome,
104
+ output: codeExecutionResultPart.output,
105
+ outputFiles: codeExecutionResultPart.outputFiles,
106
+ }
107
+ : undefined;
108
+ putSystemMessage('Code execution completed', {
109
+ text: textParts,
110
+ executionResult,
111
+ });
112
+ // Step 5: Push function call + response to prompt
113
+ prompt.push({
114
+ type: 'assistant',
115
+ text: iterateCall.args.message,
116
+ functionCalls: [codeExecutionCall],
117
+ }, {
118
+ type: 'user',
119
+ functionResponses: [
120
+ {
121
+ name: 'codeExecution',
122
+ call_id: codeExecutionCall.id,
123
+ content: JSON.stringify({ text: textParts, executionResult }),
124
+ },
125
+ ],
126
+ });
127
+ return {
128
+ items: [],
129
+ breakLoop: false,
130
+ };
131
+ };
132
+ registerActionHandler('codeExecution', handleCodeExecution);
133
+ //# sourceMappingURL=handle-code-execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-code-execution.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-iterate/handlers/handle-code-execution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ActionHandlerProps, ActionResult } from '../step-iterate-types.js';
2
+ export declare const CODEGEN_SUMMARY_GENERATED_MESSAGE = "Codegen summary is generated. Would you like to proceed with the code changes?";
3
+ export declare const CODEGEN_SUMMARY_APPROVED = "Accept codegen summary and continue";
4
+ export declare function handleCodeGeneration({ generateContentFn, generateImageFn, waitIfPaused, prompt, options, }: ActionHandlerProps): Promise<ActionResult>;
@@ -0,0 +1,177 @@
1
+ import { putAssistantMessage, putSystemMessage, putUserMessage } from '../../../../main/common/content-bus.js';
2
+ import { askUserForConfirmation, askUserForConfirmationWithAnswer } from '../../../../main/common/user-actions.js';
3
+ import { getFunctionDefs } from '../../../function-calling.js';
4
+ import { CODEGEN_SUMMARY_PROMPT } from '../../../static-prompts.js';
5
+ import { executeStepCodegenPlanning } from '../../step-codegen-planning.js';
6
+ import { generateCodegenSummary } from '../../step-generate-codegen-summary.js';
7
+ import { processFileUpdates } from '../../step-process-file-updates.js';
8
+ import { StepResult } from '../../steps-types.js';
9
+ import { updateFiles } from '../../../../files/update-files.js';
10
+ import { executeStepContextCompression } from '../../step-context-compression.js';
11
+ import { registerActionHandler } from '../step-iterate-handlers.js';
12
+ export const CODEGEN_SUMMARY_GENERATED_MESSAGE = 'Codegen summary is generated. Would you like to proceed with the code changes?';
13
+ export const CODEGEN_SUMMARY_APPROVED = 'Accept codegen summary and continue';
14
+ registerActionHandler('codeGeneration', handleCodeGeneration);
15
+ export async function handleCodeGeneration({ generateContentFn, generateImageFn, waitIfPaused, prompt, options, }) {
16
+ const planningResult = await executeStepCodegenPlanning(generateContentFn, prompt, options);
17
+ if (planningResult === StepResult.BREAK) {
18
+ return {
19
+ breakLoop: true,
20
+ items: [],
21
+ };
22
+ }
23
+ // Ask user to confirm the planning result
24
+ const planningConfirmation = await askUserForConfirmationWithAnswer(CODEGEN_SUMMARY_PROMPT, 'Accept plan', 'Reject plan', true, options);
25
+ putAssistantMessage(CODEGEN_SUMMARY_PROMPT);
26
+ prompt.push({
27
+ type: 'assistant',
28
+ text: CODEGEN_SUMMARY_PROMPT,
29
+ });
30
+ if (!planningConfirmation.confirmed) {
31
+ // User rejected the planning, return to conversation
32
+ if (planningConfirmation.answer) {
33
+ putUserMessage(planningConfirmation.answer);
34
+ }
35
+ putSystemMessage('Planning rejected. Returning to conversation.');
36
+ prompt.push({
37
+ type: 'user',
38
+ text: 'Planning rejected. Returning to conversation.' +
39
+ (planningConfirmation.answer ? `\n\n${planningConfirmation.answer}` : ''),
40
+ });
41
+ return {
42
+ breakLoop: false,
43
+ items: [],
44
+ };
45
+ }
46
+ if (planningConfirmation.answer) {
47
+ putUserMessage(planningConfirmation.answer);
48
+ }
49
+ putSystemMessage('Planning accepted. Proceeding with code generation.');
50
+ // Add user's planning confirmation answer to prompt history
51
+ prompt.push({
52
+ type: 'user',
53
+ text: 'Accept planning and continue.' + (planningConfirmation.answer ? `\n\n${planningConfirmation.answer}` : ''),
54
+ });
55
+ try {
56
+ // First step: Generate and validate codegen summary
57
+ const { codegenSummaryRequest, baseResult } = await generateCodegenSummary(generateContentFn, prompt, getFunctionDefs(), options);
58
+ // Ask user to confirm the codegen summary
59
+ const codegenSummaryConfirmation = await askUserForConfirmationWithAnswer(CODEGEN_SUMMARY_GENERATED_MESSAGE, 'Accept codegen summary', 'Reject codegen summary', true, options);
60
+ putAssistantMessage(CODEGEN_SUMMARY_GENERATED_MESSAGE);
61
+ if (codegenSummaryConfirmation.answer) {
62
+ putUserMessage(codegenSummaryConfirmation.answer);
63
+ }
64
+ if (!codegenSummaryConfirmation.confirmed) {
65
+ putSystemMessage('Codegen summary rejected. Returning to conversation.');
66
+ prompt.push({
67
+ type: 'assistant',
68
+ text: CODEGEN_SUMMARY_GENERATED_MESSAGE,
69
+ }, {
70
+ type: 'user',
71
+ text: 'Codegen summary rejected. Returning to conversation.' +
72
+ (codegenSummaryConfirmation.answer ? `\n\n${codegenSummaryConfirmation.answer}` : ''),
73
+ });
74
+ return {
75
+ breakLoop: false,
76
+ items: [],
77
+ };
78
+ }
79
+ putSystemMessage('Codegen summary accepted. Proceeding with code generation.');
80
+ prompt.push({
81
+ type: 'assistant',
82
+ text: CODEGEN_SUMMARY_GENERATED_MESSAGE,
83
+ }, {
84
+ type: 'user',
85
+ text: CODEGEN_SUMMARY_APPROVED +
86
+ (codegenSummaryConfirmation.answer ? `\n\n${codegenSummaryConfirmation.answer}` : ''),
87
+ });
88
+ // Second step: Process file updates
89
+ const updateResults = await processFileUpdates(generateContentFn, prompt, getFunctionDefs(), options, codegenSummaryRequest, waitIfPaused, generateImageFn);
90
+ const functionCalls = [...baseResult, ...updateResults];
91
+ const confirmApply = await askUserForConfirmationWithAnswer('Code changes are generated, now what?', 'Apply code changes', 'Reject code changes', true, options);
92
+ putAssistantMessage('Code changes are generated, now what?');
93
+ if (confirmApply.confirmed) {
94
+ if (confirmApply.answer) {
95
+ putUserMessage(confirmApply.answer);
96
+ }
97
+ prompt.push({
98
+ type: 'assistant',
99
+ text: 'Code changes are generated, now what?',
100
+ }, {
101
+ type: 'user',
102
+ text: 'Apply code changes. ' + confirmApply.answer,
103
+ });
104
+ putSystemMessage('Applying code changes...');
105
+ if (options.dryRun) {
106
+ putSystemMessage('Dry run mode, not updating files');
107
+ }
108
+ else {
109
+ // Apply the code changes
110
+ const failedOperations = await updateFiles(functionCalls.filter((call) => call.name !== 'explanation' && call.name !== 'getSourceCode' && call.name !== 'codegenSummary'), options);
111
+ if (failedOperations.length > 0) {
112
+ putSystemMessage(`Code changes applied, but some operations failed for: ${failedOperations.map((call) => call.args?.filePath).join(', ')}`);
113
+ }
114
+ else {
115
+ putSystemMessage('Code changes applied successfully');
116
+ }
117
+ }
118
+ }
119
+ else {
120
+ if (confirmApply.answer) {
121
+ putUserMessage(confirmApply.answer);
122
+ }
123
+ putSystemMessage('Rejecting code changes...');
124
+ prompt.push({
125
+ type: 'assistant',
126
+ text: 'Code changes are generated, now what?',
127
+ }, {
128
+ type: 'user',
129
+ text: 'Reject code changes. ' + confirmApply.answer,
130
+ });
131
+ }
132
+ if (!(await askUserForConfirmation('Code generation completed, do you want to continue conversation?', false, options, 'Continue conversation', 'End conversation')).confirmed) {
133
+ return {
134
+ breakLoop: true,
135
+ stepResult: functionCalls,
136
+ items: [],
137
+ };
138
+ }
139
+ putSystemMessage('Continuing conversation...');
140
+ const compressionResult = await executeStepContextCompression(generateContentFn, prompt, options);
141
+ prompt.push({
142
+ type: 'assistant',
143
+ text: `Code generation completed, changes ${confirmApply.confirmed ? 'were accepted and applied' : 'changes were rejected and not applied'}. Should we continue the conversation?`,
144
+ }, {
145
+ type: 'user',
146
+ text: 'Thank you for doing the code generation, now lets continue the conversation.',
147
+ });
148
+ return {
149
+ breakLoop: compressionResult !== StepResult.CONTINUE,
150
+ stepResult: functionCalls,
151
+ items: [],
152
+ };
153
+ }
154
+ catch (error) {
155
+ putSystemMessage(`Error during code generation: ${error instanceof Error ? error.message : 'Unknown error'}`);
156
+ const tryAgainConfirm = await askUserForConfirmation('An error occurred during code generation. Would you like to try again or continue the conversation?', false, options, 'Try again', 'Continue conversation');
157
+ return {
158
+ breakLoop: !tryAgainConfirm.confirmed,
159
+ items: [
160
+ {
161
+ assistant: {
162
+ type: 'assistant',
163
+ text: 'An error occurred during code generation. Would you like to try again or continue the conversation?',
164
+ functionCalls: [],
165
+ },
166
+ user: {
167
+ type: 'user',
168
+ text: tryAgainConfirm.confirmed
169
+ ? 'Lets continue the conversation'
170
+ : 'Error occurred during code generation.',
171
+ },
172
+ },
173
+ ],
174
+ };
175
+ }
176
+ }
177
+ //# sourceMappingURL=handle-code-generation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-code-generation.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-iterate/handlers/handle-code-generation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC/G,OAAO,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AACnH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,MAAM,CAAC,MAAM,iCAAiC,GAC5C,gFAAgF,CAAC;AAEnF,MAAM,CAAC,MAAM,wBAAwB,GAAG,qCAAqC,CAAC;AAE9E,qBAAqB,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;AAE9D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,MAAM,EACN,OAAO,GACY;IACnB,MAAM,cAAc,GAAG,MAAM,0BAA0B,CAAC,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5F,IAAI,cAAc,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;QACxC,OAAO;YACL,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,MAAM,oBAAoB,GAAG,MAAM,gCAAgC,CACjE,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,IAAI,EACJ,OAAO,CACR,CAAC;IAEF,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;IAC5C,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,sBAAsB;KAC7B,CAAC,CAAC;IAEH,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,CAAC;QACpC,qDAAqD;QACrD,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC;YAChC,cAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;QACD,gBAAgB,CAAC,+CAA+C,CAAC,CAAC;QAElE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,IAAI,EACF,+CAA+C;gBAC/C,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5E,CAAC,CAAC;QAEH,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC;QAChC,cAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,gBAAgB,CAAC,qDAAqD,CAAC,CAAC;IAExE,4DAA4D;IAC5D,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,+BAA+B,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClH,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,oDAAoD;QACpD,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE,GAAG,MAAM,sBAAsB,CACxE,iBAAiB,EACjB,MAAM,EACN,eAAe,EAAE,EACjB,OAAO,CACR,CAAC;QAEF,0CAA0C;QAC1C,MAAM,0BAA0B,GAAG,MAAM,gCAAgC,CACvE,iCAAiC,EACjC,wBAAwB,EACxB,wBAAwB,EACxB,IAAI,EACJ,OAAO,CACR,CAAC;QAEF,mBAAmB,CAAC,iCAAiC,CAAC,CAAC;QACvD,IAAI,0BAA0B,CAAC,MAAM,EAAE,CAAC;YACtC,cAAc,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,CAAC;YAC1C,gBAAgB,CAAC,sDAAsD,CAAC,CAAC;YAEzE,MAAM,CAAC,IAAI,CACT;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,iCAAiC;aACxC,EACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EACF,sDAAsD;oBACtD,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,0BAA0B,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxF,CACF,CAAC;YACF,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QAED,gBAAgB,CAAC,4DAA4D,CAAC,CAAC;QAE/E,MAAM,CAAC,IAAI,CACT;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,iCAAiC;SACxC,EACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EACF,wBAAwB;gBACxB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,0BAA0B,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxF,CACF,CAAC;QAEF,oCAAoC;QACpC,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAC5C,iBAAiB,EACjB,MAAM,EACN,eAAe,EAAE,EACjB,OAAO,EACP,qBAAqB,EACrB,YAAY,EACZ,eAAe,CAChB,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,aAAa,CAAC,CAAC;QAExD,MAAM,YAAY,GAAG,MAAM,gCAAgC,CACzD,uCAAuC,EACvC,oBAAoB,EACpB,qBAAqB,EACrB,IAAI,EACJ,OAAO,CACR,CAAC;QAEF,mBAAmB,CAAC,uCAAuC,CAAC,CAAC;QAE7D,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;YAC3B,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBACxB,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YAED,MAAM,CAAC,IAAI,CACT;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,uCAAuC;aAC9C,EACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,sBAAsB,GAAG,YAAY,CAAC,MAAM;aACnD,CACF,CAAC;YAEF,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;YAE7C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,gBAAgB,CAAC,kCAAkC,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,yBAAyB;gBACzB,MAAM,gBAAgB,GAAG,MAAM,WAAW,CACxC,aAAa,CAAC,MAAM,CAClB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,CACzG,EACD,OAAO,CACR,CAAC;gBACF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,gBAAgB,CACd,yDAAyD,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1H,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,gBAAgB,CAAC,mCAAmC,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBACxB,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YAED,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;YAE9C,MAAM,CAAC,IAAI,CACT;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,uCAAuC;aAC9C,EACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,uBAAuB,GAAG,YAAY,CAAC,MAAM;aACpD,CACF,CAAC;QACJ,CAAC;QAED,IACE,CAAC,CACC,MAAM,sBAAsB,CAC1B,kEAAkE,EAClE,KAAK,EACL,OAAO,EACP,uBAAuB,EACvB,kBAAkB,CACnB,CACF,CAAC,SAAS,EACX,CAAC;YACD,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QAED,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;QAC/C,MAAM,iBAAiB,GAAG,MAAM,6BAA6B,CAAC,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAElG,MAAM,CAAC,IAAI,CACT;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,sCAAsC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,uCAAuC,wCAAwC;SACnL,EACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,8EAA8E;SACrF,CACF,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,iBAAiB,KAAK,UAAU,CAAC,QAAQ;YACpD,UAAU,EAAE,aAAa;YACzB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gBAAgB,CAAC,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAE9G,MAAM,eAAe,GAAG,MAAM,sBAAsB,CAClD,qGAAqG,EACrG,KAAK,EACL,OAAO,EACP,WAAW,EACX,uBAAuB,CACxB,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,CAAC,eAAe,CAAC,SAAS;YACrC,KAAK,EAAE;gBACL;oBACE,SAAS,EAAE;wBACT,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,qGAAqG;wBAC3G,aAAa,EAAE,EAAE;qBAClB;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,eAAe,CAAC,SAAS;4BAC7B,CAAC,CAAC,gCAAgC;4BAClC,CAAC,CAAC,wCAAwC;qBAC7C;iBACF;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { PromptItem, FunctionDef } from '../../../../ai-service/common-types.js';
2
+ import { ActionHandler } from '../step-iterate-types.js';
3
+ /**
4
+ * Constructs the prompt for the initial planning phase of a compound action.
5
+ * @param basePrompt The current conversation history.
6
+ * @param assistantMessage The assistant's message initiating the compound action.
7
+ * @param compoundActionDef The function definition for the compound action planner.
8
+ * @returns The prompt items for the planning phase.
9
+ */
10
+ export declare function constructCompoundActionPlanningPrompt(basePrompt: PromptItem[], assistantMessage: string | undefined, compoundActionDef: FunctionDef): PromptItem[];
11
+ /**
12
+ * Constructs the prompt for inferring parameters for a specific action within a compound action.
13
+ * @param basePrompt The current conversation history (which includes prior planning and parameter inferences).
14
+ * @param actionId The unique ID of the current action.
15
+ * @param actionName The name of the current action (e.g., "createFile").
16
+ * @param operationDef The function definition for the current action.
17
+ * @returns The prompt items for the parameter inference phase.
18
+ */
19
+ export declare function constructCompoundActionParameterInferencePrompt(basePrompt: PromptItem[], actionId: string, actionName: string, operationDef: FunctionDef): PromptItem[];
20
+ export declare const handleCompoundAction: ActionHandler;