ai-code-writer
Version:
An AI code writer application using OpenAI APIs for audio transcription and chat completion.
49 lines (48 loc) • 2.71 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const FileActionType_1 = __importDefault(require("../FileActionType"));
class FileActionUseCase {
constructor(fileSystemHandler, conversationService) {
this.fileSystemHandler = fileSystemHandler;
this.conversationService = conversationService;
}
executeAction(request, response) {
return __awaiter(this, void 0, void 0, function* () {
const action = request.action;
switch (action.type) {
case FileActionType_1.default.READ:
response.content = yield this.fileSystemHandler.handleReadFile(action.filePath);
break;
case FileActionType_1.default.WRITE:
yield this.fileSystemHandler.handleWriteFile(action.filePath, action.content);
response.content = JSON.stringify({ result: 'File ' + action.filePath + ' written.' });
break;
case FileActionType_1.default.MOVE:
yield this.fileSystemHandler.handleMoveFile(action.filePath, action.targetFilePath);
response.content = JSON.stringify({ result: 'File move from ' + action.filePath + ' to ' + action.targetFilePath + '.' });
break;
case FileActionType_1.default.DELETE:
yield this.fileSystemHandler.handleDeleteFile(action.filePath);
response.content = JSON.stringify({ result: 'File ' + action.filePath + ' deleted.' });
break;
case FileActionType_1.default.READ_ALL_FILES:
yield this.conversationService.addProjectFiles();
response.content = 'Files added to conversation.';
break;
}
});
}
}
exports.default = FileActionUseCase;
;