UNPKG

@silvana-one/coordination

Version:

Silvana Coordination Client

64 lines (63 loc) 1.75 kB
import { Transaction } from "@mysten/sui/transactions"; import { Job } from "./job.js"; export interface AppMethod { description?: string; developer: string; agent: string; agentMethod: string; } export interface AppInstance { id: string; silvanaAppName: string; description?: string; metadata: Record<string, string>; kv: Record<string, string>; methods: Record<string, AppMethod>; admin: string; sequence: number; blockNumber: number; previousBlockTimestamp: number; previousBlockLastSequence: number; lastProvedBlockNumber: number; lastSettledBlockNumber: number; lastSettledSequence: number; lastPurgedSequence: number; isPaused: boolean; minTimeBetweenBlocks: number; jobsId: string; createdAt: number; updatedAt: number; } export interface CreateAppJobParams { appInstance: string; description?: string; method: string; sequences?: number[]; data: Uint8Array; } export declare class AppInstanceManager { private readonly registry; constructor(params: { registry: string; }); createAppJob(params: CreateAppJobParams): Transaction; startAppJob(params: { appInstance: string; jobId: number; }): Transaction; completeAppJob(params: { appInstance: string; jobId: number; }): Transaction; failAppJob(params: { appInstance: string; jobId: number; error: string; }): Transaction; getAppInstance(appInstanceId: string): Promise<AppInstance | undefined>; getAppJob(params: { appInstance: string; jobId: number; }): Promise<Job | undefined>; getAppPendingJobs(appInstance: string): Promise<number[]>; }