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

    Interface SchedulerDeps

    Scheduler dependencies.

    interface SchedulerDeps {
        config: {
            dbPath: string;
            gateway: { tokenPath?: string; url: string };
            host: string;
            log: {
                file?: string;
                level: "trace" | "debug" | "info" | "warn" | "error" | "fatal";
            };
            maxConcurrency: number;
            notifications: {
                defaultOnFailure: string
                | null;
                defaultOnSuccess: string | null;
                slackTokenPath?: string;
            };
            port: number;
            reconcileIntervalMs: number;
            runners: Record<string, string>;
            runRetentionDays: number;
            shutdownGraceMs: number;
            stateCleanupIntervalMs: number;
        };
        db: DatabaseSync;
        executor: (options: ExecutionOptions) => Promise<ExecutionResult>;
        gatewayClient?: GatewayClient;
        logger: Logger;
        notifier: Notifier;
    }
    Index

    Properties

    config: {
        dbPath: string;
        gateway: { tokenPath?: string; url: string };
        host: string;
        log: {
            file?: string;
            level: "trace" | "debug" | "info" | "warn" | "error" | "fatal";
        };
        maxConcurrency: number;
        notifications: {
            defaultOnFailure: string
            | null;
            defaultOnSuccess: string | null;
            slackTokenPath?: string;
        };
        port: number;
        reconcileIntervalMs: number;
        runners: Record<string, string>;
        runRetentionDays: number;
        shutdownGraceMs: number;
        stateCleanupIntervalMs: number;
    }

    Runner configuration.

    Type Declaration

    • dbPath: string

      Path to SQLite database file.

    • gateway: { tokenPath?: string; url: string }

      Gateway configuration for session-type jobs.

      • OptionaltokenPath?: string

        Path to file containing Gateway auth token.

      • url: string

        OpenClaw Gateway URL.

    • host: string

      Bind address for the HTTP server. Defaults to the platform-standard bind address.

    • log: {
          file?: string;
          level: "trace" | "debug" | "info" | "warn" | "error" | "fatal";
      }

      Logging configuration.

      • Optionalfile?: string

        Optional log file path.

      • level: "trace" | "debug" | "info" | "warn" | "error" | "fatal"

        Log level threshold (trace, debug, info, warn, error, fatal).

    • maxConcurrency: number

      Maximum number of concurrent job executions.

    • notifications: {
          defaultOnFailure: string | null;
          defaultOnSuccess: string | null;
          slackTokenPath?: string;
      }

      Notification configuration for job completion events.

      • defaultOnFailure: string | null

        Default Slack channel ID for failure notifications.

      • defaultOnSuccess: string | null

        Default Slack channel ID for success notifications.

      • OptionalslackTokenPath?: string

        Path to Slack bot token file.

    • port: number

      HTTP server port for the runner API.

    • reconcileIntervalMs: number

      Interval in milliseconds for job reconciliation checks.

    • runners: Record<string, string>

      Custom command runners keyed by file extension. The command string is split on whitespace; first token is the executable, rest are prefix args before the script path. Falls back to built-in defaults for unconfigured extensions.

    • runRetentionDays: number

      Number of days to retain completed run records.

    • shutdownGraceMs: number

      Grace period in milliseconds for shutdown completion.

    • stateCleanupIntervalMs: number

      Interval in milliseconds for expired state cleanup task.

    db: DatabaseSync

    SQLite database connection.

    executor: (options: ExecutionOptions) => Promise<ExecutionResult>

    Job executor function.

    Type Declaration

    gatewayClient?: GatewayClient

    Optional Gateway client for session-type jobs.

    logger: Logger

    Logger instance.

    notifier: Notifier

    Notification service for job completion events.