DeepCodeGeniusWeb-vscode/src/handler/handlerRegister.ts

90 lines
4.4 KiB
TypeScript
Raw Normal View History

2023-05-08 12:09:52 +08:00
import { messageHandler } from './messageHandler';
2023-11-29 23:34:15 +08:00
import { insertCodeBlockToFile } from './codeBlockHandler';
import { replaceCodeBlockToFile } from './codeBlockHandler';
import { doCommit } from './commitHandler';
import { getHistoryMessages } from './historyMessagesHandler';
import { getWorkflowCommandList } from './workflowCommandHandler';
import { getWorkflowContextList } from './workflowContextHandler';
2023-11-22 17:43:27 +08:00
import { sendMessage, stopDevChat, regeneration, deleteChatMessage, userInput } from './sendMessage';
2023-11-29 23:34:15 +08:00
import { applyCodeWithDiff } from './diffHandler';
import { addConext } from './contextHandler';
import { getContextDetail } from './contextHandler';
2023-05-10 17:56:56 +08:00
import { listAllMessages } from './listMessages';
2023-11-29 23:34:15 +08:00
import { doVscodeCommand } from './vscodeCommandHandler';
import { getSetting, updateSetting } from './userSettingHandler';
import { featureToggle, getFeatureToggles } from './featureToggleHandler';
import { getUserAccessKey } from './accessKeyHandler';
import { getValidLlmModelList } from './llmModelHandler';
import { readFile, writeFile } from './fileHandler';
import { getTopics, deleteTopic } from './topicHandler';
2023-05-08 12:09:52 +08:00
2023-05-28 08:18:14 +08:00
// According to the context menu selected by the user, add the corresponding context file
// Response: { command: 'appendContext', context: <context file> }
2023-05-08 12:09:52 +08:00
messageHandler.registerHandler('addContext', addConext);
2023-05-28 08:18:14 +08:00
// Apply the code block replied by AI to the currently active view
// Response: none
2023-11-29 23:34:15 +08:00
messageHandler.registerHandler('code_apply', insertCodeBlockToFile);
2023-05-28 08:18:14 +08:00
// Apply the code block replied by AI to the currently active view, replacing the current file content
// Response: none
2023-11-29 23:34:15 +08:00
messageHandler.registerHandler('code_file_apply', replaceCodeBlockToFile);
2023-05-28 08:18:14 +08:00
// Perform commit operation
// Response: none
2023-05-08 12:09:52 +08:00
messageHandler.registerHandler('doCommit', doCommit);
2023-05-28 08:18:14 +08:00
// Get the history messages, called when the user view is displayed
// Response: { command: 'historyMessages', result: <history messages> }
// <history messages> is a list, the specific attribute information is determined when the interface is added
2023-11-29 23:34:15 +08:00
messageHandler.registerHandler('historyMessages', getHistoryMessages);
2023-05-28 08:18:14 +08:00
// Register the command list
// Response: { command: 'regCommandList', result: <command list> }
2023-11-29 23:34:15 +08:00
messageHandler.registerHandler('regCommandList', getWorkflowCommandList);
2023-05-28 08:18:14 +08:00
// Register the context list
// Response: { command: 'regContextList', result: <context list> }
2023-11-29 23:34:15 +08:00
messageHandler.registerHandler('regContextList', getWorkflowContextList);
2023-05-28 08:18:14 +08:00
// Send a message, send the message entered by the user to AI
// Response:
// { command: 'receiveMessagePartial', text: <response message text>, user: <user>, date: <date> }
// { command: 'receiveMessagePartial', text: <response message text>, user: <user>, date: <date> }
2023-05-08 12:09:52 +08:00
messageHandler.registerHandler('sendMessage', sendMessage);
2023-05-28 08:18:14 +08:00
// Stop devchat, used to stop devchat by the user
// Response: none
messageHandler.registerHandler('stopDevChat', stopDevChat);
2023-05-28 08:18:14 +08:00
// Show diff
// Response: none
// Show diff, for historical reasons, the same as above
2023-11-29 23:34:15 +08:00
messageHandler.registerHandler('show_diff', applyCodeWithDiff);
2023-05-28 08:18:14 +08:00
// Get context details
// Response: { command: 'contextDetailResponse', 'file':<context file>, result: <context file content> }
// <context file content> is a JSON string
2023-11-29 23:34:15 +08:00
messageHandler.registerHandler('contextDetail', getContextDetail);
2023-05-10 17:56:56 +08:00
// Debug handler
messageHandler.registerHandler('listAllMessages', listAllMessages);
2023-05-28 08:18:14 +08:00
// Regeneration
// The response is the same as sendMessage
2023-05-23 11:16:48 +08:00
messageHandler.registerHandler('regeneration', regeneration);
// Delete chat message
// Response: { command: 'deletedChatMessage', result: <message id> }
messageHandler.registerHandler('deleteChatMessage', deleteChatMessage);
// Execute vscode command
// Response: none
2023-11-29 23:34:15 +08:00
messageHandler.registerHandler('doCommand', doVscodeCommand);
messageHandler.registerHandler('updateSetting', updateSetting);
messageHandler.registerHandler('getSetting', getSetting);
messageHandler.registerHandler('featureToggle', featureToggle);
2023-11-29 23:34:15 +08:00
messageHandler.registerHandler('featureToggles', getFeatureToggles);
messageHandler.registerHandler('getUserAccessKey', getUserAccessKey);
2023-09-13 10:08:16 +08:00
2023-11-29 23:34:15 +08:00
messageHandler.registerHandler('regModelList', getValidLlmModelList);
2023-11-22 17:43:27 +08:00
messageHandler.registerHandler('userInput', userInput);
messageHandler.registerHandler('readFile', readFile);
messageHandler.registerHandler('writeFile', writeFile);
messageHandler.registerHandler('getTopics', getTopics);
messageHandler.registerHandler('deleteTopic', deleteTopic);