genaicode 0.8.5 → 0.8.6

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 (69) hide show
  1. package/README.md +18 -1
  2. package/dist/ai-service/common.js +3 -2
  3. package/dist/ai-service/common.js.map +1 -1
  4. package/dist/index.d.ts +1 -1
  5. package/dist/main/config-lib.d.ts +1 -36
  6. package/dist/main/config-lib.js.map +1 -1
  7. package/dist/main/config-types.d.ts +36 -0
  8. package/dist/main/config-types.js +2 -0
  9. package/dist/main/config-types.js.map +1 -0
  10. package/dist/main/config.d.ts +1 -1
  11. package/dist/main/config.js +1 -1
  12. package/dist/main/config.js.map +1 -1
  13. package/dist/main/plugin-loader.d.ts +1 -1
  14. package/dist/main/ui/backend/service.d.ts +1 -1
  15. package/dist/main/ui/frontend/assets/index-BAAQr5b1.js +1747 -0
  16. package/dist/main/ui/frontend/index.html +1 -1
  17. package/dist/prompt/function-calling.js +2 -1
  18. package/dist/prompt/function-calling.js.map +1 -1
  19. package/dist/prompt/function-defs/ask-question.d.ts +1 -0
  20. package/dist/prompt/function-defs/ask-question.js +88 -72
  21. package/dist/prompt/function-defs/ask-question.js.map +1 -1
  22. package/dist/prompt/function-defs/optimize-context.js +2 -2
  23. package/dist/prompt/function-defs/optimize-context.js.map +1 -1
  24. package/dist/prompt/prompt-service.js +2 -1
  25. package/dist/prompt/prompt-service.js.map +1 -1
  26. package/dist/prompt/steps/step-ask-question/handlers/cancel-code-generation.d.ts +1 -1
  27. package/dist/prompt/steps/step-ask-question/handlers/cancel-code-generation.js +2 -2
  28. package/dist/prompt/steps/step-ask-question/handlers/cancel-code-generation.js.map +1 -1
  29. package/dist/prompt/steps/step-ask-question/handlers/confirm-code-generation.d.ts +1 -1
  30. package/dist/prompt/steps/step-ask-question/handlers/confirm-code-generation.js +3 -3
  31. package/dist/prompt/steps/step-ask-question/handlers/confirm-code-generation.js.map +1 -1
  32. package/dist/prompt/steps/step-ask-question/handlers/context-optimization.d.ts +1 -1
  33. package/dist/prompt/steps/step-ask-question/handlers/context-optimization.js +2 -2
  34. package/dist/prompt/steps/step-ask-question/handlers/context-optimization.js.map +1 -1
  35. package/dist/prompt/steps/step-ask-question/handlers/handle-search-code.d.ts +1 -1
  36. package/dist/prompt/steps/step-ask-question/handlers/handle-search-code.js +5 -5
  37. package/dist/prompt/steps/step-ask-question/handlers/handle-search-code.js.map +1 -1
  38. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message-with-image.d.ts +1 -1
  39. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message-with-image.js +4 -4
  40. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message-with-image.js.map +1 -1
  41. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.d.ts +1 -1
  42. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js +3 -3
  43. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js.map +1 -1
  44. package/dist/prompt/steps/step-ask-question/handlers/handle-update-file.d.ts +2 -0
  45. package/dist/prompt/steps/step-ask-question/handlers/handle-update-file.js +136 -0
  46. package/dist/prompt/steps/step-ask-question/handlers/handle-update-file.js.map +1 -0
  47. package/dist/prompt/steps/step-ask-question/handlers/lint.d.ts +1 -1
  48. package/dist/prompt/steps/step-ask-question/handlers/lint.js +27 -7
  49. package/dist/prompt/steps/step-ask-question/handlers/lint.js.map +1 -1
  50. package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.d.ts +1 -1
  51. package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js +3 -3
  52. package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js.map +1 -1
  53. package/dist/prompt/steps/step-ask-question/handlers/request-files-content.d.ts +1 -1
  54. package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js +7 -7
  55. package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js.map +1 -1
  56. package/dist/prompt/steps/step-ask-question/handlers/request-permissions.d.ts +1 -1
  57. package/dist/prompt/steps/step-ask-question/handlers/request-permissions.js +3 -3
  58. package/dist/prompt/steps/step-ask-question/handlers/request-permissions.js.map +1 -1
  59. package/dist/prompt/steps/step-ask-question/step-ask-question-types.d.ts +4 -16
  60. package/dist/prompt/steps/step-ask-question/step-ask-question.js +7 -8
  61. package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
  62. package/dist/prompt/steps/step-context-optimization.d.ts +3 -0
  63. package/dist/prompt/steps/step-context-optimization.js +60 -48
  64. package/dist/prompt/steps/step-context-optimization.js.map +1 -1
  65. package/dist/prompt/systemprompt.d.ts +2 -1
  66. package/dist/prompt/systemprompt.js +12 -4
  67. package/dist/prompt/systemprompt.js.map +1 -1
  68. package/package.json +1 -1
  69. package/dist/main/ui/frontend/assets/index-DY7-_JMu.js +0 -1759
package/README.md CHANGED
@@ -39,6 +39,10 @@ open http://localhost:1337
39
39
 
40
40
  This will start the GenAIcode web server and open the browser with the UI.
41
41
 
42
+ Here is how it looks like:
43
+
44
+ <img width="1284" alt="image" src="https://github.com/user-attachments/assets/82fae142-f2df-43c9-871a-50e526f37c83" />
45
+
42
46
  ## CLI Features
43
47
 
44
48
  GenAIcode supports various command-line options to customize its behavior:
@@ -77,7 +81,18 @@ The `.genaicoderc` file allows you to configure various aspects of GenAIcode's b
77
81
  "rootDir": ".",
78
82
  "extensions": [".md", ".js", ".ts", ".tsx", ".css"],
79
83
  "ignorePaths": ["node_modules", "build", "dist", "package-lock.json", "coverage"],
80
- "lintCommand": "npm run lint"
84
+ "lintCommand": "npm run lint",
85
+ "plugins": [
86
+ "plugins/custom_tools.ts"
87
+ ],
88
+ "importantContext": {
89
+ "systemPrompt": [
90
+ "IMPORTANT: Always use typescript"
91
+ ],
92
+ "files": [
93
+ "code_style.md"
94
+ ]
95
+ }
81
96
  }
82
97
  ```
83
98
 
@@ -86,6 +101,8 @@ The `.genaicoderc` file allows you to configure various aspects of GenAIcode's b
86
101
  - `ignorePaths`: An array of paths to be ignored by the tool (optional).
87
102
  - `lintCommand`: Specifies a lint command to be run before and after code generation (optional).
88
103
  - `modelOverrides`: Allows overriding the default AI models used for each service (optional).
104
+ - `plugins`: Specify plugins to be loaded (see [example plugins](./examples/genaicode_plugins/))
105
+ - `importantContext`: Add your custom instructions to the `systemPrompt`. Force specific `files` to be always included in the context
89
106
 
90
107
  ## Usage
91
108
 
@@ -1,4 +1,3 @@
1
- import assert from 'node:assert';
2
1
  import { collectCost } from '../main/common/cost-collector.js';
3
2
  /**
4
3
  * Common function to print token usage and estimated cost
@@ -30,7 +29,9 @@ export function printTokenUsageAndCost(costInfo) {
30
29
  */
31
30
  export function processFunctionCalls(functionCalls, functionDefs) {
32
31
  const unknownFunctionCalls = functionCalls.filter((call) => !functionDefs.some((fd) => fd.name === call.name));
33
- assert(unknownFunctionCalls.length === 0, 'Unknown function name: ' + unknownFunctionCalls.map((call) => call.name).join(', '));
32
+ if (unknownFunctionCalls.length > 0) {
33
+ console.warn('Unknown function name: ' + unknownFunctionCalls.map((call) => call.name).join(', '));
34
+ }
34
35
  return functionCalls;
35
36
  }
36
37
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/ai-service/common.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AA0E/D;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAkB;IACvD,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;IAEzE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IAC1D,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IAE1D,MAAM,SAAS,GACb,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,iBAAiB;QAC3C,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,iBAAiB,GAAG,IAAI;QACzD,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,iBAAiB,GAAG,GAAG,CAAC;QACzD,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,kBAAkB,CAAC;IAClE,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAEzC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAElE,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACrG,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,aAA6B,EAAE,YAA2B;IAC7F,MAAM,oBAAoB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/G,MAAM,CACJ,oBAAoB,CAAC,MAAM,KAAK,CAAC,EACjC,yBAAyB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACrF,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/ai-service/common.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AA0E/D;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAkB;IACvD,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;IAEzE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IAC1D,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IAE1D,MAAM,SAAS,GACb,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,iBAAiB;QAC3C,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,iBAAiB,GAAG,IAAI;QACzD,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,iBAAiB,GAAG,GAAG,CAAC;QACzD,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,kBAAkB,CAAC;IAClE,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAEzC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAElE,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACrG,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,aAA6B,EAAE,YAA2B;IAC7F,MAAM,oBAAoB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/G,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,yBAAyB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -6,4 +6,4 @@ export * from './prompt/steps/step-ask-question/step-ask-question-types.js';
6
6
  export * from './main/common/content-bus.js';
7
7
  export * from './prompt/steps/steps-types.js';
8
8
  export * from './main/common/user-actions.js';
9
- export declare function getRcConfig(): Promise<import("./main/config-lib.js").RcConfig>;
9
+ export declare function getRcConfig(): Promise<import("./main/config-types.js").RcConfig>;
@@ -1,39 +1,4 @@
1
+ import { RcConfig } from './config-types.js';
1
2
  export declare const CODEGENRC_FILENAME = ".genaicoderc";
2
- export interface ImportantContext {
3
- systemPrompt?: string[];
4
- files?: string[];
5
- }
6
- export interface ModelOverrides {
7
- openai?: {
8
- cheap?: string;
9
- default?: string;
10
- };
11
- anthropic?: {
12
- cheap?: string;
13
- default?: string;
14
- };
15
- vertexAi?: {
16
- cheap?: string;
17
- default?: string;
18
- };
19
- aiStudio?: {
20
- cheap?: string;
21
- default?: string;
22
- };
23
- }
24
- /**
25
- * Configuration for the project codegen
26
- *
27
- * IMPORTANT: Keep this interface in sync with the JSON schema in config-schema.ts
28
- */
29
- export interface RcConfig {
30
- rootDir: string;
31
- lintCommand?: string;
32
- extensions?: string[];
33
- ignorePaths?: string[];
34
- importantContext?: ImportantContext;
35
- modelOverrides?: ModelOverrides;
36
- plugins?: string[];
37
- }
38
3
  export declare function findRcFile(): Promise<string>;
39
4
  export declare function parseRcFile(rcFilePath: string): RcConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config-lib.js","sourceRoot":"","sources":["../../src/main/config-lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-lib.js","sourceRoot":"","sources":["../../src/main/config-lib.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ export interface ImportantContext {
2
+ systemPrompt?: string[];
3
+ files?: string[];
4
+ }
5
+ export interface ModelOverrides {
6
+ openai?: {
7
+ cheap?: string;
8
+ default?: string;
9
+ };
10
+ anthropic?: {
11
+ cheap?: string;
12
+ default?: string;
13
+ };
14
+ vertexAi?: {
15
+ cheap?: string;
16
+ default?: string;
17
+ };
18
+ aiStudio?: {
19
+ cheap?: string;
20
+ default?: string;
21
+ };
22
+ }
23
+ /**
24
+ * Configuration for the project codegen
25
+ *
26
+ * IMPORTANT: Keep this interface in sync with the JSON schema in config-schema.ts
27
+ */
28
+ export interface RcConfig {
29
+ rootDir: string;
30
+ lintCommand?: string;
31
+ extensions?: string[];
32
+ ignorePaths?: string[];
33
+ importantContext?: ImportantContext;
34
+ modelOverrides?: ModelOverrides;
35
+ plugins?: string[];
36
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-types.js","sourceRoot":"","sources":["../../src/main/config-types.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import { RcConfig, ImportantContext, ModelOverrides } from './config-lib.js';
1
+ import { RcConfig, ImportantContext, ModelOverrides } from './config-types.js';
2
2
  export declare const rcConfig: RcConfig;
3
3
  export declare const rcConfigSchemaFilePath: string;
4
4
  export declare const sourceExtensions: string[];
@@ -1,4 +1,4 @@
1
- import { findRcFile, parseRcFile, CODEGENRC_FILENAME, } from './config-lib.js';
1
+ import { findRcFile, parseRcFile, CODEGENRC_FILENAME } from './config-lib.js';
2
2
  import { loadPlugins } from './plugin-loader.js';
3
3
  import path from 'path';
4
4
  import { DEFAULT_EXTENSIONS, DEFAULT_IGNORE_PATHS } from '../project-profiles/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/main/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EAIX,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,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,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,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":"AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,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,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,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,7 +1,7 @@
1
1
  import { Operation, Plugin, PluginActionType, PluginAiServiceType, GenerateContentHook, PlanningPreHook, PlanningPostHook } from './codegen-types.js';
2
2
  import { GenerateContentFunction } from '../ai-service/common.js';
3
3
  import { ActionHandler } from '../prompt/steps/step-ask-question/step-ask-question-types.js';
4
- import { RcConfig } from './config-lib.js';
4
+ import { RcConfig } from './config-types.js';
5
5
  import { ProjectProfilePlugin } from '../project-profiles/types.js';
6
6
  import { ServiceConfig } from './ui/common/api-types.js';
7
7
  /**
@@ -1,5 +1,5 @@
1
1
  import { AiServiceType, CodegenOptions } from '../../codegen-types.js';
2
- import { RcConfig } from '../../config-lib.js';
2
+ import { RcConfig } from '../../config-types.js';
3
3
  import { ServiceConfigUpdate, SanitizedServiceConfigurations } from '../common/api-types.js';
4
4
  import { ContentProps } from '../../common/content-bus-types.js';
5
5
  import { UsageMetrics } from '../../common/cost-collector.js';