genaicode 0.8.3 → 0.8.5
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 +1 -1
- package/dist/ai-service/anthropic.js.map +1 -1
- package/dist/ai-service/common.d.ts +2 -1
- package/dist/ai-service/common.js +1 -2
- package/dist/ai-service/common.js.map +1 -1
- package/dist/ai-service/openai.d.ts +8 -0
- package/dist/ai-service/openai.js +182 -0
- package/dist/ai-service/openai.js.map +1 -0
- package/dist/ai-service/service-configurations.js +9 -3
- package/dist/ai-service/service-configurations.js.map +1 -1
- package/dist/cli/cli-options.js +1 -1
- package/dist/cli/cli-options.js.map +1 -1
- package/dist/cli/service-autodetect.js +1 -1
- package/dist/cli/service-autodetect.js.map +1 -1
- package/dist/cli/validate-cli-params.js +1 -1
- package/dist/cli/validate-cli-params.js.map +1 -1
- package/dist/files/find-files.js +5 -2
- package/dist/files/find-files.js.map +1 -1
- package/dist/files/read-files.d.ts +1 -0
- package/dist/files/read-files.js +13 -5
- package/dist/files/read-files.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/main/codegen-types.d.ts +56 -4
- package/dist/main/codegen-utils.js +1 -1
- package/dist/main/codegen-utils.js.map +1 -1
- package/dist/main/codegen.js +5 -5
- package/dist/main/codegen.js.map +1 -1
- package/dist/main/common/content-bus-types.d.ts +1 -1
- package/dist/main/config-lib.d.ts +8 -5
- package/dist/main/config-lib.js +4 -1
- package/dist/main/config-lib.js.map +1 -1
- package/dist/main/config-schema.d.ts +14 -0
- package/dist/main/config-schema.js +145 -0
- package/dist/main/config-schema.js.map +1 -0
- package/dist/main/config.d.ts +1 -0
- package/dist/main/config.js +13 -5
- package/dist/main/config.js.map +1 -1
- package/dist/main/interactive/select-ai-service.js +1 -1
- package/dist/main/interactive/select-ai-service.js.map +1 -1
- package/dist/main/plugin-loader.d.ts +18 -3
- package/dist/main/plugin-loader.js +155 -48
- package/dist/main/plugin-loader.js.map +1 -1
- package/dist/main/ui/backend/api-handlers.d.ts +6 -0
- package/dist/main/ui/backend/api-handlers.js +5 -0
- package/dist/main/ui/backend/api-handlers.js.map +1 -0
- package/dist/main/ui/backend/api.d.ts +1 -0
- package/dist/main/ui/backend/api.js +6 -313
- package/dist/main/ui/backend/api.js.map +1 -1
- package/dist/main/ui/backend/endpoints/config-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/config-endpoint.js +39 -0
- package/dist/main/ui/backend/endpoints/config-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/content-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/content-endpoint.js +14 -0
- package/dist/main/ui/backend/endpoints/content-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/edit-message-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/edit-message-endpoint.js +34 -0
- package/dist/main/ui/backend/endpoints/edit-message-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/execute-codegen-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/execute-codegen-endpoint.js +44 -0
- package/dist/main/ui/backend/endpoints/execute-codegen-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/execution-status-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/execution-status-endpoint.js +37 -0
- package/dist/main/ui/backend/endpoints/execution-status-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/generate-content-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/generate-content-endpoint.js +29 -0
- package/dist/main/ui/backend/endpoints/generate-content-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/index.d.ts +11 -0
- package/dist/main/ui/backend/endpoints/index.js +12 -0
- package/dist/main/ui/backend/endpoints/index.js.map +1 -0
- package/dist/main/ui/backend/endpoints/interrupt-execution-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/interrupt-execution-endpoint.js +14 -0
- package/dist/main/ui/backend/endpoints/interrupt-execution-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/iteration-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/iteration-endpoint.js +16 -0
- package/dist/main/ui/backend/endpoints/iteration-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/question-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/question-endpoint.js +37 -0
- package/dist/main/ui/backend/endpoints/question-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/service-configuration-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/service-configuration-endpoint.js +54 -0
- package/dist/main/ui/backend/endpoints/service-configuration-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/usage-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/usage-endpoint.js +15 -0
- package/dist/main/ui/backend/endpoints/usage-endpoint.js.map +1 -0
- package/dist/main/ui/common/api-types.d.ts +5 -1
- package/dist/main/ui/frontend/assets/index-DY7-_JMu.js +1759 -0
- package/dist/main/ui/frontend/index.html +1 -1
- package/dist/prompt/ai-service-fallback.js +10 -3
- package/dist/prompt/ai-service-fallback.js.map +1 -1
- package/dist/prompt/function-calling-validate.d.ts +1 -1
- package/dist/prompt/function-calling-validate.js +13 -5
- package/dist/prompt/function-calling-validate.js.map +1 -1
- package/dist/prompt/function-defs/ask-question.js +80 -39
- package/dist/prompt/function-defs/ask-question.js.map +1 -1
- package/dist/prompt/limits.js +2 -2
- package/dist/prompt/prompt-service.js +2 -1
- package/dist/prompt/prompt-service.js.map +1 -1
- package/dist/prompt/prompt-service.test-utils.d.ts +1 -1
- package/dist/prompt/prompt-service.test-utils.js +1 -1
- package/dist/prompt/prompt-service.test-utils.js.map +1 -1
- package/dist/prompt/static-prompts.d.ts +2 -1
- package/dist/prompt/static-prompts.js +2 -1
- package/dist/prompt/static-prompts.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/cancel-code-generation.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/cancel-code-generation.js +2 -2
- package/dist/prompt/steps/step-ask-question/handlers/cancel-code-generation.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/code-generation.js +15 -15
- package/dist/prompt/steps/step-ask-question/handlers/code-generation.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/confirm-code-generation.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/confirm-code-generation.js +3 -3
- package/dist/prompt/steps/step-ask-question/handlers/confirm-code-generation.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/context-optimization.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/context-optimization.js +2 -2
- package/dist/prompt/steps/step-ask-question/handlers/context-optimization.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/default-action.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/default-action.js +2 -2
- package/dist/prompt/steps/step-ask-question/handlers/default-action.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-search-code.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-search-code.js +5 -5
- package/dist/prompt/steps/step-ask-question/handlers/handle-search-code.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message-with-image.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message-with-image.js +4 -4
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message-with-image.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js +3 -3
- package/dist/prompt/steps/step-ask-question/handlers/handle-send-message.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/lint.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/lint.js +4 -4
- package/dist/prompt/steps/step-ask-question/handlers/lint.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/remove-files-from-context.js +3 -3
- 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.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js +7 -7
- package/dist/prompt/steps/step-ask-question/handlers/request-files-content.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/request-permissions.d.ts +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/request-permissions.js +4 -4
- package/dist/prompt/steps/step-ask-question/handlers/request-permissions.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/step-ask-question-types.d.ts +15 -3
- package/dist/prompt/steps/step-ask-question/step-ask-question.js +12 -7
- package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
- package/dist/prompt/steps/step-codegen-planning.js +63 -3
- package/dist/prompt/steps/step-codegen-planning.js.map +1 -1
- package/dist/prompt/steps/step-context-optimization.js +11 -1
- package/dist/prompt/steps/step-context-optimization.js.map +1 -1
- package/dist/prompt/steps/step-generate-codegen-summary.js +3 -5
- package/dist/prompt/steps/step-generate-codegen-summary.js.map +1 -1
- package/dist/prompt/steps/step-process-file-updates.js +56 -10
- package/dist/prompt/steps/step-process-file-updates.js.map +1 -1
- package/dist/prompt/steps/step-summarization.js +2 -0
- package/dist/prompt/steps/step-summarization.js.map +1 -1
- package/dist/prompt/steps/step-validate-recover.js +5 -5
- package/dist/prompt/steps/step-validate-recover.js.map +1 -1
- package/dist/prompt/systemprompt.js +6 -3
- package/dist/prompt/systemprompt.js.map +1 -1
- package/dist/vite-genaicode/vite-genaicode-plugin.d.ts +4 -2
- package/dist/vite-genaicode/vite-genaicode-plugin.js +41 -24
- package/dist/vite-genaicode/vite-genaicode-plugin.js.map +1 -1
- package/package.json +7 -7
- package/dist/main/ui/frontend/assets/index-jwSqt8cG.js +0 -1337
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { registerEndpoint } from '../api-handlers.js';
|
|
2
|
+
import { rcConfig as globalRcConfig } from '../../../config.js';
|
|
3
|
+
import { getSupportedAiServices } from '../../../codegen-utils.js';
|
|
4
|
+
registerEndpoint((router, service) => {
|
|
5
|
+
// Get default CodegenOptions
|
|
6
|
+
router.get('/default-codegen-options', async (_, res) => {
|
|
7
|
+
try {
|
|
8
|
+
const defaultOptions = service.getCodegenOptions();
|
|
9
|
+
res.json({ options: defaultOptions });
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
console.error('Error getting default codegen options:', error);
|
|
13
|
+
res.status(500).json({ error: 'An error occurred while getting default codegen options' });
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
// Get rcConfig settings
|
|
17
|
+
router.get('/rcconfig', async (_, res) => {
|
|
18
|
+
try {
|
|
19
|
+
const rcConfigSettings = globalRcConfig;
|
|
20
|
+
res.json({ rcConfig: rcConfigSettings });
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
console.error('Error getting rcConfig settings:', error);
|
|
24
|
+
res.status(500).json({ error: 'An error occurred while getting rcConfig settings' });
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
// Fetch available AI services
|
|
28
|
+
router.get('/available-ai-services', async (_, res) => {
|
|
29
|
+
try {
|
|
30
|
+
const availableServices = getSupportedAiServices();
|
|
31
|
+
res.json({ services: availableServices });
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
console.error('Error fetching available AI services:', error);
|
|
35
|
+
res.status(500).json({ error: 'An error occurred while fetching available AI services' });
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=config-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-endpoint.js","sourceRoot":"","sources":["../../../../../src/main/ui/backend/endpoints/config-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,gBAAgB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnC,6BAA6B;IAC7B,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QACtD,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACnD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YAC/D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yDAAyD,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,cAAc,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mDAAmD,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,8BAA8B;IAC9B,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QACpD,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,sBAAsB,EAAE,CAAC;YACnD,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAC9D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wDAAwD,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { registerEndpoint } from '../api-handlers.js';
|
|
2
|
+
registerEndpoint((router, service) => {
|
|
3
|
+
router.get('/content', async (_, res) => {
|
|
4
|
+
try {
|
|
5
|
+
const content = service.getContent();
|
|
6
|
+
res.json({ content });
|
|
7
|
+
}
|
|
8
|
+
catch (error) {
|
|
9
|
+
console.error('Error getting content:', error);
|
|
10
|
+
res.status(500).json({ error: 'An error occurred while getting content' });
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=content-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-endpoint.js","sourceRoot":"","sources":["../../../../../src/main/ui/backend/endpoints/content-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,gBAAgB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QACtC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { registerEndpoint } from '../api-handlers.js';
|
|
2
|
+
registerEndpoint((router, service) => {
|
|
3
|
+
router.post('/edit-message', async (req, res) => {
|
|
4
|
+
try {
|
|
5
|
+
const { messageId, newContent } = req.body;
|
|
6
|
+
if (!messageId || typeof messageId !== 'string') {
|
|
7
|
+
return res.status(400).json({ error: 'Invalid message ID' });
|
|
8
|
+
}
|
|
9
|
+
if (!newContent || typeof newContent !== 'string') {
|
|
10
|
+
return res.status(400).json({ error: 'Invalid message content' });
|
|
11
|
+
}
|
|
12
|
+
if (newContent.trim().length === 0) {
|
|
13
|
+
return res.status(400).json({ error: 'Message content cannot be empty' });
|
|
14
|
+
}
|
|
15
|
+
const success = await service.editMessage(messageId, newContent);
|
|
16
|
+
if (success) {
|
|
17
|
+
res.json({ message: 'Message edited successfully' });
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
res.status(404).json({ error: 'Message not found' });
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
console.error('Error editing message:', error);
|
|
25
|
+
if (error instanceof Error) {
|
|
26
|
+
res.status(400).json({ error: error.message });
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
res.status(500).json({ error: 'An error occurred while editing the message' });
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=edit-message-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-message-endpoint.js","sourceRoot":"","sources":["../../../../../src/main/ui/backend/endpoints/edit-message-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,gBAAgB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,IAGrC,CAAC;YAEF,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAChD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAClD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAEjE,IAAI,OAAO,EAAE,CAAC;gBACZ,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6CAA6C,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import multer from 'multer';
|
|
2
|
+
import { registerEndpoint } from '../api-handlers.js';
|
|
3
|
+
const MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB
|
|
4
|
+
const MAX_IMAGES = 5;
|
|
5
|
+
const storage = multer.memoryStorage();
|
|
6
|
+
const upload = multer({
|
|
7
|
+
storage: storage,
|
|
8
|
+
limits: {
|
|
9
|
+
fileSize: MAX_FILE_SIZE,
|
|
10
|
+
files: MAX_IMAGES,
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
registerEndpoint((router, service) => {
|
|
14
|
+
router.post('/execute-codegen', upload.array('images', MAX_IMAGES), async (req, res) => {
|
|
15
|
+
try {
|
|
16
|
+
const prompt = req.body.prompt;
|
|
17
|
+
const options = JSON.parse(req.body.options);
|
|
18
|
+
const files = req.files;
|
|
19
|
+
if (!prompt || typeof prompt !== 'string') {
|
|
20
|
+
return res.status(400).json({ error: 'Invalid prompt' });
|
|
21
|
+
}
|
|
22
|
+
const images = files?.map((file) => ({
|
|
23
|
+
buffer: file.buffer,
|
|
24
|
+
mimetype: file.mimetype,
|
|
25
|
+
originalname: file.originalname,
|
|
26
|
+
}));
|
|
27
|
+
const result = await service.executeCodegen(prompt, options, images);
|
|
28
|
+
res.json({ result });
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
console.error('Error executing codegen:', error);
|
|
32
|
+
if (error instanceof multer.MulterError) {
|
|
33
|
+
if (error.code === 'LIMIT_FILE_SIZE') {
|
|
34
|
+
return res.status(400).json({ error: 'File size exceeds the 5MB limit' });
|
|
35
|
+
}
|
|
36
|
+
if (error.code === 'LIMIT_FILE_COUNT') {
|
|
37
|
+
return res.status(400).json({ error: `Maximum of ${MAX_IMAGES} images allowed` });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
res.status(500).json({ error: 'An error occurred while executing codegen' });
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=execute-codegen-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute-codegen-endpoint.js","sourceRoot":"","sources":["../../../../../src/main/ui/backend/endpoints/execute-codegen-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM;AAC7C,MAAM,UAAU,GAAG,CAAC,CAAC;AAErB,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;AACvC,MAAM,MAAM,GAAG,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE;QACN,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,UAAU;KAClB;CACF,CAAC,CAAC;AAEH,gBAAgB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACrF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,KAA8B,CAAC;YAEjD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC1C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,MAAM,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAmE;gBAClF,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC,CAAC,CAAC;YAEJ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACrE,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,IAAI,KAAK,YAAY,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxC,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACrC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;gBAC5E,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBACtC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,UAAU,iBAAiB,EAAE,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2CAA2C,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { registerEndpoint } from '../api-handlers.js';
|
|
2
|
+
registerEndpoint((router, service) => {
|
|
3
|
+
// Get execution status
|
|
4
|
+
router.get('/execution-status', async (_, res) => {
|
|
5
|
+
try {
|
|
6
|
+
const status = await service.getExecutionStatus();
|
|
7
|
+
res.json({ status });
|
|
8
|
+
}
|
|
9
|
+
catch (error) {
|
|
10
|
+
console.error('Error getting execution status:', error);
|
|
11
|
+
res.status(500).json({ error: 'An error occurred while getting execution status' });
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
// Pause execution
|
|
15
|
+
router.post('/pause-execution', async (_, res) => {
|
|
16
|
+
try {
|
|
17
|
+
await service.pauseExecution();
|
|
18
|
+
res.json({ message: 'Execution paused successfully' });
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
console.error('Error pausing execution:', error);
|
|
22
|
+
res.status(500).json({ error: 'An error occurred while pausing execution' });
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
// Resume execution
|
|
26
|
+
router.post('/resume-execution', async (_, res) => {
|
|
27
|
+
try {
|
|
28
|
+
await service.resumeExecution();
|
|
29
|
+
res.json({ message: 'Execution resumed successfully' });
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error('Error resuming execution:', error);
|
|
33
|
+
res.status(500).json({ error: 'An error occurred while resuming execution' });
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=execution-status-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-status-endpoint.js","sourceRoot":"","sources":["../../../../../src/main/ui/backend/endpoints/execution-status-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,gBAAgB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnC,uBAAuB;IACvB,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACxD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kDAAkD,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kBAAkB;IAClB,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2CAA2C,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,mBAAmB;IACnB,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QAChD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4CAA4C,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { registerEndpoint } from '../api-handlers.js';
|
|
2
|
+
registerEndpoint((router, service) => {
|
|
3
|
+
router.post('/generate-content', async (req, res) => {
|
|
4
|
+
try {
|
|
5
|
+
const { prompt, temperature, cheap, options } = req.body;
|
|
6
|
+
if (!prompt || typeof prompt !== 'string') {
|
|
7
|
+
return res.status(400).json({ error: 'Invalid prompt: must be a string' });
|
|
8
|
+
}
|
|
9
|
+
if (typeof temperature !== 'number' || temperature < 0 || temperature > 2) {
|
|
10
|
+
return res.status(400).json({ error: 'Invalid temperature: must be a number between 0 and 2' });
|
|
11
|
+
}
|
|
12
|
+
if (typeof cheap !== 'boolean') {
|
|
13
|
+
return res.status(400).json({ error: 'Invalid cheap parameter: must be a boolean' });
|
|
14
|
+
}
|
|
15
|
+
const result = await service.generateContent(prompt, temperature, cheap, options);
|
|
16
|
+
res.json({ result });
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
console.error('Error generating content:', error);
|
|
20
|
+
if (error instanceof Error) {
|
|
21
|
+
res.status(500).json({ error: `An error occurred while generating content: ${error.message}` });
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
res.status(500).json({ error: 'An unknown error occurred while generating content' });
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=generate-content-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-content-endpoint.js","sourceRoot":"","sources":["../../../../../src/main/ui/backend/endpoints/generate-content-endpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,gBAAgB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAClD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAKnD,CAAC;YAEF,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC1C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC;YAC7E,CAAC;YAED,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC1E,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uDAAuD,EAAE,CAAC,CAAC;YAClG,CAAC;YAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4CAA4C,EAAE,CAAC,CAAC;YACvF,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAClF,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,+CAA+C,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAClG,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oDAAoD,EAAE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import './content-endpoint.js';
|
|
2
|
+
import './edit-message-endpoint.js';
|
|
3
|
+
import './execute-codegen-endpoint.js';
|
|
4
|
+
import './execution-status-endpoint.js';
|
|
5
|
+
import './generate-content-endpoint.js';
|
|
6
|
+
import './interrupt-execution-endpoint.js';
|
|
7
|
+
import './service-configuration-endpoint.js';
|
|
8
|
+
import './question-endpoint.js';
|
|
9
|
+
import './usage-endpoint.js';
|
|
10
|
+
import './config-endpoint.js';
|
|
11
|
+
import './iteration-endpoint.js';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import './content-endpoint.js';
|
|
2
|
+
import './edit-message-endpoint.js';
|
|
3
|
+
import './execute-codegen-endpoint.js';
|
|
4
|
+
import './execution-status-endpoint.js';
|
|
5
|
+
import './generate-content-endpoint.js';
|
|
6
|
+
import './interrupt-execution-endpoint.js';
|
|
7
|
+
import './service-configuration-endpoint.js';
|
|
8
|
+
import './question-endpoint.js';
|
|
9
|
+
import './usage-endpoint.js';
|
|
10
|
+
import './config-endpoint.js';
|
|
11
|
+
import './iteration-endpoint.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/main/ui/backend/endpoints/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAC/B,OAAO,4BAA4B,CAAC;AACpC,OAAO,+BAA+B,CAAC;AACvC,OAAO,gCAAgC,CAAC;AACxC,OAAO,gCAAgC,CAAC;AACxC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,wBAAwB,CAAC;AAChC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { registerEndpoint } from '../api-handlers.js';
|
|
2
|
+
registerEndpoint((router, service) => {
|
|
3
|
+
router.post('/interrupt-execution', async (_, res) => {
|
|
4
|
+
try {
|
|
5
|
+
await service.interruptExecution();
|
|
6
|
+
res.json({ message: 'Execution interrupted successfully' });
|
|
7
|
+
}
|
|
8
|
+
catch (error) {
|
|
9
|
+
console.error('Error interrupting execution:', error);
|
|
10
|
+
res.status(500).json({ error: 'An error occurred while interrupting execution' });
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=interrupt-execution-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interrupt-execution-endpoint.js","sourceRoot":"","sources":["../../../../../src/main/ui/backend/endpoints/interrupt-execution-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,gBAAgB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QACnD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gDAAgD,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { registerEndpoint } from '../api-handlers.js';
|
|
2
|
+
registerEndpoint((router, service) => {
|
|
3
|
+
// Delete an iteration
|
|
4
|
+
router.delete('/delete-iteration/:iterationId', async (req, res) => {
|
|
5
|
+
try {
|
|
6
|
+
const { iterationId } = req.params;
|
|
7
|
+
await service.deleteIteration(iterationId);
|
|
8
|
+
res.json({ message: 'Iteration deleted successfully' });
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
console.error('Error deleting iteration:', error);
|
|
12
|
+
res.status(500).json({ error: 'An error occurred while deleting the iteration' });
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=iteration-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iteration-endpoint.js","sourceRoot":"","sources":["../../../../../src/main/ui/backend/endpoints/iteration-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,gBAAgB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnC,sBAAsB;IACtB,MAAM,CAAC,MAAM,CAAC,gCAAgC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjE,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;YACnC,MAAM,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gDAAgD,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { registerEndpoint } from '../api-handlers.js';
|
|
2
|
+
import { validateCodegenOptions } from '../api-utils.js';
|
|
3
|
+
registerEndpoint((router, service) => {
|
|
4
|
+
// Get current question
|
|
5
|
+
router.get('/current-question', async (_, res) => {
|
|
6
|
+
try {
|
|
7
|
+
const question = await service.getCurrentQuestion();
|
|
8
|
+
res.json({ question });
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
console.error('Error getting current question:', error);
|
|
12
|
+
res.status(500).json({ error: 'An error occurred while getting current question' });
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
// Answer question
|
|
16
|
+
router.post('/answer-question', async (req, res) => {
|
|
17
|
+
try {
|
|
18
|
+
const { questionId, answer, confirmed, options } = req.body;
|
|
19
|
+
if (!questionId || typeof answer !== 'string' || typeof questionId !== 'string') {
|
|
20
|
+
return res.status(400).json({ error: 'Invalid question ID or answer' });
|
|
21
|
+
}
|
|
22
|
+
if (options) {
|
|
23
|
+
const validationErrors = validateCodegenOptions(options);
|
|
24
|
+
if (validationErrors.length > 0) {
|
|
25
|
+
return res.status(400).json({ errors: validationErrors });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
await service.answerQuestion(questionId, answer, confirmed, options);
|
|
29
|
+
res.json({ message: 'Question answered successfully' });
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error('Error answering question:', error);
|
|
33
|
+
res.status(500).json({ error: 'An error occurred while answering question' });
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=question-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"question-endpoint.js","sourceRoot":"","sources":["../../../../../src/main/ui/backend/endpoints/question-endpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,gBAAgB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnC,uBAAuB;IACvB,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;YACpD,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACxD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kDAAkD,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kBAAkB;IAClB,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjD,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YAE5D,IAAI,CAAC,UAAU,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAChF,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC,CAAC;YAC1E,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;gBACzD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;YAED,MAAM,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAyB,CAAC,CAAC;YACvF,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4CAA4C,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { registerEndpoint } from '../api-handlers.js';
|
|
2
|
+
import { getSupportedAiServices } from '../../../codegen-utils.js';
|
|
3
|
+
registerEndpoint((router, service) => {
|
|
4
|
+
// Get service configurations
|
|
5
|
+
router.get('/service-configurations', async (_, res) => {
|
|
6
|
+
try {
|
|
7
|
+
const configurations = service.getServiceConfigurations();
|
|
8
|
+
res.json({ configurations });
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
console.error('Error getting service configurations:', error);
|
|
12
|
+
res.status(500).json({ error: 'An error occurred while getting service configurations' });
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
// Update service configuration
|
|
16
|
+
router.post('/service-configuration', async (req, res) => {
|
|
17
|
+
try {
|
|
18
|
+
const { serviceType, config } = req.body;
|
|
19
|
+
// Validate service type
|
|
20
|
+
if (!serviceType || typeof serviceType !== 'string') {
|
|
21
|
+
return res.status(400).json({ error: 'Invalid service type' });
|
|
22
|
+
}
|
|
23
|
+
// Validate that the service type is supported
|
|
24
|
+
const supportedServices = getSupportedAiServices();
|
|
25
|
+
if (!supportedServices.includes(serviceType)) {
|
|
26
|
+
return res.status(400).json({ error: 'Unsupported service type' });
|
|
27
|
+
}
|
|
28
|
+
// Validate config object
|
|
29
|
+
if (!config || typeof config !== 'object') {
|
|
30
|
+
return res.status(400).json({ error: 'Invalid configuration object' });
|
|
31
|
+
}
|
|
32
|
+
// Validate API key if provided
|
|
33
|
+
if (config.apiKey !== undefined && typeof config.apiKey !== 'string') {
|
|
34
|
+
return res.status(400).json({ error: 'Invalid API key format' });
|
|
35
|
+
}
|
|
36
|
+
// Validate model overrides if provided
|
|
37
|
+
if (config.modelOverrides) {
|
|
38
|
+
if (config.modelOverrides.default !== undefined && typeof config.modelOverrides.default !== 'string') {
|
|
39
|
+
return res.status(400).json({ error: 'Invalid default model override' });
|
|
40
|
+
}
|
|
41
|
+
if (config.modelOverrides.cheap !== undefined && typeof config.modelOverrides.cheap !== 'string') {
|
|
42
|
+
return res.status(400).json({ error: 'Invalid cheap model override' });
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
service.updateServiceConfiguration({ serviceType: serviceType, config });
|
|
46
|
+
res.json({ message: 'Service configuration updated successfully' });
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
console.error('Error updating service configuration:', error);
|
|
50
|
+
res.status(500).json({ error: 'An error occurred while updating service configuration' });
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=service-configuration-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-configuration-endpoint.js","sourceRoot":"","sources":["../../../../../src/main/ui/backend/endpoints/service-configuration-endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { registerEndpoint } from '../api-handlers.js';
|
|
2
|
+
registerEndpoint((router, service) => {
|
|
3
|
+
// Get total cost of prompts in the current session
|
|
4
|
+
router.get('/usage', async (_, res) => {
|
|
5
|
+
try {
|
|
6
|
+
const usageMetrics = await service.getUsageMetrics();
|
|
7
|
+
res.json({ usageMetrics });
|
|
8
|
+
}
|
|
9
|
+
catch (error) {
|
|
10
|
+
console.error('Error getting total cost:', error);
|
|
11
|
+
res.status(500).json({ error: 'An error occurred while getting total cost' });
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=usage-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-endpoint.js","sourceRoot":"","sources":["../../../../../src/main/ui/backend/endpoints/usage-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,gBAAgB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnC,mDAAmD;IACnD,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;YACrD,GAAG,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4CAA4C,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -32,8 +32,9 @@ export type ServiceConfigRequirements = {
|
|
|
32
32
|
googleCloudProjectId: string;
|
|
33
33
|
googleCloudRegion: string;
|
|
34
34
|
};
|
|
35
|
-
|
|
35
|
+
openai: {
|
|
36
36
|
apiKey: string | undefined;
|
|
37
|
+
openaiBaseUrl?: string | undefined;
|
|
37
38
|
googleCloudProjectId?: never;
|
|
38
39
|
googleCloudRegion?: never;
|
|
39
40
|
};
|
|
@@ -63,6 +64,7 @@ export type ServiceConfig<T extends AiServiceType = AiServiceType> = {
|
|
|
63
64
|
};
|
|
64
65
|
} & (T extends keyof ServiceConfigRequirements ? ServiceConfigRequirements[T] : {
|
|
65
66
|
apiKey?: string;
|
|
67
|
+
openaiBaseUrl?: string;
|
|
66
68
|
googleCloudProjectId?: string;
|
|
67
69
|
googleCloudRegion?: string;
|
|
68
70
|
});
|
|
@@ -87,10 +89,12 @@ export type SanitizedServiceConfig = {
|
|
|
87
89
|
hasApiKey?: boolean;
|
|
88
90
|
googleCloudProjectId?: '';
|
|
89
91
|
googleCloudRegion?: '';
|
|
92
|
+
openaiBaseUrl?: string;
|
|
90
93
|
} | {
|
|
91
94
|
hasApiKey: false;
|
|
92
95
|
googleCloudProjectId?: string;
|
|
93
96
|
googleCloudRegion?: string;
|
|
97
|
+
openaiBaseUrl?: '';
|
|
94
98
|
});
|
|
95
99
|
/**
|
|
96
100
|
* Map of service configurations by service type.
|