feat: enhance project structure with server and workflow management

- Introduced a new server package with Fastify for handling API requests and workflows.
- Implemented user authentication and authorization with JWT and cookie management.
- Added endpoints for managing workflows, runs, and user accounts.
- Established a dashboard for monitoring workflow status and statistics.
- Included a script sandbox for executing user-defined scripts securely.
- Updated README with setup instructions and API documentation.
- Configured database migrations for user management.
- Enhanced logging capabilities for better traceability.
This commit is contained in:
2026-08-14 14:25:37 +07:00
parent 5574d6f723
commit 023cf83cfa
48 changed files with 6127 additions and 359 deletions
+3 -2
View File
@@ -1,8 +1,9 @@
import fs from "fs";
import path from "path";
import vm from "node:vm";
import { fileURLToPath } from "node:url";
import { createRequire } from "node:module";
import axios from "axios";
import { SCRIPTS_DIR } from "./paths.js";
const hostRequire = createRequire(import.meta.url);
@@ -291,7 +292,7 @@ function createScriptSandbox({ log, script, workflowName }) {
}
function loadCompiledScript(script) {
const filePath = fileURLToPath(new URL(`./scripts/${script}`, import.meta.url));
const filePath = path.join(SCRIPTS_DIR, script);
const { mtimeMs } = fs.statSync(filePath);
const cached = scriptCache.get(script);
if (cached && cached.mtimeMs === mtimeMs) {