genaicode 0.10.3 → 0.11.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 (73) hide show
  1. package/dist/ai-service/ai-studio.js +19 -8
  2. package/dist/ai-service/ai-studio.js.map +1 -1
  3. package/dist/ai-service/anthropic.js +17 -8
  4. package/dist/ai-service/anthropic.js.map +1 -1
  5. package/dist/ai-service/common-types.d.ts +2 -0
  6. package/dist/ai-service/common-types.js +2 -0
  7. package/dist/ai-service/common-types.js.map +1 -1
  8. package/dist/ai-service/openai.js +18 -1
  9. package/dist/ai-service/openai.js.map +1 -1
  10. package/dist/ai-service/service-configurations-types.d.ts +1 -0
  11. package/dist/ai-service/service-configurations.d.ts +2 -0
  12. package/dist/ai-service/service-configurations.js +21 -7
  13. package/dist/ai-service/service-configurations.js.map +1 -1
  14. package/dist/ai-service/vertex-ai.js +10 -6
  15. package/dist/ai-service/vertex-ai.js.map +1 -1
  16. package/dist/cli/service-autodetect.js +4 -4
  17. package/dist/cli/service-autodetect.js.map +1 -1
  18. package/dist/files/source-code-utils.d.ts +8 -0
  19. package/dist/files/source-code-utils.js +38 -0
  20. package/dist/files/source-code-utils.js.map +1 -1
  21. package/dist/files/summary-cache.d.ts +2 -0
  22. package/dist/files/summary-cache.js +7 -0
  23. package/dist/files/summary-cache.js.map +1 -1
  24. package/dist/files/update-files.d.ts +2 -1
  25. package/dist/files/update-files.js +13 -2
  26. package/dist/files/update-files.js.map +1 -1
  27. package/dist/main/codegen-types.d.ts +2 -0
  28. package/dist/main/codegen.test-utils.d.ts +1 -0
  29. package/dist/main/codegen.test-utils.js.map +1 -1
  30. package/dist/main/config-schema.js +15 -0
  31. package/dist/main/config-schema.js.map +1 -1
  32. package/dist/main/config-types.d.ts +10 -0
  33. package/dist/main/config.js +15 -0
  34. package/dist/main/config.js.map +1 -1
  35. package/dist/main/ui/backend/endpoints/generate-content-endpoint.js +1 -1
  36. package/dist/main/ui/backend/endpoints/generate-content-endpoint.js.map +1 -1
  37. package/dist/main/ui/common/api-types.d.ts +1 -0
  38. package/dist/main/ui/frontend/assets/index-C1H0vVGm.js +2256 -0
  39. package/dist/main/ui/frontend/index.html +1 -1
  40. package/dist/prompt/function-defs/codegen-summary.js +13 -1
  41. package/dist/prompt/function-defs/codegen-summary.js.map +1 -1
  42. package/dist/prompt/function-defs/compound-action.js +4 -0
  43. package/dist/prompt/function-defs/compound-action.js.map +1 -1
  44. package/dist/prompt/prompt-service.test-utils.js +1 -0
  45. package/dist/prompt/prompt-service.test-utils.js.map +1 -1
  46. package/dist/prompt/steps/step-ask-question/handlers/handle-code-generation.js +7 -2
  47. package/dist/prompt/steps/step-ask-question/handlers/handle-code-generation.js.map +1 -1
  48. package/dist/prompt/steps/step-ask-question/handlers/handle-compound-action.js +70 -17
  49. package/dist/prompt/steps/step-ask-question/handlers/handle-compound-action.js.map +1 -1
  50. package/dist/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.js +2 -1
  51. package/dist/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.js.map +1 -1
  52. package/dist/prompt/steps/step-ask-question/handlers/handle-search-code.js +10 -12
  53. package/dist/prompt/steps/step-ask-question/handlers/handle-search-code.js.map +1 -1
  54. package/dist/prompt/steps/step-ask-question/step-ask-question.js +3 -0
  55. package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
  56. package/dist/prompt/steps/step-auto-context-refresh.d.ts +6 -0
  57. package/dist/prompt/steps/step-auto-context-refresh.js +98 -0
  58. package/dist/prompt/steps/step-auto-context-refresh.js.map +1 -0
  59. package/dist/prompt/steps/step-context-optimization.js +21 -2
  60. package/dist/prompt/steps/step-context-optimization.js.map +1 -1
  61. package/dist/prompt/steps/step-ensure-context.d.ts +2 -9
  62. package/dist/prompt/steps/step-ensure-context.js.map +1 -1
  63. package/dist/prompt/steps/step-generate-summary.js +1 -1
  64. package/dist/prompt/steps/step-generate-summary.js.map +1 -1
  65. package/dist/prompt/steps/step-process-file-updates.js +33 -7
  66. package/dist/prompt/steps/step-process-file-updates.js.map +1 -1
  67. package/dist/prompt/steps/step-summarization.js +15 -2
  68. package/dist/prompt/steps/step-summarization.js.map +1 -1
  69. package/dist/prompt/steps/step-verify-patch.d.ts +1 -1
  70. package/dist/prompt/steps/step-verify-patch.js +5 -7
  71. package/dist/prompt/steps/step-verify-patch.js.map +1 -1
  72. package/package.json +4 -2
  73. package/dist/main/ui/frontend/assets/index-oL0QT7JQ.js +0 -2015
@@ -47,6 +47,11 @@ export function getContextSourceCode(contextPaths, options) {
47
47
  }
48
48
  }
49
49
  }
50
+ // Safeguard against large growth of resultSourceCodeMap
51
+ if (reverseDependencyPaths.size > contextPaths.length * 2 + dependencyPaths.size * 2) {
52
+ console.warn('Too many reverse dependencies found, clearing them to prevent excessive growth of resultSourceCodeMap.');
53
+ reverseDependencyPaths.clear();
54
+ }
50
55
  // Add reverse dependency files to the result
51
56
  for (const reverseDependencyPath of reverseDependencyPaths) {
52
57
  if (allSourceCodeMap[reverseDependencyPath]) {
@@ -67,4 +72,37 @@ export function getExpandedContextPaths(contextPaths, options) {
67
72
  // need to make sure original contextPaths values are included in the result
68
73
  return [...new Set([...contextPaths, ...Object.keys(sourceCodeMap)])];
69
74
  }
75
+ /**
76
+ * Computes a set of popular dependencies from the summary cache.
77
+ * @param summaryCache The cache containing summaries and dependencies.
78
+ * @param threshold The minimum number of times a file must be depended on to be considered popular.
79
+ * @returns A Set of file paths for popular dependencies.
80
+ */
81
+ export function computePopularDependencies(summaryCache, threshold = 20) {
82
+ const dependencyCounts = new Map();
83
+ // Count occurrences of each dependency
84
+ for (const key in summaryCache) {
85
+ if (key === '_version')
86
+ continue;
87
+ const fileInfo = summaryCache[key];
88
+ if (fileInfo.dependencies) {
89
+ for (const dep of fileInfo.dependencies) {
90
+ if (dep.type === 'local') {
91
+ dependencyCounts.set(dep.path, (dependencyCounts.get(dep.path) || 0) + 1);
92
+ }
93
+ }
94
+ }
95
+ }
96
+ const popular = new Set();
97
+ const sortedDeps = [...dependencyCounts.entries()].sort((a, b) => b[1] - a[1]);
98
+ for (const [filePath, count] of sortedDeps) {
99
+ if (count >= threshold) {
100
+ popular.add(filePath);
101
+ }
102
+ else {
103
+ break; // Stop if we hit a dependency below the threshold
104
+ }
105
+ }
106
+ return popular;
107
+ }
70
108
  //# sourceMappingURL=source-code-utils.js.map
@@ -1 +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
+ {"version":3,"file":"source-code-utils.js","sourceRoot":"","sources":["../../src/files/source-code-utils.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export interface SummaryInfo {
6
6
  tokenCount: number;
7
7
  summary: string;
8
8
  }
9
+ export declare const popularDependencies: Set<string>;
9
10
  export type SummaryCache = Record<string, {
10
11
  tokenCount: number;
11
12
  summary: string;
@@ -19,3 +20,4 @@ export declare function getSummary(filePath: string): {
19
20
  dependencies: DependencyInfo[];
20
21
  summary: string;
21
22
  } | undefined;
23
+ export declare function clearSummaryCache(filePaths: string[]): void;
@@ -1,5 +1,6 @@
1
1
  import { readCache } from './cache-file.js';
2
2
  export const CACHE_VERSION = 'v8'; // Incremented version for dependency improvements
3
+ export const popularDependencies = new Set();
3
4
  export const summaryCache = readCache('summaries', {
4
5
  _version: CACHE_VERSION,
5
6
  });
@@ -12,4 +13,10 @@ export function getSummary(filePath) {
12
13
  }
13
14
  : undefined;
14
15
  }
16
+ export function clearSummaryCache(filePaths) {
17
+ for (const filePath of filePaths) {
18
+ delete summaryCache[filePath];
19
+ }
20
+ popularDependencies.clear();
21
+ }
15
22
  //# sourceMappingURL=summary-cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"summary-cache.js","sourceRoot":"","sources":["../../src/files/summary-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG3D,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,kDAAkD;AAkBrF,MAAM,CAAC,MAAM,YAAY,GAAiB,SAAS,CAAe,WAAW,EAAE;IAC7E,QAAQ,EAAE,aAAa;CACR,CAAC,CAAC;AAEnB,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,OAAO;QACZ,CAAC,CAAC;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;SACpE;QACH,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"summary-cache.js","sourceRoot":"","sources":["../../src/files/summary-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG3D,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,kDAAkD;AAQrF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;AAYrD,MAAM,CAAC,MAAM,YAAY,GAAiB,SAAS,CAAe,WAAW,EAAE;IAC7E,QAAQ,EAAE,aAAa;CACR,CAAC,CAAC;AAEnB,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,OAAO;QACZ,CAAC,CAAC;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;SACpE;QACH,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAmB;IACnD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IACD,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC"}
@@ -2,5 +2,6 @@ import { CodegenOptions } from '../main/codegen-types.js';
2
2
  import { FunctionCall } from '../ai-service/common-types.js';
3
3
  /**
4
4
  * @param functionCalls Result of the code generation, a map of file paths to new content
5
+ * @returns A list of failed operations
5
6
  */
6
- export declare function updateFiles(functionCalls: FunctionCall[], options: CodegenOptions): Promise<void>;
7
+ export declare function updateFiles(functionCalls: FunctionCall[], options: CodegenOptions): Promise<FunctionCall[]>;
@@ -1,9 +1,13 @@
1
1
  import { getOperationExecutor } from '../operations/operations-index.js';
2
+ import { putSystemMessage } from '../main/common/content-bus.js';
2
3
  /**
3
4
  * @param functionCalls Result of the code generation, a map of file paths to new content
5
+ * @returns A list of failed operations
4
6
  */
5
7
  export async function updateFiles(functionCalls, options) {
6
- for (const { name, args } of functionCalls) {
8
+ const failedOperations = [];
9
+ for (const call of functionCalls) {
10
+ const { name, args } = call;
7
11
  const executor = getOperationExecutor(name);
8
12
  if (!executor) {
9
13
  console.warn(`Unknown operation: ${name}`);
@@ -12,8 +16,15 @@ export async function updateFiles(functionCalls, options) {
12
16
  console.warn(`Operation ${name} has no arguments`);
13
17
  }
14
18
  else {
15
- await executor(args, options);
19
+ try {
20
+ await executor(args, options);
21
+ }
22
+ catch (e) {
23
+ putSystemMessage(`Operation ${name} failed with error: ${e.message}`);
24
+ failedOperations.push(call);
25
+ }
16
26
  }
17
27
  }
28
+ return failedOperations;
18
29
  }
19
30
  //# sourceMappingURL=update-files.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-files.js","sourceRoot":"","sources":["../../src/files/update-files.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,aAA6B,EAAE,OAAuB;IACtF,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,aAAa,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,mBAAmB,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"update-files.js","sourceRoot":"","sources":["../../src/files/update-files.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,aAA6B,EAAE,OAAuB;IACtF,MAAM,gBAAgB,GAAmB,EAAE,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC5B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,mBAAmB,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,gBAAgB,CAAC,aAAa,IAAI,uBAAwB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjF,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
@@ -60,6 +60,8 @@ export type CodegenSummaryArgs = {
60
60
  };
61
61
  /** Arguments of the codegen execution function call */
62
62
  export interface FileUpdate {
63
+ id: string;
64
+ dependsOn?: string[];
63
65
  filePath: string;
64
66
  updateToolName: string;
65
67
  prompt: string;
@@ -35,6 +35,7 @@ export declare function createMockPlanningResponse(analysis?: string, changes?:
35
35
  * Creates a mock codegen summary response
36
36
  */
37
37
  export declare function createMockCodegenSummary(updates?: Array<{
38
+ id: string;
38
39
  filePath: string;
39
40
  updateToolName: string;
40
41
  prompt?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.test-utils.js","sourceRoot":"","sources":["../../src/main/codegen.test-utils.ts"],"names":[],"mappings":"AA8BA;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,WAAmB,eAAe,EAClC,UAAkB,cAAc,EAChC,QAAqD,EAAE;IAEvD,OAAO;QACL;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE;gBACJ,eAAe,EAAE,QAAQ;gBACzB,WAAW,EAAE,OAAO;gBACpB,aAAa,EAAE,KAAK;aACrB;SACF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,UAAgF,EAAE,EAClF,QAAkB,EAAE,EACpB,cAAsB,kBAAkB;IAExC,OAAO;QACL;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE;gBACJ,WAAW,EAAE,OAAO;gBACpB,YAAY,EAAE,KAAK;gBACnB,WAAW;aACZ;SACF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,OAAgC,EAAE;IACnF,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAC/C,MAAc,EACd,QAAgB,EAChB,QAAgB,GAAG,EACnB,SAAiB,GAAG,EACpB,cAAsB,qBAAqB;IAE3C,OAAO;QACL;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE;gBACJ,MAAM;gBACN,QAAQ;gBACR,KAAK;gBACL,MAAM;gBACN,WAAW;aACZ;SACF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,gBAAgC,EAChC,eAA+B,EAC/B,kBAAoC;IAEpC,OAAO,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,kBAAkB,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,cAAc,EAAE,MAAM;IACtB,QAAQ,EAAE,SAAS;IACnB,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,KAAK;IACtB,oBAAoB,EAAE,KAAK;IAC3B,aAAa,EAAE,KAAK;IACpB,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,SAAS;IACjB,0BAA0B,EAAE,IAAI;IAChC,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,mBAAmB,EAAE,KAAK;IAC1B,eAAe,EAAE,SAAS;IAC1B,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,EAAE;IAClB,YAAY,EAAE,SAAS;IACvB,wBAAwB,EAAE,SAAS;IACnC,cAAc,EAAE,IAAI;IACpB,0BAA0B,EAAE,IAAI;IAChC,KAAK,EAAE,KAAK;CACb,CAAC"}
1
+ {"version":3,"file":"codegen.test-utils.js","sourceRoot":"","sources":["../../src/main/codegen.test-utils.ts"],"names":[],"mappings":"AA8BA;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,WAAmB,eAAe,EAClC,UAAkB,cAAc,EAChC,QAAqD,EAAE;IAEvD,OAAO;QACL;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE;gBACJ,eAAe,EAAE,QAAQ;gBACzB,WAAW,EAAE,OAAO;gBACpB,aAAa,EAAE,KAAK;aACrB;SACF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,UAA4F,EAAE,EAC9F,QAAkB,EAAE,EACpB,cAAsB,kBAAkB;IAExC,OAAO;QACL;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE;gBACJ,WAAW,EAAE,OAAO;gBACpB,YAAY,EAAE,KAAK;gBACnB,WAAW;aACZ;SACF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,OAAgC,EAAE;IACnF,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAC/C,MAAc,EACd,QAAgB,EAChB,QAAgB,GAAG,EACnB,SAAiB,GAAG,EACpB,cAAsB,qBAAqB;IAE3C,OAAO;QACL;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE;gBACJ,MAAM;gBACN,QAAQ;gBACR,KAAK;gBACL,MAAM;gBACN,WAAW;aACZ;SACF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,gBAAgC,EAChC,eAA+B,EAC/B,kBAAoC;IAEpC,OAAO,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,kBAAkB,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,cAAc,EAAE,MAAM;IACtB,QAAQ,EAAE,SAAS;IACnB,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,KAAK;IACtB,oBAAoB,EAAE,KAAK;IAC3B,aAAa,EAAE,KAAK;IACpB,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,SAAS;IACjB,0BAA0B,EAAE,IAAI;IAChC,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,mBAAmB,EAAE,KAAK;IAC1B,eAAe,EAAE,SAAS;IAC1B,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,EAAE;IAClB,YAAY,EAAE,SAAS;IACvB,wBAAwB,EAAE,SAAS;IACnC,cAAc,EAAE,IAAI;IACpB,0BAA0B,EAAE,IAAI;IAChC,KAAK,EAAE,KAAK;CACb,CAAC"}
@@ -40,6 +40,21 @@ Examples: ['.js', '.ts', '.tsx', '.md'], ['.py', '.go', '.java'], ['.c', '.h', '
40
40
  description: `Directories and files that should be excluded from code analysis and generation:
41
41
  Examples: ['node_modules', 'dist', 'build'], ['coverage', '.vscode', '.github']`,
42
42
  },
43
+ popularDependencies: {
44
+ type: 'object',
45
+ description: 'Configuration for the popular dependencies feature, which automatically includes frequently used files in the context.',
46
+ properties: {
47
+ enabled: {
48
+ type: 'boolean',
49
+ description: 'Enable or disable the popular dependencies feature. Defaults to true.',
50
+ },
51
+ threshold: {
52
+ type: 'number',
53
+ description: 'The minimum number of times a file must be depended on to be considered popular. Defaults to 20.',
54
+ },
55
+ },
56
+ additionalProperties: false,
57
+ },
43
58
  importantContext: {
44
59
  type: 'object',
45
60
  description: 'Configuration for important context that should always be available to the AI model.',
@@ -1 +1 @@
1
- {"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../src/main/config-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../src/main/config-schema.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,10 @@ export interface ModelSpecificSettings {
10
10
  systemInstruction?: string[];
11
11
  /** Maximum number of tokens to generate in the output specific to this model */
12
12
  outputTokenLimit?: number;
13
+ /** Whether the model should use 'thinking' mode if available */
14
+ thinkingEnabled?: boolean;
15
+ /** The token budget for 'thinking' mode */
16
+ thinkingBudget?: number;
13
17
  }
14
18
  /**
15
19
  * Model configuration for each supported AI service
@@ -22,6 +26,8 @@ export interface ModelSpecificSettings {
22
26
  export interface ServiceModelConfig {
23
27
  /** Model ID for cost-effective operations */
24
28
  cheap?: string;
29
+ /** Model ID for lite operations */
30
+ lite?: string;
25
31
  /** Model ID for standard operations (default model) */
26
32
  default?: string;
27
33
  /** Model ID for reasoning-specific tasks */
@@ -48,6 +54,10 @@ export interface RcConfig {
48
54
  lintCommand?: string;
49
55
  extensions?: string[];
50
56
  ignorePaths?: string[];
57
+ popularDependencies?: {
58
+ enabled?: boolean;
59
+ threshold?: number;
60
+ };
51
61
  importantContext?: ImportantContext;
52
62
  modelOverrides?: ModelOverrides;
53
63
  plugins?: string[];
@@ -7,6 +7,21 @@ import { SCHEMA_VIRTUAL_FILE_NAME } from './config-schema.js';
7
7
  // Read and parse the configuration
8
8
  const rcFilePath = await findRcFile();
9
9
  export const rcConfig = parseRcFile(rcFilePath);
10
+ // Initialize popularDependencies with defaults if not present
11
+ if (rcConfig.popularDependencies === undefined) {
12
+ rcConfig.popularDependencies = { enabled: true, threshold: 20 };
13
+ }
14
+ else {
15
+ if (rcConfig.popularDependencies.enabled === undefined) {
16
+ rcConfig.popularDependencies.enabled = true;
17
+ }
18
+ if (rcConfig.popularDependencies.threshold === undefined) {
19
+ rcConfig.popularDependencies.threshold = 20;
20
+ }
21
+ else if (rcConfig.popularDependencies.threshold < 0) {
22
+ rcConfig.popularDependencies.threshold = 0;
23
+ }
24
+ }
10
25
  if (typeof rcConfig.featuresEnabled === 'undefined') {
11
26
  rcConfig.featuresEnabled = {};
12
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/main/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,mCAAmC;AACnC,MAAM,UAAU,GAAW,MAAM,UAAU,EAAE,CAAC;AAC9C,MAAM,CAAC,MAAM,QAAQ,GAAa,WAAW,CAAC,UAAU,CAAC,CAAC;AAE1D,IAAI,OAAO,QAAQ,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;IACpD,QAAQ,CAAC,eAAe,GAAG,EAAE,CAAC;AAChC,CAAC;AAED,IAAI,OAAO,QAAQ,CAAC,eAAe,EAAE,UAAU,KAAK,WAAW,EAAE,CAAC;IAChE,QAAQ,CAAC,eAAe,CAAC,UAAU,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;AACxF,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;AAE5F,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;AAE5B,MAAM,CAAC,MAAM,gBAAgB,GAAa,QAAQ,CAAC,UAAU,IAAI,CAAC,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAE5F,2EAA2E;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3F,MAAM,CAAC,MAAM,WAAW,GAAa,QAAQ,CAAC,WAAW,IAAI,CAAC,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,gBAAgB,GAAqB,uBAAuB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAErG,2GAA2G;AAC3G,MAAM,CAAC,MAAM,cAAc,GAAmB,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC;AAE5E,SAAS,uBAAuB,CAAC,OAAqC;IACpE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACzC,CAAC;IAED,iDAAiD;IACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjC,CAAC;IAED,OAAO;QACL,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;QACxC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAC;AACxD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3C,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;AACpD,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/main/config.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ registerEndpoint((router, service) => {
9
9
  if (typeof temperature !== 'number' || temperature < 0 || temperature > 2) {
10
10
  return res.status(400).json({ error: 'Invalid temperature: must be a number between 0 and 2' });
11
11
  }
12
- if (!['default', 'cheap', 'reasoning'].includes(modelType)) {
12
+ if (!['default', 'cheap', 'reasoning', 'lite'].includes(modelType)) {
13
13
  return res
14
14
  .status(400)
15
15
  .json({ error: 'Invalid modelType parameter: must be one of: default, cheap, reasoning' });
@@ -1 +1 @@
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"}
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,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnE,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"}
@@ -32,6 +32,7 @@ export type SanitizedServiceConfig = {
32
32
  modelOverrides?: {
33
33
  default?: string;
34
34
  cheap?: string;
35
+ lite?: string;
35
36
  reasoning?: string;
36
37
  hasModelSpecificSettings?: boolean;
37
38
  };