genaicode 0.11.1 → 0.12.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 (210) hide show
  1. package/README.md +3 -9
  2. package/dist/ai-service/ai-studio.d.ts +18 -1
  3. package/dist/ai-service/ai-studio.js +92 -21
  4. package/dist/ai-service/ai-studio.js.map +1 -1
  5. package/dist/ai-service/anthropic.js +59 -25
  6. package/dist/ai-service/anthropic.js.map +1 -1
  7. package/dist/ai-service/common-types.d.ts +8 -3
  8. package/dist/ai-service/common.d.ts +5 -1
  9. package/dist/ai-service/common.js +9 -0
  10. package/dist/ai-service/common.js.map +1 -1
  11. package/dist/ai-service/dall-e.js +1 -0
  12. package/dist/ai-service/dall-e.js.map +1 -1
  13. package/dist/ai-service/github-models.d.ts +13 -0
  14. package/dist/ai-service/github-models.js +51 -0
  15. package/dist/ai-service/github-models.js.map +1 -0
  16. package/dist/ai-service/local-llm.js +2 -1
  17. package/dist/ai-service/local-llm.js.map +1 -1
  18. package/dist/ai-service/openai-responses.d.ts +9 -0
  19. package/dist/ai-service/openai-responses.js +286 -0
  20. package/dist/ai-service/openai-responses.js.map +1 -0
  21. package/dist/ai-service/openai.js +22 -10
  22. package/dist/ai-service/openai.js.map +1 -1
  23. package/dist/ai-service/service-configurations-types.d.ts +7 -7
  24. package/dist/ai-service/service-configurations.d.ts +1 -0
  25. package/dist/ai-service/service-configurations.js +41 -36
  26. package/dist/ai-service/service-configurations.js.map +1 -1
  27. package/dist/ai-service/vertex-ai-claude.js +2 -2
  28. package/dist/ai-service/vertex-ai-claude.js.map +1 -1
  29. package/dist/ai-service/vertex-ai.d.ts +1 -0
  30. package/dist/ai-service/vertex-ai.js +4 -332
  31. package/dist/ai-service/vertex-ai.js.map +1 -1
  32. package/dist/cli/cli-options.js +1 -1
  33. package/dist/cli/cli-options.js.map +1 -1
  34. package/dist/cli/validate-cli-params.js +1 -1
  35. package/dist/cli/validate-cli-params.js.map +1 -1
  36. package/dist/files/cache-file.d.ts +4 -0
  37. package/dist/files/cache-file.js +21 -0
  38. package/dist/files/cache-file.js.map +1 -1
  39. package/dist/files/find-files.d.ts +1 -0
  40. package/dist/files/find-files.js +4 -1
  41. package/dist/files/find-files.js.map +1 -1
  42. package/dist/files/source-code-utils.js +1 -1
  43. package/dist/files/summary-cache.d.ts +1 -1
  44. package/dist/files/summary-cache.js +1 -1
  45. package/dist/files/summary-cache.js.map +1 -1
  46. package/dist/main/codegen-utils.d.ts +6 -1
  47. package/dist/main/codegen-utils.js +21 -2
  48. package/dist/main/codegen-utils.js.map +1 -1
  49. package/dist/main/codegen.js +2 -2
  50. package/dist/main/codegen.js.map +1 -1
  51. package/dist/main/common/content-bus-types.d.ts +17 -1
  52. package/dist/main/common/content-bus.d.ts +3 -1
  53. package/dist/main/common/content-bus.js +23 -1
  54. package/dist/main/common/content-bus.js.map +1 -1
  55. package/dist/main/common/user-actions.d.ts +3 -0
  56. package/dist/main/common/user-actions.js +10 -0
  57. package/dist/main/common/user-actions.js.map +1 -1
  58. package/dist/main/config-lib.js +3 -2
  59. package/dist/main/config-lib.js.map +1 -1
  60. package/dist/main/config-types.d.ts +4 -0
  61. package/dist/main/config.js +4 -0
  62. package/dist/main/config.js.map +1 -1
  63. package/dist/main/interactive/select-ai-service.js +0 -1
  64. package/dist/main/interactive/select-ai-service.js.map +1 -1
  65. package/dist/main/interactive/user-action-handlers.js +7 -2
  66. package/dist/main/interactive/user-action-handlers.js.map +1 -1
  67. package/dist/main/knowledge/knowledge-store.d.ts +6 -0
  68. package/dist/main/knowledge/knowledge-store.js +128 -0
  69. package/dist/main/knowledge/knowledge-store.js.map +1 -0
  70. package/dist/main/knowledge/types.d.ts +20 -0
  71. package/dist/main/knowledge/types.js +2 -0
  72. package/dist/main/knowledge/types.js.map +1 -0
  73. package/dist/main/ui/backend/endpoints/interrupt-execution-endpoint.js +17 -3
  74. package/dist/main/ui/backend/endpoints/interrupt-execution-endpoint.js.map +1 -1
  75. package/dist/main/ui/common/api-types.d.ts +67 -4
  76. package/dist/main/ui/common/api-types.js +12 -1
  77. package/dist/main/ui/common/api-types.js.map +1 -1
  78. package/dist/main/ui/frontend/assets/index-BbIYZZub.js +2635 -0
  79. package/dist/main/ui/frontend/index.html +1 -1
  80. package/dist/main/ui/user-action-handlers.js +7 -1
  81. package/dist/main/ui/user-action-handlers.js.map +1 -1
  82. package/dist/project-profiles/types.d.ts +4 -4
  83. package/dist/project-profiles/types.js +4 -4
  84. package/dist/project-profiles/types.js.map +1 -1
  85. package/dist/prompt/function-calling-validate.js +2 -1
  86. package/dist/prompt/function-calling-validate.js.map +1 -1
  87. package/dist/prompt/function-calling.js +4 -0
  88. package/dist/prompt/function-calling.js.map +1 -1
  89. package/dist/prompt/function-defs/ask-question.js +4 -0
  90. package/dist/prompt/function-defs/ask-question.js.map +1 -1
  91. package/dist/prompt/function-defs/container-task-commands.d.ts +10 -0
  92. package/dist/prompt/function-defs/container-task-commands.js +185 -0
  93. package/dist/prompt/function-defs/container-task-commands.js.map +1 -0
  94. package/dist/prompt/function-defs/run-container-task.d.ts +11 -0
  95. package/dist/prompt/function-defs/run-container-task.js +41 -0
  96. package/dist/prompt/function-defs/run-container-task.js.map +1 -0
  97. package/dist/prompt/function-defs/web-search.d.ts +9 -0
  98. package/dist/prompt/function-defs/web-search.js +16 -0
  99. package/dist/prompt/function-defs/web-search.js.map +1 -0
  100. package/dist/prompt/limits.js +1 -1
  101. package/dist/prompt/steps/step-ask-question/handlers/container-task/command-execution-loop.d.ts +7 -0
  102. package/dist/prompt/steps/step-ask-question/handlers/container-task/command-execution-loop.js +301 -0
  103. package/dist/prompt/steps/step-ask-question/handlers/container-task/command-execution-loop.js.map +1 -0
  104. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/check-context.d.ts +12 -0
  105. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/check-context.js +41 -0
  106. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/check-context.js.map +1 -0
  107. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/complete-task.d.ts +4 -0
  108. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/complete-task.js +49 -0
  109. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/complete-task.js.map +1 -0
  110. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/copy-from-container.d.ts +4 -0
  111. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/copy-from-container.js +190 -0
  112. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/copy-from-container.js.map +1 -0
  113. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/copy-to-container.d.ts +4 -0
  114. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/copy-to-container.js +139 -0
  115. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/copy-to-container.js.map +1 -0
  116. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/edit-file.d.ts +10 -0
  117. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/edit-file.js +93 -0
  118. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/edit-file.js.map +1 -0
  119. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/fail-task.d.ts +4 -0
  120. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/fail-task.js +72 -0
  121. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/fail-task.js.map +1 -0
  122. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/gain-knowledge.d.ts +10 -0
  123. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/gain-knowledge.js +125 -0
  124. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/gain-knowledge.js.map +1 -0
  125. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/interrupt-controller.d.ts +19 -0
  126. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/interrupt-controller.js +33 -0
  127. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/interrupt-controller.js.map +1 -0
  128. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/query-knowledge.d.ts +8 -0
  129. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/query-knowledge.js +85 -0
  130. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/query-knowledge.js.map +1 -0
  131. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/request-secret.d.ts +6 -0
  132. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/request-secret.js +122 -0
  133. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/request-secret.js.map +1 -0
  134. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/run-command.d.ts +7 -0
  135. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/run-command.js +146 -0
  136. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/run-command.js.map +1 -0
  137. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/send-message.d.ts +4 -0
  138. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/send-message.js +56 -0
  139. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/send-message.js.map +1 -0
  140. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/set-execution-plan.d.ts +4 -0
  141. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/set-execution-plan.js +56 -0
  142. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/set-execution-plan.js.map +1 -0
  143. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/update-execution-plan.d.ts +4 -0
  144. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/update-execution-plan.js +39 -0
  145. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/update-execution-plan.js.map +1 -0
  146. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/view-file.d.ts +10 -0
  147. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/view-file.js +95 -0
  148. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/view-file.js.map +1 -0
  149. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/web-search.d.ts +2 -0
  150. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/web-search.js +96 -0
  151. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/web-search.js.map +1 -0
  152. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/wrap-context.d.ts +4 -0
  153. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/wrap-context.js +123 -0
  154. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/wrap-context.js.map +1 -0
  155. package/dist/prompt/steps/step-ask-question/handlers/container-task/container-command-handlers.d.ts +34 -0
  156. package/dist/prompt/steps/step-ask-question/handlers/container-task/container-command-handlers.js +332 -0
  157. package/dist/prompt/steps/step-ask-question/handlers/container-task/container-command-handlers.js.map +1 -0
  158. package/dist/prompt/steps/step-ask-question/handlers/container-task/container-commands-registry.d.ts +11 -0
  159. package/dist/prompt/steps/step-ask-question/handlers/container-task/container-commands-registry.js +50 -0
  160. package/dist/prompt/steps/step-ask-question/handlers/container-task/container-commands-registry.js.map +1 -0
  161. package/dist/prompt/steps/step-ask-question/handlers/container-task/container-commands-types.d.ts +28 -0
  162. package/dist/prompt/steps/step-ask-question/handlers/container-task/container-commands-types.js +2 -0
  163. package/dist/prompt/steps/step-ask-question/handlers/container-task/container-commands-types.js.map +1 -0
  164. package/dist/prompt/steps/step-ask-question/handlers/container-task/container-task-orchestrator.d.ts +2 -0
  165. package/dist/prompt/steps/step-ask-question/handlers/container-task/container-task-orchestrator.js +202 -0
  166. package/dist/prompt/steps/step-ask-question/handlers/container-task/container-task-orchestrator.js.map +1 -0
  167. package/dist/prompt/steps/step-ask-question/handlers/container-task/container-task-types.d.ts +52 -0
  168. package/dist/prompt/steps/step-ask-question/handlers/container-task/container-task-types.js +2 -0
  169. package/dist/prompt/steps/step-ask-question/handlers/container-task/container-task-types.js.map +1 -0
  170. package/dist/prompt/steps/step-ask-question/handlers/container-task/utils/docker-check.d.ts +4 -0
  171. package/dist/prompt/steps/step-ask-question/handlers/container-task/utils/docker-check.js +15 -0
  172. package/dist/prompt/steps/step-ask-question/handlers/container-task/utils/docker-check.js.map +1 -0
  173. package/dist/prompt/steps/step-ask-question/handlers/container-task/utils/docker-utils.d.ts +50 -0
  174. package/dist/prompt/steps/step-ask-question/handlers/container-task/utils/docker-utils.js +358 -0
  175. package/dist/prompt/steps/step-ask-question/handlers/container-task/utils/docker-utils.js.map +1 -0
  176. package/dist/prompt/steps/step-ask-question/handlers/handle-compound-action.js +2 -2
  177. package/dist/prompt/steps/step-ask-question/handlers/handle-compound-action.js.map +1 -1
  178. package/dist/prompt/steps/step-ask-question/handlers/handle-explore-external-directories.js +1 -1
  179. package/dist/prompt/steps/step-ask-question/handlers/handle-explore-external-directories.js.map +1 -1
  180. package/dist/prompt/steps/step-ask-question/handlers/handle-genaicode-help.js +1 -1
  181. package/dist/prompt/steps/step-ask-question/handlers/handle-genaicode-help.js.map +1 -1
  182. package/dist/prompt/steps/step-ask-question/handlers/handle-generate-image.js +2 -2
  183. package/dist/prompt/steps/step-ask-question/handlers/handle-generate-image.js.map +1 -1
  184. package/dist/prompt/steps/step-ask-question/handlers/handle-perform-analysis.js +1 -1
  185. package/dist/prompt/steps/step-ask-question/handlers/handle-perform-analysis.js.map +1 -1
  186. package/dist/prompt/steps/step-ask-question/handlers/handle-run-container-task.d.ts +2 -0
  187. package/dist/prompt/steps/step-ask-question/handlers/handle-run-container-task.js +7 -0
  188. package/dist/prompt/steps/step-ask-question/handlers/handle-run-container-task.js.map +1 -0
  189. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js +1 -1
  190. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js.map +1 -1
  191. package/dist/prompt/steps/step-ask-question/handlers/handle-web-search.d.ts +1 -0
  192. package/dist/prompt/steps/step-ask-question/handlers/handle-web-search.js +85 -0
  193. package/dist/prompt/steps/step-ask-question/handlers/handle-web-search.js.map +1 -0
  194. package/dist/prompt/steps/step-ask-question/step-ask-question-types.d.ts +1 -1
  195. package/dist/prompt/steps/step-ask-question/step-ask-question.d.ts +2 -0
  196. package/dist/prompt/steps/step-ask-question/step-ask-question.js +11 -1
  197. package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
  198. package/dist/prompt/steps/step-codegen-planning.js +1 -1
  199. package/dist/prompt/steps/step-codegen-planning.js.map +1 -1
  200. package/dist/prompt/steps/step-summarization.js +17 -10
  201. package/dist/prompt/steps/step-summarization.js.map +1 -1
  202. package/dist/prompt/systemprompt.js +3 -0
  203. package/dist/prompt/systemprompt.js.map +1 -1
  204. package/dist/utils/docker-utils.d.ts +37 -0
  205. package/dist/utils/docker-utils.js +258 -0
  206. package/dist/utils/docker-utils.js.map +1 -0
  207. package/dist/vite-genaicode/vite-genaicode-plugin.js +8 -1
  208. package/dist/vite-genaicode/vite-genaicode-plugin.js.map +1 -1
  209. package/package.json +12 -4
  210. package/dist/main/ui/frontend/assets/index-DylPpHEw.js +0 -2256
@@ -7,7 +7,7 @@ const configurations = {
7
7
  default: modelOverrides.aiStudio?.default ?? 'gemini-2.5-pro',
8
8
  cheap: modelOverrides.aiStudio?.cheap ?? 'gemini-2.5-flash',
9
9
  lite: modelOverrides.aiStudio?.lite ?? 'gemini-2.5-flash-lite',
10
- reasoning: modelOverrides.aiStudio?.reasoning ?? 'gemini-2.0-flash-thinking-exp-01-21',
10
+ reasoning: modelOverrides.aiStudio?.reasoning ?? 'gemini-2.5-pro',
11
11
  modelSpecificSettings: Object.assign({}, modelOverrides.aiStudio?.modelSpecificSettings ?? {}, {
12
12
  'gemini-2.5-flash-lite': {
13
13
  thinkingBudget: 24576,
@@ -30,11 +30,41 @@ const configurations = {
30
30
  apiKey: process.env.OPENAI_API_KEY,
31
31
  openaiBaseUrl: process.env.OPENAI_BASE_URL,
32
32
  modelOverrides: {
33
- default: modelOverrides.openai?.default ?? 'gpt-4o',
34
- cheap: modelOverrides.openai?.cheap ?? 'gpt-4o-mini',
35
- lite: modelOverrides.openai?.lite ?? 'gpt-4o-mini',
36
- reasoning: modelOverrides.openai?.reasoning ?? 'o3-mini',
37
- modelSpecificSettings: modelOverrides.openai?.modelSpecificSettings ?? {},
33
+ default: modelOverrides.openai?.default ?? 'gpt-5',
34
+ cheap: modelOverrides.openai?.cheap ?? 'gpt-5-mini',
35
+ lite: modelOverrides.openai?.lite ?? 'gpt-5-nano',
36
+ reasoning: modelOverrides.openai?.reasoning ?? 'gpt-5',
37
+ modelSpecificSettings: modelOverrides.openai?.modelSpecificSettings ?? {
38
+ 'gpt-5': {
39
+ temperatureUnsupported: true,
40
+ },
41
+ 'gpt-5-mini': {
42
+ temperatureUnsupported: true,
43
+ },
44
+ 'gpt-5-nano': {
45
+ temperatureUnsupported: true,
46
+ },
47
+ },
48
+ },
49
+ },
50
+ 'github-models': {
51
+ apiKey: process.env.GITHUB_TOKEN,
52
+ modelOverrides: {
53
+ default: modelOverrides.githubModels?.default ?? 'gpt-5',
54
+ cheap: modelOverrides.githubModels?.cheap ?? 'gpt-5-mini',
55
+ lite: modelOverrides.githubModels?.lite ?? 'gpt-5-nano',
56
+ reasoning: modelOverrides.githubModels?.reasoning ?? 'o1-mini',
57
+ modelSpecificSettings: modelOverrides.githubModels?.modelSpecificSettings ?? {
58
+ 'gpt-5': {
59
+ temperatureUnsupported: true,
60
+ },
61
+ 'gpt-5-mini': {
62
+ temperatureUnsupported: true,
63
+ },
64
+ 'gpt-5-nano': {
65
+ temperatureUnsupported: true,
66
+ },
67
+ },
38
68
  },
39
69
  },
40
70
  'local-llm': {
@@ -50,24 +80,15 @@ const configurations = {
50
80
  },
51
81
  'vertex-ai': {
52
82
  googleCloudProjectId: process.env.GOOGLE_CLOUD_PROJECT ?? '',
83
+ googleCloudRegion: process.env.GOOGLE_CLOUD_REGION ?? '',
53
84
  modelOverrides: {
54
85
  default: modelOverrides.vertexAi?.default ?? 'gemini-2.5-pro',
55
86
  cheap: modelOverrides.vertexAi?.cheap ?? 'gemini-2.5-flash',
56
87
  lite: modelOverrides.vertexAi?.lite ?? 'gemini-2.5-flash-lite',
57
- reasoning: modelOverrides.vertexAi?.reasoning ?? 'gemini-2.0-flash-thinking-exp-01-21',
88
+ reasoning: modelOverrides.vertexAi?.reasoning ?? 'gemini-2.5-pro',
58
89
  modelSpecificSettings: modelOverrides.vertexAi?.modelSpecificSettings ?? {},
59
90
  },
60
91
  },
61
- 'vertex-ai-claude': {
62
- googleCloudProjectId: process.env.GOOGLE_CLOUD_PROJECT ?? '',
63
- googleCloudRegion: process.env.GOOGLE_CLOUD_REGION ?? '',
64
- modelOverrides: {
65
- default: 'claude-3-5-sonnet@20240620',
66
- cheap: 'claude-3-haiku@20240307',
67
- lite: 'claude-3-haiku@20240307',
68
- reasoning: 'claude-3-5-sonnet@20240620',
69
- },
70
- },
71
92
  };
72
93
  // Merge plugin configurations
73
94
  [...getRegisteredAiServices().entries()].forEach(([serviceType, service]) => {
@@ -101,6 +122,7 @@ export function getModelSettings(serviceType, modelName) {
101
122
  outputTokenLimit: modelSpecificSettings?.outputTokenLimit,
102
123
  thinkingEnabled: modelSpecificSettings?.thinkingEnabled,
103
124
  thinkingBudget: modelSpecificSettings?.thinkingBudget,
125
+ temperatureUnsupported: modelSpecificSettings?.temperatureUnsupported,
104
126
  };
105
127
  }
106
128
  /**
@@ -162,7 +184,6 @@ export function updateServiceConfig(serviceType, config) {
162
184
  };
163
185
  // Preserve sensitive fields if not provided in the update
164
186
  if (serviceType !== 'vertex-ai' &&
165
- serviceType !== 'vertex-ai-claude' &&
166
187
  !('apiKey' in config) && // Check if apiKey is explicitly in the partial update
167
188
  'apiKey' in currentConfig // Check if apiKey exists in the current config
168
189
  ) {
@@ -181,22 +202,6 @@ export function updateServiceConfig(serviceType, config) {
181
202
  currentVertexConfig.googleCloudProjectId;
182
203
  }
183
204
  }
184
- if (serviceType === 'vertex-ai-claude') {
185
- if (!('googleCloudProjectId' in config)) {
186
- const currentVertexClaudeConfig = currentConfig;
187
- if (currentVertexClaudeConfig?.googleCloudProjectId) {
188
- updatedConfig.googleCloudProjectId =
189
- currentVertexClaudeConfig.googleCloudProjectId;
190
- }
191
- }
192
- if (!('googleCloudRegion' in config)) {
193
- const currentVertexClaudeConfig = currentConfig;
194
- if (currentVertexClaudeConfig?.googleCloudRegion) {
195
- updatedConfig.googleCloudRegion =
196
- currentVertexClaudeConfig.googleCloudRegion;
197
- }
198
- }
199
- }
200
205
  configurations[serviceType] = updatedConfig;
201
206
  }
202
207
  /**
@@ -215,11 +220,11 @@ function sanitizeServiceConfig(serviceType, config) {
215
220
  hasModelSpecificSettings,
216
221
  },
217
222
  };
218
- if (serviceType === 'vertex-ai' || serviceType === 'vertex-ai-claude') {
223
+ if (serviceType === 'vertex-ai') {
219
224
  return {
220
225
  ...sanitizedBase,
221
226
  googleCloudProjectId: config.googleCloudProjectId,
222
- googleCloudRegion: serviceType === 'vertex-ai-claude' ? config.googleCloudRegion : undefined,
227
+ googleCloudRegion: undefined,
223
228
  hasApiKey: false, // Vertex services don't use API keys directly in this context
224
229
  };
225
230
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service-configurations.js","sourceRoot":"","sources":["../../src/ai-service/service-configurations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service-configurations.js","sourceRoot":"","sources":["../../src/ai-service/service-configurations.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { AnthropicVertex } from '@anthropic-ai/vertex-sdk';
2
2
  import assert from 'node:assert';
3
- import { printTokenUsageAndCost } from './common.js';
3
+ import { optimizeFunctionDefs, printTokenUsageAndCost } from './common.js';
4
4
  import { ModelType, } from './common-types.js';
5
5
  import { abortController } from '../main/common/abort-controller.js';
6
6
  import { getServiceConfig, getModelSettings } from './service-configurations.js';
@@ -11,7 +11,7 @@ import { reasoningInferenceResponse } from '../prompt/function-defs/reasoning-in
11
11
  export const generateContent = async function generateContent(prompt, config) {
12
12
  const modelType = config.modelType ?? ModelType.DEFAULT;
13
13
  const temperature = config.temperature ?? 0.7;
14
- let functionDefs = config.functionDefs ?? [];
14
+ let functionDefs = optimizeFunctionDefs(prompt, config.functionDefs, config.requiredFunctionName ?? undefined);
15
15
  let requiredFunctionName = config.requiredFunctionName ?? null;
16
16
  const expectedResponseType = config.expectedResponseType ?? { text: true, functionCall: true, media: false };
17
17
  const serviceConfig = getServiceConfig('vertex-ai-claude');
@@ -1 +1 @@
1
- {"version":3,"file":"vertex-ai-claude.js","sourceRoot":"","sources":["../../src/ai-service/vertex-ai-claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vertex-ai-claude.js","sourceRoot":"","sources":["../../src/ai-service/vertex-ai-claude.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { GenerateContentFunction } from './common-types.js';
2
2
  /**
3
3
  * This function generates content using the Vertex AI Gemini models with the new interface.
4
+ * It now delegates to a shared implementation in ai-studio.ts.
4
5
  */
5
6
  export declare const generateContent: GenerateContentFunction;
@@ -1,345 +1,17 @@
1
- import assert from 'node:assert';
2
- import { VertexAI, HarmCategory, HarmBlockThreshold, FunctionCallingMode, SchemaType, } from '@google-cloud/vertexai';
3
- import { printTokenUsageAndCost } from './common.js';
4
- import { ModelType, } from './common-types.js';
5
- import { abortController } from '../main/common/abort-controller.js';
6
- import { unescapeFunctionCall } from './unescape-function-call.js';
7
- import { enableVertexUnescape } from '../cli/cli-params.js';
8
- import { getServiceConfig, getModelSettings } from './service-configurations.js';
1
+ import { internalGoogleGenerateContent } from './ai-studio.js';
9
2
  /**
10
3
  * This function generates content using the Vertex AI Gemini models with the new interface.
4
+ * It now delegates to a shared implementation in ai-studio.ts.
11
5
  */
12
6
  export const generateContent = async function generateContent(prompt, config, options = {}) {
13
7
  try {
14
- // Limitation: https://github.com/googleapis/nodejs-vertexai/issues/143
15
- abortController?.signal.throwIfAborted();
16
- const modelType = config.modelType ?? ModelType.DEFAULT;
17
- const temperature = config.temperature ?? 0.7;
18
- const functionDefs = config.functionDefs ?? [];
19
- const requiredFunctionName = config.requiredFunctionName ?? null;
20
- const expectedResponseType = config.expectedResponseType ?? { text: false, functionCall: true, media: false };
21
- const messages = prompt
22
- .filter((item) => item.type === 'user' || item.type === 'assistant')
23
- .map((item) => {
24
- const parts = [];
25
- if (item.type === 'user') {
26
- if (item.functionResponses) {
27
- parts.push(...item.functionResponses.map((response) => ({
28
- functionResponse: {
29
- name: response.name,
30
- response: { name: response.name, content: response.content },
31
- },
32
- })));
33
- }
34
- if (item.images) {
35
- parts.push(...item.images.map((image) => image.uri
36
- ? {
37
- fileData: {
38
- fileUri: image.uri,
39
- mimeType: image.mediaType,
40
- },
41
- }
42
- : {
43
- inlineData: {
44
- mimeType: image.mediaType,
45
- data: image.base64url,
46
- },
47
- }));
48
- }
49
- if (item.text) {
50
- parts.push({ text: item.text });
51
- }
52
- return { role: 'user', parts };
53
- }
54
- else {
55
- assert(item.type === 'assistant');
56
- if (item.text) {
57
- parts.push({ text: item.text });
58
- }
59
- if (item.functionCalls) {
60
- parts.push(...item.functionCalls.map((call) => ({
61
- functionCall: {
62
- name: call.name,
63
- args: call.args ?? {},
64
- },
65
- })));
66
- }
67
- // Note: Vertex AI SDK currently might not fully support model generating images in parts
68
- if (item.images) {
69
- parts.push(...item.images.map((image) => ({
70
- inlineData: {
71
- mimeType: image.mediaType,
72
- data: image.base64url,
73
- },
74
- })));
75
- }
76
- return { role: 'model', parts };
77
- }
78
- });
79
- const req = {
80
- contents: messages,
81
- };
82
- const modelInstance = await getGenModel({
83
- systemPromptText: prompt.find((item) => item.type === 'systemPrompt')?.systemPrompt,
84
- temperature,
85
- functionDefs,
86
- geminiBlockNone: options.geminiBlockNone,
87
- requiredFunctionName,
88
- modelType,
89
- expectedResponseType,
90
- });
91
- const result = await modelInstance.generateContent(req);
92
- // Print token usage
93
- const usageMetadata = result.response.usageMetadata;
94
- if (usageMetadata) {
95
- const usage = {
96
- inputTokens: usageMetadata.promptTokenCount,
97
- outputTokens: usageMetadata.candidatesTokenCount,
98
- totalTokens: usageMetadata.totalTokenCount,
99
- };
100
- printTokenUsageAndCost({
101
- aiService: 'vertex-ai',
102
- usage,
103
- inputCostPerToken: 0.000125 / 1000, // Example cost, adjust as needed
104
- outputCostPerToken: 0.000375 / 1000, // Example cost, adjust as needed
105
- modelType,
106
- });
107
- }
108
- else {
109
- console.log('Usage metadata not available.');
110
- }
111
- if (result.response.promptFeedback) {
112
- console.log('Prompt feedback:');
113
- console.log(JSON.stringify(result.response.promptFeedback, null, 2));
114
- }
115
- if (!result.response.candidates?.length) {
116
- console.log('Response:', result);
117
- throw new Error('No candidates found');
118
- }
119
- const functionCalls = result.response.candidates
120
- .flatMap((candidate) => candidate.content.parts?.filter((part) => part.functionCall))
121
- .map((part) => part.functionCall)
122
- .filter((functionCall) => !!functionCall)
123
- .map((call) => ({ name: call.name, args: call.args }))
124
- .map(enableVertexUnescape ? unescapeFunctionCall : (call) => call); // Apply unescaping based on flag
125
- // Prepare the result parts array
126
- const resultParts = [];
127
- // Add function calls to result parts if they exist
128
- if (functionCalls.length > 0) {
129
- functionCalls.forEach((call) => {
130
- resultParts.push({
131
- type: 'functionCall',
132
- functionCall: call,
133
- });
134
- });
135
- }
136
- // Handle text response if no function calls were returned or if text is expected
137
- if (functionCalls.length === 0 || expectedResponseType.text) {
138
- const textResponse = result.response.candidates
139
- ?.flatMap((candidate) => candidate.content.parts?.filter((part) => part.text))
140
- .map((part) => part.text)
141
- .filter((text) => !!text)
142
- .join('\n') ?? // Join multiple text parts if they exist
143
- result.response.candidates?.map((candidate) =>
144
- // @ts-expect-error: finishReason might not be typed correctly in SDK
145
- candidate.finishReason === 'MALFORMED_FUNCTION_CALL' ? candidate.finishMessage : '')[0] ??
146
- ''; // Default to empty string
147
- if (textResponse) {
148
- if (expectedResponseType.text) {
149
- resultParts.push({
150
- type: 'text',
151
- text: textResponse,
152
- });
153
- }
154
- // Try to recover function call from text if required function name is provided and no calls were found initially
155
- const functionDef = functionDefs.find((def) => def.name === requiredFunctionName);
156
- if (expectedResponseType.functionCall && functionDef && functionCalls.length === 0) {
157
- try {
158
- const recoveredCall = await recoverFunctionCall(textResponse, functionDef);
159
- if (recoveredCall) {
160
- console.log('Recovered function call.');
161
- resultParts.push({
162
- type: 'functionCall',
163
- functionCall: recoveredCall,
164
- });
165
- }
166
- }
167
- catch (error) {
168
- console.log('Failed to recover function call:', error);
169
- }
170
- }
171
- }
172
- }
173
- // Note: Vertex AI SDK might not return media parts directly in the same way as AI Studio.
174
- // If media generation is needed, a separate API call (e.g., Imagen) might be required.
175
- return resultParts;
8
+ return await internalGoogleGenerateContent('vertex-ai', prompt, config, options);
176
9
  }
177
10
  catch (error) {
178
- if (error instanceof Error && error.message.includes('Project ID not configured')) {
11
+ if (error instanceof Error && error.message.includes('Google Cloud Project ID not configured')) {
179
12
  throw new Error('Google Cloud Project ID not configured. Please set up the service configuration.');
180
13
  }
181
14
  throw error;
182
15
  }
183
16
  };
184
- // A function to get the generative model instance
185
- async function getGenModel(params) {
186
- const { systemPromptText, temperature, functionDefs, geminiBlockNone, requiredFunctionName, modelType, expectedResponseType, } = params;
187
- try {
188
- const serviceConfig = getServiceConfig('vertex-ai');
189
- assert(serviceConfig?.googleCloudProjectId, 'Google Cloud Project ID not configured.');
190
- // Initialize Vertex with your Cloud project and location
191
- const vertex_ai = new VertexAI({ project: serviceConfig.googleCloudProjectId });
192
- // Determine model name
193
- const defaultModelName = modelType === ModelType.CHEAP || modelType === ModelType.LITE ? 'gemini-2.5-flash' : 'gemini-2.5-pro';
194
- const modelOverrides = serviceConfig?.modelOverrides;
195
- const modelName = (modelType === ModelType.CHEAP
196
- ? modelOverrides?.cheap
197
- : modelType === ModelType.LITE
198
- ? modelOverrides?.lite
199
- : modelType === ModelType.REASONING
200
- ? modelOverrides?.reasoning // Use reasoning override if specified
201
- : modelOverrides?.default) ?? defaultModelName;
202
- console.log(`Using Vertex AI model: ${modelName}`);
203
- // Get model-specific settings
204
- const { systemInstruction: modelSystemInstruction, outputTokenLimit, thinkingEnabled, thinkingBudget, } = getModelSettings('vertex-ai', modelName);
205
- console.log(`Thinking enabled: ${thinkingEnabled}, budget: ${thinkingBudget}`);
206
- // TODO: once googleapis/nodejs-vertexai supports thinking_config
207
- // Combine base system prompt with model-specific instructions
208
- let effectiveSystemPrompt = systemPromptText ?? '';
209
- if (modelSystemInstruction?.length) {
210
- effectiveSystemPrompt += `\n${modelSystemInstruction.join('\n')}`;
211
- }
212
- // Configure generation
213
- const generationConfig = {
214
- maxOutputTokens: outputTokenLimit, // Use the potentially model-specific limit
215
- temperature: temperature,
216
- topP: 0.95,
217
- };
218
- // Configure safety settings
219
- const safetySettings = [
220
- {
221
- category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
222
- threshold: geminiBlockNone ? HarmBlockThreshold.BLOCK_NONE : HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
223
- },
224
- {
225
- category: HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
226
- threshold: geminiBlockNone ? HarmBlockThreshold.BLOCK_NONE : HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
227
- },
228
- {
229
- category: HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,
230
- threshold: geminiBlockNone ? HarmBlockThreshold.BLOCK_NONE : HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
231
- },
232
- {
233
- category: HarmCategory.HARM_CATEGORY_HARASSMENT,
234
- threshold: geminiBlockNone ? HarmBlockThreshold.BLOCK_NONE : HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
235
- },
236
- ];
237
- // Configure tools and tool config
238
- let tools = undefined;
239
- let toolConfig = undefined;
240
- if (functionDefs.length > 0 && expectedResponseType.functionCall) {
241
- tools = [
242
- {
243
- functionDeclarations: functionDefs,
244
- },
245
- ];
246
- toolConfig = {
247
- functionCallingConfig: {
248
- mode: FunctionCallingMode.ANY,
249
- ...(requiredFunctionName ? { allowedFunctionNames: [requiredFunctionName] } : {}),
250
- },
251
- };
252
- }
253
- else if (!expectedResponseType.functionCall) {
254
- toolConfig = {
255
- functionCallingConfig: {
256
- mode: FunctionCallingMode.NONE,
257
- },
258
- };
259
- }
260
- // Instantiate the model
261
- return vertex_ai.preview.getGenerativeModel({
262
- model: modelName,
263
- generationConfig,
264
- safetySettings,
265
- ...(effectiveSystemPrompt
266
- ? {
267
- systemInstruction: {
268
- role: 'system', // Role should be 'system'
269
- parts: [{ text: effectiveSystemPrompt }],
270
- },
271
- }
272
- : {}),
273
- ...(tools ? { tools } : {}),
274
- ...(toolConfig ? { toolConfig } : {}),
275
- });
276
- }
277
- catch (error) {
278
- if (error instanceof Error && error.message.includes('Project ID not configured')) {
279
- throw new Error('Google Cloud Project ID not configured. Please set up the service configuration.');
280
- }
281
- throw error;
282
- }
283
- }
284
- // Function to attempt recovery of a function call from text response using JSON mode
285
- async function recoverFunctionCall(textResponse, functionDef) {
286
- console.log('Attempting to recover function call:', functionDef.name);
287
- try {
288
- // @ts-expect-error: functionDef.parameters might not be typed correctly in SDK
289
- const schema = { ...functionDef.parameters, type: SchemaType.OBJECT };
290
- // Use a cheap model for recovery
291
- const recoveryModel = await getGenModel({
292
- systemPromptText: 'Your role is read the text below and extract the parameters for the function call based on the provided schema. Output ONLY the JSON object representing the arguments.',
293
- temperature: 0.1, // Low temperature for deterministic extraction
294
- functionDefs: [], // No function calling needed for recovery itself
295
- geminiBlockNone: undefined,
296
- requiredFunctionName: null,
297
- modelType: ModelType.CHEAP, // Always use cheap model for recovery
298
- expectedResponseType: { text: true, functionCall: false, media: false }, // Expect only text
299
- });
300
- // Get specific settings for the recovery model
301
- const recoveryModelName = getServiceConfig('vertex-ai').modelOverrides?.cheap ?? 'gemini-2.5-flash';
302
- const { outputTokenLimit: recoveryOutputLimit } = getModelSettings('vertex-ai', recoveryModelName);
303
- const recoveryReq = {
304
- contents: [
305
- {
306
- role: 'user',
307
- parts: [
308
- { text: `Function Name: ${functionDef.name}` },
309
- { text: `Function Description: ${functionDef.description}` },
310
- { text: `Input Text:\n${textResponse}` },
311
- ],
312
- },
313
- ],
314
- // generationConfig modification for JSON output
315
- generationConfig: {
316
- responseMimeType: 'application/json',
317
- responseSchema: schema,
318
- temperature: 0.1,
319
- maxOutputTokens: recoveryOutputLimit, // Use limit for the recovery model
320
- },
321
- };
322
- const result = await recoveryModel.generateContent(recoveryReq);
323
- const recoveredText = result.response.candidates?.[0]?.content?.parts?.[0]?.text;
324
- if (!recoveredText) {
325
- console.log('Recovery failed: No text content in response.');
326
- return null;
327
- }
328
- try {
329
- const parsedArgs = JSON.parse(recoveredText);
330
- const recoveredCall = { name: functionDef.name, args: parsedArgs };
331
- console.log('Recovery successful.');
332
- // Apply unescaping if needed
333
- return enableVertexUnescape ? unescapeFunctionCall(recoveredCall) : recoveredCall;
334
- }
335
- catch (parseError) {
336
- console.log('Recovery failed: Could not parse JSON response.', parseError, 'Response text:', recoveredText);
337
- return null;
338
- }
339
- }
340
- catch (error) {
341
- console.error('Error during function call recovery:', error);
342
- return null;
343
- }
344
- }
345
17
  //# sourceMappingURL=vertex-ai.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vertex-ai.js","sourceRoot":"","sources":["../../src/ai-service/vertex-ai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vertex-ai.js","sourceRoot":"","sources":["../../src/ai-service/vertex-ai.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAE/D;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAA4B,KAAK,UAAU,eAAe,CACpF,MAAoB,EACpB,MAWC,EACD,UAKI,EAAE;IAEN,IAAI,CAAC;QACH,OAAO,MAAM,6BAA6B,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE,CAAC;YAC/F,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;QACtG,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC"}
@@ -25,7 +25,7 @@ const cliOptions = [
25
25
  },
26
26
  {
27
27
  name: '--ai-service=<service>',
28
- description: 'Specify the AI service to use for code generation. Available options include vertex-ai, ai-studio, openai, anthropic, vertex-ai-claude, local-llm, and any additional services loaded from plugins.',
28
+ description: 'Specify the AI service to use for code generation. Available options include vertex-ai, ai-studio, openai, anthropic, local-llm, github-models, and any additional services loaded from plugins.',
29
29
  },
30
30
  {
31
31
  name: '--explicit-prompt=<prompt>',
@@ -1 +1 @@
1
- {"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../../src/cli/cli-options.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,GAAgB;IAC9B;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,4BAA4B;KAC1C;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,0DAA0D;KACxE;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,wFAAwF;KACtG;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,oFAAoF;KAClG;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,2FAA2F;KACzG;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,gFAAgF;KAC9F;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,qMAAqM;KACxM;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,gDAAgD;KAC9D;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,+DAA+D;KAC7E;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,4CAA4C;KAC1D;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,yEAAyE;KACvF;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,sFAAsF;KACpG;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,oFAAoF;KAClG;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,gEAAgE;KAC9E;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EACT,8KAA8K;KACjL;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,wGAAwG;KAC3G;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,2EAA2E;KACzF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,oJAAoJ;KACvJ;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,+EAA+E;KAC7F;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,sCAAsC;KACpD;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,wIAAwI;KAC3I;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,sEAAsE;KACpF;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,yDAAyD;KACvE;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,uDAAuD;KACrE;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,sEAAsE;KACpF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAE1B,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,uGAAuG,CAAC,CAAC;AACvH,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../../src/cli/cli-options.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,GAAgB;IAC9B;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,4BAA4B;KAC1C;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,0DAA0D;KACxE;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,wFAAwF;KACtG;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,oFAAoF;KAClG;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,2FAA2F;KACzG;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,gFAAgF;KAC9F;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,kMAAkM;KACrM;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,gDAAgD;KAC9D;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,+DAA+D;KAC7E;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,4CAA4C;KAC1D;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,yEAAyE;KACvF;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,sFAAsF;KACpG;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,oFAAoF;KAClG;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,gEAAgE;KAC9E;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EACT,8KAA8K;KACjL;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,wGAAwG;KAC3G;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,2EAA2E;KACzF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,oJAAoJ;KACvJ;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,+EAA+E;KAC7F;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,sCAAsC;KACpD;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,wIAAwI;KAC3I;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,sEAAsE;KACpF;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,yDAAyD;KACvE;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,uDAAuD;KACrE;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,sEAAsE;KACpF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAE1B,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,uGAAuG,CAAC,CAAC;AACvH,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -75,7 +75,7 @@ export function validateCliParams() {
75
75
  const aiServiceParam = providedParameters.find((param) => param.startsWith('--ai-service='));
76
76
  if (aiServiceParam) {
77
77
  const aiServiceValue = aiServiceParam.split('=')[1];
78
- if (!['vertex-ai', 'openai', 'anthropic', 'ai-studio', 'vertex-ai-claude', 'local-llm'].includes(aiServiceValue) &&
78
+ if (!['vertex-ai', 'openai', 'anthropic', 'ai-studio', 'local-llm', 'github-models'].includes(aiServiceValue) &&
79
79
  !aiServiceValue.startsWith('plugin:')) {
80
80
  throw new Error(`Invalid --ai-service value "${aiServiceValue}"`);
81
81
  }