@karmaniverous/jeeves-runner
    Preparing search index...

    Interface RunnerClient

    Client interface for job scripts to interact with runner state and queues.

    interface RunnerClient {
        close(): void;
        countItems(namespace: string, key: string): number;
        deleteItem(namespace: string, key: string, itemKey: string): void;
        deleteState(namespace: string, key: string): void;
        dequeue(queue: string, count?: number): QueueItem[];
        done(queueItemId: number): void;
        enqueue(
            queue: string,
            payload: unknown,
            options?: { maxAttempts?: number; priority?: number },
        ): number;
        fail(queueItemId: number, error?: string): void;
        getItem(namespace: string, key: string, itemKey: string): string | null;
        getState(namespace: string, key: string): string | null;
        hasItem(namespace: string, key: string, itemKey: string): boolean;
        listItemKeys(
            namespace: string,
            key: string,
            options?: { limit?: number; order?: "asc" | "desc" },
        ): string[];
        pruneItems(namespace: string, key: string, keepCount: number): number;
        setItem(
            namespace: string,
            key: string,
            itemKey: string,
            value?: string,
        ): void;
        setState(
            namespace: string,
            key: string,
            value: string,
            options?: { ttl?: string },
        ): void;
    }
    Index

    Methods

    • Delete a state item from a collection.

      Parameters

      • namespace: string
      • key: string
      • itemKey: string

      Returns void

    • Claim and retrieve items from a queue for processing. Returns array of queue items with id and payload.

      Parameters

      • queue: string

        Queue name

      • Optionalcount: number

        Number of items to dequeue (default 1)

      Returns QueueItem[]

    • Add an item to a queue with optional priority and max attempts. Returns the queue item ID, or -1 if skipped due to deduplication.

      Parameters

      • queue: string
      • payload: unknown
      • Optionaloptions: { maxAttempts?: number; priority?: number }

      Returns number

    • Mark a queue item as failed with optional error message. Retries if under max_attempts, else dead-letters.

      Parameters

      • queueItemId: number
      • Optionalerror: string

      Returns void

    • Retrieve a state item value from a collection. Returns null if not found.

      Parameters

      • namespace: string
      • key: string
      • itemKey: string

      Returns string | null

    • Retrieve a state value by namespace and key. Returns null if not found or expired.

      Parameters

      • namespace: string
      • key: string

      Returns string | null

    • Check if a state item exists in a collection.

      Parameters

      • namespace: string
      • key: string
      • itemKey: string

      Returns boolean

    • List item_key values ordered by updated_at. Default order is desc.

      Parameters

      • namespace: string
      • key: string
      • Optionaloptions: { limit?: number; order?: "asc" | "desc" }

      Returns string[]

    • Delete oldest items keeping only keepCount newest (by updated_at). Returns number deleted.

      Parameters

      • namespace: string
      • key: string
      • keepCount: number

      Returns number

    • Set or update a state item in a collection. Value is optional (for existence-only tracking). Auto-creates parent state row if needed.

      Parameters

      • namespace: string
      • key: string
      • itemKey: string
      • Optionalvalue: string

      Returns void

    • Set or update a state value with optional TTL (e.g., '30d', '24h', '60m').

      Parameters

      • namespace: string
      • key: string
      • value: string
      • Optionaloptions: { ttl?: string }

      Returns void