UNPKG

@defikitdotnet/x-ai-combat

Version:

XCombatAI - Social Media Engagement Template for the Agent Framework

86 lines 3.54 kB
import dotenv from "dotenv"; dotenv.config(); // import express from "express"; // import bodyParser from "body-parser"; // import cookieParser from "cookie-parser"; // import cors from "cors"; // import path from "path"; // import { PluginManager } from "./plugins/plugin-manager"; // import { InteractionScannerPlugin } from "./plugins/interaction-scanner-plugin"; // import { BotResponderPlugin } from "./plugins/bot-responder-plugin"; // import { XAICombatUserController } from "./controllers/UserController"; // import { XAICombatPostController } from "./controllers/PostController"; // import { XAICombatInteractionController } from "./controllers/InteractionController"; // import { XAICombatAuthController } from "./controllers/AuthController"; // import fs from "fs"; // import { XAIAdapter } from "./db"; // import { MockDatabaseAdapter } from "./db/mock"; // import BetterSqlite3 from "better-sqlite3"; // import { IDatabaseAdapter } from "@defikitdotnet/agent-framework-core"; // import { registerDecoratedControllers } from "@defikitdotnet/agent-framework-backend"; // import { TwitterService } from "./services/twitter-service"; // import { verifyToken, optionalVerifyToken } from "./middleware/auth"; // const app = express(); // const port = process.env.PORT || 3005; // app.use(bodyParser.json()); // app.use(cookieParser()); // app.use( // cors({ // origin: "http://localhost:3001", // credentials: true, // }) // ); // const pluginManager = new PluginManager(); // function ensureDirectoryExists(directoryPath: string): void { // if (!fs.existsSync(directoryPath)) { // fs.mkdirSync(directoryPath, { recursive: true }); // console.log(`Created directory: ${directoryPath}`); // } // } // console.log("Initializing database..."); // const dataDir = path.join(__dirname, "../data"); // const dbFilePath = path.join(dataDir, "db.sqlite"); // ensureDirectoryExists(dataDir); // let xaiAdapter: XAIAdapter<any>; // let mainDatabaseAdapter: IDatabaseAdapter; // try { // const db = new BetterSqlite3(dbFilePath); // mainDatabaseAdapter = new MockDatabaseAdapter(db); // xaiAdapter = new XAIAdapter({ db }); // xaiAdapter.init() // } catch (error) { // console.error("Error initializing database:", error); // throw error; // } // const userController = new XAICombatUserController(xaiAdapter); // const postController = new XAICombatPostController(xaiAdapter); // const interactionController = new XAICombatInteractionController(xaiAdapter); // const authController = new XAICombatAuthController(xaiAdapter); // app.use("/xaicombat/api/interactions/leaderboard", optionalVerifyToken); // app.use("/xaicombat/api/interactions/my-stats", verifyToken); // app.use("/xaicombat/api/posts/my-posts", verifyToken); // app.use("/api/interactions", (req, res, next) => { // if (req.path === "/leaderboard") { // return next(); // } // return verifyToken(req, res, next); // }); // registerDecoratedControllers(app, [ // userController, // postController, // interactionController, // authController, // ]); // app.listen(port, () => { // console.log(`XCombatAI server is running on port ${port}`); // pluginManager.initializeAll().catch((err) => { // console.error("Error initializing plugins:", err); // }); // }); export * from './controllers'; export * from './plugins'; export * from './db'; export * from './middleware'; export * from './services'; export * from './models'; //# sourceMappingURL=index.js.map