genaicode 0.12.1 → 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 (85) 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-C2MB0Z2i.js +2665 -0
  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
  85. package/dist/main/ui/frontend/assets/index-j9Oi9iiP.js +0 -2635
@@ -7,7 +7,7 @@
7
7
  <meta name="keywords" content="GenAIcode, AI, code generation, programming" />
8
8
  <title>GenAIcode - AI-Powered Code Generation</title>
9
9
  <link rel="icon" href="/assets/favicon-DvroFOpS.png" type="image/png" />
10
- <script type="module" crossorigin src="/assets/index-j9Oi9iiP.js"></script>
10
+ <script type="module" crossorigin src="/assets/index-C2MB0Z2i.js"></script>
11
11
  <link rel="stylesheet" crossorigin href="/assets/index-5QDg_0vR.css">
12
12
  </head>
13
13
  <body data-security-token="__SECURITY_TOKEN__">
@@ -1,6 +1,8 @@
1
1
  import { registerConfirmHandler, registerInputHandler, registerSecretHandler } from '../common/user-actions.js';
2
2
  export function registerUserActionHandlers(service) {
3
- registerInputHandler((_, message) => service.askQuestion(message, undefined));
3
+ registerInputHandler((_, message, promptActionType) => service.askQuestion(message, {
4
+ promptActionType,
5
+ }));
4
6
  registerConfirmHandler(async (props) => {
5
7
  const response = await service.askQuestion(props.prompt, {
6
8
  defaultValue: props.defaultValue,
@@ -1 +1 @@
1
- {"version":3,"file":"user-action-handlers.js","sourceRoot":"","sources":["../../../src/main/ui/user-action-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGhH,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,oBAAoB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9E,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE;YACvD,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE;YAC5C,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,MAAM,IAAI,SAAS,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"user-action-handlers.js","sourceRoot":"","sources":["../../../src/main/ui/user-action-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGhH,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,oBAAoB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,CACpD,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE;QAC3B,gBAAgB;KACjB,CAAC,CACH,CAAC;IACF,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE;YACvD,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE;YAC5C,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,MAAM,IAAI,SAAS,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -88,6 +88,7 @@ function isPathProperty(prop) {
88
88
  'requestFilesContent',
89
89
  'projectFilePath',
90
90
  'hostPath',
91
+ 'workingDirOverride',
91
92
  ].includes(prop);
92
93
  }
93
94
  function makeError(message, call, propertyPath) {
@@ -1 +1 @@
1
- {"version":3,"file":"function-calling-validate.js","sourceRoot":"","sources":["../../src/prompt/function-calling-validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function-calling-validate.js","sourceRoot":"","sources":["../../src/prompt/function-calling-validate.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { getImageAssets } from './function-defs/get-image-assets.js';
4
4
  import { getCodegenSummaryDef } from './function-defs/codegen-summary.js';
5
5
  import { explanation } from './function-defs/explanation.js';
6
6
  import { generateImage } from './function-defs/generate-image.js';
7
- import { getAskQuestionDef, requestPermissions, requestFilesContent, removeFilesFromContext, contextOptimization, searchCode, lint, pullAppContext, pushAppContext, requestFilesFragments, sendMessage, requestGitContextDef, } from './function-defs/ask-question.js';
7
+ import { getAskQuestionDef, requestPermissions, requestFilesContent, removeFilesFromContext, contextOptimization, searchCode, pullAppContext, pushAppContext, requestFilesFragments, sendMessage, requestGitContextDef, } from './function-defs/ask-question.js';
8
8
  import { optimizeContext } from './function-defs/optimize-context.js';
9
9
  import { setSummaries } from './function-defs/set-summaries.js';
10
10
  import { updateHistory } from './function-defs/update-history.js';
@@ -17,13 +17,15 @@ import { genaicodeHelpDef } from './function-defs/genaicode-help.js';
17
17
  import { reasoningInference, reasoningInferenceResponse } from './function-defs/reasoning-inference.js';
18
18
  import { compressContext } from './function-defs/context-compression.js';
19
19
  import { extractFileFragments } from './function-defs/extract-file-fragments.js';
20
- import { conversationGraph, evaluateEdge } from './function-defs/conversation-graph.js';
20
+ import { getConversationGraph, evaluateEdge } from './function-defs/conversation-graph.js';
21
21
  import { conversationSummaryDef } from './function-defs/conversation-summary.js';
22
22
  import { readExternalFiles } from './function-defs/read-external-files.js';
23
23
  import { exploreExternalDirectories } from './function-defs/explore-external-directories.js';
24
24
  import { getCompoundActionDef } from './function-defs/compound-action.js';
25
25
  import { runContainerTaskDef } from './function-defs/run-container-task.js';
26
+ import { getRunProjectCommandDef } from './function-defs/run-project-command.js';
26
27
  import { webSearchDef } from './function-defs/web-search.js';
28
+ import { getRunBashCommandDef } from './function-defs/run-bash-command.js';
27
29
  /**
28
30
  * Function definitions for function calling feature
29
31
  */
@@ -38,7 +40,6 @@ export function getFunctionDefs() {
38
40
  getAskQuestionDef(),
39
41
  requestPermissions,
40
42
  searchCode,
41
- lint,
42
43
  requestFilesContent,
43
44
  removeFilesFromContext,
44
45
  contextOptimization,
@@ -56,7 +57,7 @@ export function getFunctionDefs() {
56
57
  reasoningInferenceResponse,
57
58
  extractFileFragments,
58
59
  requestFilesFragments,
59
- conversationGraph,
60
+ getConversationGraph(),
60
61
  evaluateEdge,
61
62
  sendMessage,
62
63
  conversationSummaryDef,
@@ -65,6 +66,8 @@ export function getFunctionDefs() {
65
66
  requestGitContextDef,
66
67
  getCompoundActionDef(),
67
68
  runContainerTaskDef,
69
+ getRunProjectCommandDef(),
70
+ getRunBashCommandDef(),
68
71
  webSearchDef,
69
72
  ...getOperationDefs(),
70
73
  ].map((fd) => {
@@ -1 +1 @@
1
- {"version":3,"file":"function-calling.js","sourceRoot":"","sources":["../../src/prompt/function-calling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function-calling.js","sourceRoot":"","sources":["../../src/prompt/function-calling.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { FunctionDef } from '../../ai-service/common-types.js';
2
- export declare const actionTypeOptions: string[];
2
+ import { ActionType } from '../../index.js';
3
+ export declare function getActionTypeOptions(): readonly ActionType[];
3
4
  /**
4
5
  * Function definition for askQuestion
5
6
  *
@@ -14,7 +15,6 @@ export declare const removeFilesFromContext: FunctionDef;
14
15
  export declare const contextOptimization: FunctionDef;
15
16
  export declare const requestPermissions: FunctionDef;
16
17
  export declare const searchCode: FunctionDef;
17
- export declare const lint: FunctionDef;
18
18
  export declare const pullAppContext: FunctionDef;
19
19
  export declare const pushAppContext: FunctionDef;
20
20
  export declare const requestGitContextDef: FunctionDef;
@@ -16,7 +16,7 @@ Detailed Explanation of actionTypes:
16
16
  - requestFilesContent: Use specifically when needing to access or review the contents of files, and it is **not already present in the \`sourceCode\`**. Only use this action if the file content is genuinely missing after the \`getSourceCode\` function response.
17
17
  - readExternalFiles: Use to request access to **read the content of specific files** located outside the project's root directory. User confirmation is required for the batch of external files. Only processed information (summary or extracted facts) will be returned, not the raw file content. **This function is for getting the *contents* of known external files, not for listing directory contents.**
18
18
  - exploreExternalDirectories: Use to **list files and subdirectories within directories** located outside the project's root directory. You can specify criteria to filter the files (recursive, depth, search phrases). User confirmation is required. **This function returns a list of file paths, allowing you to explore directory structures.**
19
- ${rcConfig.featuresEnabled?.gitContext !== false ? '- requestGitContext: Use to request Git context information like recent commits, file changes, blame output, or file diffs for specific files/commits.' : ''}
19
+ ${rcConfig.featuresEnabled?.gitContext !== false ? '- requestGitContext: Use to request Git context information like recent commits, file changes, blame output, or file diffs.' : ''}
20
20
  - removeFilesFromContext: Use to remove unnecessary file contents from context, optimizing token usage.
21
21
  - contextOptimization: Use to manage and optimize context during code generation tasks, allowing the LLM to provide guidance on what parts of the context are most relevant to keep.
22
22
  - contextCompression: Use to compress the context by removing unnecessary tokens and optimizing the context size while maintaining essential information.
@@ -31,7 +31,8 @@ ${rcConfig.featuresEnabled?.appContext
31
31
  : ''}
32
32
  - conversationGraph: Use for complex conversations needing multiple steps and decisions.
33
33
  - compoundAction: Use when the user's request implies multiple *distinct*, *predefined* file operations (create, update, delete, move) or image manipulations that can be batched as a single logical step *within* the conversation flow. This action triggers an internal AI call to generate a list of specific operations based on the user's request, which is then shown to the user for confirmation before execution. **Important**: This is *not* for complex feature implementation or tasks requiring significant analysis and intertwined code generation (use **confirmCodeGeneration** for those instead).
34
- ${rcConfig.lintCommand ? '- lint: Use to check the code for errors and provide feedback on the quality of the code.' : ''}
34
+ - runProjectCommand: Execute a named project command (from .genaicoderc projectCommands or auto-discovered scripts, available commands: ${Object.keys(rcConfig.projectCommands || {}).join(', ')}). Supports arguments and environment variables.
35
+ - runBashCommand: Execute a bash command. Supports arguments and environment variables.
35
36
  ${pluginDescriptions}
36
37
  - genaicodeHelp: Use to provide help to the user on how to use GenAIcode. The response will be grounded in the content of GenAIcode's documentation.
37
38
  - reasoningInference: Use to perform an inference on a reasoning model. Should be used when a in-depth reasoning is needed for a specific problem.
@@ -39,34 +40,37 @@ ${rcConfig.featuresEnabled?.containerTask ? '- runContainerTask: Use to perform
39
40
 
40
41
  This value must be derived from the value of \`decisionMakingProcess\` parameter, and must be one of the above values.`;
41
42
  }
42
- export const actionTypeOptions = [
43
- 'sendMessage',
44
- 'generateImage',
45
- 'updateFile',
46
- 'createFile',
47
- 'performAnalysis',
48
- 'requestPermissions',
49
- 'requestFilesContent',
50
- 'readExternalFiles',
51
- 'exploreExternalDirectories',
52
- ...(rcConfig.featuresEnabled?.gitContext !== false ? ['requestGitContext'] : ''),
53
- 'removeFilesFromContext',
54
- 'contextOptimization',
55
- 'contextCompression',
56
- 'searchCode',
57
- 'webSearch',
58
- 'confirmCodeGeneration',
59
- 'endConversation',
60
- 'requestFilesFragments',
61
- ...(rcConfig.featuresEnabled?.appContext ? ['pullAppContext', 'pushAppContext'] : []),
62
- ...(rcConfig.lintCommand ? ['lint'] : []),
63
- ...(rcConfig.featuresEnabled?.containerTask ? ['runContainerTask'] : []),
64
- ...Array.from(getRegisteredActionHandlers().keys()),
65
- 'genaicodeHelp',
66
- 'reasoningInference',
67
- 'conversationGraph',
68
- 'compoundAction',
69
- ];
43
+ export function getActionTypeOptions() {
44
+ return [
45
+ 'sendMessage',
46
+ 'generateImage',
47
+ 'updateFile',
48
+ 'createFile',
49
+ 'performAnalysis',
50
+ 'requestPermissions',
51
+ 'requestFilesContent',
52
+ 'readExternalFiles',
53
+ 'exploreExternalDirectories',
54
+ ...(rcConfig.featuresEnabled?.gitContext !== false ? ['requestGitContext'] : []),
55
+ 'removeFilesFromContext',
56
+ 'contextOptimization',
57
+ 'contextCompression',
58
+ 'searchCode',
59
+ 'webSearch',
60
+ 'confirmCodeGeneration',
61
+ 'endConversation',
62
+ 'requestFilesFragments',
63
+ ...(rcConfig.featuresEnabled?.appContext ? ['pullAppContext', 'pushAppContext'] : []),
64
+ 'runProjectCommand',
65
+ 'runBashCommand',
66
+ ...(rcConfig.featuresEnabled?.containerTask ? ['runContainerTask'] : []),
67
+ ...Array.from(getRegisteredActionHandlers().keys()),
68
+ 'genaicodeHelp',
69
+ 'reasoningInference',
70
+ 'conversationGraph',
71
+ 'compoundAction',
72
+ ];
73
+ }
70
74
  /**
71
75
  * Function definition for askQuestion
72
76
  *
@@ -102,7 +106,9 @@ The decisionMakingProcess value **MUST** be provided in the following **EXACT**
102
106
  2. **Options Evaluation**:
103
107
  For every action type think how this action can help in the current context. Provide reasoning for each action type in such format:
104
108
  \`\`\`
105
- ${actionTypeOptions.map((actionType) => ` - ${actionType}: <reasoning>`).join('\n')}
109
+ ${getActionTypeOptions()
110
+ .map((actionType) => ` - ${actionType}: <reasoning>`)
111
+ .join('\n')}
106
112
  \`\`\`
107
113
 
108
114
  3. **Decision Justification**:
@@ -121,7 +127,7 @@ ${actionTypeOptions.map((actionType) => ` - ${actionType}: <reasoning>`).jo
121
127
  },
122
128
  actionType: {
123
129
  type: 'string',
124
- enum: actionTypeOptions,
130
+ enum: getActionTypeOptions(),
125
131
  description: getActionTypeDescription(),
126
132
  },
127
133
  message: {
@@ -310,22 +316,6 @@ export const searchCode = {
310
316
  required: ['query'],
311
317
  },
312
318
  };
313
- // lint
314
- export const lint = {
315
- name: 'lint',
316
- description: 'Use this function to run lint command, and get output.',
317
- parameters: {
318
- type: 'object',
319
- properties: {
320
- filePaths: {
321
- type: 'array',
322
- items: { type: 'string' },
323
- description: 'An array of absolute file paths to lint. If not provided, all files will be linted.',
324
- },
325
- },
326
- required: [],
327
- },
328
- };
329
319
  // pullAppContext
330
320
  export const pullAppContext = {
331
321
  name: 'pullAppContext',
@@ -371,18 +361,20 @@ export const pushAppContext = {
371
361
  // requestGitContext
372
362
  export const requestGitContextDef = {
373
363
  name: 'requestGitContext',
374
- description: 'Use this function to request Git context information like recent commits, file changes, blame output, or file diffs.',
364
+ description: "Use this function to request Git context information like recent commits, file changes, blame output, file diffs, or current working copy changes. All file paths must be absolute and within the project's root directory.",
375
365
  parameters: {
376
366
  type: 'object',
377
367
  properties: {
378
368
  requestType: {
379
369
  type: 'string',
380
- enum: ['commits', 'fileChanges', 'blame', 'fileDiff'],
381
- description: 'The type of Git information to request.',
370
+ enum: ['commits', 'fileChanges', 'blame', 'fileDiff', 'workingChanges', 'workingDiff'],
371
+ description: `The type of Git information to request.
372
+ - 'workingChanges': List staged, unstaged, and untracked file changes in the working directory.
373
+ - 'workingDiff': Show the diff for a single file in the working directory.`,
382
374
  },
383
375
  filePath: {
384
376
  type: 'string',
385
- description: "The absolute file path required for 'fileChanges', 'blame', and 'fileDiff' requests.",
377
+ description: "The absolute file path required for 'fileChanges', 'blame', 'fileDiff', and 'workingDiff' requests.",
386
378
  },
387
379
  commitHash: {
388
380
  type: 'string',
@@ -392,6 +384,22 @@ export const requestGitContextDef = {
392
384
  type: 'number',
393
385
  description: "The number of recent commits to retrieve for 'commits' requests.",
394
386
  },
387
+ includeUntracked: {
388
+ type: 'boolean',
389
+ description: "For 'workingChanges', set to false to exclude untracked files (default: true).",
390
+ },
391
+ stagedOnly: {
392
+ type: 'boolean',
393
+ description: "For 'workingChanges', set to true to only show staged changes.",
394
+ },
395
+ unstagedOnly: {
396
+ type: 'boolean',
397
+ description: "For 'workingChanges', set to true to only show unstaged changes.",
398
+ },
399
+ staged: {
400
+ type: 'boolean',
401
+ description: "For 'workingDiff', set to true to show the diff for staged changes (--cached).",
402
+ },
395
403
  },
396
404
  required: ['requestType'],
397
405
  },
@@ -1 +1 @@
1
- {"version":3,"file":"ask-question.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/ask-question.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ask-question.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/ask-question.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { FunctionCall, FunctionDef } from '../../ai-service/common-types.js';
2
2
  import { ActionType } from '../steps/step-ask-question/step-ask-question-types.js';
3
- export declare const conversationGraph: FunctionDef;
3
+ export declare const getConversationGraph: () => FunctionDef;
4
4
  export type ConversationNodeId = string & {
5
5
  __type: 'ConversationNodeId';
6
6
  };
@@ -1,6 +1,6 @@
1
- import { actionTypeOptions } from './ask-question.js';
1
+ import { getActionTypeOptions } from './ask-question.js';
2
2
  // Function definitions for conversation graph
3
- export const conversationGraph = {
3
+ export const getConversationGraph = () => ({
4
4
  name: 'conversationGraph',
5
5
  description: 'Define and execute a series of conversation steps to achieve a specific goal. This allows for structured, multi-step conversations with clear transitions between steps.',
6
6
  parameters: {
@@ -33,7 +33,7 @@ export const conversationGraph = {
33
33
  },
34
34
  actionType: {
35
35
  type: 'string',
36
- enum: actionTypeOptions,
36
+ enum: getActionTypeOptions(),
37
37
  description: 'The action to perform at this step.',
38
38
  },
39
39
  instruction: {
@@ -72,7 +72,7 @@ export const conversationGraph = {
72
72
  },
73
73
  required: ['contextAnalysis', 'bigPicture', 'entryNode', 'nodes', 'edges'],
74
74
  },
75
- };
75
+ });
76
76
  // Function definitions for edge evaluation
77
77
  export const evaluateEdge = {
78
78
  name: 'evaluateEdge',
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-graph.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/conversation-graph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,8CAA8C;AAE9C,MAAM,CAAC,MAAM,iBAAiB,GAAgB;IAC5C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,0KAA0K;IAC5K,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8EAA8E;aAC5F;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wEAAwE;aACtF;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,yGAAyG;aAC5G;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,SAAS,EAAE;4BACT,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,qDAAqD;yBACnE;wBACD,EAAE,EAAE;4BACF,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,8EAA8E;yBAC5F;wBACD,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,iBAAiB;4BACvB,WAAW,EAAE,qCAAqC;yBACnD;wBACD,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,kHAAkH;yBACrH;qBACF;oBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,CAAC;iBAC3D;gBACD,SAAS,EAAE,CAAC;gBACZ,WAAW,EACT,iLAAiL;aACpL;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,sDAAsD;yBACpE;wBACD,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,gDAAgD;yBAC9D;wBACD,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,oGAAoG;yBACvG;qBACF;oBACD,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC;iBACtD;gBACD,SAAS,EAAE,CAAC;gBACZ,WAAW,EACT,6IAA6I;aAChJ;SACF;QACD,QAAQ,EAAE,CAAC,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC;KAC3E;CACF,CAAC;AA0BF,2CAA2C;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,qIAAqI;IACvI,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uEAAuE;aACrF;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+DAA+D;gBAC5E,UAAU,EAAE;oBACV,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,sDAAsD;qBACpE;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gDAAgD;qBAC9D;iBACF;gBACD,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;aACvC;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,+CAA+C;aAC7D;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;KAC3C;CACF,CAAC"}
1
+ {"version":3,"file":"conversation-graph.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/conversation-graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { FunctionDef } from '../../ai-service/common-types.js';
2
+ export declare const getRunBashCommandDef: () => FunctionDef;
@@ -0,0 +1,29 @@
1
+ import { rcConfig } from '../../main/config.js';
2
+ export const getRunBashCommandDef = () => {
3
+ return {
4
+ name: 'runBashCommand',
5
+ description: `Execute a bash command. Supports passing args and env.`,
6
+ parameters: {
7
+ type: 'object',
8
+ properties: {
9
+ command: { type: 'string', description: 'The bash command to execute.' },
10
+ env: {
11
+ type: 'object',
12
+ description: 'Optional environment variables to set for the command.',
13
+ },
14
+ workingDirOverride: {
15
+ type: 'string',
16
+ description: `Optional override for the working directory to run the command in. If set then must be a project path (inside rootDir: ${rcConfig.rootDir}).`,
17
+ },
18
+ truncMode: {
19
+ type: 'string',
20
+ enum: ['first', 'last', 'summarize', 'full'],
21
+ description: "How to truncate the command output if it is too long. `first` uses the first 200 lines/1000 chars, `last` uses the last 200 lines/1000 chars, `summarize` uses a lite model to summarize. 'full' will return the full output.",
22
+ },
23
+ explanation: { type: 'string', description: 'An explanation for why this command is being run.' },
24
+ },
25
+ required: ['command'],
26
+ },
27
+ };
28
+ };
29
+ //# sourceMappingURL=run-bash-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-bash-command.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/run-bash-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAgB,EAAE;IACpD,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,wDAAwD;QACrE,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;gBACxE,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wDAAwD;iBACtE;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0HAA0H,QAAQ,CAAC,OAAO,IAAI;iBAC5J;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC;oBAC5C,WAAW,EACT,+NAA+N;iBAClO;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mDAAmD,EAAE;aAClG;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { FunctionDef } from '../../ai-service/common-types.js';
2
+ export declare const getRunProjectCommandDef: () => FunctionDef;
@@ -0,0 +1,37 @@
1
+ import { rcConfig } from '../../main/config.js';
2
+ export const getRunProjectCommandDef = () => {
3
+ const commands = rcConfig.projectCommands;
4
+ const names = commands ? Object.keys(commands) : [];
5
+ return {
6
+ name: 'runProjectCommand',
7
+ description: `Execute a named project command (from .genaicoderc projectCommands or auto-discovered package.json scripts). Supports passing args and env.
8
+
9
+ Supported commands:
10
+ ${Object.entries(commands || {}).map(([name, cmdDef]) => `
11
+ - ${name}: ${cmdDef.description || cmdDef.command}`)}
12
+ `,
13
+ parameters: {
14
+ type: 'object',
15
+ properties: {
16
+ name: { type: 'string', description: 'The name of the project command to execute.', enum: names },
17
+ args: { type: 'array', items: { type: 'string' }, description: 'Optional arguments to pass to the command.' },
18
+ env: {
19
+ type: 'object',
20
+ description: 'Optional environment variables to set for the command.',
21
+ },
22
+ workingDirOverride: {
23
+ type: 'string',
24
+ description: `Optional override for the working directory to run the command in. If set then must be a project path (inside rootDir: ${rcConfig.rootDir}).`,
25
+ },
26
+ truncMode: {
27
+ type: 'string',
28
+ enum: ['first', 'last', 'summarize'],
29
+ description: `How to truncate the command output if it is too long. \`first\` uses the first 200 lines/1000 chars, \`last\` uses the last 200 lines/1000 chars, \`summarize\` uses a lite model to summarize.`,
30
+ },
31
+ explanation: { type: 'string', description: 'An explanation for why this command is being run.' },
32
+ },
33
+ required: ['name'],
34
+ },
35
+ };
36
+ };
37
+ //# sourceMappingURL=run-project-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-project-command.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/run-project-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAgB,EAAE;IACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC;IAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE;;;EAGf,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAClC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;IAClB,IAAI,KAAK,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,CAClD;CACA;QACG,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6CAA6C,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjG,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,4CAA4C,EAAE;gBAC7G,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wDAAwD;iBACtE;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0HAA0H,QAAQ,CAAC,OAAO,IAAI;iBAC5J;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC;oBACpC,WAAW,EAAE,iMAAiM;iBAC/M;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mDAAmD,EAAE;aAClG;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -27,7 +27,7 @@ export async function handleSendMessage(props) {
27
27
  });
28
28
  putAssistantMessage(args.message);
29
29
  if (args.waitForUserResponse) {
30
- const response = await askUserForInput('Your answer', '', options);
30
+ const response = await askUserForInput('Your answer', '', options, true);
31
31
  putUserMessage(response.answer);
32
32
  taskExecutionPrompt.push({
33
33
  type: 'user',
@@ -1 +1 @@
1
- {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../../../../../../src/prompt/steps/step-ask-question/handlers/container-task/commands/send-message.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAGhF,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,IAAI,EAAE,aAAa;IACnB,WAAW,EACT,sHAAsH;IACxH,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;aAChD;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,gEAAgE;aAC9E;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,qBAAqB,CAAC;KAC7C;CACF,CAAC;AAIF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAwF;IAExF,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC7D,MAAM,IAAI,GAAG,YAAY,CAAC,IAAuB,CAAC;IAElD,mBAAmB,CAAC,IAAI,CAAC;QACvB,IAAI,EAAE,WAAW;QACjB,aAAa,EAAE,CAAC,YAAY,CAAC;KAC9B,CAAC,CAAC;IAEH,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACnE,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChC,mBAAmB,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ,CAAC,MAAM;YACrB,iBAAiB,EAAE;gBACjB;oBACE,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,OAAO,EAAE,YAAY,CAAC,EAAE,IAAI,SAAS;iBACtC;aACF;SACF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,mBAAmB,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,MAAM;YACZ,iBAAiB,EAAE;gBACjB;oBACE,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,OAAO,EAAE,YAAY,CAAC,EAAE,IAAI,SAAS;iBACtC;aACF;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,EAAE,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../../../../../../src/prompt/steps/step-ask-question/handlers/container-task/commands/send-message.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAGhF,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,IAAI,EAAE,aAAa;IACnB,WAAW,EACT,sHAAsH;IACxH,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;aAChD;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,gEAAgE;aAC9E;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,qBAAqB,CAAC;KAC7C;CACF,CAAC;AAIF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAwF;IAExF,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC7D,MAAM,IAAI,GAAG,YAAY,CAAC,IAAuB,CAAC;IAElD,mBAAmB,CAAC,IAAI,CAAC;QACvB,IAAI,EAAE,WAAW;QACjB,aAAa,EAAE,CAAC,YAAY,CAAC;KAC9B,CAAC,CAAC;IAEH,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACzE,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChC,mBAAmB,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ,CAAC,MAAM;YACrB,iBAAiB,EAAE;gBACjB;oBACE,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,OAAO,EAAE,YAAY,CAAC,EAAE,IAAI,SAAS;iBACtC;aACF;SACF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,mBAAmB,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,MAAM;YACZ,iBAAiB,EAAE;gBACjB;oBACE,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,OAAO,EAAE,YAAY,CAAC,EAAE,IAAI,SAAS;iBACtC;aACF;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,EAAE,CAAC;AACnE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { ActionHandlerProps, ActionResult } from '../step-ask-question-types.js';
2
2
  /**
3
3
  * Handles the lint action by executing the lint command and processing its results.
4
- * If the lint command fails, it will ask for user confirmation to continue with code generation.
4
+ * This is now a wrapper around the generic `runProjectCommand` handler.
5
5
  */
6
- export declare function handleLint({ askQuestionCall, prompt }: ActionHandlerProps): Promise<ActionResult>;
6
+ export declare function handleLint(props: ActionHandlerProps): Promise<ActionResult>;