genaicode 0.8.4 → 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 +7 -1
- 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 +11 -3
- 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 +3 -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 +4 -0
- 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
|
@@ -1,13 +1,145 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import { registerProfile } from '../project-profiles/index.js';
|
|
3
|
-
// Global storage for registered
|
|
3
|
+
// Global storage for registered plugins and their components
|
|
4
|
+
const loadedPlugins = new Map();
|
|
4
5
|
const registeredAiServices = new Map();
|
|
5
6
|
const registeredOperations = {};
|
|
6
7
|
const registeredActionHandlerDescriptions = new Map();
|
|
7
8
|
const registeredActionHandlers = new Map();
|
|
8
9
|
const registeredGenerateContentHooks = [];
|
|
9
|
-
|
|
10
|
+
const registeredPlanningPreHooks = [];
|
|
11
|
+
const registeredPlanningPostHooks = [];
|
|
10
12
|
const registeredProfilePlugins = [];
|
|
13
|
+
/**
|
|
14
|
+
* Validates a plugin's structure and required fields
|
|
15
|
+
* @throws {Error} If plugin validation fails
|
|
16
|
+
*/
|
|
17
|
+
function validatePlugin(plugin) {
|
|
18
|
+
if (!plugin.name) {
|
|
19
|
+
throw new Error('Plugin must have a name');
|
|
20
|
+
}
|
|
21
|
+
// Validate AI services if present
|
|
22
|
+
if (plugin.aiServices) {
|
|
23
|
+
Object.entries(plugin.aiServices).forEach(([name, service]) => {
|
|
24
|
+
if (!service.generateContent || typeof service.generateContent !== 'function') {
|
|
25
|
+
throw new Error(`AI service ${name} must have a generateContent function`);
|
|
26
|
+
}
|
|
27
|
+
if (!service.serviceConfig) {
|
|
28
|
+
throw new Error(`AI service ${name} must have a serviceConfig`);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
// Validate operations if present
|
|
33
|
+
if (plugin.operations) {
|
|
34
|
+
Object.entries(plugin.operations).forEach(([name, operation]) => {
|
|
35
|
+
if (!operation.executor || typeof operation.executor !== 'function') {
|
|
36
|
+
throw new Error(`Operation ${name} must have an executor function`);
|
|
37
|
+
}
|
|
38
|
+
if (!operation.def) {
|
|
39
|
+
throw new Error(`Operation ${name} must have a definition`);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
// Validate action handlers if present
|
|
44
|
+
if (plugin.actionHandlers) {
|
|
45
|
+
Object.entries(plugin.actionHandlers).forEach(([name, { handler, description }]) => {
|
|
46
|
+
if (!handler || typeof handler !== 'function') {
|
|
47
|
+
throw new Error(`Action handler ${name} must have a handler function`);
|
|
48
|
+
}
|
|
49
|
+
if (!description) {
|
|
50
|
+
throw new Error(`Action handler ${name} must have a description`);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
// Validate hooks if present
|
|
55
|
+
if (plugin.generateContentHook && typeof plugin.generateContentHook !== 'function') {
|
|
56
|
+
throw new Error('generateContentHook must be a function');
|
|
57
|
+
}
|
|
58
|
+
if (plugin.planningPreHook && typeof plugin.planningPreHook !== 'function') {
|
|
59
|
+
throw new Error('planningPreHook must be a function');
|
|
60
|
+
}
|
|
61
|
+
if (plugin.planningPostHook && typeof plugin.planningPostHook !== 'function') {
|
|
62
|
+
throw new Error('planningPostHook must be a function');
|
|
63
|
+
}
|
|
64
|
+
// Validate project profiles if present
|
|
65
|
+
if ('profiles' in plugin) {
|
|
66
|
+
const profilePlugin = plugin;
|
|
67
|
+
if (!Array.isArray(profilePlugin.profiles)) {
|
|
68
|
+
throw new Error('Plugin profiles must be an array');
|
|
69
|
+
}
|
|
70
|
+
profilePlugin.profiles.forEach(validateProfile);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Registers a single plugin with validation and idempotency checks
|
|
75
|
+
* @throws {Error} If plugin registration fails
|
|
76
|
+
*/
|
|
77
|
+
export async function registerPlugin(plugin, pluginPath) {
|
|
78
|
+
try {
|
|
79
|
+
// Validate plugin structure
|
|
80
|
+
validatePlugin(plugin);
|
|
81
|
+
// Check if plugin is already loaded
|
|
82
|
+
if (loadedPlugins.has(plugin.name)) {
|
|
83
|
+
console.log(`Plugin ${plugin.name} is already loaded, overwriting registration`);
|
|
84
|
+
}
|
|
85
|
+
// Register AI services
|
|
86
|
+
if (plugin.aiServices) {
|
|
87
|
+
Object.entries(plugin.aiServices).forEach(([name, service]) => {
|
|
88
|
+
registeredAiServices.set(`plugin:${name}`, service);
|
|
89
|
+
console.log(`Registered AI service: ${name}`);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
// Register operations
|
|
93
|
+
if (plugin.operations) {
|
|
94
|
+
Object.entries(plugin.operations).forEach(([name, operation]) => {
|
|
95
|
+
registeredOperations[name] = operation;
|
|
96
|
+
console.log(`Registered operation: ${name}`);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
// Register action handlers
|
|
100
|
+
if (plugin.actionHandlers) {
|
|
101
|
+
Object.entries(plugin.actionHandlers).forEach(([name, { handler, description }]) => {
|
|
102
|
+
registeredActionHandlers.set(`plugin:${name}`, handler);
|
|
103
|
+
registeredActionHandlerDescriptions.set(`plugin:${name}`, description);
|
|
104
|
+
console.log(`Registered action handler: ${name}`);
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
// Register hooks
|
|
108
|
+
if (plugin.generateContentHook) {
|
|
109
|
+
registeredGenerateContentHooks.push(plugin.generateContentHook);
|
|
110
|
+
console.log('Registered generateContent hook');
|
|
111
|
+
}
|
|
112
|
+
if (plugin.planningPreHook) {
|
|
113
|
+
registeredPlanningPreHooks.push(plugin.planningPreHook);
|
|
114
|
+
console.log('Registered planning pre-hook');
|
|
115
|
+
}
|
|
116
|
+
if (plugin.planningPostHook) {
|
|
117
|
+
registeredPlanningPostHooks.push(plugin.planningPostHook);
|
|
118
|
+
console.log('Registered planning post-hook');
|
|
119
|
+
}
|
|
120
|
+
// Register project profiles
|
|
121
|
+
if ('profiles' in plugin) {
|
|
122
|
+
const profilePlugin = plugin;
|
|
123
|
+
if (profilePlugin.profiles) {
|
|
124
|
+
profilePlugin.profiles.forEach((profile) => {
|
|
125
|
+
registerProfile(profile);
|
|
126
|
+
console.log(`Registered project profile: ${profile.name} (${profile.id})`);
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// Add plugin to loaded plugins registry
|
|
131
|
+
loadedPlugins.set(plugin.name, plugin);
|
|
132
|
+
console.log(`Successfully loaded plugin${pluginPath ? `: ${pluginPath}` : ': ' + plugin.name}`);
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
const errorMessage = `Failed to register plugin${pluginPath ? `: ${pluginPath}` : ': ' + plugin.name}`;
|
|
136
|
+
console.error(errorMessage, error);
|
|
137
|
+
throw new Error(`${errorMessage}: ${error instanceof Error ? error.message : String(error)}`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Loads plugins from configuration with idempotency checks
|
|
142
|
+
*/
|
|
11
143
|
export async function loadPlugins(rcConfig) {
|
|
12
144
|
if (!rcConfig.plugins || rcConfig.plugins.length === 0) {
|
|
13
145
|
console.log('No plugins specified in the configuration.');
|
|
@@ -18,56 +150,16 @@ export async function loadPlugins(rcConfig) {
|
|
|
18
150
|
pluginPath = path.isAbsolute(pluginPath) ? pluginPath : path.join(rcConfig.rootDir, pluginPath);
|
|
19
151
|
console.log('Loading plugin:', pluginPath);
|
|
20
152
|
const plugin = (await import(pluginPath)).default;
|
|
21
|
-
|
|
22
|
-
if (plugin.aiServices) {
|
|
23
|
-
Object.entries(plugin.aiServices).forEach(([name, service]) => {
|
|
24
|
-
registeredAiServices.set(`plugin:${name}`, service);
|
|
25
|
-
console.log(`Registered AI service: ${name}`);
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
// Handle operations
|
|
29
|
-
if (plugin.operations) {
|
|
30
|
-
Object.entries(plugin.operations).forEach(([name, operation]) => {
|
|
31
|
-
registeredOperations[name] = operation;
|
|
32
|
-
console.log(`Registered operation: ${name}`);
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
// Handle action handlers
|
|
36
|
-
if (plugin.actionHandlers) {
|
|
37
|
-
Object.entries(plugin.actionHandlers).forEach(([name, { handler, description }]) => {
|
|
38
|
-
registeredActionHandlers.set(`plugin:${name}`, handler);
|
|
39
|
-
registeredActionHandlerDescriptions.set(`plugin:${name}`, description);
|
|
40
|
-
console.log(`Registered action handler: ${name}`);
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
// Handle generateContent hooks
|
|
44
|
-
if (plugin.generateContentHook) {
|
|
45
|
-
registeredGenerateContentHooks.push(plugin.generateContentHook);
|
|
46
|
-
console.log('Registered generateContent hook');
|
|
47
|
-
}
|
|
48
|
-
// Handle project profile plugins
|
|
49
|
-
if ('profiles' in plugin) {
|
|
50
|
-
const profilePlugin = plugin;
|
|
51
|
-
// Register project profiles
|
|
52
|
-
if (profilePlugin.profiles) {
|
|
53
|
-
profilePlugin.profiles.forEach((profile) => {
|
|
54
|
-
// Validate profile
|
|
55
|
-
validateProfile(profile);
|
|
56
|
-
// Register profile
|
|
57
|
-
registerProfile(profile);
|
|
58
|
-
console.log(`Registered project profile: ${profile.name} (${profile.id})`);
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
console.log(`Successfully loaded plugin: ${pluginPath}`);
|
|
153
|
+
await registerPlugin(plugin, pluginPath);
|
|
63
154
|
}
|
|
64
155
|
catch (error) {
|
|
65
156
|
console.error(`Failed to load plugin: ${pluginPath}`, error);
|
|
157
|
+
throw error; // Re-throw to handle the error at a higher level
|
|
66
158
|
}
|
|
67
159
|
}
|
|
68
160
|
}
|
|
69
161
|
/**
|
|
70
|
-
*
|
|
162
|
+
* Validates project profile structure
|
|
71
163
|
*/
|
|
72
164
|
function validateProfile(profile) {
|
|
73
165
|
if (!profile.id || typeof profile.id !== 'string') {
|
|
@@ -107,10 +199,25 @@ export function getRegisteredActionHandlerDescriptions() {
|
|
|
107
199
|
export function getRegisteredGenerateContentHooks() {
|
|
108
200
|
return registeredGenerateContentHooks;
|
|
109
201
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
202
|
+
export function getRegisteredPlanningPreHooks() {
|
|
203
|
+
return registeredPlanningPreHooks;
|
|
204
|
+
}
|
|
205
|
+
export function getRegisteredPlanningPostHooks() {
|
|
206
|
+
return registeredPlanningPostHooks;
|
|
207
|
+
}
|
|
113
208
|
export function getRegisteredProfilePlugins() {
|
|
114
209
|
return registeredProfilePlugins;
|
|
115
210
|
}
|
|
211
|
+
/**
|
|
212
|
+
* Checks if a plugin is already loaded
|
|
213
|
+
*/
|
|
214
|
+
export function isPluginLoaded(pluginName) {
|
|
215
|
+
return loadedPlugins.has(pluginName);
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Gets a loaded plugin by name
|
|
219
|
+
*/
|
|
220
|
+
export function getLoadedPlugin(pluginName) {
|
|
221
|
+
return loadedPlugins.get(pluginName);
|
|
222
|
+
}
|
|
116
223
|
//# sourceMappingURL=plugin-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/main/plugin-loader.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/main/plugin-loader.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAcxB,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D,6DAA6D;AAC7D,MAAM,aAAa,GAAwB,IAAI,GAAG,EAAE,CAAC;AACrD,MAAM,oBAAoB,GAGtB,IAAI,GAAG,EAAE,CAAC;AACd,MAAM,oBAAoB,GAA8B,EAAE,CAAC;AAC3D,MAAM,mCAAmC,GAAkC,IAAI,GAAG,EAAE,CAAC;AACrF,MAAM,wBAAwB,GAAyC,IAAI,GAAG,EAAE,CAAC;AACjF,MAAM,8BAA8B,GAA0B,EAAE,CAAC;AACjE,MAAM,0BAA0B,GAAsB,EAAE,CAAC;AACzD,MAAM,2BAA2B,GAAuB,EAAE,CAAC;AAC3D,MAAM,wBAAwB,GAA2B,EAAE,CAAC;AAE5D;;;GAGG;AACH,SAAS,cAAc,CAAC,MAAc;IACpC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,kCAAkC;IAClC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;YAC5D,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;gBAC9E,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,uCAAuC,CAAC,CAAC;YAC7E,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,4BAA4B,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC;IACjC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE;YAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACpE,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,iCAAiC,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,yBAAyB,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAsC;IACtC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE;YACjF,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,+BAA+B,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,0BAA0B,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B;IAC5B,IAAI,MAAM,CAAC,mBAAmB,IAAI,OAAO,MAAM,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,MAAM,CAAC,eAAe,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,uCAAuC;IACvC,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,aAAa,GAAG,MAAuC,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,UAAmB;IACtE,IAAI,CAAC;QACH,4BAA4B;QAC5B,cAAc,CAAC,MAAM,CAAC,CAAC;QAEvB,oCAAoC;QACpC,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,IAAI,8CAA8C,CAAC,CAAC;QACnF,CAAC;QAED,uBAAuB;QACvB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;gBAC5D,oBAAoB,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,sBAAsB;QACtB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE;gBAC9D,oBAAoB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC;QAED,2BAA2B;QAC3B,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE;gBACjF,wBAAwB,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;gBACxD,mCAAmC,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;gBACvE,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,iBAAiB;QACjB,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAC/B,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC5B,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;QAED,4BAA4B;QAC5B,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,aAAa,GAAG,MAAuC,CAAC;YAC9D,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAC3B,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAuB,EAAE,EAAE;oBACzD,eAAe,CAAC,OAAO,CAAC,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,+BAA+B,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC7E,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,6BAA6B,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAClG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,4BAA4B,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACvG,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAkB;IAClD,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,KAAK,IAAI,UAAU,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAChG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAiB,CAAC;YAC5D,MAAM,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,KAAK,CAAC,CAAC,iDAAiD;QAChE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,OAAuB;IAC9C,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB;IAIrC,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,sCAAsC;IACpD,OAAO,mCAAmC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,OAAO,8BAA8B,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO,2BAA2B,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkB;IAC/C,OAAO,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,OAAO,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Router } from 'express';
|
|
2
|
+
import { Service } from './service.js';
|
|
3
|
+
type EndpointHandler = (router: Router, service: Service) => void;
|
|
4
|
+
export declare const handlers: EndpointHandler[];
|
|
5
|
+
export declare function registerEndpoint(handler: EndpointHandler): void;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-handlers.js","sourceRoot":"","sources":["../../../../src/main/ui/backend/api-handlers.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,QAAQ,GAAsB,EAAE,CAAC;AAE9C,MAAM,UAAU,gBAAgB,CAAC,OAAwB;IACvD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -1,27 +1,6 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import { validateCodegenOptions } from './api-utils.js';
|
|
5
|
-
import { getSupportedAiServices } from '../../codegen-utils.js';
|
|
6
|
-
const MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB
|
|
7
|
-
const ALLOWED_FILE_TYPES = ['image/jpeg', 'image/png', 'image/gif', 'image/webp'];
|
|
8
|
-
const MAX_IMAGES = 5;
|
|
9
|
-
const storage = multer.memoryStorage();
|
|
10
|
-
const upload = multer({
|
|
11
|
-
storage: storage,
|
|
12
|
-
fileFilter: (_, file, cb) => {
|
|
13
|
-
if (ALLOWED_FILE_TYPES.includes(file.mimetype)) {
|
|
14
|
-
cb(null, true);
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
cb(new Error('Invalid file type. Only JPEG, PNG, GIF, and WebP are allowed.'));
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
limits: {
|
|
21
|
-
fileSize: MAX_FILE_SIZE,
|
|
22
|
-
files: MAX_IMAGES,
|
|
23
|
-
},
|
|
24
|
-
});
|
|
2
|
+
import { handlers } from './api-handlers.js';
|
|
3
|
+
import './endpoints/index.js';
|
|
25
4
|
export function createRouter(service) {
|
|
26
5
|
const router = express.Router();
|
|
27
6
|
// Apply token validation middleware to all routes
|
|
@@ -35,296 +14,10 @@ export function createRouter(service) {
|
|
|
35
14
|
}
|
|
36
15
|
next();
|
|
37
16
|
});
|
|
38
|
-
//
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
// Validate request body
|
|
43
|
-
if (!messageId || typeof messageId !== 'string') {
|
|
44
|
-
return res.status(400).json({ error: 'Invalid message ID' });
|
|
45
|
-
}
|
|
46
|
-
if (!newContent || typeof newContent !== 'string') {
|
|
47
|
-
return res.status(400).json({ error: 'Invalid message content' });
|
|
48
|
-
}
|
|
49
|
-
if (newContent.trim().length === 0) {
|
|
50
|
-
return res.status(400).json({ error: 'Message content cannot be empty' });
|
|
51
|
-
}
|
|
52
|
-
// Try to edit the message
|
|
53
|
-
const success = await service.editMessage(messageId, newContent);
|
|
54
|
-
if (success) {
|
|
55
|
-
res.json({ message: 'Message edited successfully' });
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
res.status(404).json({ error: 'Message not found' });
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
console.error('Error editing message:', error);
|
|
63
|
-
if (error instanceof Error) {
|
|
64
|
-
res.status(400).json({ error: error.message });
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
res.status(500).json({ error: 'An error occurred while editing the message' });
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
// Execute codegen (handles both regular and multimodal)
|
|
72
|
-
router.post('/execute-codegen', upload.array('images', MAX_IMAGES), async (req, res) => {
|
|
73
|
-
try {
|
|
74
|
-
const prompt = req.body.prompt;
|
|
75
|
-
const options = JSON.parse(req.body.options);
|
|
76
|
-
const files = req.files;
|
|
77
|
-
if (!prompt || typeof prompt !== 'string') {
|
|
78
|
-
return res.status(400).json({ error: 'Invalid prompt' });
|
|
79
|
-
}
|
|
80
|
-
const validationErrors = validateCodegenOptions(options);
|
|
81
|
-
if (validationErrors.length > 0) {
|
|
82
|
-
return res.status(400).json({ errors: validationErrors });
|
|
83
|
-
}
|
|
84
|
-
const images = files?.map((file) => ({
|
|
85
|
-
buffer: file.buffer,
|
|
86
|
-
mimetype: file.mimetype,
|
|
87
|
-
originalname: file.originalname,
|
|
88
|
-
}));
|
|
89
|
-
const result = await service.executeCodegen(prompt, options, images);
|
|
90
|
-
res.json({ result });
|
|
91
|
-
}
|
|
92
|
-
catch (error) {
|
|
93
|
-
console.error('Error executing codegen:', error);
|
|
94
|
-
if (error instanceof multer.MulterError) {
|
|
95
|
-
if (error.code === 'LIMIT_FILE_SIZE') {
|
|
96
|
-
return res.status(400).json({ error: 'File size exceeds the 5MB limit' });
|
|
97
|
-
}
|
|
98
|
-
if (error.code === 'LIMIT_FILE_COUNT') {
|
|
99
|
-
return res.status(400).json({ error: `Maximum of ${MAX_IMAGES} images allowed` });
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
res.status(500).json({ error: 'An error occurred while executing codegen' });
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
// New endpoint for direct content generation
|
|
106
|
-
router.post('/generate-content', async (req, res) => {
|
|
107
|
-
try {
|
|
108
|
-
const { prompt, temperature, cheap, options } = req.body;
|
|
109
|
-
// Validate required parameters
|
|
110
|
-
if (!prompt || typeof prompt !== 'string') {
|
|
111
|
-
return res.status(400).json({ error: 'Invalid prompt: must be a string' });
|
|
112
|
-
}
|
|
113
|
-
if (typeof temperature !== 'number' || temperature < 0 || temperature > 2) {
|
|
114
|
-
return res.status(400).json({ error: 'Invalid temperature: must be a number between 0 and 2' });
|
|
115
|
-
}
|
|
116
|
-
if (typeof cheap !== 'boolean') {
|
|
117
|
-
return res.status(400).json({ error: 'Invalid cheap parameter: must be a boolean' });
|
|
118
|
-
}
|
|
119
|
-
// Validate CodegenOptions
|
|
120
|
-
const validationErrors = validateCodegenOptions(options);
|
|
121
|
-
if (validationErrors.length > 0) {
|
|
122
|
-
return res.status(400).json({ errors: validationErrors });
|
|
123
|
-
}
|
|
124
|
-
const result = await service.generateContent(prompt, temperature, cheap, options);
|
|
125
|
-
res.json({ result });
|
|
126
|
-
}
|
|
127
|
-
catch (error) {
|
|
128
|
-
console.error('Error generating content:', error);
|
|
129
|
-
if (error instanceof Error) {
|
|
130
|
-
res.status(500).json({ error: `An error occurred while generating content: ${error.message}` });
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
res.status(500).json({ error: 'An unknown error occurred while generating content' });
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
router.get('/content', async (_, res) => {
|
|
138
|
-
try {
|
|
139
|
-
const content = service.getContent();
|
|
140
|
-
res.json({ content });
|
|
141
|
-
}
|
|
142
|
-
catch (error) {
|
|
143
|
-
console.error('Error getting content:', error);
|
|
144
|
-
res.status(500).json({ error: 'An error occurred while getting content' });
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
// Get execution status
|
|
148
|
-
router.get('/execution-status', async (_, res) => {
|
|
149
|
-
try {
|
|
150
|
-
const status = await service.getExecutionStatus();
|
|
151
|
-
res.json({ status });
|
|
152
|
-
}
|
|
153
|
-
catch (error) {
|
|
154
|
-
console.error('Error getting execution status:', error);
|
|
155
|
-
res.status(500).json({ error: 'An error occurred while getting execution status' });
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
// Interrupt execution
|
|
159
|
-
router.post('/interrupt-execution', async (_, res) => {
|
|
160
|
-
try {
|
|
161
|
-
await service.interruptExecution();
|
|
162
|
-
res.json({ message: 'Execution interrupted successfully' });
|
|
163
|
-
}
|
|
164
|
-
catch (error) {
|
|
165
|
-
console.error('Error interrupting execution:', error);
|
|
166
|
-
res.status(500).json({ error: 'An error occurred while interrupting execution' });
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
// Pause execution
|
|
170
|
-
router.post('/pause-execution', async (_, res) => {
|
|
171
|
-
try {
|
|
172
|
-
await service.pauseExecution();
|
|
173
|
-
res.json({ message: 'Execution paused successfully' });
|
|
174
|
-
}
|
|
175
|
-
catch (error) {
|
|
176
|
-
console.error('Error pausing execution:', error);
|
|
177
|
-
res.status(500).json({ error: 'An error occurred while pausing execution' });
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
// Resume execution
|
|
181
|
-
router.post('/resume-execution', async (_, res) => {
|
|
182
|
-
try {
|
|
183
|
-
await service.resumeExecution();
|
|
184
|
-
res.json({ message: 'Execution resumed successfully' });
|
|
185
|
-
}
|
|
186
|
-
catch (error) {
|
|
187
|
-
console.error('Error resuming execution:', error);
|
|
188
|
-
res.status(500).json({ error: 'An error occurred while resuming execution' });
|
|
189
|
-
}
|
|
190
|
-
});
|
|
191
|
-
// Get current question
|
|
192
|
-
router.get('/current-question', async (_, res) => {
|
|
193
|
-
try {
|
|
194
|
-
const question = await service.getCurrentQuestion();
|
|
195
|
-
res.json({ question });
|
|
196
|
-
}
|
|
197
|
-
catch (error) {
|
|
198
|
-
console.error('Error getting current question:', error);
|
|
199
|
-
res.status(500).json({ error: 'An error occurred while getting current question' });
|
|
200
|
-
}
|
|
201
|
-
});
|
|
202
|
-
// Answer question
|
|
203
|
-
router.post('/answer-question', async (req, res) => {
|
|
204
|
-
try {
|
|
205
|
-
const { questionId, answer, confirmed, options } = req.body;
|
|
206
|
-
if (!questionId || typeof answer !== 'string' || typeof questionId !== 'string') {
|
|
207
|
-
return res.status(400).json({ error: 'Invalid question ID or answer' });
|
|
208
|
-
}
|
|
209
|
-
if (options) {
|
|
210
|
-
const validationErrors = validateCodegenOptions(options);
|
|
211
|
-
if (validationErrors.length > 0) {
|
|
212
|
-
return res.status(400).json({ errors: validationErrors });
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
await service.answerQuestion(questionId, answer, confirmed, options);
|
|
216
|
-
res.json({ message: 'Question answered successfully' });
|
|
217
|
-
}
|
|
218
|
-
catch (error) {
|
|
219
|
-
console.error('Error answering question:', error);
|
|
220
|
-
res.status(500).json({ error: 'An error occurred while answering question' });
|
|
221
|
-
}
|
|
222
|
-
});
|
|
223
|
-
// Get total cost of prompts in the current session
|
|
224
|
-
router.get('/usage', async (_, res) => {
|
|
225
|
-
try {
|
|
226
|
-
const usageMetrics = await service.getUsageMetrics();
|
|
227
|
-
res.json({ usageMetrics });
|
|
228
|
-
}
|
|
229
|
-
catch (error) {
|
|
230
|
-
console.error('Error getting total cost:', error);
|
|
231
|
-
res.status(500).json({ error: 'An error occurred while getting total cost' });
|
|
232
|
-
}
|
|
233
|
-
});
|
|
234
|
-
// Get default CodegenOptions
|
|
235
|
-
router.get('/default-codegen-options', async (_, res) => {
|
|
236
|
-
try {
|
|
237
|
-
const defaultOptions = service.getCodegenOptions();
|
|
238
|
-
res.json({ options: defaultOptions });
|
|
239
|
-
}
|
|
240
|
-
catch (error) {
|
|
241
|
-
console.error('Error getting default codegen options:', error);
|
|
242
|
-
res.status(500).json({ error: 'An error occurred while getting default codegen options' });
|
|
243
|
-
}
|
|
244
|
-
});
|
|
245
|
-
// Get rcConfig settings
|
|
246
|
-
router.get('/rcconfig', async (_, res) => {
|
|
247
|
-
try {
|
|
248
|
-
const rcConfigSettings = globalRcConfig;
|
|
249
|
-
res.json({ rcConfig: rcConfigSettings });
|
|
250
|
-
}
|
|
251
|
-
catch (error) {
|
|
252
|
-
console.error('Error getting rcConfig settings:', error);
|
|
253
|
-
res.status(500).json({ error: 'An error occurred while getting rcConfig settings' });
|
|
254
|
-
}
|
|
255
|
-
});
|
|
256
|
-
// New endpoint to delete an iteration
|
|
257
|
-
router.delete('/delete-iteration/:iterationId', async (req, res) => {
|
|
258
|
-
try {
|
|
259
|
-
const { iterationId } = req.params;
|
|
260
|
-
await service.deleteIteration(iterationId);
|
|
261
|
-
res.json({ message: 'Iteration deleted successfully' });
|
|
262
|
-
}
|
|
263
|
-
catch (error) {
|
|
264
|
-
console.error('Error deleting iteration:', error);
|
|
265
|
-
res.status(500).json({ error: 'An error occurred while deleting the iteration' });
|
|
266
|
-
}
|
|
267
|
-
});
|
|
268
|
-
// New endpoint to fetch available AI services
|
|
269
|
-
router.get('/available-ai-services', async (_, res) => {
|
|
270
|
-
try {
|
|
271
|
-
const availableServices = getSupportedAiServices();
|
|
272
|
-
res.json({ services: availableServices });
|
|
273
|
-
}
|
|
274
|
-
catch (error) {
|
|
275
|
-
console.error('Error fetching available AI services:', error);
|
|
276
|
-
res.status(500).json({ error: 'An error occurred while fetching available AI services' });
|
|
277
|
-
}
|
|
278
|
-
});
|
|
279
|
-
// Get service configurations
|
|
280
|
-
router.get('/service-configurations', async (_, res) => {
|
|
281
|
-
try {
|
|
282
|
-
const configurations = service.getServiceConfigurations();
|
|
283
|
-
res.json({ configurations });
|
|
284
|
-
}
|
|
285
|
-
catch (error) {
|
|
286
|
-
console.error('Error getting service configurations:', error);
|
|
287
|
-
res.status(500).json({ error: 'An error occurred while getting service configurations' });
|
|
288
|
-
}
|
|
289
|
-
});
|
|
290
|
-
// Update service configuration
|
|
291
|
-
router.post('/service-configuration', async (req, res) => {
|
|
292
|
-
try {
|
|
293
|
-
const { serviceType, config } = req.body;
|
|
294
|
-
// Validate service type
|
|
295
|
-
if (!serviceType || typeof serviceType !== 'string') {
|
|
296
|
-
return res.status(400).json({ error: 'Invalid service type' });
|
|
297
|
-
}
|
|
298
|
-
// Validate that the service type is supported
|
|
299
|
-
const supportedServices = getSupportedAiServices();
|
|
300
|
-
if (!supportedServices.includes(serviceType)) {
|
|
301
|
-
return res.status(400).json({ error: 'Unsupported service type' });
|
|
302
|
-
}
|
|
303
|
-
// Validate config object
|
|
304
|
-
if (!config || typeof config !== 'object') {
|
|
305
|
-
return res.status(400).json({ error: 'Invalid configuration object' });
|
|
306
|
-
}
|
|
307
|
-
// Validate API key if provided
|
|
308
|
-
if (config.apiKey !== undefined && typeof config.apiKey !== 'string') {
|
|
309
|
-
return res.status(400).json({ error: 'Invalid API key format' });
|
|
310
|
-
}
|
|
311
|
-
// Validate model overrides if provided
|
|
312
|
-
if (config.modelOverrides) {
|
|
313
|
-
if (config.modelOverrides.default !== undefined && typeof config.modelOverrides.default !== 'string') {
|
|
314
|
-
return res.status(400).json({ error: 'Invalid default model override' });
|
|
315
|
-
}
|
|
316
|
-
if (config.modelOverrides.cheap !== undefined && typeof config.modelOverrides.cheap !== 'string') {
|
|
317
|
-
return res.status(400).json({ error: 'Invalid cheap model override' });
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
service.updateServiceConfiguration({ serviceType: serviceType, config });
|
|
321
|
-
res.json({ message: 'Service configuration updated successfully' });
|
|
322
|
-
}
|
|
323
|
-
catch (error) {
|
|
324
|
-
console.error('Error updating service configuration:', error);
|
|
325
|
-
res.status(500).json({ error: 'An error occurred while updating service configuration' });
|
|
326
|
-
}
|
|
327
|
-
});
|
|
17
|
+
// Register all endpoints
|
|
18
|
+
for (const handler of handlers) {
|
|
19
|
+
handler(router, service);
|
|
20
|
+
}
|
|
328
21
|
return router;
|
|
329
22
|
}
|
|
330
23
|
//# sourceMappingURL=api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/main/ui/backend/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/main/ui/backend/api.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,sBAAsB,CAAC;AAE9B,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAEhC,kDAAkD;IAClD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|