genaicode 0.9.0 → 0.9.2

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 (83) hide show
  1. package/dist/ai-service/common-types.d.ts +1 -0
  2. package/dist/ai-service/openai.js +1 -1
  3. package/dist/ai-service/service-configurations.js +1 -1
  4. package/dist/cli/cli-params.js +21 -0
  5. package/dist/cli/cli-params.js.map +1 -1
  6. package/dist/cli/validate-cli-params.js +19 -11
  7. package/dist/cli/validate-cli-params.js.map +1 -1
  8. package/dist/files/read-files.js +8 -2
  9. package/dist/files/read-files.js.map +1 -1
  10. package/dist/files/source-code-tree.d.ts +2 -5
  11. package/dist/files/source-code-tree.js +3 -32
  12. package/dist/files/source-code-tree.js.map +1 -1
  13. package/dist/files/source-code-types.d.ts +7 -2
  14. package/dist/files/source-code-utils.d.ts +22 -0
  15. package/dist/files/source-code-utils.js +70 -0
  16. package/dist/files/source-code-utils.js.map +1 -0
  17. package/dist/files/summary-cache.d.ts +1 -1
  18. package/dist/files/summary-cache.js +1 -1
  19. package/dist/main/common/user-actions.d.ts +1 -1
  20. package/dist/main/common/user-actions.js +3 -3
  21. package/dist/main/common/user-actions.js.map +1 -1
  22. package/dist/main/ui/backend/endpoints/generate-content-endpoint.js +6 -5
  23. package/dist/main/ui/backend/endpoints/generate-content-endpoint.js.map +1 -1
  24. package/dist/main/ui/backend/service.js +10 -8
  25. package/dist/main/ui/backend/service.js.map +1 -1
  26. package/dist/main/ui/frontend/assets/{index-DfiFNFf2.js → index-B0R1bgBi.js} +69 -65
  27. package/dist/main/ui/frontend/index.html +1 -1
  28. package/dist/prompt/ai-service-fallback.js +1 -1
  29. package/dist/prompt/ai-service-fallback.js.map +1 -1
  30. package/dist/prompt/function-calling-validate.js +1 -0
  31. package/dist/prompt/function-calling-validate.js.map +1 -1
  32. package/dist/prompt/function-calling.js +2 -0
  33. package/dist/prompt/function-calling.js.map +1 -1
  34. package/dist/prompt/function-defs/ask-question.js +4 -0
  35. package/dist/prompt/function-defs/ask-question.js.map +1 -1
  36. package/dist/prompt/function-defs/context-compression.d.ts +27 -0
  37. package/dist/prompt/function-defs/context-compression.js +34 -0
  38. package/dist/prompt/function-defs/context-compression.js.map +1 -0
  39. package/dist/prompt/function-defs/get-source-code.js +8 -11
  40. package/dist/prompt/function-defs/get-source-code.js.map +1 -1
  41. package/dist/prompt/function-defs/set-summaries.d.ts +1 -1
  42. package/dist/prompt/function-defs/set-summaries.js +10 -6
  43. package/dist/prompt/function-defs/set-summaries.js.map +1 -1
  44. package/dist/prompt/prompt-service.js +3 -3
  45. package/dist/prompt/prompt-service.js.map +1 -1
  46. package/dist/prompt/steps/step-ask-question/handlers/code-generation.js +26 -6
  47. package/dist/prompt/steps/step-ask-question/handlers/code-generation.js.map +1 -1
  48. package/dist/prompt/steps/step-ask-question/handlers/handle-context-compression.d.ts +2 -0
  49. package/dist/prompt/steps/step-ask-question/handlers/handle-context-compression.js +33 -0
  50. package/dist/prompt/steps/step-ask-question/handlers/handle-context-compression.js.map +1 -0
  51. package/dist/prompt/steps/step-ask-question/handlers/handle-end-conversation.d.ts +1 -1
  52. package/dist/prompt/steps/step-ask-question/handlers/handle-end-conversation.js +17 -1
  53. package/dist/prompt/steps/step-ask-question/handlers/handle-end-conversation.js.map +1 -1
  54. package/dist/prompt/steps/step-ask-question/handlers/handle-pull-app-context.js +35 -45
  55. package/dist/prompt/steps/step-ask-question/handlers/handle-pull-app-context.js.map +1 -1
  56. package/dist/prompt/steps/step-ask-question/handlers/handle-push-app-context.js +35 -36
  57. package/dist/prompt/steps/step-ask-question/handlers/handle-push-app-context.js.map +1 -1
  58. package/dist/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.js +24 -14
  59. package/dist/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.js.map +1 -1
  60. package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js +15 -19
  61. package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js.map +1 -1
  62. package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js +36 -23
  63. package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js.map +1 -1
  64. package/dist/prompt/steps/step-ask-question/step-ask-question-types.d.ts +1 -1
  65. package/dist/prompt/steps/step-ask-question/step-ask-question.js +2 -0
  66. package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
  67. package/dist/prompt/steps/step-context-compression.d.ts +8 -0
  68. package/dist/prompt/steps/step-context-compression.js +121 -0
  69. package/dist/prompt/steps/step-context-compression.js.map +1 -0
  70. package/dist/prompt/steps/step-context-optimization.js +8 -6
  71. package/dist/prompt/steps/step-context-optimization.js.map +1 -1
  72. package/dist/prompt/steps/step-ensure-context.js +4 -9
  73. package/dist/prompt/steps/step-ensure-context.js.map +1 -1
  74. package/dist/prompt/steps/step-generate-summary.js +1 -0
  75. package/dist/prompt/steps/step-generate-summary.js.map +1 -1
  76. package/dist/prompt/steps/step-process-file-updates.js +1 -0
  77. package/dist/prompt/steps/step-process-file-updates.js.map +1 -1
  78. package/dist/prompt/steps/step-summarization.d.ts +5 -0
  79. package/dist/prompt/steps/step-summarization.js +77 -42
  80. package/dist/prompt/steps/step-summarization.js.map +1 -1
  81. package/dist/prompt/systemprompt.js +1 -0
  82. package/dist/prompt/systemprompt.js.map +1 -1
  83. package/package.json +2 -2
@@ -33,6 +33,7 @@ export type PromptItemImage = {
33
33
  base64url: string;
34
34
  };
35
35
  export interface PromptItem {
36
+ itemId?: 'INITIAL_PROMPT';
36
37
  type: 'systemPrompt' | 'user' | 'assistant';
37
38
  systemPrompt?: string;
38
39
  text?: string;
@@ -17,7 +17,7 @@ export const generateContent = async function generateContent(prompt, functionDe
17
17
  case ModelType.CHEAP:
18
18
  return serviceConfig.modelOverrides?.cheap ?? 'gpt-4o-mini';
19
19
  case ModelType.REASONING:
20
- return serviceConfig.modelOverrides?.reasoning ?? 'o1-mini';
20
+ return serviceConfig.modelOverrides?.reasoning ?? 'o3-mini';
21
21
  default:
22
22
  return serviceConfig.modelOverrides?.default ?? 'gpt-4o-2024-11-20';
23
23
  }
@@ -23,7 +23,7 @@ const configurations = {
23
23
  modelOverrides: {
24
24
  default: modelOverrides.openai?.default ?? 'gpt-4o-2024-11-20',
25
25
  cheap: modelOverrides.openai?.cheap ?? 'gpt-4o-mini',
26
- reasoning: modelOverrides.openai?.reasoning ?? 'o1-mini',
26
+ reasoning: modelOverrides.openai?.reasoning ?? 'o3-mini',
27
27
  },
28
28
  },
29
29
  'vertex-ai': {
@@ -2,6 +2,26 @@ import fs from 'fs';
2
2
  import path from 'path';
3
3
  import { serviceAutoDetect } from './service-autodetect.js';
4
4
  const params = process.argv.slice(2);
5
+ // Handle positional arguments first
6
+ const positionalArgs = params.filter((param) => !param.startsWith('--'));
7
+ const namedArgs = params.filter((param) => param.startsWith('--'));
8
+ // Process first positional argument as either explicit prompt or task file
9
+ if (positionalArgs.length > 0) {
10
+ const firstArg = positionalArgs[0];
11
+ const hasExplicitPrompt = namedArgs.some((arg) => arg.startsWith('--explicit-prompt='));
12
+ const hasTaskFile = namedArgs.some((arg) => arg.startsWith('--task-file='));
13
+ // Only process if neither explicit prompt nor task file is provided via named arguments
14
+ if (!hasExplicitPrompt && !hasTaskFile) {
15
+ // Check if the argument is a file that exists
16
+ const possibleFilePath = path.isAbsolute(firstArg) ? firstArg : path.join(process.cwd(), firstArg);
17
+ if (fs.existsSync(possibleFilePath)) {
18
+ params.push(`--task-file=${firstArg}`);
19
+ }
20
+ else {
21
+ params.push(`--explicit-prompt=${firstArg}`);
22
+ }
23
+ }
24
+ }
5
25
  export const dryRun = params.includes('--dry-run');
6
26
  export const allowFileCreate = !params.includes('--disallow-file-create');
7
27
  export const allowFileDelete = !params.includes('--disallow-file-delete');
@@ -33,6 +53,7 @@ export const ignorePatterns = params
33
53
  export const disableAiServiceFallback = params.includes('--disable-ai-service-fallback');
34
54
  export const enableVertexUnescape = params.includes('--enable-vertex-unescape');
35
55
  export const disableHistory = params.includes('--disable-history');
56
+ // Validate task file and explicitPrompt exclusivity
36
57
  // New variable to store the ui-port value
37
58
  export const uiPort = parseInt(params.find((param) => param.startsWith('--ui-port='))?.split('=')[1] || '1337', 10);
38
59
  if (taskFile) {
@@ -1 +1 @@
1
- {"version":3,"file":"cli-params.js","sourceRoot":"","sources":["../../src/cli/cli-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAErC,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;AAEtE,MAAM,CAAC,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3G,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;AAC5F,MAAM,CAAC,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAG3E,CAAC;AACd,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,oCAAoC;AAClI,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;AAE5F,gCAAgC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAEvD,wBAAwB;AACxB,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CACnC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CACnF,CAAC,CAAC,iCAAiC;AAEpC,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;AAEnH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM;KACjC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;KACxD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;AACzF,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;AAEnE,0CAA0C;AAC1C,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;AAEpH,IAAI,QAAQ,EAAE,CAAC;IACb,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,iBAAiB,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QACrD,SAAS,GAAG,QAAQ,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AAED,IAAI,WAAW,EAAE,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,IAAI,MAAM,EAAE,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;AACxD,CAAC;AAED,IAAI,KAAK,EAAE,CAAC;IACV,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;AACjF,CAAC;AAED,IAAI,WAAW,EAAE,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,mBAAmB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,IAAI,WAAW,IAAI,EAAE,EAAE,CAAC;IACtB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AAC3D,CAAC;AAED,IAAI,WAAW,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;AACzD,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;AAC9D,CAAC;AAED,IAAI,WAAW,EAAE,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAC1C,CAAC;AAED,IAAI,wBAAwB,EAAE,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;AACjD,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;AAC1D,CAAC;AAED,kBAAkB;AAClB,IAAI,EAAE,EAAE,CAAC;IACP,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"cli-params.js","sourceRoot":"","sources":["../../src/cli/cli-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAErC,oCAAoC;AACpC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACzE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAEnE,2EAA2E;AAC3E,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACxF,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IAE5E,wFAAwF;IACxF,IAAI,CAAC,iBAAiB,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,8CAA8C;QAC9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;QACnG,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;AAEtE,MAAM,CAAC,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3G,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;AAC5F,MAAM,CAAC,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAG3E,CAAC;AACd,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,oCAAoC;AAClI,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;AAE5F,gCAAgC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAEvD,wBAAwB;AACxB,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CACnC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CACnF,CAAC,CAAC,iCAAiC;AAEpC,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;AAEnH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM;KACjC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;KACxD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;AACzF,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;AAEnE,oDAAoD;AACpD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;AAEpH,IAAI,QAAQ,EAAE,CAAC;IACb,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,iBAAiB,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QACrD,SAAS,GAAG,QAAQ,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AAED,IAAI,WAAW,EAAE,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,IAAI,MAAM,EAAE,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;AACxD,CAAC;AAED,IAAI,KAAK,EAAE,CAAC;IACV,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;AACjF,CAAC;AAED,IAAI,WAAW,EAAE,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,mBAAmB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,IAAI,WAAW,IAAI,EAAE,EAAE,CAAC;IACtB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AAC3D,CAAC;AAED,IAAI,WAAW,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;AACzD,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;AAC9D,CAAC;AAED,IAAI,WAAW,EAAE,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAC1C,CAAC;AAED,IAAI,wBAAwB,EAAE,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;AACjD,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;AAC1D,CAAC;AAED,kBAAkB;AAClB,IAAI,EAAE,EAAE,CAAC;IACP,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;AACpD,CAAC"}
@@ -44,22 +44,31 @@ export function validateCliParams() {
44
44
  const providedParameters = process.argv.slice(2);
45
45
  // Check if --help is present
46
46
  const helpRequested = providedParameters.includes('--help');
47
+ const positionalArgs = providedParameters.filter((param) => !param.startsWith('--'));
48
+ const namedArgs = providedParameters.filter((param) => param.startsWith('--'));
47
49
  if (helpRequested) {
48
50
  // If --help is present, no other parameters should be allowed
49
51
  if (providedParameters.length > 1) {
50
- console.error('The --help option cannot be used with other parameters.');
51
- process.exit(1);
52
+ throw new Error('Error: The --help option must be used alone.');
52
53
  }
53
54
  return; // Exit the function early as no further validation is needed
54
55
  }
55
- providedParameters.forEach((param) => {
56
- if (!param.startsWith('--')) {
57
- console.error(`Invalid parameter: ${param}, all parameters must start with --`);
58
- process.exit(1);
56
+ // Validate positional arguments
57
+ if (positionalArgs.length > 1) {
58
+ throw new Error('Error: Only one positional argument is allowed. Use named parameters (--option=value) for additional options.');
59
+ }
60
+ // Check for conflicts between positional and named arguments
61
+ if (positionalArgs.length > 0) {
62
+ const hasExplicitPrompt = namedArgs.some((arg) => arg.startsWith('--explicit-prompt='));
63
+ const hasTaskFile = namedArgs.some((arg) => arg.startsWith('--task-file='));
64
+ if (hasExplicitPrompt || hasTaskFile) {
65
+ throw new Error('Error: Cannot use positional argument with --explicit-prompt or --task-file. Choose either positional or named parameter style.');
59
66
  }
67
+ }
68
+ // Validate named parameters
69
+ namedArgs.forEach((param) => {
60
70
  if (!allowedParameters.some((p) => (p.endsWith('=') && param.startsWith(p)) || param === p)) {
61
- console.error(`Invalid parameter: ${param}, allowed parameters are: ${allowedParameters.join(', ')}`);
62
- process.exit(1);
71
+ throw new Error(`Error: Invalid parameter "${param}". Allowed parameters are:\n ${allowedParameters.join('\n ')}`);
63
72
  }
64
73
  });
65
74
  // Validate --ai-service parameter
@@ -68,7 +77,7 @@ export function validateCliParams() {
68
77
  const aiServiceValue = aiServiceParam.split('=')[1];
69
78
  if (!['vertex-ai', 'openai', 'anthropic', 'ai-studio', 'vertex-ai-claude'].includes(aiServiceValue) &&
70
79
  !aiServiceValue.startsWith('plugin:')) {
71
- throw new Error('Invalid --ai-service value');
80
+ throw new Error(`Invalid --ai-service value "${aiServiceValue}"`);
72
81
  }
73
82
  }
74
83
  // Validate temperature parameter, it must be a number between 0.0 and 2.0
@@ -76,8 +85,7 @@ export function validateCliParams() {
76
85
  if (temperatureParam) {
77
86
  const temperatureValue = parseFloat(temperatureParam.split('=')[1]);
78
87
  if (isNaN(temperatureValue) || temperatureValue < 0.0 || temperatureValue > 2.0) {
79
- console.error('Invalid temperature value. It must be a number between 0.0 and 2.0.');
80
- process.exit(1);
88
+ throw new Error('Invalid temperature value. It must be a number between 0.0 and 2.0.');
81
89
  }
82
90
  }
83
91
  // Validate --imagen parameter
@@ -1 +1 @@
1
- {"version":3,"file":"validate-cli-params.js","sourceRoot":"","sources":["../../src/cli/validate-cli-params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-cli-params.js","sourceRoot":"","sources":["../../src/cli/validate-cli-params.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { rcConfig, importantContext, rcConfigSchemaFilePath } from '../main/conf
8
8
  import { verifySourceCodeLimit } from '../prompt/limits.js';
9
9
  import { getSummary } from './summary-cache.js';
10
10
  import { GENAICODERC_SCHEMA } from '../main/config-schema.js';
11
+ import { md5 } from './cache-file.js';
11
12
  /**
12
13
  * Read contents of source files and create a map with file path as key and file content as value
13
14
  */
@@ -24,6 +25,7 @@ function readSourceFiles({ contentMask, ignorePatterns }, filterPaths, forceAll
24
25
  if (importantFiles.has(file)) {
25
26
  const content = readFileContent(file);
26
27
  sourceCode[file] = {
28
+ fileId: md5(file),
27
29
  content,
28
30
  dependencies: summary?.dependencies,
29
31
  };
@@ -35,10 +37,11 @@ function readSourceFiles({ contentMask, ignorePatterns }, filterPaths, forceAll
35
37
  if (!relativePath.startsWith(contentMask)) {
36
38
  sourceCode[file] = summary
37
39
  ? {
40
+ fileId: md5(file),
38
41
  summary: summary.summary,
39
42
  ...(summary.dependencies?.length ? { dependencies: summary.dependencies } : {}),
40
43
  }
41
- : { content: null };
44
+ : { fileId: md5(file), content: null };
42
45
  continue;
43
46
  }
44
47
  }
@@ -46,14 +49,16 @@ function readSourceFiles({ contentMask, ignorePatterns }, filterPaths, forceAll
46
49
  sourceCode[file] =
47
50
  !ignorePatterns?.some((pattern) => globRegex(pattern).test(file)) && summary
48
51
  ? {
52
+ fileId: md5(file),
49
53
  summary: summary.summary,
50
54
  ...(summary.dependencies?.length ? { dependencies: summary.dependencies } : {}),
51
55
  }
52
- : { content: null };
56
+ : { fileId: md5(file), content: null };
53
57
  }
54
58
  else {
55
59
  const content = readFileContent(file);
56
60
  sourceCode[file] = {
61
+ fileId: md5(file),
57
62
  content,
58
63
  dependencies: summary?.dependencies,
59
64
  };
@@ -74,6 +79,7 @@ export function getSourceCode({ filterPaths, taskFile, forceAll, ignoreImportant
74
79
  const sourceCode = readSourceFiles(options, filterPaths, forceAll, ignoreImportantFiles);
75
80
  if (taskFile && !sourceCode[taskFile]) {
76
81
  sourceCode[taskFile] = {
82
+ fileId: md5(taskFile),
77
83
  content: readFileContent(taskFile),
78
84
  };
79
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"read-files.js","sourceRoot":"","sources":["../../src/files/read-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-files.js","sourceRoot":"","sources":["../../src/files/read-files.ts"],"names":[],"mappings":"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"}
@@ -4,16 +4,13 @@ import { FileContent } from './source-code-types.js';
4
4
  /**
5
5
  * Directory structure representing source code files with their content or summaries and dependencies
6
6
  */
7
- export type SourceCodeTree = {
7
+ type SourceCodeTree = {
8
8
  [directoryPath: string]: {
9
9
  [filePath: string]: FileContent | FileSummary;
10
10
  };
11
11
  };
12
- /**
13
- * Converts flat SourceCodeMap into a directory tree structure
14
- */
15
- export declare function getSourceCodeTree(sourceCode: SourceCodeMap): SourceCodeTree;
16
12
  /**
17
13
  * Converts directory tree structure back into flat SourceCodeMap
18
14
  */
19
15
  export declare function parseSourceCodeTree(sourceCodeTree: SourceCodeTree): SourceCodeMap;
16
+ export {};
@@ -1,5 +1,4 @@
1
- import path from 'path';
2
- import { rcConfig } from '../main/config.js';
1
+ import { md5 } from './cache-file.js';
3
2
  /**
4
3
  * Type guard to check if an object is a FileContent with dependencies
5
4
  */
@@ -12,36 +11,6 @@ function hasContent(obj) {
12
11
  function hasSummary(obj) {
13
12
  return 'summary' in obj;
14
13
  }
15
- /**
16
- * Converts flat SourceCodeMap into a directory tree structure
17
- */
18
- export function getSourceCodeTree(sourceCode) {
19
- const result = {};
20
- for (const [filePath, fileData] of Object.entries(sourceCode)) {
21
- if (!filePath.startsWith(rcConfig.rootDir)) {
22
- continue;
23
- }
24
- const dirPath = path.dirname(filePath);
25
- const fileName = path.basename(filePath);
26
- if (!result[dirPath]) {
27
- result[dirPath] = {};
28
- }
29
- // Handle both content and summary cases while preserving dependencies
30
- if (hasContent(fileData)) {
31
- result[dirPath][fileName] = {
32
- content: fileData.content,
33
- ...(fileData.dependencies && { dependencies: fileData.dependencies }),
34
- };
35
- }
36
- else if (hasSummary(fileData)) {
37
- result[dirPath][fileName] = {
38
- summary: fileData.summary,
39
- ...(fileData.dependencies && { dependencies: fileData.dependencies }),
40
- };
41
- }
42
- }
43
- return result;
44
- }
45
14
  /**
46
15
  * Converts directory tree structure back into flat SourceCodeMap
47
16
  */
@@ -53,12 +22,14 @@ export function parseSourceCodeTree(sourceCodeTree) {
53
22
  // Handle both content and summary cases while preserving dependencies
54
23
  if (hasContent(fileData)) {
55
24
  result[fullPath] = {
25
+ fileId: md5(fullPath),
56
26
  content: fileData.content,
57
27
  ...(fileData.dependencies && { dependencies: fileData.dependencies }),
58
28
  };
59
29
  }
60
30
  else if (hasSummary(fileData)) {
61
31
  result[fullPath] = {
32
+ fileId: md5(fullPath),
62
33
  summary: fileData.summary,
63
34
  ...(fileData.dependencies && { dependencies: fileData.dependencies }),
64
35
  };
@@ -1 +1 @@
1
- {"version":3,"file":"source-code-tree.js","sourceRoot":"","sources":["../../src/files/source-code-tree.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;GAEG;AACH,SAAS,UAAU,CAAC,GAA8B;IAChD,OAAO,SAAS,IAAI,GAAG,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,GAA8B;IAChD,OAAO,SAAS,IAAI,GAAG,CAAC;AAC1B,CAAC;AAWD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAyB;IACzD,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACvB,CAAC;QAED,sEAAsE;QACtE,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG;gBAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;aACtE,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG;gBAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;aACtE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,cAA8B;IAChE,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9D,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC;YAE1C,sEAAsE;YACtE,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,QAAQ,CAAC,GAAG;oBACjB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;iBACtE,CAAC;YACJ,CAAC;iBAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,QAAQ,CAAC,GAAG;oBACjB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;iBACtE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"source-code-tree.js","sourceRoot":"","sources":["../../src/files/source-code-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAKtC;;GAEG;AACH,SAAS,UAAU,CAAC,GAA8B;IAChD,OAAO,SAAS,IAAI,GAAG,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,GAA8B;IAChD,OAAO,SAAS,IAAI,GAAG,CAAC;AAC1B,CAAC;AAWD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,cAA8B;IAChE,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9D,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC;YAE1C,sEAAsE;YACtE,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,QAAQ,CAAC,GAAG;oBACjB,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC;oBACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;iBACtE,CAAC;YACJ,CAAC;iBAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,QAAQ,CAAC,GAAG;oBACjB,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC;oBACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;iBACtE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -6,7 +6,10 @@ export interface DependencyInfo {
6
6
  path: string;
7
7
  /** Type of dependency */
8
8
  type: 'local' | 'external';
9
- } /**
9
+ /** Unique identifier for the dependent file */
10
+ fileId?: string;
11
+ }
12
+ /**
10
13
  * Represents file content with optional dependencies
11
14
  */
12
15
  export interface FileContent {
@@ -23,4 +26,6 @@ export interface FileSummary {
23
26
  /** Optional list of dependencies */
24
27
  dependencies?: DependencyInfo[];
25
28
  }
26
- export type SourceCodeMap = Record<string, FileContent | FileSummary>;
29
+ export type SourceCodeMap = Record<string, {
30
+ fileId: string;
31
+ } & (FileContent | FileSummary)>;
@@ -0,0 +1,22 @@
1
+ import { SourceCodeMap } from './source-code-types.js';
2
+ import { CodegenOptions } from '../main/codegen-types.js';
3
+ /**
4
+ * Returns a SourceCodeMap containing the content of context files, their first-level dependencies,
5
+ * and files that depend on the context files.
6
+ *
7
+ * @param contextPaths An array of file paths to consider as context.
8
+ * @param options Codegen options to be passed to getSourceCode.
9
+ * @returns A SourceCodeMap containing:
10
+ * 1. All files from contextPaths
11
+ * 2. Their first-level dependencies
12
+ * 3. Files that depend on the context files
13
+ */
14
+ export declare function getContextSourceCode(contextPaths: string[], options: CodegenOptions): SourceCodeMap;
15
+ /**
16
+ * Returns an array of file paths that are expanded from the given context paths.
17
+ *
18
+ * @param contextPaths
19
+ * @param options
20
+ * @returns
21
+ */
22
+ export declare function getExpandedContextPaths(contextPaths: string[], options: CodegenOptions): string[];
@@ -0,0 +1,70 @@
1
+ import { getSourceCode } from './read-files.js';
2
+ /**
3
+ * Returns a SourceCodeMap containing the content of context files, their first-level dependencies,
4
+ * and files that depend on the context files.
5
+ *
6
+ * @param contextPaths An array of file paths to consider as context.
7
+ * @param options Codegen options to be passed to getSourceCode.
8
+ * @returns A SourceCodeMap containing:
9
+ * 1. All files from contextPaths
10
+ * 2. Their first-level dependencies
11
+ * 3. Files that depend on the context files
12
+ */
13
+ export function getContextSourceCode(contextPaths, options) {
14
+ if (!contextPaths || contextPaths.length === 0) {
15
+ return {};
16
+ }
17
+ const allSourceCodeMap = getSourceCode({ forceAll: true, ignoreImportantFiles: true }, options);
18
+ const resultSourceCodeMap = {};
19
+ const dependencyPaths = new Set();
20
+ const reverseDependencyPaths = new Set();
21
+ // Add context paths and their first-level dependencies
22
+ for (const contextPath of contextPaths) {
23
+ if (allSourceCodeMap[contextPath]) {
24
+ resultSourceCodeMap[contextPath] = allSourceCodeMap[contextPath];
25
+ const dependencies = allSourceCodeMap[contextPath]?.dependencies;
26
+ if (dependencies) {
27
+ dependencies.forEach((dep) => dependencyPaths.add(dep.path));
28
+ }
29
+ }
30
+ }
31
+ // Add dependency files to the result
32
+ for (const dependencyPath of dependencyPaths) {
33
+ if (allSourceCodeMap[dependencyPath]) {
34
+ resultSourceCodeMap[dependencyPath] = allSourceCodeMap[dependencyPath];
35
+ }
36
+ }
37
+ // Find reverse dependencies
38
+ for (const filePath of Object.keys(allSourceCodeMap)) {
39
+ const fileContent = allSourceCodeMap[filePath];
40
+ const dependencies = fileContent?.dependencies;
41
+ if (dependencies) {
42
+ for (const dep of dependencies) {
43
+ if (contextPaths.includes(dep.path)) {
44
+ reverseDependencyPaths.add(filePath);
45
+ break; // Add the file only once if it depends on any context path
46
+ }
47
+ }
48
+ }
49
+ }
50
+ // Add reverse dependency files to the result
51
+ for (const reverseDependencyPath of reverseDependencyPaths) {
52
+ if (allSourceCodeMap[reverseDependencyPath]) {
53
+ resultSourceCodeMap[reverseDependencyPath] = allSourceCodeMap[reverseDependencyPath];
54
+ }
55
+ }
56
+ return resultSourceCodeMap;
57
+ }
58
+ /**
59
+ * Returns an array of file paths that are expanded from the given context paths.
60
+ *
61
+ * @param contextPaths
62
+ * @param options
63
+ * @returns
64
+ */
65
+ export function getExpandedContextPaths(contextPaths, options) {
66
+ const sourceCodeMap = getContextSourceCode(contextPaths, options);
67
+ // need to make sure original contextPaths values are included in the result
68
+ return [...new Set([...contextPaths, ...Object.keys(sourceCodeMap)])];
69
+ }
70
+ //# sourceMappingURL=source-code-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-code-utils.js","sourceRoot":"","sources":["../../src/files/source-code-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,YAAsB,EAAE,OAAuB;IAClF,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,gBAAgB,GAAG,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAChG,MAAM,mBAAmB,GAAkB,EAAE,CAAC;IAC9C,MAAM,eAAe,GAAgB,IAAI,GAAG,EAAE,CAAC;IAC/C,MAAM,sBAAsB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAEtD,uDAAuD;IACvD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,mBAAmB,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACjE,MAAM,YAAY,GAAI,gBAAgB,CAAC,WAAW,CAA+B,EAAE,YAAY,CAAC;YAChG,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;QAC7C,IAAI,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC;YACrC,mBAAmB,CAAC,cAAc,CAAC,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrD,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAA8B,CAAC;QAC5E,MAAM,YAAY,GAAG,WAAW,EAAE,YAAY,CAAC;QAC/C,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACrC,MAAM,CAAC,2DAA2D;gBACpE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE,CAAC;QAC3D,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC5C,mBAAmB,CAAC,qBAAqB,CAAC,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAAsB,EAAE,OAAuB;IACrF,MAAM,aAAa,GAAG,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAClE,4EAA4E;IAC5E,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { DependencyInfo } from './source-code-types';
2
- export declare const CACHE_VERSION = "v6";
2
+ export declare const CACHE_VERSION = "v7";
3
3
  export interface SummaryInfo {
4
4
  filePath: string;
5
5
  tokenCount: number;
@@ -1,5 +1,5 @@
1
1
  import { readCache } from './cache-file.js';
2
- export const CACHE_VERSION = 'v6'; // Incremented version for dependency support
2
+ export const CACHE_VERSION = 'v7'; // Incremented version for dependency support
3
3
  export const summaryCache = readCache('summaries', {
4
4
  _version: CACHE_VERSION,
5
5
  });
@@ -18,7 +18,7 @@ export type ConfirmHandlerProps = {
18
18
  };
19
19
  type ConfirmHandler = (props: ConfirmHandlerProps) => Promise<ConfirmHandlerResponse>;
20
20
  export declare function askUserForInput(prompt: string, message: string, options: CodegenOptions): Promise<InputHandlerResponse>;
21
- export declare function askUserForConfirmation(prompt: string, defaultValue: boolean, options: CodegenOptions): Promise<ConfirmHandlerResponse>;
21
+ export declare function askUserForConfirmation(prompt: string, defaultValue: boolean, options: CodegenOptions, confirmLabel?: string, declineLabel?: string): Promise<ConfirmHandlerResponse>;
22
22
  export declare function askUserForConfirmationWithAnswer(prompt: string, confirmLabel: string, declineLabel: string, defaultValue: boolean, options: CodegenOptions): Promise<ConfirmHandlerResponse>;
23
23
  export declare function registerInputHandler(handler: InputHandler): void;
24
24
  export declare function registerConfirmHandler(handler: ConfirmHandler): void;
@@ -1,11 +1,11 @@
1
1
  export async function askUserForInput(prompt, message, options) {
2
2
  return handleOptionsUpdate(await inputHandler(prompt, message), options);
3
3
  }
4
- export async function askUserForConfirmation(prompt, defaultValue, options) {
4
+ export async function askUserForConfirmation(prompt, defaultValue, options, confirmLabel = 'Yes', declineLabel = 'No') {
5
5
  return handleOptionsUpdate(await confirmHandler({
6
6
  prompt,
7
- confirmLabel: 'Yes',
8
- declineLabel: 'No',
7
+ confirmLabel,
8
+ declineLabel,
9
9
  includeAnswer: false,
10
10
  defaultValue,
11
11
  }), options);
@@ -1 +1 @@
1
- {"version":3,"file":"user-actions.js","sourceRoot":"","sources":["../../../src/main/common/user-actions.ts"],"names":[],"mappings":"AAyBA,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,OAAe,EACf,OAAuB;IAEvB,OAAO,mBAAmB,CAAC,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,YAAqB,EACrB,OAAuB;IAEvB,OAAO,mBAAmB,CACxB,MAAM,cAAc,CAAC;QACnB,MAAM;QACN,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,KAAK;QACpB,YAAY;KACb,CAAC,EACF,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,MAAc,EACd,YAAoB,EACpB,YAAoB,EACpB,YAAqB,EACrB,OAAuB;IAEvB,OAAO,mBAAmB,CACxB,MAAM,cAAc,CAAC;QACnB,MAAM;QACN,YAAY;QACZ,YAAY;QACZ,aAAa,EAAE,IAAI;QACnB,YAAY;KACb,CAAC,EACF,OAAO,CACR,CAAC;AACJ,CAAC;AAED,IAAI,YAA0B,CAAC;AAC/B,IAAI,cAA8B,CAAC;AAEnC,MAAM,UAAU,oBAAoB,CAAC,OAAqB;IACxD,YAAY,GAAG,OAAO,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAuB;IAC5D,cAAc,GAAG,OAAO,CAAC;AAC3B,CAAC;AAED,SAAS,mBAAmB,CAAyC,QAAW,EAAE,OAAuB;IACvG,IAAI,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;IACjD,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;IACzC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"user-actions.js","sourceRoot":"","sources":["../../../src/main/common/user-actions.ts"],"names":[],"mappings":"AAyBA,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,OAAe,EACf,OAAuB;IAEvB,OAAO,mBAAmB,CAAC,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,YAAqB,EACrB,OAAuB,EACvB,YAAY,GAAG,KAAK,EACpB,YAAY,GAAG,IAAI;IAEnB,OAAO,mBAAmB,CACxB,MAAM,cAAc,CAAC;QACnB,MAAM;QACN,YAAY;QACZ,YAAY;QACZ,aAAa,EAAE,KAAK;QACpB,YAAY;KACb,CAAC,EACF,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,MAAc,EACd,YAAoB,EACpB,YAAoB,EACpB,YAAqB,EACrB,OAAuB;IAEvB,OAAO,mBAAmB,CACxB,MAAM,cAAc,CAAC;QACnB,MAAM;QACN,YAAY;QACZ,YAAY;QACZ,aAAa,EAAE,IAAI;QACnB,YAAY;KACb,CAAC,EACF,OAAO,CACR,CAAC;AACJ,CAAC;AAED,IAAI,YAA0B,CAAC;AAC/B,IAAI,cAA8B,CAAC;AAEnC,MAAM,UAAU,oBAAoB,CAAC,OAAqB;IACxD,YAAY,GAAG,OAAO,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAuB;IAC5D,cAAc,GAAG,OAAO,CAAC;AAC3B,CAAC;AAED,SAAS,mBAAmB,CAAyC,QAAW,EAAE,OAAuB;IACvG,IAAI,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;IACjD,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;IACzC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,19 +1,20 @@
1
- import { ModelType } from '../../../../ai-service/common-types.js';
2
1
  import { registerEndpoint } from '../api-handlers.js';
3
2
  registerEndpoint((router, service) => {
4
3
  router.post('/generate-content', async (req, res) => {
5
4
  try {
6
- const { prompt, temperature, cheap, options } = req.body;
5
+ const { prompt, temperature, modelType, options } = req.body;
7
6
  if (!prompt || typeof prompt !== 'string') {
8
7
  return res.status(400).json({ error: 'Invalid prompt: must be a string' });
9
8
  }
10
9
  if (typeof temperature !== 'number' || temperature < 0 || temperature > 2) {
11
10
  return res.status(400).json({ error: 'Invalid temperature: must be a number between 0 and 2' });
12
11
  }
13
- if (typeof cheap !== 'boolean') {
14
- return res.status(400).json({ error: 'Invalid cheap parameter: must be a boolean' });
12
+ if (!['default', 'cheap', 'reasoning'].includes(modelType)) {
13
+ return res
14
+ .status(400)
15
+ .json({ error: 'Invalid modelType parameter: must be one of: default, cheap, reasoning' });
15
16
  }
16
- const result = await service.generateContent(prompt, temperature, cheap ? ModelType.CHEAP : ModelType.DEFAULT, options);
17
+ const result = await service.generateContent(prompt, temperature, modelType, options);
17
18
  res.json({ result });
18
19
  }
19
20
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"generate-content-endpoint.js","sourceRoot":"","sources":["../../../../../src/main/ui/backend/endpoints/generate-content-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,gBAAgB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAClD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAKnD,CAAC;YAEF,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC1C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC;YAC7E,CAAC;YAED,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC1E,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uDAAuD,EAAE,CAAC,CAAC;YAClG,CAAC;YAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4CAA4C,EAAE,CAAC,CAAC;YACvF,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAC1C,MAAM,EACN,WAAW,EACX,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAC3C,OAAO,CACR,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,+CAA+C,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAClG,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oDAAoD,EAAE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"generate-content-endpoint.js","sourceRoot":"","sources":["../../../../../src/main/ui/backend/endpoints/generate-content-endpoint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,gBAAgB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAClD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAKvD,CAAC;YAEF,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC1C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC;YAC7E,CAAC;YAED,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC1E,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uDAAuD,EAAE,CAAC,CAAC;YAClG,CAAC;YAED,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3D,OAAO,GAAG;qBACP,MAAM,CAAC,GAAG,CAAC;qBACX,IAAI,CAAC,EAAE,KAAK,EAAE,wEAAwE,EAAE,CAAC,CAAC;YAC/F,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,SAAsB,EAAE,OAAO,CAAC,CAAC;YACnG,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,+CAA+C,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAClG,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oDAAoD,EAAE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -5,6 +5,7 @@ import { abortController } from '../../common/abort-controller.js';
5
5
  import { getUsageMetrics } from '../../common/cost-collector.js';
6
6
  import { editMessage, putSystemMessage } from '../../common/content-bus.js';
7
7
  import { getGenerateContentFunctions } from '../../codegen.js';
8
+ import { ModelType } from '../../../ai-service/common-types.js';
8
9
  import { getSanitizedServiceConfigurations, updateServiceConfig } from '../../../ai-service/service-configurations.js';
9
10
  export class Service {
10
11
  executionStatus = 'idle';
@@ -125,18 +126,19 @@ export class Service {
125
126
  const generateContenFn = generateContentFns[options.aiService];
126
127
  // Use the AI service fallback mechanism for better reliability
127
128
  const result = await generateContenFn([
128
- { type: 'systemPrompt', systemPrompt: '' },
129
129
  {
130
130
  type: 'user',
131
131
  text: prompt,
132
132
  },
133
- ], [
134
- {
135
- name: 'printMessage',
136
- description: 'Print a message',
137
- parameters: { type: 'object', properties: { message: { type: 'string' } }, required: ['message'] },
138
- },
139
- ], 'printMessage', temperature, modelType, options);
133
+ ], modelType === ModelType.REASONING
134
+ ? []
135
+ : [
136
+ {
137
+ name: 'printMessage',
138
+ description: 'Print a message',
139
+ parameters: { type: 'object', properties: { message: { type: 'string' } }, required: ['message'] },
140
+ },
141
+ ], modelType === ModelType.REASONING ? 'reasoningInferenceResponse' : 'printMessage', temperature, modelType, options);
140
142
  return result;
141
143
  }
142
144
  catch (error) {