UNPKG

@silvana-one/coordination

Version:

Silvana Coordination Client

58 lines (57 loc) 1.46 kB
import { Transaction } from "@mysten/sui/transactions"; export type JobStatus = { type: "Pending"; } | { type: "Running"; } | { type: "Failed"; error: string; }; export interface Job { id: string; jobId: number; description?: string; developer: string; agent: string; agentMethod: string; app: string; appInstance: string; appInstanceMethod: string; sequences?: number[]; data: Uint8Array; status: JobStatus; attempts: number; createdAt: number; updatedAt: number; } export interface CreateJobParams { jobs: string; description?: string; developer: string; agent: string; agentMethod: string; app: string; appInstance: string; appInstanceMethod: string; sequences?: number[]; data: Uint8Array; } export declare class JobManager { private readonly jobs; constructor(params: { jobs: string; }); static createJobs(maxAttempts?: number): Transaction; createJob(params: CreateJobParams): Transaction; startJob(jobId: number): Transaction; completeJob(jobId: number): Transaction; failJob(params: { jobId: number; error: string; }): Transaction; updateMaxAttempts(maxAttempts: number): Transaction; getJob(jobId: number): Promise<Job | undefined>; getPendingJobs(): Promise<number[]>; getNextPendingJob(): Promise<number | undefined>; getMaxAttempts(): Promise<number>; }