genaicode 0.9.0 → 0.9.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.
- package/dist/cli/cli-params.js +21 -0
- package/dist/cli/cli-params.js.map +1 -1
- package/dist/cli/validate-cli-params.js +19 -11
- package/dist/cli/validate-cli-params.js.map +1 -1
- package/dist/files/read-files.js +8 -2
- package/dist/files/read-files.js.map +1 -1
- package/dist/files/source-code-tree.d.ts +2 -5
- package/dist/files/source-code-tree.js +3 -32
- package/dist/files/source-code-tree.js.map +1 -1
- package/dist/files/source-code-types.d.ts +7 -2
- package/dist/files/source-code-utils.d.ts +22 -0
- package/dist/files/source-code-utils.js +69 -0
- package/dist/files/source-code-utils.js.map +1 -0
- package/dist/files/summary-cache.d.ts +1 -1
- package/dist/files/summary-cache.js +1 -1
- package/dist/main/common/user-actions.d.ts +1 -1
- package/dist/main/common/user-actions.js +3 -3
- package/dist/main/common/user-actions.js.map +1 -1
- package/dist/main/ui/backend/endpoints/generate-content-endpoint.js +6 -5
- package/dist/main/ui/backend/endpoints/generate-content-endpoint.js.map +1 -1
- package/dist/main/ui/backend/service.js +10 -8
- package/dist/main/ui/backend/service.js.map +1 -1
- package/dist/main/ui/frontend/assets/{index-DfiFNFf2.js → index-D8KFdZaU.js} +69 -65
- package/dist/main/ui/frontend/index.html +1 -1
- package/dist/prompt/ai-service-fallback.js +1 -1
- package/dist/prompt/ai-service-fallback.js.map +1 -1
- package/dist/prompt/function-calling-validate.js +1 -0
- package/dist/prompt/function-calling-validate.js.map +1 -1
- package/dist/prompt/function-defs/get-source-code.js +8 -11
- package/dist/prompt/function-defs/get-source-code.js.map +1 -1
- package/dist/prompt/function-defs/set-summaries.d.ts +1 -1
- package/dist/prompt/function-defs/set-summaries.js +10 -6
- package/dist/prompt/function-defs/set-summaries.js.map +1 -1
- package/dist/prompt/prompt-service.js +2 -3
- package/dist/prompt/prompt-service.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-end-conversation.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-end-conversation.js +17 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-end-conversation.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.js +24 -14
- package/dist/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js +15 -19
- package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js +10 -5
- package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js.map +1 -1
- package/dist/prompt/steps/step-context-optimization.js +8 -6
- package/dist/prompt/steps/step-context-optimization.js.map +1 -1
- package/dist/prompt/steps/step-ensure-context.js +1 -2
- package/dist/prompt/steps/step-ensure-context.js.map +1 -1
- package/dist/prompt/steps/step-generate-codegen-summary.js +3 -0
- package/dist/prompt/steps/step-generate-codegen-summary.js.map +1 -1
- package/dist/prompt/steps/step-process-file-updates.js +1 -0
- package/dist/prompt/steps/step-process-file-updates.js.map +1 -1
- package/dist/prompt/steps/step-summarization.d.ts +5 -0
- package/dist/prompt/steps/step-summarization.js +77 -42
- package/dist/prompt/steps/step-summarization.js.map +1 -1
- package/package.json +2 -2
|
@@ -2,7 +2,6 @@ import { importantContext } from '../../main/config.js';
|
|
|
2
2
|
import { getSourceCode } from '../../files/read-files.js';
|
|
3
3
|
import { putSystemMessage } from '../../main/common/content-bus.js';
|
|
4
4
|
import { StepResult } from './steps-types.js';
|
|
5
|
-
import { getSourceCodeTree } from '../../files/source-code-tree.js';
|
|
6
5
|
/**
|
|
7
6
|
* Executes the context completeness check step.
|
|
8
7
|
* Ensures all necessary files are included in the conversation context.
|
|
@@ -42,7 +41,7 @@ export async function executeStepEnsureContext(prompt, functionCall, options) {
|
|
|
42
41
|
functionResponses: [
|
|
43
42
|
{
|
|
44
43
|
name: 'getSourceCode',
|
|
45
|
-
content: JSON.stringify(
|
|
44
|
+
content: JSON.stringify(sourceCode),
|
|
46
45
|
},
|
|
47
46
|
],
|
|
48
47
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-ensure-context.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-ensure-context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"step-ensure-context.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-ensure-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { executeStepEnsureContext } from './step-ensure-context.js';
|
|
|
5
5
|
import { StepResult } from './steps-types.js';
|
|
6
6
|
import assert from 'node:assert';
|
|
7
7
|
import { PROMPT_CODEGEN_SUMMARY, PROMPT_CODEGEN_SUMMARY_ASSISTANT } from './step-generate-codegen-summary-prompt.js';
|
|
8
|
+
import { getExpandedContextPaths } from '../../files/source-code-utils.js';
|
|
8
9
|
/**
|
|
9
10
|
* Generates and validates the codegen summary.
|
|
10
11
|
* This is the first part of the original executeStepCodegenSummary function.
|
|
@@ -41,6 +42,8 @@ export async function generateCodegenSummary(generateContentFn, prompt, function
|
|
|
41
42
|
// Sometimes the result happens to be a string
|
|
42
43
|
assert(Array.isArray(codegenSummaryRequest?.args?.fileUpdates), 'fileUpdates is not an array');
|
|
43
44
|
assert(Array.isArray(codegenSummaryRequest?.args.contextPaths), 'contextPaths is not an array');
|
|
45
|
+
// Expand context paths
|
|
46
|
+
codegenSummaryRequest.args.contextPaths = getExpandedContextPaths(codegenSummaryRequest.args.contextPaths, options);
|
|
44
47
|
// Ensure all necessary files are in context
|
|
45
48
|
const contextResult = await executeStepEnsureContext(prompt, codegenSummaryRequest, options);
|
|
46
49
|
if (contextResult === StepResult.BREAK) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-generate-codegen-summary.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-generate-codegen-summary.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"step-generate-codegen-summary.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-generate-codegen-summary.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AACrH,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,iBAA0C,EAC1C,MAAoB,EACpB,YAA2B,EAC3B,OAAuB;IAKvB,MAAM,WAAW,GAA6E;QAC5F;YACE,GAAG,MAAM;YACT;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,gCAAgC;aACvC;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,sBAAsB;aAC7B;SACF;QACD,YAAY;QACZ,gBAAgB;QAChB,OAAO,CAAC,WAAW,IAAI,GAAG;QAC1B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO;QACnD,OAAO;KACR,CAAC;IAEF,IAAI,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,WAAW,CAAC,CAAC;IACzD,UAAU,GAAG,MAAM,8BAA8B,CAAC,WAAW,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAC9F,MAAM,qBAAqB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAEzE,CAAC;IAEd,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,iEAAiE;QACjE,gBAAgB,CAAC,oDAAoD,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,gBAAgB,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAC;IAEpE,8CAA8C;IAC9C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAC/F,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,8BAA8B,CAAC,CAAC;IAEhG,uBAAuB;IACvB,qBAAqB,CAAC,IAAI,CAAC,YAAY,GAAG,uBAAuB,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEpH,4CAA4C;IAC5C,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAC7F,IAAI,aAAa,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,kEAAkE;IAClE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9D,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,MAAM;QACZ,iBAAiB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACpF,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,OAAO;QACL,qBAAqB;QACrB,UAAU;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -100,6 +100,7 @@ async function processFileUpdate(file, generateContentFn, generateImageFn, promp
|
|
|
100
100
|
// Update prompt with results
|
|
101
101
|
prompt.push({ type: 'assistant', functionCalls: partialResult }, {
|
|
102
102
|
type: 'user',
|
|
103
|
+
// TODO: Not always true
|
|
103
104
|
text: 'Update applied.',
|
|
104
105
|
functionResponses: partialResult.map((call) => ({ name: call.name, call_id: call.id })),
|
|
105
106
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-process-file-updates.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-process-file-updates.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"step-process-file-updates.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-process-file-updates.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { GenerateContentFunction } from '../../ai-service/common-types.js';
|
|
2
|
+
import { PromptItem } from '../../ai-service/common-types.js';
|
|
2
3
|
import { CodegenOptions } from '../../main/codegen-types.js';
|
|
3
4
|
import { SourceCodeMap } from '../../files/source-code-types.js';
|
|
5
|
+
export declare function getSummarizationPrefix(items: {
|
|
6
|
+
path: string;
|
|
7
|
+
content: string | null;
|
|
8
|
+
}[], allFilePaths: string[]): PromptItem[];
|
|
4
9
|
export declare function summarizeSourceCode(generateContentFn: GenerateContentFunction, sourceCode: SourceCodeMap, options: CodegenOptions): Promise<void>;
|
|
@@ -20,36 +20,79 @@ For the summary:
|
|
|
20
20
|
|
|
21
21
|
For dependencies:
|
|
22
22
|
- Identify all import and require statements in the code
|
|
23
|
-
- Detect both local (
|
|
23
|
+
- Detect both local (file) and external (package) dependencies
|
|
24
24
|
- For local dependencies, include the full resolved path
|
|
25
25
|
- For external dependencies, include the package name
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
Provide your response using the \`setSummaries\` function with the following structure:
|
|
30
|
-
{
|
|
31
|
-
"filePath": "absolute/path/to/file",
|
|
32
|
-
"summary": "concise summary",
|
|
33
|
-
"dependencies": [
|
|
34
|
-
{
|
|
35
|
-
"path": "resolved/path/or/package",
|
|
36
|
-
"type": "local|external",
|
|
37
|
-
}
|
|
38
|
-
]
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
The file path must be absolute, exactly the same as you receive in the \`getSourceCode\` function responses.
|
|
26
|
+
- Classify dependencies as either 'local' or 'external'
|
|
27
|
+
- Provide your response using the \`setSummaries\` function.
|
|
28
|
+
- The file path must be absolute, exactly the same as you receive in the \`getSourceCode\` function responses.
|
|
42
29
|
`;
|
|
30
|
+
export function getSummarizationPrefix(items, allFilePaths) {
|
|
31
|
+
return [
|
|
32
|
+
{ type: 'systemPrompt', systemPrompt: SUMMARIZATION_PROMPT },
|
|
33
|
+
{ type: 'user', text: 'Hello, I want you to summarize the content of files, and detect dependencies.' },
|
|
34
|
+
{
|
|
35
|
+
type: 'assistant',
|
|
36
|
+
text: "Sure, I can help with that. Please first provide me with a list of files in the codebase. I don't need their contents, just the file paths.",
|
|
37
|
+
functionCalls: [
|
|
38
|
+
{
|
|
39
|
+
name: 'getSourceCode',
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
type: 'user',
|
|
45
|
+
text: 'Ok, this is the list of files in the codebase',
|
|
46
|
+
functionResponses: [
|
|
47
|
+
{
|
|
48
|
+
name: 'getSourceCode',
|
|
49
|
+
content: JSON.stringify(Object.fromEntries(allFilePaths.map((path) => [path, { fileId: md5(path), content: null }]))),
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
cache: true,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
type: 'assistant',
|
|
56
|
+
text: "Thank you for providing the list of files. Now I'm ready to analyze the content of files once you provide them.",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
type: 'user',
|
|
60
|
+
text: 'Please summarize the following files:\n' + items.map((item) => `\n- ${item.path}`).join(''),
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'assistant',
|
|
64
|
+
text: 'Please provide me with the content of the files so that I can summarize them.',
|
|
65
|
+
functionCalls: [
|
|
66
|
+
{
|
|
67
|
+
name: 'getSourceCode',
|
|
68
|
+
args: {
|
|
69
|
+
filePaths: items.map((item) => item.path),
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
type: 'user',
|
|
76
|
+
text: 'Here is the content of the files:',
|
|
77
|
+
functionResponses: [
|
|
78
|
+
{
|
|
79
|
+
name: 'getSourceCode',
|
|
80
|
+
content: JSON.stringify(Object.fromEntries(items.map((item) => [item.path, { fileId: md5(item.path), content: item.content }]))),
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
];
|
|
85
|
+
}
|
|
43
86
|
export async function summarizeSourceCode(generateContentFn, sourceCode, options) {
|
|
44
87
|
const items = Object.entries(sourceCode).map(([path, file]) => ({
|
|
45
88
|
path,
|
|
46
89
|
content: 'content' in file ? file.content : null,
|
|
47
90
|
dependencies: 'dependencies' in file ? file.dependencies : undefined,
|
|
48
91
|
}));
|
|
49
|
-
await summarizeBatch(generateContentFn, items, options);
|
|
92
|
+
await summarizeBatch(generateContentFn, items, sourceCode, options);
|
|
50
93
|
refreshFiles();
|
|
51
94
|
}
|
|
52
|
-
async function summarizeBatch(generateContentFn, items, options) {
|
|
95
|
+
async function summarizeBatch(generateContentFn, items, allSourceCodeMap, options) {
|
|
53
96
|
const uncachedItems = items.filter((item) => summaryCache._version !== CACHE_VERSION ||
|
|
54
97
|
!summaryCache[item.path] ||
|
|
55
98
|
summaryCache[item.path].checksum !== md5(item.content ?? ''));
|
|
@@ -60,28 +103,8 @@ async function summarizeBatch(generateContentFn, items, options) {
|
|
|
60
103
|
putSystemMessage('Summarization of the source code is starting.', { files: uncachedItems.map((item) => item.path) });
|
|
61
104
|
for (let i = 0; i < uncachedItems.length; i += BATCH_SIZE) {
|
|
62
105
|
const batch = uncachedItems.slice(i, i + BATCH_SIZE);
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
{ type: 'user', text: 'Hello, I would like to ask you to summarize my codebase' },
|
|
66
|
-
{
|
|
67
|
-
type: 'assistant',
|
|
68
|
-
text: 'Sure, could you please provide the source code? Once you provide it, I will be able to perform the analysis, and provide you with the summaries using `setSummaries` function call.',
|
|
69
|
-
functionCalls: [{ name: 'getSourceCode', id: 'get_source_code' }],
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
type: 'user',
|
|
73
|
-
text: 'Ok, this is the source code, and now please summarize the source code.',
|
|
74
|
-
functionResponses: [{ name: 'getSourceCode', call_id: 'get_source_code', content: JSON.stringify(batch) }],
|
|
75
|
-
},
|
|
76
|
-
];
|
|
77
|
-
const request = [
|
|
78
|
-
summarizationPrompt,
|
|
79
|
-
getFunctionDefs(),
|
|
80
|
-
'setSummaries',
|
|
81
|
-
0.2,
|
|
82
|
-
ModelType.CHEAP,
|
|
83
|
-
options,
|
|
84
|
-
];
|
|
106
|
+
const prompt = getSummarizationPrefix(batch, Object.keys(allSourceCodeMap));
|
|
107
|
+
const request = [prompt, getFunctionDefs(), 'setSummaries', 0.2, ModelType.CHEAP, options];
|
|
85
108
|
let result = await generateContentFn(...request);
|
|
86
109
|
result = await validateAndRecoverSingleResult(request, result, generateContentFn);
|
|
87
110
|
const batchSummaries = parseSummarizationResult(result);
|
|
@@ -92,7 +115,11 @@ async function summarizeBatch(generateContentFn, items, options) {
|
|
|
92
115
|
tokenCount: estimateTokenCount(content),
|
|
93
116
|
summary: file.summary,
|
|
94
117
|
checksum: md5(content),
|
|
95
|
-
dependencies: file.dependencies ?? item?.dependencies ?? []
|
|
118
|
+
dependencies: (file.dependencies ?? item?.dependencies ?? []).map((dep) => ({
|
|
119
|
+
path: dep.type === 'local' ? parseLocalPath(dep, allSourceCodeMap) : dep.path,
|
|
120
|
+
type: dep.type,
|
|
121
|
+
fileId: dep.fileId,
|
|
122
|
+
})),
|
|
96
123
|
};
|
|
97
124
|
});
|
|
98
125
|
}
|
|
@@ -106,4 +133,12 @@ function parseSummarizationResult(result) {
|
|
|
106
133
|
}
|
|
107
134
|
return result[0].args.summaries;
|
|
108
135
|
}
|
|
136
|
+
function parseLocalPath(file, allSourceCodeMap) {
|
|
137
|
+
if (allSourceCodeMap[file.path]) {
|
|
138
|
+
return file.path;
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
return (Object.entries(allSourceCodeMap).find(([, sourceFile]) => sourceFile.fileId === file.fileId)?.[0] ?? file.path);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
109
144
|
//# sourceMappingURL=step-summarization.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-summarization.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-summarization.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAI7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAe,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAExF,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,MAAM,oBAAoB,GAAG,iDAAiD,kBAAkB;;;;;;;;wCAQxD,kBAAkB
|
|
1
|
+
{"version":3,"file":"step-summarization.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-summarization.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "genaicode",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"author": "Grzegorz Tańczyk",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"styled-components": "^6.1.13",
|
|
84
84
|
"ts-node": "^10.9.2",
|
|
85
85
|
"typescript": "^5.0.0",
|
|
86
|
-
"vite": "^5.4.
|
|
86
|
+
"vite": "^5.4.14",
|
|
87
87
|
"vite-plugin-checker": "^0.8.0",
|
|
88
88
|
"vitest": "^2.1.8"
|
|
89
89
|
},
|