@follow-app/client-sdk
Version:
TypeScript client SDK for Follow RSS Server API
57 lines (48 loc) • 1.28 kB
text/typescript
import { defineModule, defineRoute } from "../../shared/define-module"
import type {
CreateTaskRequest,
TaskCreateResponse,
TaskDeleteResponse,
TaskGetResponse,
TaskListResponse,
TaskTestRunResponse,
TaskUpdateResponse,
UpdateTaskRequest,
} from "./types"
/**
* AI Task module - standalone module for managing AI scheduled tasks
* Base path: /ai/task
*/
export const aiTaskModule = defineModule({
name: "aiTask",
prefix: "/ai/task",
routes: {
// List all tasks
list: defineRoute<never, TaskListResponse>("GET", "/"),
// Get a task by ID
get: defineRoute<{ id: string }, TaskGetResponse>("GET", "/{id}"),
// Create a new task
create: defineRoute<CreateTaskRequest, TaskCreateResponse>(
"POST",
"/",
),
// Update an existing task
update: defineRoute<UpdateTaskRequest, TaskUpdateResponse>(
"PUT",
"/{id}",
),
// Delete a task by ID
delete: defineRoute<{ id: string }, TaskDeleteResponse>(
"DELETE",
"/{id}",
),
// Test run (execute immediately)
testRun: defineRoute<{ id: string }, TaskTestRunResponse>(
"POST",
"/{id}/test-run",
),
},
})
// Export the API type
export type AITaskAPI = typeof aiTaskModule.api
export type * from "./types"