feat(api): add pipeline execution, save, and list endpoints

Add pipelines table to SQLite schema with Drizzle migration.
Implement POST /api/v1/pipeline/execute (sequential multi-tool processing),
POST /api/v1/pipeline/save, GET /api/v1/pipeline/list,
DELETE /api/v1/pipeline/:id. Pipeline execution validates all tool IDs
and settings before processing, chains output of each step as input
to the next.
This commit is contained in:
Siddharth Kumar Sah
2026-03-22 04:41:51 +08:00
parent 8e8ba34dd8
commit 263447a81e
6 changed files with 702 additions and 0 deletions
+8
View File
@@ -44,3 +44,11 @@ export const apiKeys = sqliteTable("api_keys", {
createdAt: integer("created_at", { mode: "timestamp" }).notNull().$defaultFn(() => new Date()),
lastUsedAt: integer("last_used_at", { mode: "timestamp" }),
});
export const pipelines = sqliteTable("pipelines", {
id: text("id").primaryKey(),
name: text("name").notNull(),
description: text("description"),
steps: text("steps").notNull(), // JSON array of { toolId, settings }
createdAt: integer("created_at", { mode: "timestamp" }).notNull().$defaultFn(() => new Date()),
});