jeeves-meta-monorepo
    Preparing search index...

    Function startService

    • Bootstrap the service: create logger, build server, start listening, wire scheduler, queue processing, rule registration, config hot-reload, startup lock cleanup, and shutdown.

      Parameters

      • config: {
            architectEvery: number;
            architectTimeout: number;
            autoSeed: { crossRefs?: string[]; match: string; steer?: string }[];
            builderTimeout: number;
            criticTimeout: number;
            defaultArchitect?: string;
            defaultCritic?: string;
            depthWeight: number;
            gatewayApiKey?: string;
            gatewayUrl: string;
            host: string;
            logging: { file?: string; level: string };
            maxArchive: number;
            maxLines: number;
            metaArchiveProperty: Record<string, unknown>;
            metaProperty: Record<string, unknown>;
            port: number;
            reportChannel?: string;
            schedule: string;
            serverBaseUrl?: string;
            skipUnchanged: boolean;
            thinking: string;
            watcherHealthIntervalMs: number;
            watcherUrl: string;
        }

        Validated service configuration.

        • architectEvery: number

          Run architect every N cycles (per meta).

        • architectTimeout: number

          Architect subprocess timeout in seconds.

        • autoSeed: { crossRefs?: string[]; match: string; steer?: string }[]

          Auto-seed policy: declarative rules for auto-creating .meta/ directories. Rules are evaluated in order; last match wins for steer/crossRefs.

        • builderTimeout: number

          Builder subprocess timeout in seconds.

        • criticTimeout: number

          Critic subprocess timeout in seconds.

        • OptionaldefaultArchitect?: string

          Resolved architect system prompt text. Falls back to built-in default.

        • OptionaldefaultCritic?: string

          Resolved critic system prompt text. Falls back to built-in default.

        • depthWeight: number

          Exponent for depth weighting in staleness formula.

        • OptionalgatewayApiKey?: string

          Optional API key for gateway authentication.

        • gatewayUrl: string

          OpenClaw gateway base URL for subprocess spawning.

        • host: string

          Bind address for the HTTP server (default: 127.0.0.1).

        • logging: { file?: string; level: string }

          Logging configuration.

          • Optionalfile?: string

            Optional file path for log output.

          • level: string

            Log level.

        • maxArchive: number

          Maximum archive snapshots to retain per meta.

        • maxLines: number

          Maximum lines of context to include in subprocess prompts.

        • metaArchiveProperty: Record<string, unknown>

          Watcher metadata properties applied to archive snapshots.

        • metaProperty: Record<string, unknown>

          Watcher metadata properties applied to live .meta/meta.json files.

        • port: number

          HTTP port for the service (default: 1938).

        • OptionalreportChannel?: string

          Optional channel identifier for reporting.

        • schedule: string

          Cron schedule for synthesis cycles (default: every 30 min).

        • OptionalserverBaseUrl?: string

          Optional base URL for the service, used to construct entity links in progress reports.

        • skipUnchanged: boolean

          Skip unchanged candidates, bump _generatedAt.

        • thinking: string

          Thinking level for spawned synthesis sessions.

        • watcherHealthIntervalMs: number

          Interval in ms for periodic watcher health check. 0 = disabled. Default: 60000.

        • watcherUrl: string

          Watcher service base URL.

      • OptionalconfigPath: string

        Optional path to config file for hot-reload.

      Returns Promise<void>