genaicode 0.10.0 → 0.10.1

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.
@@ -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-BlVGo0E6.js"></script>
10
+ <script type="module" crossorigin src="/assets/index-C7n3IQsE.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__">
@@ -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, } from './function-defs/ask-question.js';
7
+ import { getAskQuestionDef, requestPermissions, requestFilesContent, removeFilesFromContext, contextOptimization, searchCode, lint, 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';
@@ -58,7 +58,8 @@ export function getFunctionDefs() {
58
58
  sendMessage,
59
59
  conversationSummaryDef,
60
60
  readExternalFiles,
61
- exploreExternalDirectories, // Added this line
61
+ exploreExternalDirectories,
62
+ requestGitContextDef,
62
63
  ...getOperationDefs(),
63
64
  ].map((fd) => {
64
65
  if (!disableExplanations &&
@@ -1 +1 @@
1
- {"version":3,"file":"function-calling.js","sourceRoot":"","sources":["../../src/prompt/function-calling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,UAAU,EACV,IAAI,EACJ,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,WAAW,GACZ,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACxG,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAE7F;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,aAAa;QACb,cAAc;QACd,oBAAoB,EAAE;QACtB,qBAAqB,EAAE;QACvB,WAAW;QACX,aAAa;QACb,iBAAiB,EAAE;QACnB,kBAAkB;QAClB,UAAU;QACV,IAAI;QACJ,mBAAmB;QACnB,sBAAsB;QACtB,mBAAmB;QACnB,eAAe;QACf,YAAY;QACZ,aAAa;QACb,WAAW;QACX,eAAe;QACf,cAAc;QACd,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,kBAAkB;QAClB,eAAe;QACf,0BAA0B;QAC1B,oBAAoB;QACpB,qBAAqB;QACrB,iBAAiB;QACjB,YAAY;QACZ,WAAW;QACX,sBAAsB;QACtB,iBAAiB;QACjB,0BAA0B,EAAE,kBAAkB;QAC9C,GAAG,gBAAgB,EAAE;KACtB,CAAC,GAAG,CAAC,CAAC,EAAe,EAAE,EAAE;QACxB,IACE,CAAC,mBAAmB;YACpB,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW;YACpC,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAC/C,CAAC;YACD,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,mBAAmB,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;QAC9C,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"function-calling.js","sourceRoot":"","sources":["../../src/prompt/function-calling.ts"],"names":[],"mappings":"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"}
@@ -17,3 +17,4 @@ export declare const searchCode: FunctionDef;
17
17
  export declare const lint: FunctionDef;
18
18
  export declare const pullAppContext: FunctionDef;
19
19
  export declare const pushAppContext: FunctionDef;
20
+ export declare const requestGitContextDef: FunctionDef;
@@ -16,6 +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
20
  - removeFilesFromContext: Use to remove unnecessary file contents from context, optimizing token usage.
20
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.
21
22
  - contextCompression: Use to compress the context by removing unnecessary tokens and optimizing the context size while maintaining essential information.
@@ -45,6 +46,7 @@ export const actionTypeOptions = [
45
46
  'requestFilesContent',
46
47
  'readExternalFiles',
47
48
  'exploreExternalDirectories',
49
+ ...(rcConfig.featuresEnabled?.gitContext !== false ? ['requestGitContext'] : ''),
48
50
  'removeFilesFromContext',
49
51
  'contextOptimization',
50
52
  'contextCompression',
@@ -360,4 +362,32 @@ export const pushAppContext = {
360
362
  required: ['key', 'value'],
361
363
  },
362
364
  };
365
+ // requestGitContext
366
+ export const requestGitContextDef = {
367
+ name: 'requestGitContext',
368
+ description: 'Use this function to request Git context information like recent commits, file changes, blame output, or file diffs.',
369
+ parameters: {
370
+ type: 'object',
371
+ properties: {
372
+ requestType: {
373
+ type: 'string',
374
+ enum: ['commits', 'fileChanges', 'blame', 'fileDiff'],
375
+ description: 'The type of Git information to request.',
376
+ },
377
+ filePath: {
378
+ type: 'string',
379
+ description: "The absolute file path required for 'fileChanges', 'blame', and 'fileDiff' requests.",
380
+ },
381
+ commitHash: {
382
+ type: 'string',
383
+ description: "The specific commit hash for 'blame' and 'fileDiff' requests.",
384
+ },
385
+ count: {
386
+ type: 'number',
387
+ description: "The number of recent commits to retrieve for 'commits' requests.",
388
+ },
389
+ },
390
+ required: ['requestType'],
391
+ },
392
+ };
363
393
  //# sourceMappingURL=ask-question.js.map
@@ -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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"}
@@ -0,0 +1,3 @@
1
+ import { ActionHandler } from '../step-ask-question-types.js';
2
+ export declare const GIT_CONTEXT_INSTRUCTION_PROMPT = "\n You need to call the 'requestGitContext' function. Please determine the appropriate arguments based on the user's request.\n Parameters:\n - requestType (required): Choose one of 'commits', 'fileChanges', 'blame', or 'fileDiff'.\n - 'commits': Get recent commit history for the entire repository.\n - 'fileChanges': Get commit history specifically for the given 'filePath'.\n - 'blame': Get line-by-line authorship information (git blame) for the given 'filePath'.\n - 'fileDiff': Get the changes made to a specific 'filePath' in a given 'commitHash'.\n - filePath (absolute, required for 'fileChanges', 'blame', and 'fileDiff'): The absolute path to the file within the project. IMPORTANT: Ensure the provided filePath is absolute and is inside of the project root and exists within the project directory structure.\n - commitHash (required for 'blame' and 'fileDiff'): A specific commit hash to focus the request.\n - count (required for 'commits' and 'fileChanges'): The maximum number of commits to retrieve (applies mainly to 'commits' and 'fileChanges').\n\n Analyze the user's request and provide the arguments accurately.\n ";
3
+ export declare const handleRequestGitContext: ActionHandler;
@@ -0,0 +1,182 @@
1
+ import simpleGit from 'simple-git';
2
+ import { rcConfig } from '../../../../main/config.js';
3
+ import path from 'node:path';
4
+ import { getFunctionDefs } from '../../../function-calling.js';
5
+ import { ModelType } from '../../../../ai-service/common-types.js'; // Import PromptItem
6
+ import { putSystemMessage } from '../../../../main/common/content-bus.js';
7
+ // Helper function to format log output
8
+ function formatLog(log) {
9
+ return log.all
10
+ .map((commit) => `- ${commit.hash.substring(0, 7)} by ${commit.author_name} on ${commit.date}: ${commit.message}`)
11
+ .join('\n');
12
+ }
13
+ // Helper function to format blame output
14
+ function formatBlame(blame) {
15
+ // Basic formatting, could be enhanced
16
+ return `\nBlame Output:\n${blame}`;
17
+ }
18
+ // Helper function to format diff output
19
+ function formatDiff(diff) {
20
+ return `\nDiff Output:\n${diff}`;
21
+ }
22
+ // Define the detailed instruction prompt for the LLM
23
+ export const GIT_CONTEXT_INSTRUCTION_PROMPT = `
24
+ You need to call the 'requestGitContext' function. Please determine the appropriate arguments based on the user's request.
25
+ Parameters:
26
+ - requestType (required): Choose one of 'commits', 'fileChanges', 'blame', or 'fileDiff'.
27
+ - 'commits': Get recent commit history for the entire repository.
28
+ - 'fileChanges': Get commit history specifically for the given 'filePath'.
29
+ - 'blame': Get line-by-line authorship information (git blame) for the given 'filePath'.
30
+ - 'fileDiff': Get the changes made to a specific 'filePath' in a given 'commitHash'.
31
+ - filePath (absolute, required for 'fileChanges', 'blame', and 'fileDiff'): The absolute path to the file within the project. IMPORTANT: Ensure the provided filePath is absolute and is inside of the project root and exists within the project directory structure.
32
+ - commitHash (required for 'blame' and 'fileDiff'): A specific commit hash to focus the request.
33
+ - count (required for 'commits' and 'fileChanges'): The maximum number of commits to retrieve (applies mainly to 'commits' and 'fileChanges').
34
+
35
+ Analyze the user's request and provide the arguments accurately.
36
+ `;
37
+ export const handleRequestGitContext = async ({ askQuestionCall, options, generateContentFn, prompt, }) => {
38
+ putSystemMessage('Handling git context action.');
39
+ // Create a temporary prompt array including the instruction
40
+ const inferencePrompt = [
41
+ ...prompt,
42
+ { type: 'user', text: GIT_CONTEXT_INSTRUCTION_PROMPT }, // Add instruction as a user message
43
+ ];
44
+ const [requestGitContextCall] = // Use the temporary prompt with instructions for this specific call
45
+ (await generateContentFn(inferencePrompt, // Use the temporary prompt with the instruction
46
+ {
47
+ functionDefs: getFunctionDefs(),
48
+ requiredFunctionName: 'requestGitContext',
49
+ temperature: 0.7,
50
+ modelType: ModelType.CHEAP,
51
+ expectedResponseType: { text: false, functionCall: true, media: false },
52
+ }, options))
53
+ .filter((item) => item.type === 'functionCall')
54
+ .map((item) => item.functionCall);
55
+ if (!requestGitContextCall?.args) {
56
+ putSystemMessage('No valid git context call found after inference.');
57
+ // Add the original assistant message back, but indicate failure
58
+ prompt.push({
59
+ type: 'assistant',
60
+ text: askQuestionCall.args?.message ?? '',
61
+ }, {
62
+ type: 'user',
63
+ text: 'Could not determine the correct parameters for the Git request based on your message.',
64
+ });
65
+ return {
66
+ breakLoop: false,
67
+ items: [],
68
+ };
69
+ }
70
+ putSystemMessage('Obtained git context parameters', requestGitContextCall);
71
+ // Add the original assistant message and the inferred function call to the main prompt
72
+ prompt.push({
73
+ type: 'assistant',
74
+ text: askQuestionCall.args?.message ?? '',
75
+ functionCalls: [requestGitContextCall],
76
+ });
77
+ const args = requestGitContextCall.args;
78
+ const git = simpleGit(rcConfig.rootDir);
79
+ let responseContent = '';
80
+ let errorMessage = '';
81
+ try {
82
+ const isRepo = await git.checkIsRepo();
83
+ if (!isRepo) {
84
+ throw new Error('The project directory is not a Git repository.');
85
+ }
86
+ // Common validation for file path
87
+ const validateFilePath = (requiredFor) => {
88
+ if (!args.filePath) {
89
+ throw new Error(`filePath is required for ${requiredFor} request.`);
90
+ }
91
+ if (!path.isAbsolute(args.filePath)) {
92
+ throw new Error(`filePath must be an absolute path for ${requiredFor} request.`);
93
+ }
94
+ const absoluteFilePath = args.filePath;
95
+ if (!absoluteFilePath.startsWith(rcConfig.rootDir)) {
96
+ throw new Error(`Access denied: filePath is outside the project root for ${requiredFor} request.`);
97
+ }
98
+ return absoluteFilePath;
99
+ };
100
+ // Common validation for commit hash
101
+ const validateCommitHash = (requiredFor) => {
102
+ if (!args.commitHash) {
103
+ throw new Error(`commitHash is required for ${requiredFor} request.`);
104
+ }
105
+ return args.commitHash;
106
+ };
107
+ switch (args.requestType) {
108
+ case 'commits': {
109
+ const logOptions = {};
110
+ if (args.count && args.count > 0) {
111
+ logOptions['--max-count'] = args.count;
112
+ }
113
+ const log = await git.log(logOptions);
114
+ responseContent = `Recent commits:\n${formatLog(log)}`;
115
+ break;
116
+ }
117
+ case 'fileChanges': {
118
+ const absoluteFilePath = validateFilePath('fileChanges');
119
+ const logOptions = { file: absoluteFilePath };
120
+ if (args.count && args.count > 0) {
121
+ logOptions['--max-count'] = args.count;
122
+ }
123
+ const log = await git.log(logOptions);
124
+ responseContent = `Changes for ${args.filePath}:\n${formatLog(log)}`;
125
+ break;
126
+ }
127
+ case 'blame': {
128
+ const absoluteFilePath = validateFilePath('blame');
129
+ const blameCommandArgs = ['blame'];
130
+ if (args.commitHash) {
131
+ // Include the commit hash in the command arguments before the file path
132
+ blameCommandArgs.push(args.commitHash);
133
+ }
134
+ // Use '--' to clearly separate the commit/options from the file path
135
+ blameCommandArgs.push('--', absoluteFilePath);
136
+ const blame = await git.raw(...blameCommandArgs);
137
+ responseContent = `Blame for ${args.filePath}${args.commitHash ? ` at commit ${args.commitHash.substring(0, 7)}` : ''}:\n${formatBlame(blame)}`;
138
+ break;
139
+ }
140
+ case 'fileDiff': {
141
+ const absoluteFilePath = validateFilePath('fileDiff');
142
+ const commitHash = validateCommitHash('fileDiff');
143
+ // Use commitHash~1...commitHash to get the diff for that specific commit
144
+ const diff = await git.diff([`${commitHash}~1..${commitHash}`, '--', absoluteFilePath]);
145
+ responseContent = `Diff for ${args.filePath} at commit ${commitHash.substring(0, 7)}:\n${formatDiff(diff)}`;
146
+ break;
147
+ }
148
+ default: {
149
+ // Should be caught by function call validation, but handle defensively
150
+ throw new Error(`Invalid requestType received: ${args.requestType}`);
151
+ }
152
+ }
153
+ }
154
+ catch (error) {
155
+ console.error('Error fetching Git context:', error);
156
+ errorMessage =
157
+ error instanceof Error
158
+ ? `Error fetching Git context: ${error.message}`
159
+ : 'An unknown error occurred while fetching Git context.';
160
+ }
161
+ putSystemMessage('Git context response', {
162
+ responseContent,
163
+ errorMessage,
164
+ });
165
+ // Add the function response (result or error) to the main prompt
166
+ prompt.push({
167
+ type: 'user',
168
+ functionResponses: [
169
+ {
170
+ name: 'requestGitContext', // Use the actual function name
171
+ call_id: requestGitContextCall.id,
172
+ content: errorMessage || responseContent,
173
+ isError: !!errorMessage,
174
+ },
175
+ ],
176
+ });
177
+ return {
178
+ breakLoop: false,
179
+ items: [],
180
+ };
181
+ };
182
+ //# sourceMappingURL=handle-request-git-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-request-git-context.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-request-git-context.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
- export const handlers = {};
1
+ import { handleRequestGitContext } from './handlers/handle-request-git-context.js';
2
+ export const handlers = {
3
+ requestGitContext: handleRequestGitContext,
4
+ };
2
5
  export function registerActionHandler(type, handler) {
3
6
  handlers[type] = handler;
4
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"step-ask-question-handlers.js","sourceRoot":"","sources":["../../../../src/prompt/steps/step-ask-question/step-ask-question-handlers.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAA+C,EAAE,CAAC;AAEvE,MAAM,UAAU,qBAAqB,CAAC,IAAgB,EAAE,OAAsB;IAC5E,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"step-ask-question-handlers.js","sourceRoot":"","sources":["../../../../src/prompt/steps/step-ask-question/step-ask-question-handlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAEnF,MAAM,CAAC,MAAM,QAAQ,GAA+C;IAClE,iBAAiB,EAAE,uBAAuB;CAC3C,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,IAAgB,EAAE,OAAsB;IAC5E,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;AAC3B,CAAC"}
@@ -5,7 +5,7 @@ import { PromptItemImage } from '../../../ai-service/common-types.js';
5
5
  import { FunctionCall } from '../../../ai-service/common-types.js';
6
6
  import { CodegenOptions } from '../../../main/codegen-types.js';
7
7
  import { PluginActionType } from '../../../ai-service/service-configurations-types.js';
8
- export type ActionType = 'codeGeneration' | 'sendMessage' | 'generateImage' | 'requestPermissions' | 'readExternalFiles' | 'requestFilesContent' | 'removeFilesFromContext' | 'exploreExternalDirectories' | 'confirmCodeGeneration' | 'endConversation' | 'contextOptimization' | 'contextCompression' | 'searchCode' | 'lint' | 'updateFile' | 'performAnalysis' | 'createFile' | 'pullAppContext' | 'genaicodeHelp' | 'pushAppContext' | 'reasoningInference' | 'requestFilesFragments' | 'conversationGraph' | PluginActionType;
8
+ export type ActionType = 'codeGeneration' | 'sendMessage' | 'generateImage' | 'requestPermissions' | 'readExternalFiles' | 'requestFilesContent' | 'removeFilesFromContext' | 'exploreExternalDirectories' | 'confirmCodeGeneration' | 'endConversation' | 'contextOptimization' | 'contextCompression' | 'searchCode' | 'lint' | 'updateFile' | 'performAnalysis' | 'createFile' | 'pullAppContext' | 'genaicodeHelp' | 'pushAppContext' | 'reasoningInference' | 'requestFilesFragments' | 'requestGitContext' | 'conversationGraph' | PluginActionType;
9
9
  type AskQuestionArgs = {
10
10
  actionType: ActionType;
11
11
  message: string;
@@ -124,6 +124,12 @@ export type ReasoningInferenceResponseArgs = {
124
124
  /** The reasoning tokens provided by the model */
125
125
  reasoning: string;
126
126
  };
127
+ export type RequestGitContextArgs = {
128
+ requestType: 'commits' | 'fileChanges' | 'blame' | 'fileDiff';
129
+ filePath?: string;
130
+ commitHash?: string;
131
+ count?: number;
132
+ };
127
133
  export type LintResult = {
128
134
  success: boolean;
129
135
  stdout?: string;
@@ -1,4 +1,4 @@
1
1
  import { CodegenOptions } from '../main/codegen-types.js';
2
2
  import { RcConfig } from '../main/config-types.js';
3
3
  /** Generates a system prompt with the codegen prompt merged */
4
- export declare function getSystemPrompt({ rootDir, importantContext }: Pick<RcConfig, 'rootDir' | 'importantContext'>, options: Omit<CodegenOptions, 'aiService'>): string;
4
+ export declare function getSystemPrompt({ rootDir, importantContext, featuresEnabled }: Pick<RcConfig, 'rootDir' | 'importantContext' | 'featuresEnabled'>, options: Omit<CodegenOptions, 'aiService'>): string;
@@ -1,7 +1,8 @@
1
1
  import { verifySystemPromptLimit } from './limits.js';
2
2
  /** Generates a system prompt with the codegen prompt merged */
3
- export function getSystemPrompt({ rootDir, importantContext }, options) {
3
+ export function getSystemPrompt({ rootDir, importantContext, featuresEnabled }, options) {
4
4
  const { verbose, askQuestion, interactive, ui, allowFileCreate, allowFileDelete, allowDirectoryCreate, allowFileMove, vision, imagen, } = options;
5
+ const gitContextEnabled = featuresEnabled?.gitContext !== false;
5
6
  console.log('Generate system prompt');
6
7
  // IMPORTANT: Please avoid increasing the length of the system prompt.
7
8
  let systemPrompt = `## Who are you?
@@ -38,7 +39,8 @@ Please limit any changes to the root directory of my application, which is \`${r
38
39
  - ${allowDirectoryCreate ? 'You are allowed to create new directories.' : `Do not create new directories.`}
39
40
  - ${allowFileMove ? 'You are allowed to move files.' : 'Do not move files.'}
40
41
  - ${vision ? 'You are allowed to analyze image assets.' : 'Do not analyze image assets.'}
41
- - ${imagen ? 'You are allowed to generate images.' : 'You are not allowed to generate images.'}\n`;
42
+ - ${imagen ? 'You are allowed to generate images.' : 'You are not allowed to generate images.'}
43
+ `;
42
44
  if (askQuestion && (interactive || ui)) {
43
45
  systemPrompt += `## Asking Questions And Conversing
44
46
  You have the ability to have a conversation with me to clarify requirements, seek permissions, or request additional context.
@@ -90,6 +92,7 @@ Example use cases of action types:
90
92
  - The user needs help with GenAIcode itself, encountered a problem, or needs guidance -> **genaicodeHelp**
91
93
  - Perform inference on a AI model with reasoning capabilities -> **reasoningInference**
92
94
  - Complex, multi-step conversations that require **planning** and structured flow, wnen implementing complex features or handling tasks that involve multiple decisions and steps -> **conversationGraph**
95
+ ${gitContextEnabled ? '- Need to access Git information such as commit history, file changes, or blame data to understand code evolution or authorship -> **requestGitContext**' : ''}
93
96
 
94
97
  ### Efficient File Content Requests
95
98
 
@@ -1 +1 @@
1
- {"version":3,"file":"systemprompt.js","sourceRoot":"","sources":["../../src/prompt/systemprompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAItD,+DAA+D;AAC/D,MAAM,UAAU,eAAe,CAC7B,EAAE,OAAO,EAAE,gBAAgB,EAAkD,EAC7E,OAA0C;IAE1C,MAAM,EACJ,OAAO,EACP,WAAW,EACX,WAAW,EACX,EAAE,EACF,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,MAAM,EACN,MAAM,GACP,GAAG,OAAO,CAAC;IAEZ,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAEtC,sEAAsE;IACtE,IAAI,YAAY,GAAG;;;;+EAI0D,OAAO;;;;;;;;;;;;;;;;;;;;;;;IAuBlF,eAAe,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,0BAA0B;IAErF,eAAe;QACb,CAAC,CAAC,iFAAiF;QACnF,CAAC,CAAC,sBACN;IACE,oBAAoB,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,gCAAgC;IACtG,aAAa,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,oBAAoB;IACvE,MAAM,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,8BAA8B;IACpF,MAAM,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,yCAAyC,IAAI,CAAC;IAEjG,IAAI,WAAW,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;QACvC,YAAY,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiGnB,CAAC;IACA,CAAC;IAED,IAAI,gBAAgB,EAAE,YAAY,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/E,YAAY,IAAI,kCAAkC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC/F,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAEtC,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"systemprompt.js","sourceRoot":"","sources":["../../src/prompt/systemprompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAItD,+DAA+D;AAC/D,MAAM,UAAU,eAAe,CAC7B,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAsE,EAClH,OAA0C;IAE1C,MAAM,EACJ,OAAO,EACP,WAAW,EACX,WAAW,EACX,EAAE,EACF,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,MAAM,EACN,MAAM,GACP,GAAG,OAAO,CAAC;IAEZ,MAAM,iBAAiB,GAAG,eAAe,EAAE,UAAU,KAAK,KAAK,CAAC;IAEhE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAEtC,sEAAsE;IACtE,IAAI,YAAY,GAAG;;;;+EAI0D,OAAO;;;;;;;;;;;;;;;;;;;;;;;IAuBlF,eAAe,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,0BAA0B;IAErF,eAAe;QACb,CAAC,CAAC,iFAAiF;QACnF,CAAC,CAAC,sBACN;IACE,oBAAoB,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,gCAAgC;IACtG,aAAa,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,oBAAoB;IACvE,MAAM,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,8BAA8B;IACpF,MAAM,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,yCAAyC;CAC7F,CAAC;IAEA,IAAI,WAAW,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;QACvC,YAAY,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkDlB,iBAAiB,CAAC,CAAC,CAAC,0JAA0J,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDpL,CAAC;IACA,CAAC;IAED,IAAI,gBAAgB,EAAE,YAAY,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/E,YAAY,IAAI,kCAAkC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC/F,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAEtC,OAAO,YAAY,CAAC;AACtB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "genaicode",
3
- "version": "0.10.0",
3
+ "version": "0.10.1",
4
4
  "author": "Grzegorz Tańczyk",
5
5
  "repository": {
6
6
  "type": "git",
@@ -114,6 +114,7 @@
114
114
  "openai": "^4.77.0",
115
115
  "please-upgrade-node": "^3.2.0",
116
116
  "sharp": "^0.33.4",
117
+ "simple-git": "^3.27.0",
117
118
  "xml2js": "^0.6.2"
118
119
  },
119
120
  "lint-staged": {