genaicode 0.12.0 → 0.13.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 (84) hide show
  1. package/README.md +1 -1
  2. package/dist/ai-service/service-configurations-types.d.ts +15 -1
  3. package/dist/ai-service/service-configurations-types.js +4 -0
  4. package/dist/ai-service/service-configurations-types.js.map +1 -1
  5. package/dist/cli/cli-params.d.ts +1 -0
  6. package/dist/cli/cli-params.js +1 -0
  7. package/dist/cli/cli-params.js.map +1 -1
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.js +1 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/main/codegen-types.d.ts +2 -1
  12. package/dist/main/codegen.js +1 -0
  13. package/dist/main/codegen.js.map +1 -1
  14. package/dist/main/common/user-actions.d.ts +5 -2
  15. package/dist/main/common/user-actions.js +2 -2
  16. package/dist/main/common/user-actions.js.map +1 -1
  17. package/dist/main/config-lib.d.ts +12 -3
  18. package/dist/main/config-lib.js +61 -44
  19. package/dist/main/config-lib.js.map +1 -1
  20. package/dist/main/config-schema.d.ts +2 -1
  21. package/dist/main/config-schema.js +153 -19
  22. package/dist/main/config-schema.js.map +1 -1
  23. package/dist/main/config-types.d.ts +43 -16
  24. package/dist/main/config-types.js +3 -1
  25. package/dist/main/config-types.js.map +1 -1
  26. package/dist/main/config.d.ts +8 -2
  27. package/dist/main/config.js +59 -11
  28. package/dist/main/config.js.map +1 -1
  29. package/dist/main/plugin-loader.d.ts +1 -0
  30. package/dist/main/plugin-loader.js +28 -6
  31. package/dist/main/plugin-loader.js.map +1 -1
  32. package/dist/main/ui/backend/api.js +2 -0
  33. package/dist/main/ui/backend/api.js.map +1 -1
  34. package/dist/main/ui/backend/endpoints/config-endpoint.js +12 -0
  35. package/dist/main/ui/backend/endpoints/config-endpoint.js.map +1 -1
  36. package/dist/main/ui/backend/endpoints/question-endpoint.js +5 -4
  37. package/dist/main/ui/backend/endpoints/question-endpoint.js.map +1 -1
  38. package/dist/main/ui/backend/service.d.ts +3 -1
  39. package/dist/main/ui/backend/service.js +4 -3
  40. package/dist/main/ui/backend/service.js.map +1 -1
  41. package/dist/main/ui/common/api-types.d.ts +1 -0
  42. package/dist/main/ui/common/api-types.js.map +1 -1
  43. package/dist/main/ui/frontend/assets/{index-BbIYZZub.js → index-C2MB0Z2i.js} +290 -260
  44. package/dist/main/ui/frontend/index.html +1 -1
  45. package/dist/main/ui/user-action-handlers.js +3 -1
  46. package/dist/main/ui/user-action-handlers.js.map +1 -1
  47. package/dist/prompt/function-calling-validate.js +1 -0
  48. package/dist/prompt/function-calling-validate.js.map +1 -1
  49. package/dist/prompt/function-calling.js +7 -4
  50. package/dist/prompt/function-calling.js.map +1 -1
  51. package/dist/prompt/function-defs/ask-question.d.ts +2 -2
  52. package/dist/prompt/function-defs/ask-question.js +60 -52
  53. package/dist/prompt/function-defs/ask-question.js.map +1 -1
  54. package/dist/prompt/function-defs/conversation-graph.d.ts +1 -1
  55. package/dist/prompt/function-defs/conversation-graph.js +4 -4
  56. package/dist/prompt/function-defs/conversation-graph.js.map +1 -1
  57. package/dist/prompt/function-defs/run-bash-command.d.ts +2 -0
  58. package/dist/prompt/function-defs/run-bash-command.js +29 -0
  59. package/dist/prompt/function-defs/run-bash-command.js.map +1 -0
  60. package/dist/prompt/function-defs/run-project-command.d.ts +2 -0
  61. package/dist/prompt/function-defs/run-project-command.js +37 -0
  62. package/dist/prompt/function-defs/run-project-command.js.map +1 -0
  63. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/send-message.js +1 -1
  64. package/dist/prompt/steps/step-ask-question/handlers/container-task/commands/send-message.js.map +1 -1
  65. package/dist/prompt/steps/step-ask-question/handlers/handle-lint.d.ts +2 -2
  66. package/dist/prompt/steps/step-ask-question/handlers/handle-lint.js +31 -69
  67. package/dist/prompt/steps/step-ask-question/handlers/handle-lint.js.map +1 -1
  68. package/dist/prompt/steps/step-ask-question/handlers/handle-project-command.d.ts +2 -0
  69. package/dist/prompt/steps/step-ask-question/handlers/handle-project-command.js +282 -0
  70. package/dist/prompt/steps/step-ask-question/handlers/handle-project-command.js.map +1 -0
  71. package/dist/prompt/steps/step-ask-question/handlers/handle-request-git-context.d.ts +1 -1
  72. package/dist/prompt/steps/step-ask-question/handlers/handle-request-git-context.js +70 -3
  73. package/dist/prompt/steps/step-ask-question/handlers/handle-request-git-context.js.map +1 -1
  74. package/dist/prompt/steps/step-ask-question/handlers/handle-run-bash-command.d.ts +2 -0
  75. package/dist/prompt/steps/step-ask-question/handlers/handle-run-bash-command.js +185 -0
  76. package/dist/prompt/steps/step-ask-question/handlers/handle-run-bash-command.js.map +1 -0
  77. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js +2 -1
  78. package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js.map +1 -1
  79. package/dist/prompt/steps/step-ask-question/step-ask-question-types.d.ts +31 -12
  80. package/dist/prompt/steps/step-ask-question/step-ask-question.d.ts +2 -1
  81. package/dist/prompt/steps/step-ask-question/step-ask-question.js +16 -2
  82. package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
  83. package/dist/prompt/systemprompt.js +2 -2
  84. package/package.json +4 -3
@@ -14,14 +14,46 @@ export const GENAICODERC_SCHEMA = {
14
14
  properties: {
15
15
  rootDir: {
16
16
  type: 'string',
17
- description: `Root directory of the project. All file paths will be relative to this directory.
18
- Default value is '.'.
19
- Examples: '.', 'src', './project'`,
17
+ description: `Root directory of the project. All file paths will be relative to this directory.\\nDefault value is '.'.\\nExamples: '.', 'src', './project'`,
20
18
  },
21
19
  lintCommand: {
22
20
  type: 'string',
23
- description: `Command to run for linting the code before and after generation. The command should return appropriate exit codes for success/failure.
24
- Examples: 'npm run lint', 'eslint .', 'npm run type-check && npm run lint'`,
21
+ description: `Command to run for linting the code. Deprecated in favor of 'projectCommands.lint', but kept for backward compatibility. The command should return appropriate exit codes for success/failure.\\nExamples: 'npm run lint', 'eslint .', 'npm run type-check && npm run lint'`,
22
+ },
23
+ projectCommands: {
24
+ type: 'object',
25
+ description: 'A map of named project-specific commands that can be executed by the AI, such as tests, builds, or formatters.',
26
+ additionalProperties: {
27
+ type: 'object',
28
+ properties: {
29
+ command: { type: 'string', description: 'The command string to execute. Can include shell operators.' },
30
+ description: { type: 'string', description: 'A brief description of what the command does.' },
31
+ defaultArgs: {
32
+ type: 'array',
33
+ items: { type: 'string' },
34
+ description: 'Default arguments to pass to the command.',
35
+ },
36
+ env: {
37
+ type: 'object',
38
+ additionalProperties: { type: 'string' },
39
+ description: 'Environment variables to set for the command execution.',
40
+ },
41
+ workingDir: {
42
+ type: 'string',
43
+ description: 'The working directory to run the command in. Defaults to rootDir.',
44
+ },
45
+ aliases: { type: 'array', items: { type: 'string' }, description: 'Optional aliases for the command name.' },
46
+ autoApprove: {
47
+ type: ['boolean', 'string'],
48
+ description: `Determines if the command should be executed without user confirmation.
49
+ - If 'true', the command is always executed without a prompt.
50
+ - If a 'string', it's a natural language condition evaluated by the AI against the command's context (name, arguments, etc.). If the AI determines the condition is met, the command runs without a prompt.
51
+ - If 'false' or not provided, the user will always be prompted for confirmation.`,
52
+ },
53
+ },
54
+ required: ['command'],
55
+ additionalProperties: false,
56
+ },
25
57
  },
26
58
  extensions: {
27
59
  type: 'array',
@@ -29,16 +61,14 @@ Examples: 'npm run lint', 'eslint .', 'npm run type-check && npm run lint'`,
29
61
  type: 'string',
30
62
  pattern: '^\\.[a-z0-9\\.]+$',
31
63
  },
32
- description: `File extensions that the tool should consider for code generation and analysis.
33
- Examples: ['.js', '.ts', '.tsx', '.md'], ['.py', '.go', '.java'], ['.c', '.h', '.cpp']`,
64
+ description: `File extensions that the tool should consider for code generation and analysis.\\nExamples: ['.js', '.ts', '.tsx', '.md'], ['.py', '.go', '.java'], ['.c', '.h', '.cpp']`,
34
65
  },
35
66
  ignorePaths: {
36
67
  type: 'array',
37
68
  items: {
38
69
  type: 'string',
39
70
  },
40
- description: `Directories and files that should be excluded from code analysis and generation:
41
- Examples: ['node_modules', 'dist', 'build'], ['coverage', '.vscode', '.github']`,
71
+ description: `Directories and files that should be excluded from code analysis and generation:\\nExamples: ['node_modules', 'dist', 'build'], ['coverage', '.vscode', '.github']`,
42
72
  },
43
73
  popularDependencies: {
44
74
  type: 'object',
@@ -84,8 +114,7 @@ Examples: ['node_modules', 'dist', 'build'], ['coverage', '.vscode', '.github']`
84
114
  properties: {
85
115
  cheap: {
86
116
  type: 'string',
87
- description: `Model to use when cheap flag is enabled for OpenAI compatible service.
88
- Example: ['gpt-4o-mini']`,
117
+ description: `Model to use when cheap flag is enabled for OpenAI compatible service.\\nExample: ['gpt-4o-mini']`,
89
118
  },
90
119
  default: {
91
120
  type: 'string',
@@ -93,7 +122,7 @@ Example: ['gpt-4o-mini']`,
93
122
  },
94
123
  outputTokenLimit: {
95
124
  type: 'number',
96
- description: `Maximum number of tokens to generate in the output for OpenAI compatible service.\nDefaults vary by service (e.g., 8192).`,
125
+ description: `Maximum number of tokens to generate in the output for OpenAI compatible service.\\nDefaults vary by service (e.g., 8192).`,
97
126
  },
98
127
  },
99
128
  },
@@ -110,7 +139,7 @@ Example: ['gpt-4o-mini']`,
110
139
  },
111
140
  outputTokenLimit: {
112
141
  type: 'number',
113
- description: `Maximum number of tokens to generate in the output for Anthropic service.\nDefaults vary by service (e.g., 8192).`,
142
+ description: `Maximum number of tokens to generate in the output for Anthropic service.\\nDefaults vary by service (e.g., 8192).`,
114
143
  },
115
144
  },
116
145
  },
@@ -129,7 +158,7 @@ Example: ['gpt-4o-mini']`,
129
158
  },
130
159
  outputTokenLimit: {
131
160
  type: 'number',
132
- description: `Maximum number of tokens to generate in the output for Vertex AI service.\nDefaults vary by service (e.g., 8192).`,
161
+ description: `Maximum number of tokens to generate in the output for Vertex AI service.\\nDefaults vary by service (e.g., 8192).`,
133
162
  },
134
163
  aiStudio: {
135
164
  type: 'object',
@@ -144,7 +173,7 @@ Example: ['gpt-4o-mini']`,
144
173
  },
145
174
  outputTokenLimit: {
146
175
  type: 'number',
147
- description: `Maximum number of tokens to generate in the output for AI Studio service.\nDefaults vary by service (e.g., 8192).`,
176
+ description: `Maximum number of tokens to generate in the output for AI Studio service.\\nDefaults vary by service (e.g., 8192).`,
148
177
  },
149
178
  },
150
179
  },
@@ -152,11 +181,116 @@ Example: ['gpt-4o-mini']`,
152
181
  },
153
182
  plugins: {
154
183
  type: 'array',
184
+ description: 'Plugins to load. Each item can be a string path to a plugin module or an inline object. Inline plugin objects are supported only in JavaScript/TypeScript config files (genaicode.config.{js,ts,mjs,mts}). For .genaicoderc (JSON), use string paths.',
155
185
  items: {
156
- type: 'string',
186
+ oneOf: [
187
+ {
188
+ type: 'string',
189
+ description: 'A file path to a plugin module (e.g., "./plugins/my-plugin.js").',
190
+ },
191
+ {
192
+ type: 'object',
193
+ description: 'Inline plugin object (JS/TS config only). Resembles the Plugin type.',
194
+ properties: {
195
+ name: { type: 'string', description: 'Plugin name.' },
196
+ aiServices: {
197
+ type: 'object',
198
+ description: 'Map of AI services exposed by the plugin.',
199
+ additionalProperties: {
200
+ type: 'object',
201
+ properties: {
202
+ generateContent: {
203
+ description: 'Function (JS/TS only): generateContent(prompt, config, options) => Promise<GenerateContentResult>',
204
+ },
205
+ serviceConfig: {
206
+ type: 'object',
207
+ description: 'Service configuration object.',
208
+ additionalProperties: true,
209
+ },
210
+ },
211
+ required: ['serviceConfig'],
212
+ additionalProperties: false,
213
+ },
214
+ },
215
+ operations: {
216
+ type: 'object',
217
+ description: 'Map of operations contributed by the plugin.',
218
+ additionalProperties: {
219
+ type: 'object',
220
+ properties: {
221
+ executor: { description: 'Function (JS/TS only): executor(args, options) => Promise<void>' },
222
+ def: {
223
+ type: 'object',
224
+ description: 'Function definition describing the operation.',
225
+ properties: {
226
+ name: { type: 'string' },
227
+ description: { type: 'string' },
228
+ parameters: {
229
+ type: 'object',
230
+ description: 'JSON schema-like parameters definition.',
231
+ properties: {
232
+ type: { type: 'string', enum: ['object'] },
233
+ properties: { type: 'object', additionalProperties: true },
234
+ required: { type: 'array', items: { type: 'string' } },
235
+ },
236
+ required: ['type', 'properties', 'required'],
237
+ additionalProperties: false,
238
+ },
239
+ },
240
+ required: ['name', 'description', 'parameters'],
241
+ additionalProperties: false,
242
+ },
243
+ },
244
+ required: ['def'],
245
+ additionalProperties: false,
246
+ },
247
+ },
248
+ actionHandlers: {
249
+ type: 'object',
250
+ description: 'Map of action handlers added by the plugin.',
251
+ additionalProperties: {
252
+ type: 'object',
253
+ properties: {
254
+ handler: { description: 'Function (JS/TS only): handler(...)' },
255
+ description: { type: 'string' },
256
+ },
257
+ required: ['description'],
258
+ additionalProperties: false,
259
+ },
260
+ },
261
+ generateContentHook: {
262
+ description: 'Function (JS/TS only): hook executed on each generateContent call.',
263
+ },
264
+ planningPreHook: {
265
+ description: 'Function (JS/TS only): hook to modify the planning prompt before execution.',
266
+ },
267
+ planningPostHook: {
268
+ description: 'Function (JS/TS only): hook to post-process the planning result.',
269
+ },
270
+ profiles: {
271
+ type: 'array',
272
+ description: 'Project profiles contributed by the plugin (optional).',
273
+ items: {
274
+ type: 'object',
275
+ properties: {
276
+ id: { type: 'string' },
277
+ name: { type: 'string' },
278
+ extensions: { type: 'array', items: { type: 'string' } },
279
+ ignorePaths: { type: 'array', items: { type: 'string' } },
280
+ detectionWeight: { type: 'number' },
281
+ detect: { description: 'Function (JS/TS only): async detect(rootDir) => Promise<boolean>' },
282
+ initialize: { description: 'Function (JS/TS only): async initialize(rootDir) => Promise<void>' },
283
+ },
284
+ required: ['id', 'name', 'extensions', 'ignorePaths', 'detectionWeight'],
285
+ additionalProperties: false,
286
+ },
287
+ },
288
+ },
289
+ additionalProperties: false,
290
+ required: ['name'],
291
+ },
292
+ ],
157
293
  },
158
- description: `Paths to plugin files that should be loaded by GenAIcode. Plugins can extend functionality by adding custom operations, AI services, or action handlers.
159
- Example: ['./plugins/custom-plugin.js', './examples/genaicode_plugins/genaicode_tracker.js', './examples/genaicode_plugins/nonsense_operation.js']`,
160
294
  },
161
295
  featuresEnabled: {
162
296
  type: 'object',
@@ -180,7 +314,7 @@ export function validateRcConfig(rcConfig) {
180
314
  const validator = new Validator();
181
315
  const result = validator.validate(rcConfig, GENAICODERC_SCHEMA);
182
316
  if (!result.valid) {
183
- throw new Error(`Invalid .genaicoderc configuration: ${result.errors.map((e) => e.stack).join('\n')}`);
317
+ throw new Error(`Invalid .genaicoderc configuration: ${result.errors.map((e) => e.stack).join('\\n')}`);
184
318
  }
185
319
  }
186
320
  //# sourceMappingURL=config-schema.js.map
@@ -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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"}
@@ -1,22 +1,9 @@
1
+ import { ModelSpecificSettings } from '../ai-service/service-configurations-types.js';
2
+ import { Plugin } from './codegen-types.js';
1
3
  export interface ImportantContext {
2
4
  systemPrompt?: string[];
3
5
  files?: string[];
4
6
  }
5
- /**
6
- * Configuration for specific model settings within a service.
7
- */
8
- export interface ModelSpecificSettings {
9
- /** System instructions specific to this model */
10
- systemInstruction?: string[];
11
- /** Maximum number of tokens to generate in the output specific to this model */
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;
17
- /** Temperature unsupported */
18
- temperatureUnsupported?: boolean;
19
- }
20
7
  /**
21
8
  * Model configuration for each supported AI service
22
9
  * Each service can have different model types:
@@ -47,6 +34,30 @@ export interface ModelOverrides {
47
34
  localLlm?: ServiceModelConfig;
48
35
  githubModels?: ServiceModelConfig;
49
36
  }
37
+ /**
38
+ * Defines a project-specific command that can be executed by the AI.
39
+ */
40
+ export interface ProjectCommand {
41
+ /** The command string to execute. Can include shell operators. */
42
+ command: string;
43
+ /** A brief description of what the command does. */
44
+ description?: string;
45
+ /** Default arguments to pass to the command. */
46
+ defaultArgs?: string[];
47
+ /** Environment variables to set for the command execution. */
48
+ env?: Record<string, string>;
49
+ /** The working directory to run the command in. Defaults to rootDir. */
50
+ workingDir?: string;
51
+ /** Optional aliases for the command name. */
52
+ aliases?: string[];
53
+ /**
54
+ * Determines if the command should be executed without user confirmation.
55
+ * - If `true`, the command is always executed.
56
+ * - If a `string`, it's a natural language condition evaluated by the AI.
57
+ * If the condition is met, the command is executed without a prompt.
58
+ */
59
+ autoApprove?: boolean | string;
60
+ }
50
61
  /**
51
62
  * Configuration for the project codegen
52
63
  *
@@ -63,10 +74,26 @@ export interface RcConfig {
63
74
  };
64
75
  importantContext?: ImportantContext;
65
76
  modelOverrides?: ModelOverrides;
66
- plugins?: string[];
77
+ /**
78
+ * An array of plugins to load. Each item can be:
79
+ * - A `string` representing a file path to a plugin.
80
+ * - A `PluginSpec` object for importing a plugin from a module.
81
+ * - An inline `Plugin` object (only in JS/TS config files).
82
+ */
83
+ plugins?: (string | Plugin)[];
84
+ /**
85
+ * A map of named project-specific commands that can be executed.
86
+ * @example
87
+ * "projectCommands": {
88
+ * "test": { "command": "npm run test", "description": "Run unit tests" },
89
+ * "lint:fix": { "command": "npm run lint -- --fix" }
90
+ * }
91
+ */
92
+ projectCommands?: Record<string, ProjectCommand>;
67
93
  featuresEnabled?: {
68
94
  appContext?: boolean;
69
95
  gitContext?: boolean;
70
96
  containerTask?: boolean;
71
97
  };
72
98
  }
99
+ export declare function defineConfig(config: RcConfig): RcConfig;
@@ -1,2 +1,4 @@
1
- export {};
1
+ export function defineConfig(config) {
2
+ return config;
3
+ }
2
4
  //# sourceMappingURL=config-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-types.js","sourceRoot":"","sources":["../../src/main/config-types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"config-types.js","sourceRoot":"","sources":["../../src/main/config-types.ts"],"names":[],"mappings":"AAwGA,MAAM,UAAU,YAAY,CAAC,MAAgB;IAC3C,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,8 +1,14 @@
1
- import { RcConfig, ImportantContext, ModelOverrides } from './config-types.js';
2
- export declare const rcConfig: RcConfig;
1
+ import { ImportantContext, ModelOverrides, ProjectCommand } from './config-types.js';
2
+ declare const rcConfig: import("./config-types.js").RcConfig, configFilePath: string;
3
3
  export declare const rcConfigSchemaFilePath: string;
4
4
  export declare const sourceExtensions: string[];
5
5
  export declare const IMAGE_ASSET_EXTENSIONS: string[];
6
6
  export declare const ignorePaths: string[];
7
7
  export declare const importantContext: ImportantContext;
8
8
  export declare const modelOverrides: ModelOverrides;
9
+ type ResolvedProjectCommand = ProjectCommand & {
10
+ name: string;
11
+ };
12
+ export declare const getProjectCommands: () => Map<string, ResolvedProjectCommand>;
13
+ export declare const getProjectCommand: (name: string) => ResolvedProjectCommand | undefined;
14
+ export { rcConfig, configFilePath };
@@ -1,13 +1,13 @@
1
+ import fs from 'fs';
1
2
  import path from 'path';
2
3
  import simpleGit from 'simple-git';
3
- import { findRcFile, parseRcFile, CODEGENRC_FILENAME } from './config-lib.js';
4
+ import { loadConfiguration } from './config-lib.js';
4
5
  import { loadPlugins } from './plugin-loader.js';
5
6
  import { DEFAULT_EXTENSIONS, DEFAULT_IGNORE_PATHS } from '../project-profiles/index.js';
6
7
  import { SCHEMA_VIRTUAL_FILE_NAME } from './config-schema.js';
7
8
  import { checkDockerAvailability } from '../prompt/steps/step-ask-question/handlers/container-task/utils/docker-check.js';
8
9
  // Read and parse the configuration
9
- const rcFilePath = await findRcFile();
10
- export const rcConfig = parseRcFile(rcFilePath);
10
+ const { rcConfig, configFilePath } = await loadConfiguration();
11
11
  // Initialize popularDependencies with defaults if not present
12
12
  if (rcConfig.popularDependencies === undefined) {
13
13
  rcConfig.popularDependencies = { enabled: true, threshold: 20 };
@@ -38,25 +38,73 @@ export const sourceExtensions = rcConfig.extensions ?? [...DEFAULT_EXTENSIONS.JS
38
38
  // Image extensions (driven by ai service limitations, so not configurable)
39
39
  export const IMAGE_ASSET_EXTENSIONS = ['.png', '.jpg', '.jpeg', '.gif', '.webp'];
40
40
  export const ignorePaths = rcConfig.ignorePaths ?? [...DEFAULT_IGNORE_PATHS.JS];
41
- export const importantContext = processImportantContext(rcConfig.importantContext);
41
+ export const importantContext = processImportantContext(rcConfig.importantContext, configFilePath);
42
42
  // modelOverrides is directly assigned. Downstream code in service-configurations.ts handles the structure.
43
43
  export const modelOverrides = rcConfig.modelOverrides ?? {};
44
- function processImportantContext(context) {
44
+ const projectCommandsMap = new Map();
45
+ // 1. Populate from rcConfig.projectCommands
46
+ if (rcConfig.projectCommands) {
47
+ for (const [name, command] of Object.entries(rcConfig.projectCommands)) {
48
+ const resolvedCommand = { ...command, name };
49
+ projectCommandsMap.set(name, resolvedCommand);
50
+ // Add aliases
51
+ if (command.aliases) {
52
+ for (const alias of command.aliases) {
53
+ projectCommandsMap.set(alias, resolvedCommand);
54
+ }
55
+ }
56
+ }
57
+ }
58
+ // 2. Synthesize from legacy lintCommand for backward compatibility
59
+ if (rcConfig.lintCommand && !projectCommandsMap.has('lint')) {
60
+ projectCommandsMap.set('lint', {
61
+ name: 'lint',
62
+ command: rcConfig.lintCommand,
63
+ description: 'Legacy lint command (from lintCommand)',
64
+ });
65
+ }
66
+ // 3. Auto-discover from package.json scripts
67
+ try {
68
+ const packageJsonPath = path.join(rcConfig.rootDir, 'package.json');
69
+ if (fs.existsSync(packageJsonPath)) {
70
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
71
+ if (packageJson.scripts) {
72
+ for (const scriptName in packageJson.scripts) {
73
+ if (!projectCommandsMap.has(scriptName)) {
74
+ projectCommandsMap.set(scriptName, {
75
+ name: scriptName,
76
+ command: `npm run ${scriptName}`,
77
+ description: `package.json script: ${scriptName}`,
78
+ });
79
+ }
80
+ }
81
+ }
82
+ }
83
+ }
84
+ catch (error) {
85
+ console.warn('Could not read or parse package.json for script discovery:', error);
86
+ }
87
+ export const getProjectCommands = () => projectCommandsMap;
88
+ export const getProjectCommand = (name) => projectCommandsMap.get(name);
89
+ function processImportantContext(context, configFilePath) {
45
90
  if (!context) {
46
- return { systemPrompt: [], files: [] };
91
+ return { systemPrompt: [], files: [configFilePath] };
47
92
  }
48
- // Always include .genaicoderc in important files
49
- const files = context.files || [];
50
- if (!files.includes(CODEGENRC_FILENAME)) {
51
- files.push(CODEGENRC_FILENAME);
93
+ // Resolve user-defined important files relative to the rootDir
94
+ const resolvedUserFiles = (context.files || []).map((file) => path.resolve(rcConfig.rootDir, file));
95
+ // Ensure the absolute path to the config file is included
96
+ if (!resolvedUserFiles.includes(configFilePath)) {
97
+ resolvedUserFiles.push(configFilePath);
52
98
  }
53
99
  return {
54
100
  systemPrompt: context.systemPrompt || [],
55
- files: files.map((file) => path.resolve(rcConfig.rootDir, file)),
101
+ files: resolvedUserFiles,
56
102
  };
57
103
  }
58
104
  console.log('Detected codegen configuration', rcConfig);
59
105
  console.log('Root dir:', rcConfig.rootDir);
60
106
  console.log('Important context:', importantContext);
61
107
  console.log('Model overrides:', modelOverrides);
108
+ console.log('Project commands:', projectCommandsMap);
109
+ export { rcConfig, configFilePath };
62
110
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/main/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/main/config.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { ServiceConfig } from '../ai-service/service-configurations-types.js';
10
10
  * @throws {Error} If plugin registration fails
11
11
  */
12
12
  export declare function registerPlugin(plugin: Plugin, pluginPath?: string): Promise<void>;
13
+ export declare function isPluginObject(entry: unknown): entry is Plugin;
13
14
  /**
14
15
  * Loads plugins from configuration with idempotency checks
15
16
  */
@@ -137,6 +137,9 @@ export async function registerPlugin(plugin, pluginPath) {
137
137
  throw new Error(`${errorMessage}: ${error instanceof Error ? error.message : String(error)}`);
138
138
  }
139
139
  }
140
+ export function isPluginObject(entry) {
141
+ return !!entry && typeof entry === 'object' && 'name' in entry;
142
+ }
140
143
  /**
141
144
  * Loads plugins from configuration with idempotency checks
142
145
  */
@@ -145,15 +148,34 @@ export async function loadPlugins(rcConfig) {
145
148
  console.log('No plugins specified in the configuration.');
146
149
  return;
147
150
  }
148
- for (let pluginPath of rcConfig.plugins) {
151
+ for (const item of rcConfig.plugins) {
149
152
  try {
150
- pluginPath = path.isAbsolute(pluginPath) ? pluginPath : path.join(rcConfig.rootDir, pluginPath);
151
- console.log('Loading plugin:', pluginPath);
152
- const plugin = (await import(pluginPath)).default;
153
- await registerPlugin(plugin, pluginPath);
153
+ // Case 1: string path/module
154
+ if (typeof item === 'string') {
155
+ let pluginPath = item;
156
+ // Resolve relative paths against project root
157
+ if (!path.isAbsolute(pluginPath) && (pluginPath.startsWith('./') || pluginPath.startsWith('../'))) {
158
+ pluginPath = path.join(rcConfig.rootDir, pluginPath);
159
+ }
160
+ console.log('Loading plugin:', pluginPath);
161
+ const mod = await import(pluginPath);
162
+ const plugin = (mod?.default ?? mod);
163
+ await registerPlugin(plugin, pluginPath);
164
+ continue;
165
+ }
166
+ // Case 2: direct inline plugin object
167
+ if (isPluginObject(item)) {
168
+ console.log('Registering inline plugin (direct object):', item.name ?? '<unnamed>');
169
+ await registerPlugin(item, '<inline-plugin>');
170
+ continue;
171
+ }
172
+ // Unknown entry type
173
+ console.error('Unsupported plugin entry format:', item);
174
+ throw new Error('Unsupported plugin entry in configuration.');
154
175
  }
155
176
  catch (error) {
156
- console.error(`Failed to load plugin: ${pluginPath}`, error);
177
+ console.error('Failed to load plugin entry:', item);
178
+ console.error(error);
157
179
  throw error; // Re-throw to handle the error at a higher level
158
180
  }
159
181
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/main/plugin-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/main/plugin-loader.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export function createRouter(service) {
14
14
  }
15
15
  next();
16
16
  });
17
+ // Middleware to parse JSON bodies, needed for answer-question with actionType
18
+ router.use(express.json());
17
19
  // Register all endpoints
18
20
  for (const handler of handlers) {
19
21
  handler(router, service);
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/main/ui/backend/api.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,sBAAsB,CAAC;AAE9B,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAEhC,kDAAkD;IAClD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/main/ui/backend/api.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,sBAAsB,CAAC;AAE9B,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAEhC,kDAAkD;IAClD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAE3B,yBAAyB;IACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}