genaicode 0.10.1 → 0.10.2
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/ai-studio.js +69 -70
- package/dist/ai-service/ai-studio.js.map +1 -1
- package/dist/ai-service/common-types.d.ts +1 -0
- package/dist/ai-service/common.js +3 -0
- package/dist/ai-service/common.js.map +1 -1
- package/dist/main/common/user-actions.d.ts +1 -1
- package/dist/main/ui/common/api-types.d.ts +25 -0
- package/dist/main/ui/frontend/assets/index-DWyCD84H.js +2015 -0
- package/dist/main/ui/frontend/index.html +1 -1
- package/dist/prompt/function-calling-validate.d.ts +2 -1
- package/dist/prompt/function-calling-validate.js +2 -2
- package/dist/prompt/function-calling-validate.js.map +1 -1
- package/dist/prompt/function-calling.js +2 -0
- package/dist/prompt/function-calling.js.map +1 -1
- package/dist/prompt/function-defs/ask-question.js +3 -1
- package/dist/prompt/function-defs/ask-question.js.map +1 -1
- package/dist/prompt/function-defs/compound-action-list.d.ts +7 -0
- package/dist/prompt/function-defs/compound-action-list.js +38 -0
- package/dist/prompt/function-defs/compound-action-list.js.map +1 -0
- package/dist/prompt/function-defs/compound-action.d.ts +2 -0
- package/dist/prompt/function-defs/compound-action.js +43 -0
- package/dist/prompt/function-defs/compound-action.js.map +1 -0
- package/dist/prompt/function-defs/conversation-graph.d.ts +6 -6
- package/dist/prompt/limits.js +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-compound-action.d.ts +20 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-compound-action.js +253 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-compound-action.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-conversation-graph.d.ts +6 -7
- package/dist/prompt/steps/step-ask-question/handlers/handle-conversation-graph.js +406 -178
- package/dist/prompt/steps/step-ask-question/handlers/handle-conversation-graph.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-explore-external-directories.js +4 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-explore-external-directories.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-read-external-files.js +5 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-read-external-files.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-git-context.js +2 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-request-git-context.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-update-file.js +8 -12
- package/dist/prompt/steps/step-ask-question/handlers/handle-update-file.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/step-ask-question-handlers.js +1 -4
- package/dist/prompt/steps/step-ask-question/step-ask-question-handlers.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/step-ask-question-types.d.ts +19 -1
- package/dist/prompt/steps/step-ask-question/step-ask-question.d.ts +2 -0
- package/dist/prompt/steps/step-ask-question/step-ask-question.js +2 -0
- package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
- package/dist/prompt/steps/step-validate-recover.js +3 -3
- package/dist/prompt/steps/step-validate-recover.js.map +1 -1
- package/dist/prompt/systemprompt.js +2 -0
- package/dist/prompt/systemprompt.js.map +1 -1
- package/package.json +3 -3
- package/dist/main/ui/frontend/assets/index-C7n3IQsE.js +0 -1896
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FunctionCallingConfigMode, GoogleGenAI, HarmBlockThreshold, HarmCategory, } from '@google/genai';
|
|
2
2
|
import assert from 'node:assert';
|
|
3
3
|
import { printTokenUsageAndCost } from './common.js';
|
|
4
4
|
import { ModelType } from './common-types.js';
|
|
@@ -68,40 +68,41 @@ export const generateContent = async function generateContent(prompt, config, op
|
|
|
68
68
|
});
|
|
69
69
|
const req = {
|
|
70
70
|
contents: messages,
|
|
71
|
+
model: '',
|
|
72
|
+
config: {},
|
|
71
73
|
};
|
|
72
74
|
if (functionDefs.length > 0) {
|
|
73
|
-
req.tools = [
|
|
75
|
+
req.config.tools = [
|
|
74
76
|
{
|
|
75
77
|
functionDeclarations: functionDefs,
|
|
76
78
|
},
|
|
77
79
|
];
|
|
78
80
|
}
|
|
79
81
|
if (expectedResponseType.functionCall !== false) {
|
|
80
|
-
req.toolConfig = {
|
|
82
|
+
req.config.toolConfig = {
|
|
81
83
|
functionCallingConfig: {
|
|
82
|
-
mode:
|
|
84
|
+
mode: FunctionCallingConfigMode.ANY,
|
|
83
85
|
...(requiredFunctionName ? { allowedFunctionNames: [requiredFunctionName] } : {}),
|
|
84
86
|
},
|
|
85
87
|
};
|
|
86
88
|
}
|
|
87
89
|
else if (expectedResponseType.functionCall === false) {
|
|
88
|
-
req.toolConfig = {
|
|
90
|
+
req.config.toolConfig = {
|
|
89
91
|
functionCallingConfig: {
|
|
90
|
-
mode:
|
|
92
|
+
mode: FunctionCallingConfigMode.NONE,
|
|
91
93
|
allowedFunctionNames: [],
|
|
92
94
|
},
|
|
93
95
|
};
|
|
94
96
|
}
|
|
95
|
-
const
|
|
96
|
-
const result = await model.generateContent(req, {
|
|
97
|
-
signal: abortController?.signal,
|
|
98
|
-
});
|
|
97
|
+
const result = await modelGenerateContent(modelType, temperature, prompt.find((item) => item.type === 'systemPrompt')?.systemPrompt, options.geminiBlockNone, req);
|
|
99
98
|
// Print token usage
|
|
100
|
-
const usageMetadata = result.
|
|
99
|
+
const usageMetadata = result.usageMetadata;
|
|
101
100
|
const usage = {
|
|
102
101
|
inputTokens: usageMetadata.promptTokenCount,
|
|
103
102
|
outputTokens: usageMetadata.candidatesTokenCount,
|
|
104
103
|
totalTokens: usageMetadata.totalTokenCount,
|
|
104
|
+
thinkingTokens: usageMetadata.thoughtsTokenCount,
|
|
105
|
+
cacheReadTokens: usageMetadata.cachedContentTokenCount,
|
|
105
106
|
};
|
|
106
107
|
printTokenUsageAndCost({
|
|
107
108
|
aiService: 'ai-studio',
|
|
@@ -110,15 +111,15 @@ export const generateContent = async function generateContent(prompt, config, op
|
|
|
110
111
|
outputCostPerToken: 0.000375 / 1000,
|
|
111
112
|
modelType,
|
|
112
113
|
});
|
|
113
|
-
if (result.
|
|
114
|
+
if (result.promptFeedback) {
|
|
114
115
|
console.log('Prompt feedback:');
|
|
115
|
-
console.log(JSON.stringify(result.
|
|
116
|
+
console.log(JSON.stringify(result.promptFeedback, null, 2));
|
|
116
117
|
}
|
|
117
|
-
if (!result.
|
|
118
|
+
if (!result.candidates?.length) {
|
|
118
119
|
console.log('Response:', result);
|
|
119
120
|
throw new Error('No candidates found');
|
|
120
121
|
}
|
|
121
|
-
const functionCalls = result.
|
|
122
|
+
const functionCalls = result.candidates
|
|
122
123
|
.map((candidate) => candidate.content?.parts?.map((part) => part.functionCall))
|
|
123
124
|
.flat()
|
|
124
125
|
.filter((functionCall) => !!functionCall)
|
|
@@ -141,16 +142,16 @@ export const generateContent = async function generateContent(prompt, config, op
|
|
|
141
142
|
// Handle reasoning model special case
|
|
142
143
|
if (modelType === ModelType.REASONING) {
|
|
143
144
|
// Add the reasoning text if available
|
|
144
|
-
if (result.
|
|
145
|
+
if (result.candidates[0].content?.parts?.length === 2) {
|
|
145
146
|
resultParts.push({
|
|
146
147
|
type: 'text',
|
|
147
|
-
text: result.
|
|
148
|
+
text: result.candidates[0].content?.parts.slice(-2)[0].text ?? '',
|
|
148
149
|
});
|
|
149
150
|
}
|
|
150
151
|
// Add the response text
|
|
151
152
|
resultParts.push({
|
|
152
153
|
type: 'text',
|
|
153
|
-
text: result.
|
|
154
|
+
text: result.candidates[0].content?.parts?.slice(-1)[0].text ?? '',
|
|
154
155
|
});
|
|
155
156
|
// Add the special function call for reasoning inference response
|
|
156
157
|
resultParts.push({
|
|
@@ -158,23 +159,21 @@ export const generateContent = async function generateContent(prompt, config, op
|
|
|
158
159
|
functionCall: {
|
|
159
160
|
name: 'reasoningInferenceResponse',
|
|
160
161
|
args: {
|
|
161
|
-
reasoning: result.
|
|
162
|
-
? result.
|
|
162
|
+
reasoning: result.candidates[0].content?.parts?.length === 2
|
|
163
|
+
? result.candidates[0].content?.parts.slice(-2)[0].text
|
|
163
164
|
: undefined,
|
|
164
|
-
response: result.
|
|
165
|
+
response: result.candidates[0].content?.parts?.slice(-1)[0].text,
|
|
165
166
|
},
|
|
166
167
|
},
|
|
167
168
|
});
|
|
168
169
|
}
|
|
169
170
|
// Handle text response if no function calls were returned
|
|
170
171
|
if (functionCalls.length === 0) {
|
|
171
|
-
const textResponse = result.
|
|
172
|
+
const textResponse = result.candidates
|
|
172
173
|
.map((candidate) => candidate.content?.parts?.map((part) => part.text))
|
|
173
174
|
.flat()
|
|
174
175
|
.filter((text) => !!text)[0] ??
|
|
175
|
-
result.
|
|
176
|
-
// @ts-expect-error: FinishReason type does not have this error
|
|
177
|
-
candidate.finishReason === 'MALFORMED_FUNCTION_CALL' ? candidate.finishMessage : '')[0];
|
|
176
|
+
result.candidates.map((candidate) => candidate.finishReason === 'MALFORMED_FUNCTION_CALL' ? candidate.finishMessage : '')[0];
|
|
178
177
|
if (textResponse) {
|
|
179
178
|
resultParts.push({
|
|
180
179
|
type: 'text',
|
|
@@ -206,10 +205,10 @@ export const generateContent = async function generateContent(prompt, config, op
|
|
|
206
205
|
}
|
|
207
206
|
return resultParts;
|
|
208
207
|
};
|
|
209
|
-
function
|
|
208
|
+
function modelGenerateContent(modelType, temperature, systemPrompt, geminiBlockNone, { contents, config }) {
|
|
210
209
|
const serviceConfig = getServiceConfig('ai-studio');
|
|
211
210
|
assert(serviceConfig.apiKey, 'API key not configured, use API_KEY environment variable');
|
|
212
|
-
const genAI = new
|
|
211
|
+
const genAI = new GoogleGenAI({ apiKey: serviceConfig.apiKey });
|
|
213
212
|
// Determine the model name based on model type
|
|
214
213
|
const model = (() => {
|
|
215
214
|
switch (modelType) {
|
|
@@ -229,52 +228,54 @@ function getModel(modelType, temperature, systemPrompt, geminiBlockNone) {
|
|
|
229
228
|
if (modelSystemInstruction?.length) {
|
|
230
229
|
effectiveSystemPrompt += `\n${modelSystemInstruction.join('\n')}`;
|
|
231
230
|
}
|
|
232
|
-
|
|
233
|
-
maxOutputTokens: outputTokenLimit,
|
|
234
|
-
temperature,
|
|
235
|
-
topP: 0.95,
|
|
236
|
-
};
|
|
237
|
-
return genAI.getGenerativeModel({
|
|
231
|
+
return genAI.models.generateContent({
|
|
238
232
|
model,
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
{
|
|
246
|
-
category: HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
|
|
247
|
-
threshold: geminiBlockNone ? HarmBlockThreshold.BLOCK_NONE : HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
|
|
248
|
-
},
|
|
249
|
-
{
|
|
250
|
-
category: HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,
|
|
251
|
-
threshold: geminiBlockNone ? HarmBlockThreshold.BLOCK_NONE : HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
|
|
252
|
-
},
|
|
253
|
-
{
|
|
254
|
-
category: HarmCategory.HARM_CATEGORY_HARASSMENT,
|
|
255
|
-
threshold: geminiBlockNone ? HarmBlockThreshold.BLOCK_NONE : HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
|
|
256
|
-
},
|
|
257
|
-
],
|
|
258
|
-
...(effectiveSystemPrompt
|
|
259
|
-
? {
|
|
260
|
-
systemInstruction: {
|
|
261
|
-
role: 'system',
|
|
262
|
-
parts: [
|
|
263
|
-
{
|
|
264
|
-
text: effectiveSystemPrompt,
|
|
265
|
-
},
|
|
266
|
-
],
|
|
233
|
+
config: {
|
|
234
|
+
abortSignal: abortController?.signal,
|
|
235
|
+
safetySettings: [
|
|
236
|
+
{
|
|
237
|
+
category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
|
|
238
|
+
threshold: geminiBlockNone ? HarmBlockThreshold.BLOCK_NONE : HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
|
|
267
239
|
},
|
|
268
|
-
|
|
269
|
-
|
|
240
|
+
{
|
|
241
|
+
category: HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
|
|
242
|
+
threshold: geminiBlockNone ? HarmBlockThreshold.BLOCK_NONE : HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
category: HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,
|
|
246
|
+
threshold: geminiBlockNone ? HarmBlockThreshold.BLOCK_NONE : HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
category: HarmCategory.HARM_CATEGORY_HARASSMENT,
|
|
250
|
+
threshold: geminiBlockNone ? HarmBlockThreshold.BLOCK_NONE : HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
|
|
251
|
+
},
|
|
252
|
+
],
|
|
253
|
+
...Object.assign({
|
|
254
|
+
maxOutputTokens: outputTokenLimit,
|
|
255
|
+
temperature,
|
|
256
|
+
topP: 0.95,
|
|
257
|
+
}, config),
|
|
258
|
+
...(effectiveSystemPrompt
|
|
259
|
+
? {
|
|
260
|
+
systemInstruction: {
|
|
261
|
+
role: 'system',
|
|
262
|
+
parts: [
|
|
263
|
+
{
|
|
264
|
+
text: effectiveSystemPrompt,
|
|
265
|
+
},
|
|
266
|
+
],
|
|
267
|
+
},
|
|
268
|
+
}
|
|
269
|
+
: {}),
|
|
270
|
+
},
|
|
271
|
+
contents,
|
|
270
272
|
});
|
|
271
273
|
}
|
|
272
274
|
async function recoverFunctionCall(textResponse, functionCalls, functionDef) {
|
|
273
275
|
console.log('Recovering function call');
|
|
274
|
-
// @ts-expect-error: "object" !== "OBJECT"
|
|
275
276
|
const schema = functionDef.parameters;
|
|
276
|
-
const result = await
|
|
277
|
-
0.2, 'Your role is read the text below and if possible, return it in the desired format.', undefined
|
|
277
|
+
const result = await modelGenerateContent(ModelType.DEFAULT, // Always use default model for recovery attempts
|
|
278
|
+
0.2, 'Your role is read the text below and if possible, return it in the desired format.', undefined, {
|
|
278
279
|
contents: [
|
|
279
280
|
{
|
|
280
281
|
role: 'user',
|
|
@@ -285,15 +286,13 @@ async function recoverFunctionCall(textResponse, functionCalls, functionDef) {
|
|
|
285
286
|
],
|
|
286
287
|
},
|
|
287
288
|
],
|
|
288
|
-
|
|
289
|
+
config: {
|
|
289
290
|
responseMimeType: 'application/json',
|
|
290
291
|
responseSchema: schema,
|
|
291
292
|
},
|
|
292
|
-
}, {
|
|
293
|
-
signal: abortController?.signal,
|
|
294
293
|
});
|
|
295
294
|
try {
|
|
296
|
-
const parsed = JSON.parse(result.
|
|
295
|
+
const parsed = JSON.parse(result.text);
|
|
297
296
|
const functionCall = enableVertexUnescape
|
|
298
297
|
? unescapeFunctionCall({ name: functionDef.name, args: parsed })
|
|
299
298
|
: { name: functionDef.name, args: parsed };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-studio.js","sourceRoot":"","sources":["../../src/ai-service/ai-studio.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,
|
|
1
|
+
{"version":3,"file":"ai-studio.js","sourceRoot":"","sources":["../../src/ai-service/ai-studio.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,9 @@ export function printTokenUsageAndCost(costInfo) {
|
|
|
14
14
|
if (usage.cacheReadTokens) {
|
|
15
15
|
console.log(' - Cache read tokens: ', usage.cacheReadTokens);
|
|
16
16
|
}
|
|
17
|
+
if (usage.thinkingTokens) {
|
|
18
|
+
console.log(' - Thinking tokens: ', usage.thinkingTokens);
|
|
19
|
+
}
|
|
17
20
|
console.log(' - Output tokens: ', usage.outputTokens ?? 0);
|
|
18
21
|
console.log(' - Total tokens: ', usage.totalTokens ?? 0);
|
|
19
22
|
// Calculate cost multiplier based on model type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/ai-service/common.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/ai-service/common.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAA6B,SAAS,EAAc,MAAM,mBAAmB,CAAC;AAUrF;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAkB;IACvD,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;IAE7E,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IAC1D,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IAE1D,gDAAgD;IAChD,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE;QAC3B,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,SAAS,CAAC,KAAK;gBAClB,OAAO,GAAG,CAAC;YACb,KAAK,SAAS,CAAC,SAAS;gBACtB,OAAO,CAAC,CAAC,CAAC,sCAAsC;YAClD;gBACE,OAAO,GAAG,CAAC;QACf,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,SAAS,GACb,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,iBAAiB;QAC3C,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,iBAAiB,GAAG,IAAI;QACzD,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,iBAAiB,GAAG,GAAG,CAAC;QACzD,cAAc,CAAC;IACjB,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,kBAAkB,GAAG,cAAc,CAAC;IACnF,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAEzC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAElE,WAAW,CACT,SAAS,EACT,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,EACpD,KAAK,CAAC,YAAY,IAAI,CAAC,EACvB,QAAQ,CAAC,SAAS,EAClB,SAAS,CACV,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,aAA6B,EAAE,YAA2B;IAC7F,MAAM,oBAAoB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/G,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,yBAAyB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
|
@@ -6,7 +6,7 @@ export type InputHandlerResponse = {
|
|
|
6
6
|
options?: CodegenOptions;
|
|
7
7
|
};
|
|
8
8
|
type InputHandler = (prompt: string, message: string) => Promise<InputHandlerResponse>;
|
|
9
|
-
type ConfirmHandlerResponse = {
|
|
9
|
+
export type ConfirmHandlerResponse = {
|
|
10
10
|
confirmed: boolean | undefined;
|
|
11
11
|
options?: CodegenOptions;
|
|
12
12
|
answer?: string;
|
|
@@ -72,3 +72,28 @@ export interface ServiceConfigUpdate<T extends AiServiceType = AiServiceType> {
|
|
|
72
72
|
serviceType: T;
|
|
73
73
|
config: ServiceConfig<T>;
|
|
74
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Represents a node in the conversation graph.
|
|
77
|
+
*/
|
|
78
|
+
export interface ConversationGraphNode {
|
|
79
|
+
id: string;
|
|
80
|
+
actionType: string;
|
|
81
|
+
instruction: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Represents an edge connecting two nodes in the conversation graph.
|
|
85
|
+
*/
|
|
86
|
+
export interface ConversationGraphEdge {
|
|
87
|
+
sourceNode: string;
|
|
88
|
+
targetNode: string;
|
|
89
|
+
instruction: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Represents the current state of the conversation graph sent to the frontend.
|
|
93
|
+
*/
|
|
94
|
+
export interface ConversationGraphState {
|
|
95
|
+
nodes: ConversationGraphNode[];
|
|
96
|
+
edges: ConversationGraphEdge[];
|
|
97
|
+
currentNodeId: string | null;
|
|
98
|
+
isActive: boolean;
|
|
99
|
+
}
|