genaicode 0.9.3 → 0.9.4
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/ai-service/anthropic.js +4 -1
- package/dist/ai-service/anthropic.js.map +1 -1
- package/dist/ai-service/common.js +1 -1
- package/dist/ai-service/common.js.map +1 -1
- package/dist/files/cache-file.d.ts +4 -1
- package/dist/files/cache-file.js.map +1 -1
- package/dist/files/file-id-utils.d.ts +7 -0
- package/dist/files/file-id-utils.js +25 -0
- package/dist/files/file-id-utils.js.map +1 -0
- package/dist/files/read-files.js +8 -8
- package/dist/files/read-files.js.map +1 -1
- package/dist/files/source-code-tree.js +3 -3
- package/dist/files/source-code-tree.js.map +1 -1
- package/dist/files/source-code-types.d.ts +21 -3
- package/dist/files/summary-cache.d.ts +3 -2
- package/dist/files/summary-cache.js +1 -1
- package/dist/files/summary-cache.js.map +1 -1
- package/dist/main/common/content-bus-types.d.ts +1 -1
- package/dist/main/common/content-bus.js +1 -1
- package/dist/main/common/content-bus.js.map +1 -1
- package/dist/main/ui/frontend/assets/{index-CSR1NiB_.js → index-COR2Vhaf.js} +226 -187
- package/dist/main/ui/frontend/index.html +1 -1
- package/dist/prompt/ai-service-fallback.js +5 -1
- package/dist/prompt/ai-service-fallback.js.map +1 -1
- package/dist/prompt/function-calling.js +4 -1
- package/dist/prompt/function-calling.js.map +1 -1
- package/dist/prompt/function-defs/ask-question.d.ts +1 -0
- package/dist/prompt/function-defs/ask-question.js +25 -0
- package/dist/prompt/function-defs/ask-question.js.map +1 -1
- package/dist/prompt/function-defs/context-compression.d.ts +25 -5
- package/dist/prompt/function-defs/context-compression.js +23 -8
- package/dist/prompt/function-defs/context-compression.js.map +1 -1
- package/dist/prompt/function-defs/extract-file-fragments.d.ts +27 -0
- package/dist/prompt/function-defs/extract-file-fragments.js +36 -0
- package/dist/prompt/function-defs/extract-file-fragments.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/code-generation.js +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/code-generation.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/file-request-utils.d.ts +47 -0
- package/dist/prompt/steps/step-ask-question/handlers/file-request-utils.js +114 -0
- package/dist/prompt/steps/step-ask-question/handlers/file-request-utils.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-code-generation.d.ts +4 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-code-generation.js +167 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-code-generation.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-confirm-code-generation.d.ts +2 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-confirm-code-generation.js +34 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-confirm-code-generation.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-context-optimization.d.ts +2 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-context-optimization.js +32 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-context-optimization.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-create-file.js +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-create-file.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-lint.d.ts +6 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-lint.js +103 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-lint.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-perform-analysis.js +2 -5
- package/dist/prompt/steps/step-ask-question/handlers/handle-perform-analysis.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.js +1 -3
- package/dist/prompt/steps/step-ask-question/handlers/handle-reasoning-inference.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-remove-files-from-context.d.ts +2 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-remove-files-from-context.js +86 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-remove-files-from-context.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-files-content.d.ts +8 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-files-content.js +134 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-files-content.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-files-fragments.d.ts +8 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-files-fragments.js +171 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-files-fragments.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-permissions.d.ts +2 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-permissions.js +69 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-permissions.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-update-file.js +2 -2
- package/dist/prompt/steps/step-ask-question/handlers/handle-update-file.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js +7 -3
- package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/step-ask-question-types.d.ts +7 -1
- package/dist/prompt/steps/step-ask-question/step-ask-question.js +15 -11
- package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
- package/dist/prompt/steps/step-codegen-planning.js +1 -3
- package/dist/prompt/steps/step-codegen-planning.js.map +1 -1
- package/dist/prompt/steps/step-context-compression.d.ts +1 -1
- package/dist/prompt/steps/step-context-compression.js +130 -34
- package/dist/prompt/steps/step-context-compression.js.map +1 -1
- package/dist/prompt/steps/step-context-optimization.js +7 -68
- package/dist/prompt/steps/step-context-optimization.js.map +1 -1
- package/dist/prompt/steps/step-generate-codegen-summary.js +1 -3
- package/dist/prompt/steps/step-generate-codegen-summary.js.map +1 -1
- package/dist/prompt/steps/step-history-update.js +1 -3
- package/dist/prompt/steps/step-history-update.js.map +1 -1
- package/dist/prompt/steps/step-process-file-updates.js +0 -3
- package/dist/prompt/steps/step-process-file-updates.js.map +1 -1
- package/dist/prompt/steps/step-summarization.d.ts +2 -1
- package/dist/prompt/steps/step-summarization.js +6 -5
- package/dist/prompt/steps/step-summarization.js.map +1 -1
- package/dist/prompt/steps/step-verify-patch.js +1 -3
- package/dist/prompt/steps/step-verify-patch.js.map +1 -1
- package/dist/prompt/systemprompt.js +1 -0
- package/dist/prompt/systemprompt.js.map +1 -1
- package/package.json +4 -4
|
@@ -3,9 +3,9 @@ import { getFunctionDefs } from '../function-calling.js';
|
|
|
3
3
|
import { md5, writeCache } from '../../files/cache-file.js';
|
|
4
4
|
import { putSystemMessage } from '../../main/common/content-bus.js';
|
|
5
5
|
import { estimateTokenCount } from '../token-estimator.js';
|
|
6
|
-
import { validateAndRecoverSingleResult } from './step-validate-recover.js';
|
|
7
6
|
import { refreshFiles } from '../../files/find-files.js';
|
|
8
7
|
import { summaryCache, CACHE_VERSION } from '../../files/summary-cache.js';
|
|
8
|
+
import { generateFileId } from '../../files/file-id-utils.js';
|
|
9
9
|
const BATCH_SIZE = 50;
|
|
10
10
|
const MAX_SUMMARY_TOKENS = 10;
|
|
11
11
|
const SUMMARIZATION_PROMPT = `Your role is to summarize content of files in ${MAX_SUMMARY_TOKENS} tokens or fewer while also detecting dependencies.
|
|
@@ -26,6 +26,7 @@ For dependencies:
|
|
|
26
26
|
- Classify dependencies as either 'local' or 'external'
|
|
27
27
|
- Provide your response using the \`setSummaries\` function.
|
|
28
28
|
- The file path must be absolute, exactly the same as you receive in the \`getSourceCode\` function responses.
|
|
29
|
+
- Deduplicate dependencies if they are repeated in the code
|
|
29
30
|
`;
|
|
30
31
|
export function getSummarizationPrefix(items, allFilePaths) {
|
|
31
32
|
return [
|
|
@@ -46,7 +47,7 @@ export function getSummarizationPrefix(items, allFilePaths) {
|
|
|
46
47
|
functionResponses: [
|
|
47
48
|
{
|
|
48
49
|
name: 'getSourceCode',
|
|
49
|
-
content: JSON.stringify(Object.fromEntries(allFilePaths.map((path) => [path, { fileId:
|
|
50
|
+
content: JSON.stringify(Object.fromEntries(allFilePaths.map((path) => [path, { fileId: generateFileId(path), content: null }]))),
|
|
50
51
|
},
|
|
51
52
|
],
|
|
52
53
|
cache: true,
|
|
@@ -77,7 +78,7 @@ export function getSummarizationPrefix(items, allFilePaths) {
|
|
|
77
78
|
functionResponses: [
|
|
78
79
|
{
|
|
79
80
|
name: 'getSourceCode',
|
|
80
|
-
content: JSON.stringify(Object.fromEntries(items.map((item) => [item.path, { fileId:
|
|
81
|
+
content: JSON.stringify(Object.fromEntries(items.map((item) => [item.path, { fileId: generateFileId(item.path), content: item.content }]))),
|
|
81
82
|
},
|
|
82
83
|
],
|
|
83
84
|
},
|
|
@@ -88,6 +89,7 @@ export async function summarizeSourceCode(generateContentFn, sourceCode, options
|
|
|
88
89
|
path,
|
|
89
90
|
content: 'content' in file ? file.content : null,
|
|
90
91
|
dependencies: 'dependencies' in file ? file.dependencies : undefined,
|
|
92
|
+
fileId: file.fileId,
|
|
91
93
|
}));
|
|
92
94
|
await summarizeBatch(generateContentFn, items, sourceCode, options);
|
|
93
95
|
refreshFiles();
|
|
@@ -105,8 +107,7 @@ async function summarizeBatch(generateContentFn, items, allSourceCodeMap, option
|
|
|
105
107
|
const batch = uncachedItems.slice(i, i + BATCH_SIZE);
|
|
106
108
|
const prompt = getSummarizationPrefix(batch, Object.keys(allSourceCodeMap));
|
|
107
109
|
const request = [prompt, getFunctionDefs(), 'setSummaries', 0.2, ModelType.CHEAP, options];
|
|
108
|
-
|
|
109
|
-
result = await validateAndRecoverSingleResult(request, result, generateContentFn);
|
|
110
|
+
const result = await generateContentFn(...request);
|
|
110
111
|
const batchSummaries = parseSummarizationResult(result);
|
|
111
112
|
batchSummaries.forEach((file) => {
|
|
112
113
|
const item = items.find((item) => item.path === file.filePath);
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"step-summarization.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-summarization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
2
|
import * as diff from 'diff';
|
|
3
3
|
import { ModelType } from '../../ai-service/common-types.js';
|
|
4
|
-
import { validateAndRecoverSingleResult } from './step-validate-recover.js';
|
|
5
4
|
export async function executeStepVerifyPatch({ filePath, patch, explanation }, generateContentFn, prompt, functionDefs, temperature, cheap, options) {
|
|
6
5
|
console.log('Verification of patch for file:', filePath);
|
|
7
6
|
let updatedContent = false;
|
|
@@ -23,8 +22,7 @@ export async function executeStepVerifyPatch({ filePath, patch, explanation }, g
|
|
|
23
22
|
cheap ? ModelType.CHEAP : ModelType.DEFAULT,
|
|
24
23
|
options,
|
|
25
24
|
];
|
|
26
|
-
|
|
27
|
-
partialResult = await validateAndRecoverSingleResult(partialRequest, partialResult, generateContentFn);
|
|
25
|
+
const partialResult = await generateContentFn(...partialRequest);
|
|
28
26
|
const getSourceCodeCall = partialResult.find((call) => call.name === 'getSourceCode');
|
|
29
27
|
if (getSourceCodeCall) {
|
|
30
28
|
throw new Error('Unexpected getSourceCode: ' + JSON.stringify(getSourceCodeCall));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-verify-patch.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-verify-patch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAM7B,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"step-verify-patch.js","sourceRoot":"","sources":["../../../src/prompt/steps/step-verify-patch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAM7B,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAG7D,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAA4D,EAC1F,iBAA0C,EAC1C,MAAoB,EACpB,YAA2B,EAC3B,WAAmB,EACnB,KAAc,EACd,OAAuB;IAEvB,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,QAAQ,CAAC,CAAC;IAEzD,IAAI,cAAc,GAAqB,KAAK,CAAC;IAC7C,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,kCAAkC,QAAQ,wCAAwC,CAAC,CAAC;QAEhG,sDAAsD;QACtD,MAAM,cAAc,GAAwB;YAC1C,MAAM;YACN,YAAY;YACZ,YAAY;YACZ,WAAW;YACX,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO;YAC3C,OAAO;SACR,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,GAAG,cAAc,CAAC,CAAC;QAEjE,MAAM,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;QACtF,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO;YACL;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE;aAC/F;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -57,6 +57,7 @@ To have conversation with me use the \`askQuestion\` function. This function all
|
|
|
57
57
|
- **Update Files**: If you need to make small changes to a file, you can request to update it.
|
|
58
58
|
- **Lint Code**: If you want to check the code for errors, you can request linting
|
|
59
59
|
- **Use Context Compression**: Autonomously initiate context compression when the conversation history becomes large or complex, or the topic of conversation changes. Always inform the user before compressing and explain the benefits.
|
|
60
|
+
- **Handle Conversation Summaries**: When you encounter a message starting with "This is summary of our conversation:", treat it as a compressed context representing key points and decisions from previous conversation. Use this summary as a foundation for understanding the conversation's history, technical decisions made, and current implementation status. The summary maintains the most important aspects of the conversation while reducing token usage.
|
|
60
61
|
|
|
61
62
|
Also additional actions can be added by plugins, and their names will be prefixed with \`plugin:\`.
|
|
62
63
|
|
|
@@ -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;CAC7F,CAAC;IAEA,IAAI,WAAW,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;QACvC,YAAY,IAAI
|
|
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;CAC7F,CAAC;IAEA,IAAI,WAAW,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;QACvC,YAAY,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6FnB,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.9.
|
|
3
|
+
"version": "0.9.4",
|
|
4
4
|
"author": "Grzegorz Tańczyk",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -67,8 +67,8 @@
|
|
|
67
67
|
"@typescript-eslint/eslint-plugin": "^7.17.0",
|
|
68
68
|
"@uiw/react-json-view": "^2.0.0-alpha.30",
|
|
69
69
|
"@vitejs/plugin-react": "^4.3.1",
|
|
70
|
-
"@vitest/coverage-v8": "^2.1.
|
|
71
|
-
"@vitest/ui": "^2.1.
|
|
70
|
+
"@vitest/coverage-v8": "^2.1.9",
|
|
71
|
+
"@vitest/ui": "^2.1.9",
|
|
72
72
|
"axios": "^1.7.7",
|
|
73
73
|
"eslint": "^8.54.0",
|
|
74
74
|
"eslint-config-prettier": "^9.0.0",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"typescript": "^5.0.0",
|
|
86
86
|
"vite": "^5.4.14",
|
|
87
87
|
"vite-plugin-checker": "^0.8.0",
|
|
88
|
-
"vitest": "^2.1.
|
|
88
|
+
"vitest": "^2.1.9"
|
|
89
89
|
},
|
|
90
90
|
"dependencies": {
|
|
91
91
|
"@anthropic-ai/sdk": "^0.33.1",
|